有哪位高手有关于“心跳法诊断故障”例子程序,或资料,本人看了很多有关资料,资料里说的很模糊,不容易理解,哪位可以发下例程,本人不胜感激!HXM49617143@163.COM
问题补充:
阿鸣、zhangli0 您们好!两位说的原理我都知道,也看过一些资料,还是没有解决我的问题!现在我在程序里做了秒脉冲加计数,计数值一直增加,当通讯中断时,怎样把已经停止累加的计数值和实际上应该继续一直往下加的计数值作比较,这里我不太会,不知道怎样做比较,最好有个例子程序一看就明白了。还是恳请两位再补充一些讲解。谢谢!
最佳答案
1、过程:即一方发送心跳位,另一方检测心跳位,如果接收方检测不到心跳位就说明通讯中断了。
方法:接收方用一个变量保存接收的心跳信号的上一个周期的状态,然后本周期的心跳信号和上一个周期的进行比较,如果有变化,说明正常,如果一直一致说明通讯中断。
2、我的解决这个问题的方法是发送方发送一个一直变化的整数或者实数,然后接收方检测接收到的信号是否变化,如果不变说明中断。
补充回答:你不会比较?假设当前的计数值保存在mb0中,按照我说的上一个周期的值保存在mb1中。那么直接用stl编程:
L MB0
L MB1
<>I
JCN M1
相等则说明中断了,需要处理的程序。
M1:NOP 0
提问者对于答案的评价:
谢谢您,我不会用语句表,只会用梯形图的CU计数器做加计数。用秒脉冲做CU0累加计数,您可以梯形图给我描述一下吗?最好发我邮箱里吧,现在应该不允许加图片了吧
最佳答案作者回复:
比如ob35(周期500ms)中:
L MB1
L 1
+I
T MB1
上面的程序就实现了每500ms,mb1加1的功能。然后把mb1传给对方,那边再用我上面的程序来做判断是否中断。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc232514.html