西门子PLC总报故障是怎么回事?懂自控的帮帮忙~~~~~~
I/O读取错误,而且还不是一个地址,出的错误肯定都不一样了,在你的程序中增加组织块OB122,在OB122里可以编写程序,当然你也可以什么都不做,然后就不会有问题了
I/O访问错误组织块(OB122)
描述
只要在访问模块上的数据时出错,CPU的操作系统即调用OB122。例如,如果在访问I/O模块上的数据时,CPU检测到读取错误,操作系统将调用OB122。
了解I/O访问错误OB的操作
执行OB122时所处优先级与中断OB的优先级相同。如果OB122未编程,则CPU将由RUN模式改变为STOP模式。
S7提供了下列SFC,用于在执行程序期间屏蔽和取消屏蔽OB122的启动事件:
SFC36 (MSK_FLT):屏蔽特定的错误代码
SFC37 (DMSK_FLT):取消屏蔽由SFC36屏蔽的错误代码
SFC38 (READ_ERR):读取错误寄存器
I/O访问错误OB的本地数据
下表说明了I/O访问错误OB的临时(TEMP)变量。变量名为OB122的默认名称。
变量 类型 描述
OB122_EV_CLASS BYTE 事件等级和标识符:B#16#29
OB122_SW_FLT BYTE 错误代码:B#16#42:I/O访问错误,读取 B#16#43: I/O访问错误,写入
OB122_PRIORITY BYTE 优先级: 出错OB的优先级
OB122_OB_NUMBR BYTE OB编号(122)
OB122_BLK_TYPE BYTE 出错块的类型(B#16#88:OB,B#16#8C:FC,B#16#8E:FB) (未在此处为S7-300输入有效编号)
OB122_MEM_AREA BYTE 存储器区域和访问类型:位7至4:访问类型- 0: 位访问-
1: 字节访问-
2: 字访问-
3: 双字访问
位3至0:存储器区-
0: I/O区域-
1: 输入的过程映像
2: 输出的过程映像
OB122_MEM_ADDR WORD 出错的内存地址
OB122_BLK_NUM WORD 具有导致错误的MC7命令的块编号(未在此处 为 S7-300输入有效的编号)
OB122_PRG_ADDR WORD 导致错误的MC7命令的相对地址(未在此处为S7-300输入有效编号)
OB122_DATE_TIME DATE_AND_TIME 调用OB时的DATE_AND_TIME
本内容由用户 vateone 分享,版权归属原作者,如侵犯你的权利,请联系我们(点这里联系)删除。如若转载,请注明出处:http://www.vateone.com/a/58605.html