《表2 MODBUS常用功能码》
MODBUS的RTU模式规定不同数据帧之间的间隔是3.5个字节以上.如果在一帧数据完成之前有超过3.5个字节时间的停顿,接收设备将刷新当前的消息并假定下一个字节是一个新的数据帧的开始.同样,如果一个新消息在小于3.5个字节时间内接着前边一个数据开始,接收设备将会认为它是前一帧数据的延续.这将会导致一个错误,因此RTU数据帧最后还有16B的CRC校验.[4-6]所以真正的第一帧数据是从机地址,第二帧为功能码,数据的帧数是根据功能码来确定的,最后的CRC校验码是由一种特定的数据算法所得的值,接收方在接收到数据后进行CRC计算,把得到的值与计算的值比较.如果正确,则接收.否则这帧数据将被丢弃.RTU模式的每个字节的位分布:1个起始位、8个数据位(最小有效位先发送)、1个奇偶校验位(如果无校验则没有此位)、1个停止位(有校验位时)或者2个停止位(无校验位时).所以MODBUS编程时不仅要选好通信模式,而且要设置好一些串口参数,如波特率、停止位等,MODBUS常用功能码见表2.
图表编号 | XD0014128700 严禁用于非法目的 |
---|---|
绘制时间 | 2018.03.20 |
作者 | 鲁兴、乔双 |
绘制单位 | 东北师范大学物理学院、东北师范大学物理学院 |
更多格式 | 高清、无水印(增值服务) |