如何知道通讯是否正常?

系统是一个为S7400,一个为S5PLC.如何知道通讯是否正常?
我看了论坛,大家都说用心跳检测法.还有些疑问:
1. 我想在S7中发送一个脉冲信号给S5,那么S5中如何判断给信号是否已发生变化?
2. 反之,如果在S5中发送一个脉冲信号给S7,那么S7中如何判断信号无变化?谢谢!

最佳答案

s7中设置心跳字节:在硬件组态中cpu属性的clock/clock memory 中勾选clock memory,然后再后面输入数字比如是0,则mb0为心跳字节。
1、你需要传递的不是一个脉冲信号而是一个字节信号即上面说的mb0,把传给s5,s5那边有一个字节保存这个mb0的数值(先比较mb0和保存值是否一致,如果一致说明通讯中断,数据没有传过来,如果不一致,则通讯正常,做完这个判断后把mb0的数值保存在s5的字节变量中)。
2、反过来也是的,s5我没有用过不知道是不是存在心跳字节的概念如果是,你也可以用,和1的使用方法一样,如果没有,则直接在s5那边定义一个字节或者字或者双字,然后再定时中断中进行累计(当前值=当前值+1,如果当前值大于200(这个200你可以随意设置,只要在另外一方的两个扫描周期中你能确定正常情况下扫描的数值肯定不同就行了),则当前值清零)。然后把这个累计值传给s7,s7这边的判断和1中的判断方法一致。

提问者对于答案的评价:
非常感谢!

专家置评

已阅,最佳答案正确。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc247621.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月2日 下午3:34
下一篇 2018年12月2日 下午3:34

相关推荐