Modbus控制结果与来源
对应2026-10-04软件候选。10:46 focused r11实际385/385通过,覆盖准确帧核心、Protocol42、虚拟外设35、HTTP52、冻结报告22和boot/报告兼容;此前MQTT scalar55等子集亦通过。完整precheck r7正在运行,这些结果均不是九环境、设备、资源内存或长稳验收。
网页会话、保存的屏幕卡片和规则电机操作使用同一实际Modbus实例与从站的控制归属。配置、规则、UART或屏幕来源变化后,旧操作不得改投新设备。读取状态不申请输出归属。
提交接口返回操作号,仅表示已受理。应继续查询该操作的pending、success和outputSteps。每步commandAcknowledged=true只代表通信应答,不能代替机械运动、限位和负载反馈。失败时保留已完成前缀,不重发整批。
当调用方超时而后台仍在运行时,普通控制结果的attemptKnown=false、attempted=null表示是否已经写入尚未知;backendOperationId指向保留的电机操作,acknowledgedSteps是已确认的应答步数。不要将这种情况当成“没有执行”而立即重复发出运动命令。
现有软件紧急停止只使用配置中保存的停止寄存器和值,并等正在发送的事务结束后执行;它不能代替独立硬件急停。停止受理、通信应答和机械静止是三个不同状态。
直接MQTT电机使用同一来源与worker路径。PWM/PID、PM虚拟外设、typed规则、命名脚本及延时已经接入原来源;不是仅电机/继电器两条路径。地址归属先于数值合法性检查,重叠映射不能因另一设备拒绝该值而被隐藏。实际接线、运动、内存开销、故障恢复和长稳仍未完成。
MQTT modbus_raw_send的FC1~4保留只读透传。写帧先验证准确帧与保存映射,再由服务端生成MQTT来源;标准FC05/06/15/16及明确支持的继电器专有帧受同一仲裁。拒绝或无可用回调时不会再落入同名规则或另一个直接写入路径,也没有直接UART写入后备。返回完整异常帧仍是异常,不能当作写成功。
匹配规则的MQTT结果只使用执行时冻结的属性标识、值、原因与采样质量;失败值为空,不用原请求值冒充观测。身份丢失或序列化失败拒绝该批报告,不能改投当前配置;已执行的动作不因此回滚或重试。
单次写入、批量与维护
候选的HTTP通用写入、单/批寄存器和继电器批量控制先核对已保存的从站与寄存器映射。映射缺失、重叠或在提交时变化会拒绝执行;不能靠填写任意地址绕过来源控制。字段须为对应接口允许的POST字段,不接受重复字段、文件字段或自选actor/source。数值须为完整十进制整数;批寄存器最多123个uint16值,地址范围不得越过65535,也不接受第二份尾随JSON。
返回success=true表示此请求要求的通信步骤已确认。outputAttempted表示尝试过输出;acknowledgedCommandCount和acknowledgedSteps保留已确认前缀,步骤列表最多32项。发生异常、短写、CRC错误或超时后不会重发整批或继续后续输出;已有ACK不会因后续失败被抹掉。physicalOutputVerified保持false。独立回读不可用时,states元素为null,不能当成全部关闭。
地址/波特率写入还要求开发者模式,使用总线维护权限;已有普通输出占用或未结束的延时窗口可能使其被拒绝。维护接口不接受holdMs,也不提供接管其它输出的确认操作。通信ACK不会自动改写保存的从站地址/波特率配置,响应的configurationUpdated=false表明仍须按设备维护流程核实配置。广播改址尤其需要现场确认连接对象。
2026-10-04 focused r8中,准确帧/维护核心101项、五HTTP入口29项和电机兼容10项本地通过;这是140项子集证据,不是九环境、实物或部署结论。
延时结果的三个层次
延时控制使用保存的通道、协议与NC配置;提交的NC参数与配置不一致会拒绝。显式软件延时模式不会转成硬件闪开。软件最终写入保留最初的来源和操作期限,在到期时再次核验;来源退役、实例替换或过期后不补发旧操作。请求完成和定时生产者完成是不同状态。
initialCommandAcknowledged仅表示前面的通信步骤已确认;finalScheduled仅表示软件最终步骤已登记;finalCommandAcknowledged只有实际最终写入确认后才能成立。硬件延时命令即使丢ACK也可能已经启动,所以核心仍保留可能生效的硬件窗口,期间拒绝其它操作接管同一从站。窗口经过只表明等待期结束,不证明触点或负载到达目标状态。
2026-10-04 focused r9的HTTP批量/延时61项通过,整批268项曾有2项硬件窗口到期后的核心失败;修复在后继r10/r11已复验,原FAIL证据保留。失败响应需要查看已确认前缀和未知结果,不能因界面提示失败就立即重复触发。真实负载的最终状态须独立反馈确认。

