diff --git a/API.md b/API.md index 104f432..93ccfc7 100644 --- a/API.md +++ b/API.md @@ -290,10 +290,16 @@ "fault_locked": false, "flt_active": false, "comm_locked": false, - "manual_ack_required": false + "manual_ack_required": false, + "rem_local": false } ``` +`rem_local` 说明: + +- `true`: 单元下存在设备 REM 信号为本地模式(REM=0,信号质量正常) +- `rem_local = true` 时,自动控制会被强制停止,且禁止重新启动,直到所有 REM 恢复远程 + `state` 枚举: - `stopped` @@ -328,6 +334,8 @@ - `unit.fault_acked` - `unit.comm_locked` - `unit.comm_recovered` +- `unit.rem_local` — 设备切换为本地模式,自动控制已停止(warn) +- `unit.rem_recovered` — 设备切换回远程模式,自动控制需手动重新启动(warn) - `equipment.start_command_sent` - `equipment.stop_command_sent` @@ -336,12 +344,13 @@ 所有控制命令在执行前都会校验: - 信号质量 -- REM 状态 +- REM 状态(REM=0 时拒绝手动指令) - FLT 状态 - 单元 `auto_enabled` - 单元 `comm_locked` - 单元 `fault_locked` - 单元 `manual_ack_required` +- 单元 `rem_local`(自动控制启动时额外校验) ### POST `/api/control/equipment/{equipment_id}/start` @@ -361,6 +370,7 @@ - `fault_locked = false` - `comm_locked = false` - `manual_ack_required = false` +- `rem_local = false`(有设备处于本地模式时不允许启动) 成功响应: @@ -382,6 +392,7 @@ - `fault_locked = true` - `comm_locked = true` - `manual_ack_required = true` +- `rem_local = true` 说明: @@ -523,8 +534,10 @@ data: log stream read failed "state": "running", "auto_enabled": true, "fault_locked": false, + "flt_active": false, "comm_locked": false, "manual_ack_required": false, + "rem_local": false, "accumulated_run_sec": 3600000, "display_acc_sec": 3600000 } @@ -564,3 +577,4 @@ data: log stream read failed - 控制引擎现在会在每轮单元循环中重新加载设备和角色映射,而不是只在任务启动时加载一次。 - 设备和点位的控制相关配置变更后,会主动唤醒对应单元任务,使新配置尽快生效。 - 日志流默认跟随最新日志文件,适配日志轮转场景。 +- REM 信号为本地模式(REM=0)时,手动控制指令(start/stop)和自动控制启动均被拒绝;若自动控制正在运行,引擎会立即停止并记录 `unit.rem_local` 事件。REM 恢复远程后记录 `unit.rem_recovered`(warn),自动控制需操作员手动重新启动。