18533181707
通讯心跳由西门子S7-200smart从站提供0~255不断循环增加的数据,每秒变化一次,超过3秒数据无变化认定为通信失败。
心跳程序怎么编写
幸福的小石头
从站传出来的数据存到A,利用1秒上升沿,把A 每秒传送给B一次,A和B相比较,作为定时器的触发条件,定时器定时3秒,如果正常通讯,A和B只会有1秒相等,否则就会触发定时器,当定时器触发时候,说明A的值,也就是心跳传回来的值没变化,这样可行不
落叶归根87
不是有通讯超时的机制嘛,你这个只是起到显示通讯是否正常的功能,可以定时取数据啊,然后放数组,然后定时比较数组前后是否一样。
太月星辰
同意楼上的做法!
请叫我王老湿
其实最简单的做法就是监测通信心跳,比如你通信心跳正常是用SM0.5,上升沿下降沿各0.5秒,就用一个计时器去检测超过1秒接通或者断开就作为通信失败
固囚囿团
心跳可以用同一个D区,主站可以1S间隔置1,从站一直置0,主站判断值为1超过2秒就为通讯失败。。。
h小新
有通讯超时的机制,你这个只是起到显示通讯是否正常的功能,可以定时取数据啊,然后放数组,然后定时比较数组前后是否一样。
gk2017
试试看
关育谋
定时中断中对定时计数器T1进行加1操作,正常通信进行数据发送和接收的时候把定时计数器T1清零,如果在设定的时间内没有进行通信的发送和接收,那么这个时候当T1自加值大于等于设定值时,即可进行心跳包的发送,以保持通信连接。
fengge11
自己做一个循环计时,每秒一个脉冲把读过来的心跳存入一个寄存器中,再用这个去比较下一秒的数据不同,说明心跳再跳动,如果相同说明心跳停止。
lileiepng
看看,学习
一叶一菩提8
Smile-lyc
感谢求助者和答疑者对求助答疑板块的厚爱,赠人玫瑰,手留余香。
对于求助者要求:
1、请在一个月内自行结贴,把悬赏积分(如果设置积分悬赏求助)发放给答疑者;
2、如果在求助答疑过程中,自己已经有效解决问题,建议大家把解决问题方法在自己求助帖分享,有效分享可以获得50积分奖励。
沽名霸王
谢谢楼主分享
panljm71682223
看看,谢谢
jzl070521
学习
引用 "幸福的小石头" 的回复,发表在1楼 内容: 从站传出来的数据存到A,利用1秒上升沿,把A 每秒传送给B一次,A和B相比较,作为定时器的触发条件,定时器定时3秒,如果正常通讯,A和B只会有1秒相等,否则就会触发定时器,当定时器触发时候,说明A的值...
宝贝猫
松伢子
学习学习