对象原理
FSP 使用稳定的容器类型、物理属性和当前状态,使编译/解释器、仿真器、执行器以及不同设备能够判断同一容器是否可识别、可容纳、可定位和可操作。 容器类型目录可以扩展,但每个名称必须对应明确的器皿形态。不同容量、口型、底型或材质会影响定位、夹持、容量和工艺兼容性时,应定义为不同类型或不同规格。容器分类
该分类用于统一语义,不限制实现只支持表中器皿。设备接口只需声明自己实际支持的容器类型和规格。
容器类型字段
调用时的对象字段
返回时的对象字段
填写示例
50 mL 锥形离心管应说明其分类为管类,形状为圆柱主体加锥底,标称容积为50 mL,并填写高度、外径、材质、盖型和最大工作容积。一次加液调用中,对象信息可说明它是目标容器、当前无盖、样品体积为零、剩余容量为 45 mL。设备完成后返回实际体积和新的对象版本号。
96 孔板应说明外廓长宽高、8 行 12 列、孔位命名规则、单孔形状、单孔最大容积和板体材质。操作涉及某一孔时,location 可以填写 A1;对象结果应返回该孔的实际样品状态和体积,而不是只返回整块板“已处理”。
3 mL 比色皿应说明长宽高、光程、材质和最大工作容积。测量接口的对象信息可说明比色皿已定位、样品为液体且液面满足光路要求;测量本身不改变样品时,返回应明确对象状态未变化。
多个容器和不完整的结果
来源、目标、中转、废液等容器,只要会被读取、改变或占用,都应列在请求中,并用role 说明用途。每个容器都要检查版本、容量、是否适合本次操作,以及是否被其他任务占用。
参数里写到的容器必须能在这份列表中找到。例如,加液不仅会改变目标容器,也会减少来源容器的液量,不能只锁目标容器。
before_state 记录的是之前某个时间的状态,不一定还是现在的状态。动作可能已经发生后,如果没有重新测量,不能继续用旧体积,也不能把计划加液量加到旧体积上,当成实际体积。
只把受影响的字段标为未知。材质、容器类型等仍有依据的信息可以保留。
after_state 记录现在能确认的结果,可以只包含一部分。暂时不知道的字段,在定义允许时填 null,并说明原因;还没有取得动作后的任何观察结果时,after_state 可以为空。
state_quality 应分别记录各字段的来源、观察时间和有效期。例如,刚读了一次温度,不代表之前的体积读数也变新了。不论任务成功、失败、取消还是结果未知,已经确认的变化都要返回。
容器位置必须说明设备、工作区、槽位或坐标系。搬运导致定位证据失效时应更新位置修订和质量;同名孔位不表示位于同一块板。对象状态未知时,所有依赖该字段的后续动作均须重新观测。