【发布时间】:2014-05-08 12:55:29
【问题描述】:
在 Modbus 服务器实现中,如果服务器从客户端接收到包含太少(或没有)数据字节而无法正确解释的请求,它应该发送什么响应?
例如,modbus RTU 服务器(地址为 0x01)接收 ADU 数据报:0x01、0x01、0xE0、0xC1。在这种情况下,没有检测到物理传输层错误,地址正确,CRC 正确,功能(读取线圈)正确并在服务器上实现,但 PDU 不包含所需的起始地址或输入数量字段处理请求。
服务器是否应该假设发生了(非常罕见的)位错误并且根本不响应? 服务器是否应该将此解释为服务器不允许的“查询数据字段中的值”并以 ILLEGAL DATA VALUE 异常响应? 服务器应该做一些完全不同的事情吗?
【问题讨论】:
标签: modbus