@[toc]

一、Modbus协议通信异常

  • 地址范围

    • 从站地址:1-247:有效的地址范围 0:广播
  • 数据异常(数据无法正常解析)

    • 大小端存储问题
  • 异常处理原理(响应异常)

    • 由从机明确回复
    • 功能码高位置 1
      如图:
      在这里插入图片描述
    • 异常信息含义

      代码名称含义
      01非法功能对于服务器(或从站)来说,询问中接收到的功能码是不可允许的操作。这也许是因为功能码仅仅适用于新设备而在被选单元中是不可实现的。同时,还指出服务器(或从站)在错误状态中处理这种请求,例如:因为它是未配置的,并且要求返回寄存器值。
      02非法数据地址对于服务器(或从站)来说,询问中接收到的数据地址是不可允许的地址。特别是,参考号和传输长度的组合是无效的。对于带有100 个寄存器的控制器来说,带有偏移量96 和长度4的请求会成功,带有偏移量96和长度5的请求将产生异常码02。
      03非法数据值对于服务器(或从站)来说,询问中包括的值是不可允许的值。这个值指示了组合请求剩余结构中的故障,例如:隐含长度是不正确的。并不意味着,因为MODBUS 协议不知道任何特殊寄存器的任何特殊值的重要意义,寄存器中被提交存储的数据项有一个应用程序期望之外的值。
      04从站设备故障当服务器(或从站)正在设法执行请求的操作时,产生不可重新获得的差错。
      05确认与编程命令一起使用。服务器(或从站)已经接受请求,并切正在处理这个请求,但是需要长的持续时间进行这些操作。返回这个响应防止在客户机(或主站)中发生超时错误。客户机(或主站)可以继续发送轮询程序完成报文来确定是否完成处理。
      06从属设备忙与编程命令一起使用。服务器(或从站)正在处理长持续时间的程序命令。张服务器(或从站)空闲时,用户(或主站)应该稍后重新传输报文。
      08存储奇偶性差错与功能码20和21 以及参考类型6一起使用,指示扩展文件区不能通过一致性校验。服务器(或从站)设法读取记录文件,但是在存储器中发现一个奇偶校验错误。客户机(或主方)可以重新发送请求,但可以在服务器(或从站)设备上要求服务。
      0A不可用网关路径与网关一起使用,指示网关不能为处理请求分配输入端口至输出端口的内部通信路径。通常意味着网关是错误配置的或过载的。
      0B网关目标设备响应失败与网关一起使用,指示没有从目标设备中获得响应。通常意味着设备未在网络中。
  • 请求频率异常

    • RTU报文请求间隔 3.5个字符时间 1.5个字符时间
  • 报文长度限制

    • 0x07D0 线圈的单次请求长度
    • 0x007D 寄存器单词请求的长度

神农写代码
1 声望0 粉丝

好好学习,天天向上!