Modbus网络连通却读不到值,异常码应怎样进入诊断
Modbus异常响应使用带异常标志的功能码和异常代码。协议对01至04等代码给出含义,尤其说明03并非在判断寄存器所代表的业务物理值是否超出应用预期。

先区分响应异常与没有响应
保存实际收到的功能与代码,区分正常响应、异常响应、连接失败和等待超时。服务器返回异常说明收到并解释了某种请求,不能统一显示成网络不通,让维护人员失去排查层次。
先记录交付设备、软件与配置版本,再确认本节所述能力是否由该组合实际提供。把未支持、未启用和未验证分别记录;其他机型的演示不能代替当前交付对象的证据。
按01和02核对功能与范围
01需要检查所请求功能是否被设备允许,02需要核对地址与数量组合。起始地址有效但批量范围越界仍可能出错,因此请求记录必须包含全部范围,而不是只保留第一个寄存器编号。
验证时保留原始输入和判断依据,避免只交付一张成功截图。每一轮只改变已约定的变量,记录变化前后的配置与结果;未覆盖的边界条件需要明确列出,不能自动计入通过范围。
正确解释03非法数据值
协议将03用于请求字段不符合允许结构等情况,并明确不是对业务寄存器物理含义的判断。不能仅看到该代码就报告压力或温度超限,应检查数量、长度及功能特定字段,再查设备补充约定。
将图中三种现象作为讨论起点,而不是对现场故障的预先诊断。先核对记录是否完整、单位和身份是否一致,再决定需要补充哪项观察。若证据不足,应保留待确认结论,而不是用经验值填补缺失字段。

对04及其他代码保留设备背景
04表示服务器执行请求时发生设备失败,其他代码也有特定适用范围。记录设备状态和原始请求,不要把代码名称直接翻译成某个确定硬件部件损坏,也不应对所有异常自动无限重试。
由现场负责人确定获准的隔离验证方式,分别记录正常、异常和恢复阶段。验证重点是系统如何识别和解释不可信输入,不应为了取得异常样本而让实际生产设备执行未经评估的动作。
交付可解释提示与处置记录
界面提示应保留协议代码与业务上下文,日志能找到请求身份、功能和范围。按设备约定说明哪些情况可以重试、需改配置或交由维护确认,更新映射与客户端后重放代表性异常样本。
交付时附上配置、样本、结果表和未决问题,并约定后续变更的复核责任。接收方应能随机挑选一条结论,回到对应输入与判断过程;若做不到,这份报告仍需要补充可追溯资料。
智联海