Modbus 莫迪康 1979 PLC 1969年
RTU ASCII TCP
Modbus Rtu通讯协议
通信会涉及读写
存储区:
输出线圈 0 00001 -09999
输入线圈 1 10001 - 19999
输出寄存器 4 40001 -49999
输入寄存器 3 30001 -39999
其实也就是单片机的寄存器读写。bool布尔量只有0或1
存储区范围:5位和6位 标准地址 和扩展地址
---------------------------------------------------------------------------------------------------------------------------------
读写
读输出线圈 01
读输入线圈 02
读输出寄存器 03
读输入寄存器 04
写单个输出线圈 05
写多个输出线圈 15
写单个输出寄存器 06
写多个输出寄存器 16
---------------------------------------------------------------------------------------------------------------------------------
ModBus报文协议RTU/ASCII
格式: 从站地址(设备编号)(1byte)+ 功能码(1byte) + 数据(nbyte)+校验(2byte)
校验位验证数据的准确性
CRC(Cyclic Redundancy Check,循环冗余校验)是一种广泛使用的错误检测机制,用于确保数据在传输或存储过程中没有发生意外的更改或损坏。CRC主要用于网络通信、存储设备和数据传输系统中,以提高数据传输的可靠性。
一个寄存器十六位,占用两个字节 example:
发送:01 (站地址)03(读输出寄存器) 00 00(起始寄存器) 00 02 (寄存器长度)
C4 0B(CRC校验)十六进制转为二进制
接收:01(站地址) 03( 读输出寄存器)04(字节计数) 01 46 01 3B 5A 59(CRC校验)
146 -》326 13B -》315
校验位算法




相对地址从0开始
10万+

被折叠的 条评论
为什么被折叠?



