FreeModbus 笔记
Modbus-RTU是基于485总线基础上一个主从协议,主站积极发起通信,从站接受主站的消息并响应主站的指令。
这里重要探讨FreeModbus中的RTU从站协议的实现。
从站的串口每次接受一个字节数据,并产生串口中断(中断打开),那么串口中传过来的一个个字节如何组成一个Modbus的数据帧呢?
这是通过一个重要的参数T3.5来进行判断的。
T3.5就是串口传递3.5个字符的时间,这个时间和波特率相关,不同波特率下,T3.5时间不等。
3.5个字符时间区分不同的帧,即接受到的两个字符之间时间间隔小于
3.5个字符时间时认为是同一个帧的,假如间隔大于
3.5个字符时间则认为是不同帧的,在一般的串口通信中,发送
1个字符需要:
1位起始位,
8位数据位,
1位校验位
(可无),1位停止位
,总共1+8+1+1 = 11
位,3.5个字符时间就是
3.5 * 11 = 38.5
位,假如波特率是
9600,
那么传输
1位的时间是
1000/9600 = 0.10416667(
ms) ,
这样,3.5个字符时间就大约是
4ms ,
即定期器需要的中断时间
<Ob ...


雷达卡


京公网安备 11010802022788号







