Modbus 异常管理
概述
LTMR 控制器通常符合异常管理的 Modbus 要求。
有三种特殊的情况适用于 LTMR 控制器:
-
位字段寄存器
-
异常码 02 - 非法数据地址
-
异常码 03 - 非法数据值
位字段寄存器
寄存器映射中的一些寄存器是位字段。根据 LTMR 控制器状态,这些寄存器中的一些位不应为可写位。在此情况下,LTMR 控制器应拒绝写入到这些位,这就意味着,不应返回任何异常。例如,如果 LTMR 控制器不在系统配置状态中,将忽略只能在配置模式中写入的位(不返回任何异常)。不受 LTMR 控制器状态约束的位写入应在任何情况下都能发生。
异常码 02 - 非法数据地址
通常,如果地址不在范围内或不可访问,LTMR 控制器应返回一个非法数据地址异常码。特别是在以下情况下,LTMR 控制器应返回一个非法数据地址:
-
将写请求发送给只读寄存器。
-
由于 LTMR 控制器状态而未授予写入寄存器的权限:这在例如以下情况下会出现:仅可在配置模式中写入的寄存器在 LTMR 控制器不处于系统配置状态时被写入。
异常码 03 - 非法数据值
通常,如果消息的结构出现问题(例如长度无效),LTMR 控制器应返回一个非法数据值异常代码。在以下情况下,LTMR 控制器还应使用此异常码:
-
要写入的数据不在规定范围内(对于标准和位字段寄存器):这在以下情况下会出现:向范围为 0 至 50 的 R/W 寄存器发送 100 的写入请求。
-
将保留位或寄存器写入到非零值。
-
当选择的电机控制器模式不是双速运行模式时设置电机低速命令(位 704.6)。