Skip to main content

范围

FSP 的对象维度说明某项技能能够识别或处理的实验器皿,以及调用该技能时器皿必须满足的状态。目录只收录具有明确器皿或样品盛放语义的对象。 离心管、反应管、西林瓶、烧杯、坩埚、比色皿和多孔板均为容器;XRD 基底片、玻片、光刻片、玻碳片和质谱板等直接盛放或处理样品的平面器皿也登记为容器。

容器类型定义

容器定义作为完整技能的 object 维度返回。多项技能可以使用相同容器类型,但每项技能仍须明确声明自身允许的容器变体和状态。 该非规范性示例只填写已知的外形、尺寸和材质;未确认的容积保持 null。真实值必须由 FSP 设备或经确认的器皿资料提供,不能由转换程序补猜。

必需属性

圆形和圆柱形容器应当描述直径;非圆形容器使用适用的长度、宽度和高度。可盛装样品或试剂的容器应当声明 nominal_volume_mL;设备允许加注、抽取或处理的上限应当另行声明 max_working_volume_mL。不可得数值使用 null,并在 metadata.attribute_status 中标为 unmeasuredunknown,不得猜测。

容器类型目录

本目录是面向协议阅读者的通用器皿分类。设备实现只声明实际支持的类型与变体;同名器皿在尺寸、材质、口部、孔位或容积不同的情况下,必须以独立 variant_id 声明。 FSP 不硬编码多孔板的外形和孔位数值;设备必须在其类型定义中声明实际采用的孔位布局、外形尺寸和版本信息。

运行时状态

fsp/read 读取容器当前状态:
fsp/read 只是读取类请求入口;read_container_state 是设备完整技能定义中声明的具体读取技能。其参数和返回字段必须符合该技能的 control.input_schemacontrol.output_schema 返回值沿用设备能力中声明的字段:

状态规则

  • 设备只能返回完整技能定义中已经声明的状态字段;
  • 状态读取必须包含观测时间或修订号;
  • 操作产生的状态变化必须与技能控制维度声明的 effects 一致;
  • 强制条件失败时不得提交预期新状态;
  • 设备实际状态未知时必须明确返回诊断,不能假定操作成功。

研究对象与状态

研究对象(Research Object)是实验过程中被处理、观察或表征的科学对象。它将容器与样品状态、科学身份、证据和来源组合为一个可追溯上下文:
FSP 负责设备可见的容器和状态;方法层使用同一结构中的科学身份、证据和来源生成、验证与执行实验方法。

顶层结构

完整结构示例

该示例表示:研究对象当前位于指定设备的 1 号离心瓶内;加液结果把样品状态更新为液体并提交修订号 8;证据和来源分别记录结果位置与状态提交原因。未知的容器静态属性保持 null

分区字段

未知事实必须使用 null 或空数组,不能用推测值填充。

状态交换字段

设备能力、研究对象和方法之间通过以下公共字段传递状态:
方法生成和验证必须沿用这些字段,不替换成没有实现依据的新标识体系。

初始状态与变化

开盖能力的初始状态示例:

方法状态上下文

方法生成器获得的上下文至少包含科学目标、研究对象身份、容器类型和编号、当前容器与样品状态、已有样品体积、可用设备能力、强制约束以及已有证据和来源。

状态提交

  • 只有操作完成并满足完成条件后才能提交新状态;
  • 仿真失败、版本不兼容或强制约束失败时不提交状态;
  • 设备结果未知时重新读取状态,不假定成功;
  • 每次状态提交都应当关联产生它的操作、参数和证据。