No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 
 
 
 

2.7 KiB

Modbus异常码实例

非法功能码

  • 请求:01 02 00 00 00 01 B9 CA
  • 请求帧长度:8字节
  • 返回帧:01 82 01 81 60
  • 返回帧长度:5字节
  • 解释:从站未实现功能码0x02,返回功能码0x82和异常码0x01,表示非法功能。

03功能码读取非法地址

  • 请求:01 03 27 10 00 01 8F 7B
  • 请求帧长度:8字节
  • 返回帧:01 83 02 C0 F1
  • 返回帧长度:5字节
  • 解释:起始地址0x2710等于10000,超出标准保持寄存器有效地址0~9999,返回异常码0x02,表示非法数据地址。

03功能码读取数量为0

  • 请求:01 03 00 00 00 00 45 CA
  • 请求帧长度:8字节
  • 返回帧:01 83 03 01 31
  • 返回帧长度:5字节
  • 解释:读取寄存器数量为0,不符合功能码要求,返回异常码0x03,表示非法数据值。

05功能码写入非法线圈值

  • 请求:01 05 00 00 12 34 C0 BD
  • 请求帧长度:8字节
  • 返回帧:01 85 03 02 91
  • 返回帧长度:5字节
  • 解释:05功能码只允许使用FF 00表示ON或00 00表示OFF,写入值12 34非法,返回异常码0x03

06功能码写入非法地址

  • 请求:01 06 27 10 00 01 43 7B
  • 请求帧长度:8字节
  • 返回帧:01 86 02 C3 A1
  • 返回帧长度:5字节
  • 解释:写入地址0x2710等于10000,超出标准保持寄存器有效地址0~9999,返回异常码0x02

0F功能码字节数错误

  • 请求:01 0F 00 00 00 09 01 01 6E 95
  • 请求帧长度:10字节
  • 返回帧:01 8F 03 04 31
  • 返回帧长度:5字节
  • 解释:请求写入9个线圈时应携带2个数据字节,但帧中的字节数字段为1,返回异常码0x03

10功能码写入数量为0

  • 请求:01 10 00 00 00 00 00 09 50
  • 请求帧长度:9字节
  • 返回帧:01 90 03 0C 01
  • 返回帧长度:5字节
  • 解释:写入寄存器数量为0,不符合功能码要求,返回异常码0x03

48功能码读取非法大地址

  • 请求:01 48 01 11 6F 00 01 CD 69
  • 请求帧长度:9字节
  • 返回帧:01 C8 02 F6 01
  • 返回帧长度:5字节
  • 解释:起始地址0x01116F等于69999,超出扩展保持寄存器有效地址0~69998,返回异常码0x02

48功能码读取数量为0

  • 请求:01 48 00 00 00 00 00 04 48
  • 请求帧长度:9字节
  • 返回帧:01 C8 03 37 C1
  • 返回帧长度:5字节
  • 解释:读取寄存器数量为0,不符合功能码要求,返回异常码0x03

从站地址不匹配

  • 请求:02 03 00 00 00 01 84 39
  • 请求帧长度:8字节
  • 返回帧:无
  • 返回帧长度:0字节
  • 解释:当前从站地址为0x01,请求帧的目标从站地址为0x02,因此当前从站直接忽略该帧,不返回正常响应或异常响应。