怎样给OB86编程?(S7-300)

2020-12-22 08:49

怎样给OB86编程?——DP网络故障诊断之六

下面是与网络通信故障有关的中断组织块:

1.诊断中断组织块OB82

具有诊断功能并启用了诊断中断的模块检测到错误,以及错误消失时,产生诊断中断,CPU的操作系统自动调用诊断中断组织块OB82。

2.优先级错误中断组织块OB85

由于通信或组态的原因,模块不存在或有故障,刷新过程映像表时I/O访问出错,CPU将会调用OB85。S7-300和S7-400默认的设置分别是发生I/O访问错误时不调用OB85和每个扫描循环周期都要调用一次OB85。另一种可选的设置是错误刚发生和刚消失时分别调用一次OB85。

3.机架故障或分布式I/O的站故障中断(OB86)

如果扩展机架、DP主站系统或分布式I/O出现故障,CPU将在故障出现和消失时分别调用一次OB86。

4.I/O访问错误中断(OB122)

CPU如果用PI/PQ区的地址访问有故障的I/O模块、不存在的或有故障的DP从站,CPU将在每个扫描循环周期调用一次OB122。

出现硬件和网络故障时,如果没有生成和下载对应的组织块,CPU将切换到STOP状态。如果采用默认的设置,S7-300应生成和下载OB82、OB86和OB122;S7-400还应增加OB85。

即使没有在这些OB中编写任何程序,出现上述故障时,CPU也不会进入STOP模式。但是可能不易察觉到故障的出现和发生的频率,反而会给系统的安全带来威胁。

可以在上述OB中,用下面的程序记录故障出现的次数,并用人机界面显示。应设置一个将故障计数值清零的按钮。

L MW 10

+ 1

T MW 10

可以用下面的程序调用SFC 20,将OB86的局部变量保存到某个数据块的数组中。

CALL "BLKMOV"

SRCBLK :=P#L 0.0 BYTE 20

RET_VAL :=MW54

DSTBLK :=DB86.ARY

下图是DP从站出现故障时保存的OB86的局部数据。OB86的在线帮助给出了局部数据意义的详细解释。DBB0的16#39、16#38分别表示故障出现和消失。DBB1为#C3~C5时分别表示DP网络故障、DP从站故障和DP从站内部的故障。

在DP从站故障时,DBW10中的16#0103表示DP网络编号为1,从站的站地址为3。DBD12和DBD16是调用OB的日期和时间。

可以编写程序来分析局部数据,并用人机界面显示分析的结果。例如在某个DP从站出现故障时将画面上对应的指示灯点亮,在故障消失时将对应的指示灯关掉。

可以用类似的方法编写OB82中的程序。但是遗憾的是OB82的局部数据并不包含与诊断故障有关的全部信息,例如并不包含AO模块输出电路开路和短路的故障信息。


怎样给OB86编程?(S7-300).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:初一数学应用题精装强化版

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: