关于PLC看门狗程序编写

来源:互联网 发布:淘宝最新刷销量方法 编辑:程序博客网 时间:2024/05/01 13:56

本文将对S7-300 和 s7-400 运用DP/DP coupler 看门狗通讯进行看门狗程序进行设计

程序条件:S7-300采用常规S7编程    S4-400采用CFC编程

1、看门狗设计原理

本看门狗使用的原理是在S7-300中设计一个DB块的BOOL数据,该数据的运行逻辑是这样的:

        S7-400产生一个0.5s的脉冲信号作为发射信号传送给S7-300 ---->  s7-300接收该数值并且将该数值赋给DB块中的一个数值 ----> S7检测该数值,判断该数值是否会保持一个数值超过2s  ----> S7将保存的数值返回发送给S7-400 ------> S7-400检测接收到的数值是否会保持一个数值超过2s。

当S7-400检测到的数值保持时间超过2s时或S7300检测到的数值超过2s时说明两个PLC的通讯产生问题。

2、下面是具体设计的一个实际案例:

    1)S7-400 程序脉冲发送程序:

        该程序的结果是产生一个1s的占空比约为50%的脉冲信号,Q52.0每隔0.5s改变一次电平方向,该数值会传给S7-300中去。

2)S7-300接收S7-400的程序

M0.1为True时,PIW128会将数值传给DB60.DBW60,其中DB60.DBX60.0是来自S7-400的Q52.0信号,因此在通讯正常时,DB60.DBW60.0是一个周期为1s变化的数值。

3)S7-300判断DB60.DBW60.0是否会持续2s为一个数值

上面半段程序用于判断DB60.DBX60.0处于“1”的时间是否大于2s,下半段程序用于判断处于“0”的时间是否大于2s,它们中的任意一个大于2s都会使得M120.7置“0”。如果通讯没有问题,M120.7的值会一直是“1”。

4)S7-400接收S7-300的数据,并判断接收到的数值是否会一直置于某个数值

   I125.0是接收到的DB60.DBX60.0的数值,判断的原理s7-300类似,获得的结果是如果通讯正常,则CUT Watch Dog OK 出来的数值一直为“1”;通讯失败,出来的数值会为“0”。


原创粉丝点击