恭喜,你发布的帖子
发布于 2018-01-05 22:45:02
9楼
比如modbus。ASCII的方式,官方规定是1秒超时。但是RTU方式,没有规定多久超时。
每个写RTU从站的人,都应该有一个基本数据:最长的回复时间,也就是超时的概念。
基本上,程序都是一个大循环,如果通讯处理(接收、发送除外)在主循环(也就是主程序)中处理,都有一个扫描周期的概念,扫描周期的长短不可控,造成通讯回复时间也不定。
本人写从站:
1、有一个响应延时,也就是收到一帧请求后,即使能立即响应,也要插入一段延时,允许通讯线路、主站作接收的准备,比如9600bps,会插入5ms的响应延时,对于RTU,相当于又一个线路空闲时间;
2、最长的响应时间。PLC从站,比如200,一般取100ms,也就是100ms必须响应,若超100ms了,就是能响应,也放弃了。这样主站就可以启动下一轮的通讯。单片机类的从站,最长响应可取短一些,20-50ms不等,看CPU的快慢。
请填写推广理由:
分享
只看
楼主