I、O模板的检测
刘玉蓉
发布于2014-11-06 17:40
150
0
标签:
S400中如何检测分布式模块的故障,请举例!
佳答案
可以下载分布式I/O模块故障错误处理组织块OB86,并在OB86中通过简单编程,比如PROFIBUS从站故障时,要执行OB86程序,当OB86执行时可以通过它临时变量读出产生的故障代码(OB86_EV_CLASS)、OB86_MDL_ADDR(故障模块地址)和事件类型(OB86_FLT_ID)这两个变量,通过它们的组合可以得到具体的错误信息,同时也可以读出产生错误的模块地址。
由于STEP7不能实时监控程序的运行,可以用“Variable Table”(变量表)执行实时监控的变化;
利用OB86简单编程如下:打开你源程序中的OB86块,利用个MOVE指令,把OB86中临时变量读出产生的故障代码(OB86_EV_CLASS)信息作为MOVE指令中的IN(输入端,源值)复制到位存储区字节如MB10(MOVE指令的OUT(目标地址)(单位都为字节BYTE);利用第二个MOVE指令,把临时变量读出产生的事件类型(OB86_FLT_ID)作为MOVE指令的IN(源值)复制到位存储器MB11(中)(作为MOVE指令的OUT(目标地址);
然后把OB86程序保存,然后下载到你的CPU中;就可以在显示器上读出位存储器的上述字节的内容;
你可以在SIMATIC管理器中打开你的项目,依次展开到“Blocks"”(快),任意打开一个快,在左边“New Network”(新网络“下面依次展开”Libraries(库)/Standard Library(标准库)/Organization Block(组织快)/OB86,然后单击你的电脑F1键,就可以看到关于故障代码(OB86_EV_CLASS)和事件类型(OB86_FLT_ID)详细说明,把问题代码与此对比,可以很快找出问题所在