西门子PLC总报故障是怎么回事?懂自控的帮帮忙~~~~~~

2025-04-18 13:12:36
推荐回答(4个)
回答1:

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

回答2:

要是新设备就这样,那是程序的事情,要是后来又的,有可能是信号线屏蔽不好,再者就是信号线有断的地方,不是完全断,要是590扩容,您看下参数,我是初学者谢谢

回答3:

西门子的PLC没有具体使用过,我翻译过关于西门子plc的OBS的一段文章:

组织块(OBs)代表操作系统和用户程序之间的接口。由操作系统调用,他们能控制循环并且中断程序执行,或者控制PLC的启动和错误处理。你可以对“组织块”编程,来决定CPU的行为。

也就是说,OBS是可编程的。
参照你的错误日志,也就是OB122中断启动,可以看一下OB122中断的启动条件,是什么原因启动了这个中断,然后顺藤摸瓜。

我对西门子PLC也是一知半解,仅供参考。

回答4:

你调个OB122空块看看