回复:840d PS/PF不定期亮红灯

gelu172

  • 帖子

    1375
  • 精华

    32
  • 被关注

    171

论坛等级:至圣

注册时间:2010-09-26

黄金 黄金 如何晋级?

发布于 2017-07-05 10:09:44

9楼

相关问题,提供一下前人的解题思路,归纳和编写得都很好,我自己也解决了不少这类问题了,但还是感觉人家写得比我好,贴出来给楼主看看,以供参考:


 现场遇到刚好这方面的问题了
我在程序里已经将相关的组织块都添加了,现场I/O模块有松动,CPU就停了,导致现场无法生产。并提示错误:stop caused by I/O management
为什么CPU会停呢
--------------------------------------------------------------------------------
此类错误不能被相应的OB8x所获取,更无法解释,所以对于此类错误即使加入相应的OB8x,也不能保证CPU不停机。
---------------------------------------------
那此类问题要如何让CPU不停机呢,并能获取到呢


谈这个问题首先我们需要考虑一下,这个错误“stop caused by I/O management”是如何产生的?有以下几种可能:
1,模块松动*例如ET200S的IM151-8CPU的模块去掉大于2个。
2,模块不支持热插拔*例如ET200M(不带有源底板)不支持热插拔,ET200S的IM151-8CPU的终端模块去除。
3,背板总线故障*例如ET200S的端子模块故障。
4,电源跌落*例如同一电源即给CPU供电,又给DO模块供电。
5,其它。
以上错误,必须人为注意,例如ET200S规定最大只能热插拔一个模块,那么就不该插拔大于1个,所以此类错误需要人为注意。只有这样才能避免CPU停机,此时的CPU故障只能通过CPU的BUffer中读到,以下就是读到的信息。
Event 1 of 129: Event ID 16# 4548
STOP caused by I/O management
Previous operating mode: RUN
Requested operating mode: STOP (internal)
Internal error, Incoming event
当遇到这样问题时,查找相应的故障代码,查询帮助,可以看到帮助中大部分是安装操作正确与否等。

 

L #OB86_RACKS_FLTD //将受影响的从站地址存到MD1590
T MD 1590
A(
L #OB86_EV_CLASS //根据是否等于39或38判断是新事件,还是老事件,=39是新发生,=38是以发生过
L B#16#39
==I
)
A(
O(
L MB 1593 //判断从站地址是否=10--15,属于32配电室,如果是,则置位 M1594.0
L 10
==I
)
O(
L MB 1593
L 11
==I
)
O(
L MB 1593
L 12
==I
)
O(
L MB 1593
L 13
==I
)
O(
L MB 1593
L 14
==I
)
O(
L MB 1593
L 15
==I
)
)
S M 1594.0

A(
L #OB86_EV_CLASS //如果是过去事件,则复位
L B#16#38
==I
)
R M 1594.0

此程序放在OB86里面,同时须将OB86_RACKS_FLTD数据类型改为Dword

自己写的一小段OB86程序,DP诊断的,只要理解了各个参数什么意思,可以自己编写。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SINUMERIK

共有25766条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。