问题补充说明:有一个设备说给我提供的是Modbus TCP通讯协议。我用一个通讯工具读到的格式如下: 00 00 00 00 00 1E 01 03 1C 00 00 14 42 AE 47 81 3F 00 00 8C 42 9A 99 99 3F 00 00 5D 43 08 77 85 42 00 00 00 00 请问大神,标准的Modbus TCP通讯协议发送端的格式是... 有一个设备说给我提供的是Modbus TCP通讯协议。我用一个通讯工具读到的格式如下:00 00 00 00 00 1E 01 03 1C 00 00 14 42 AE 47 81 3F 00 00 8C 42 9A 99 99 3F 00 00 5D 43 08 77 85 42 00 00 00 00 请问大神,标准的Modbus TCP通讯协议发送端的格式是那种?数据存储到那个寄存器?地址偏置从那个开始?我想发送一串数字:37、1.01 、70 、1.2 、221 展开
1、首先每个MODBUS数据包都由以下5个部分组成。
2、 MODBUS数据包中功能码长度为一社特个字节,用以通知从站应当执行何种操作,从站响应数据包中应当包含主站所请求操作的相同功能码字节。
3、如果主站发送了一个非法的数据包或者是主站请求一气甲师于矿绿把增前个无效的数据寄存器时,异常的数据响应就会产生。这个360问答异常数据响应由从站地址、功能码、故障码和校验域组成。
4、主机读取仪表测量值UA(A相电压),假设现测量到A相电压为220.0V。UA的地址编码是0x4000(速观味销资欢们价十六进制),因为UA是长整型数据(4字节),占用2个数据寄存器,220.0V电压转换对应的十六进制数据是:0x00000898(2200)。
5、假设将温控表温度值SV修改为150(写入设定值SV),SV纸沙品的地址编码是0x2000(十六进制),因为SV是整数(2字节),占用1个数据寄存器。将十进制整数150转换为十六进制数为0x0096。
标签:Modbus,TCP,通讯