最后更新:2022-06-21 17:31:11 手机定位技术交流文章
如何判断 ModbusRTU的开始和结束
在ModbusRTU协议中,必须使用时间间隔来判断帧消息的开始和结束,协议规定的时间是3个字节周期。在一帧报文开始前,必须超过5个字节周期的自由时间,一帧报文结束后,还有三个。 五个字周期的自由时间,否则, 会有一个粘性条件.五字周期是特定的时间,与波特率有关。
整个消息框必须在连续的字符流中发送。 如果两个字符之间的空位大于1.5字符时,消息框被认为是不完整的,应从接收节点中丢弃。
CRC循环冗余校验
在RTU模式中包含所有消息内容的可执行文件,基于循环冗余检查(CRC)算法的错误测试域.CRC域审查了整个报告的内容。不管纸上的支票多么奇怪,均执行此检验。
1)CRC有16位元,由两个8位元组成
2)CRC将附在报告的最后页上,首先添加较低和较高的字符。
接收器在接收消息时重新计算CRC值,并将计算结果与实际接收的CRC值比较。 如果两个值不等价,这是错误。
序列链中的ModbusRTU消息格式
从站点地址(1字节)+功能代码(1字节)+数据区(N字节)+验证代码(2字节)
从站点地址:作为索引的字符串
函数代码:表示读写函数的节点
数据:通过通信传输的数据,可以是多字节
校正:确定接收数据是否在传输过程中丢失,两个字节
读出/保持记录器:
getReadCommand函数
getWriteCommand函数(主处理器)
(不全显示, 其他检查了身份证的合法性等.)
运行函数
整体代码框架如下:

本文由 在线网速测试 整理编辑,转载请注明出处。