2022-06-16
通讯心跳由西门子S7-200smart从站提供0~255不断循环增加的数据,每秒变化一次,超过3秒数据无变化认定为通信失败。请问心跳程序怎么编写
评论6
楼主 2022/6/16 15:11:37
从站传出来的数据存到A,利用1秒上升沿,把A 每秒传送给B一次,A和B相比较,作为定时器的触发条件,定时器定时3秒,如果正常通讯,A和B只会有1秒相等,否则就会触发定时器,当定时器触发时候,说明A的值,也就是心跳传回来的值没变化
楼主 2022/6/16 15:19:25
不是有通讯超时的机制嘛,你这个只是起到显示通讯是否正常的功能,可以定时取数据啊,然后放数组,然后定时比较数组前后是否一样。
楼主 2022/6/16 15:41:06
其实最简单的做法就是监测通信心跳,比如你通信心跳正常是用SM0.5,上升沿下降沿各0.5秒,就用一个计时器去检测超过1秒接通或者断开就作为通信失败
楼主 2022/6/20 14:12:52
心跳可以用同一个D区,主站可以1S间隔置1,从站一直置0,主站判断值为1超过2秒就为通讯失败
楼主 2022/6/20 14:21:13
有通讯超时的机制,你这个只是起到显示通讯是否正常的功能,可以定时取数据啊,然后放数组,然后定时比较数组前后是否一样。