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

一套西门子300的PLC控制的水处理系统,这两天不定期的CPU报故障,一故障一部分运行中的设备都会回到工序的第一步状态,有些泵会运行中忽然重启。 CPU故障是红灯常亮,重新下装硬件组态以后故障灯会消除,然后能稳定运行十几个小时,又会出现上述状况。如果带着CPU故障运行就会频繁出现设备起停故障。 下面是S7的记录 —————————————————— Diagnostic buffer of module CPU 315-2 PN/DP Order No./ Description Component Version 6ES7 315-2EH13-0AB0 Hardware 1 - - - Firmware V 2.3.4 Boot Loader Firmware expansion A 6.11.8 Rack: 0 Slot: 2 Event 1 of 10: Event ID 16# 38C4 Distributed I/Os: station return Address of the affected DP slave: station number: 8 DP master system ID: 1 Log. base address of the DP slave: Input address: 2035 Log. base address of the DP master: 2047 Requested OB: Rack failure OB (OB86) Priority class: 26 External error, Outgoing event 11:33:29:223 pm 12/28/95 Event 2 of 10: Event ID 16# 2943 I/O access error, writing P area, word access, Access address: 298 Requested OB: I/O access error OB (OB122) Priority class: 1 External error, Incoming event 11:33:29:105 pm 12/28/95 Event 3 of 10: Event ID 16# 2943 I/O access error, writing P area, word access, Access address: 296 Requested OB: I/O access error OB (OB122) Priority class: 1 External error, Incoming event 11:33:29:105 pm 12/28/95 Event 4 of 10: Event ID 16# 2943 I/O access error, writing P area, word access, Access address: 294 Requested OB: I/O access error OB (OB122) Priority class: 1 External error, Incoming event 11:33:29:104 pm 12/28/95 Event 5 of 10: Event ID 16# 2943 I/O access error, writing P area, word access, Access address: 292 Requested OB: I/O access error OB (OB122) Priority class: 1 External error, Incoming event 11:33:29:104 pm 12/28/95 Event 6 of 10: Event ID 16# 2943 I/O access error, writing P area, word access, Access address: 290 Requested OB: I/O access error OB (OB122) Priority class: 1 External error, Incoming event 11:33:29:104 pm 12/28/95 ———————————————————— —————————————————————— 貌似每次出的问题都不一样,DP线也重接过,模块也重新固定过 真的不知道问什么会出这种错了 实在不行了,请高人帮忙指点一下 这个是硬件组态的图:
?v=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

参考资料:S7-300HELP

温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-01-12
要是新设备就这样,那是程序的事情,要是后来又的,有可能是信号线屏蔽不好,再者就是信号线有断的地方,不是完全断,要是590扩容,您看下参数,我是初学者谢谢本回答被提问者采纳
第2个回答  2009-01-14
西门子的PLC没有具体使用过,我翻译过关于西门子plc的OBS的一段文章:

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

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

我对西门子PLC也是一知半解,仅供参考。
第3个回答  2009-01-12
你调个OB122空块看看
相似回答