Skip to main content
动作契约是 FSP 服务对一项设备动作的稳定定义。它回答“这项动作是什么、输入什么、什么情况算完成”,不包含某台设备的串口地址、厂商命令或连接密码。

一份契约要说清什么

契约怎样对应到设备

在同一命名范围内,operation_idcontract_version 共同确定动作含义。不同设备使用同名同版契约时,参数含义、单位和完成要求必须一致。 契约对应到具体设备实现时,绑定键至少包含:
找不到目标设备的实现时必须拒绝,不能改用另一台设备的同名动作。设备可以使用比契约更严格的参数范围,但不能扩大范围、改变单位或降低完成要求。 例如,某设备只能确认“命令已收到”,就不能绑定到要求“液体已加入且体积已核验”的契约。

版本怎样更新

协议版本、动作契约版本、设备定义版本、对象状态版本和系统状态版本记录不同的变化,不能混用。 字段位置、单位、必填性或“成功”的含义改变时,应使用新契约版本,或提供明确的转换规则。不认识的版本必须拒绝,不能猜测着执行。 流程伪代码见适配器:动作契约,可运行实现见 GitCode 示例源码