欢迎来到西门子工业支持中心网站!
欢迎来到西门子工业支持中心网站!
悬赏:5分 | 解决时间:2011-10-24 10:05
产品版区:
SIMATIC S7-300(F)/S7-400(F/H/FH)
雏狼
请问我远程IO掉电了我怎么用硬体和程序方法来检测的到?
小程序:
最佳答案
回答者:
阿鸣
回答时间:2011-10-21 15:54
提问者对于答案的评价:
不错 连接我看了 谢谢
同样的问题问过很多次了,在搜索栏里输入FC125就可以找到你需要的答案:
http://www.ad.siemens.com.cn/service/answer/adv_search.aspx
1、硬体检测
当远程IO掉电,主CPU就会报警,
为防止CPU进入停机,可在项目中的CPU程序块里面如添加一些对应的OB组织块,当发生相应故障时CPU不停机。
OB号 错误类型 优先级
OB81: 电源故障 26/28
OB82:诊断中断 26/28
OB83:插入/取出模块中断 26/28
OB84:CPU硬件故障 26/28
OB85:优先级错误 26/28
OB86:机架故障或分布式I/O的故障 26/28
OB87:通信错误 引起错误的OB的优先级
OB121:编程错误 与被中断的块在同一优先级
OB122:I/O访问错误 与被中断的块在同一优先级
2、当报警的时候,你就可以看出哪个I/O报警,或是在线从诊断区查看诊断信息,进行确认!
3、程序的方法检测:
在分布I/O故障组织块OB86中通过简单的编程就可以实现。在你的CPU中下载了OB86,当在发生通信问题后或者访问不到DP从站时将执行OB86,可以通过OB86上部的局部变量声明表中的临时变量读出产生的故障代码和事件类型,通过它们的组合可以得到具体错误信息,同时也可以读出产生错误的模块地址。由于STEP7不能实时监控程序的运行,可以用“Variable”(变量表)监控实时数据的变化,从而很块查出具体的模块位置。利用装载和传送指令来编程,当然你也可以利用赋值指令MOVE来编程,在OB86中编写的简单程序如下,可以判断出通信故障模块的DP站号。
L #OB86_EV_CLASS //读取事件的级别和标识
T MB0
L #OB86_FLT_DI //读取故障代码
T MB1
L #OB86_MDL_ADDR//读取故障模块的地址
T MW2
现赠您1张1847体验会员卡,可免费领取,畅学1847会员内容,是否领取?
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!