85是写单个线圈错误,具体什么错误看接下来的异常码,即01/02/03/04等。83是读保持寄存器错误,02是是指你发送的是非法数据地址~~
modbus功能码及格式,疑问全搞定 1、“01”读取线圈状态 发送: 接收: N=读取线圈个数 / 8 ,如果余数不为0则N=N+1 出错时的返回: 例子: 2、“02”读取输入状态 发送: 接收: N=读取输入点个数 / 8 ,如果余数不为0则N=N+1 出错时的返回: 例子: 3、“03”保持型寄存器读取 发送: 接收: N=寄存器...
1、“01”读取线圈状态 发送: 接收: N=读取线圈个数 / 8 ,如果余数不为0则N=N+1 出错时的返回: 2、“02”读取输入状态 发送: 接收: N=读取输入点个数 / 8 ,如果余数不为0则N=N+1 出错时的返回: 3、“03”保持型寄存器读取 发送:
“03”保持型寄存器读取发送:功能代码1字节0x03起始地址2字节0x00000xFFFF寄存器数量2字节1125(0x7D)接收:功能代码1字节0x03字节数1字节2*N寄存器值N*2字节N=寄存器数量出错时的返回:功能代码1字节0x83错误代码1字节01/02/03/04例子:4、“05”写单一线圈发送:功能代码1字节0x05线圈地址2字节0x00000xFFFF写入值...
MODSIM32返回的数据包:01 83 02 C0 F1 主从机寄存器地址一致 MODSIM32收到的数据包:01 03 00 00 00 06 C5 C8 MODSIM32返回的数据包:01 03 0C 01 00 00 00 00 00 00 00 00 00 00 00 6E B3 主机修改值 使用Modbus功能码0x06:写单路寄存器,实现对从机单个寄存器值的修改。
1、“01”读取线圈状态 发送:功能代码1字节 0x01 起始地址2字节 0x0000~0xFFFF 线圈数量2字节 1~2000(0x7D0)接收:功能代码1字节 0x01 字节数1字节 N 线圈状态n字节n = N/N+1 N=读取线圈个数 / 8 ,如果余数不为0则N=N+1 出错时的返回:功能代码1字节 0x81 错误代码1字节 01/02/03/04 例...
01_DI: 读内部比特量输出状态,如告警、变位、故障、异常等。 02_DO:读外部开关量输入状态,如光耦输入、继电器输入等。 03_AO:读内部输出量的寄存器,如一些配置参数、定值的读取等。 04_AI: 读外部输入量的寄存器,如外部电压电流模拟量,温湿度等。
83:扩展识别码(流访问和单个访问) 随后更多: 在 ReadDevId 码 01、02或03(流访问)的情况下, 如果识别码数据不符合单个响应,那么需要几个请求/响应事务处理。 00:对象不再是可利用的 FF:其它识别码对象是可利用的,并且需要更多 MODBUS 事务处理 在ReadDevId码04(单个访问)的情况下, ...
正确响应:01 01 01 02 D0 49(线圈43-40对应的状态为:0-0-1-0)B)当使用ASCII模式进行通讯时:正确响应:3A 30 31 30 31 30 31 30 32 46 42 0D 0A(线圈43- 40对应的状态为:0-0-1-0)◆03 读线圈状态 查询:查询信息规定了要读的寄存器起始地址及寄存器的数量。响应:响应信息中规定了被读...