修复了部分的protocol因为XDL更新导致的问题 (#61)

* 修复了部分的protocol因为XDL更新导致的问题

但是pumptransfer,add,dissolve,separate还没修,后续还需要写virtual固体加料器

* 补充了四个action

* 添加了固体加样器,丰富了json,修改了add protocol

* bump version to 0.9.9

* fix bugs from new actions

* protocol完整修复版本& bump version to 0.9.10

* 修补了一些单位处理,bump version to 0.9.11

* 优化了全protocol的运行时间,除了pumptransfer相关的还没

* 补充了剩下的几个protocol

---------

Co-authored-by: Junhan Chang <changjh@dp.tech>
Co-authored-by: Xuwznln <18435084+Xuwznln@users.noreply.github.com>
This commit is contained in:
Kongchang Feng
2025-07-16 11:12:02 +08:00
committed by GitHub
parent 540c5e94b7
commit acf7b6d3f7
55 changed files with 9928 additions and 3669 deletions

View File

@@ -41,6 +41,7 @@ set(action_files
"action/WashSolid.action"
"action/Filter.action"
"action/Add.action"
"action/AddSolid.action"
"action/Centrifuge.action"
"action/Crystallize.action"
"action/Purge.action"

View File

@@ -1,14 +1,19 @@
# Goal - 添加试剂的目标参数
string vessel # 目标容器
string reagent # 试剂名称
float64 volume # 体积 (可选)
float64 mass # 质量 (可选)
string amount # 数量描述 (可选)
float64 time # 添加时间 (可选)
bool stir # 是否搅拌
float64 stir_speed # 搅拌速度 (可选)
bool viscous # 是否为粘性液体
string purpose # 添加目的 (可选)
string vessel # 目标容器(必需)
string reagent # 试剂名称(必需)
string volume # 体积(如 "2.7 mL",可选)
string mass # 质量(如 "19.3 g",可选)
string amount # 数量描述(可选)
string time # 添加时间(如 "1 h", "20 min",可选)
bool stir # 是否搅拌(可选)
float64 stir_speed # 搅拌速度 (RPM可选)
bool viscous # 是否为粘性液体(可选)
string purpose # 添加目的(可选)
string event # 事件标识(如 'A', 'B',可选)
string mol # 摩尔数(如 '0.28 mol', '16.2 mmol',可选)
string rate_spec # 速率规格(如 'portionwise', 'dropwise',可选)
string equiv # 当量(如 '1.1',可选)
string ratio # 比例(如 '1:1',可选)
---
# Result - 操作结果
bool success # 操作是否成功

View File

@@ -0,0 +1,15 @@
# Goal - 固体加样操作的目标参数
string vessel # 目标容器(必需)
string reagent # 试剂名称(必需)
string mass # 质量字符串(如 "2.9 g",可选)
string mol # 摩尔数字符串(如 "0.12 mol",可选)
string purpose # 添加目的(可选)
---
# Result - 操作结果
bool success # 操作是否成功
string message # 结果消息
string return_info # 返回信息
---
# Feedback - 实时反馈
string current_status # 当前状态描述
float64 progress # 进度百分比 (0-100)

View File

@@ -1,14 +1,21 @@
string vessel # 装有要溶解物质的容器名称
string solvent # 用于溶解物质的溶剂名称
float64 volume # 溶剂的体积,可选参数
string amount # 要溶解物质的量,可选参数
float64 temp # 溶解时的温度,可选参数
float64 time # 溶解的时间,可选参数
float64 stir_speed # 搅拌速度,可选参数
# Goal - 溶解操作的目标参数
string vessel # 装有要溶解物质的容器名称(必需)
string solvent # 用于溶解物质的溶剂名称(可选)
string volume # 溶剂的体积(如 "10 mL",可选
string amount # 溶解物质的量描述(可选)
string temp # 溶解时的温度(如 "60 °C", "room temperature",可选
string time # 溶解的时间(如 "30 min", "1 h",可选
float64 stir_speed # 搅拌速度可选默认300 RPM
string mass # 物质质量(如 "2.9 g",可选)
string mol # 物质摩尔数(如 "0.12 mol",可选)
string reagent # 试剂名称(可选)
string event # 事件标识(如 'A', 'B',可选)
---
# Result - 操作结果
bool success # 操作是否成功
string message # 结果消息
string return_info
---
# Feedback - 实时反馈
string status # 当前状态描述
float64 progress # 进度百分比 (0-100)

View File

@@ -1,7 +1,6 @@
# Organic
# Organic Synthesis Station EvacuateAndRefill Action
string vessel
string gas
int32 repeats
---
string return_info
bool success

View File

@@ -1,9 +1,10 @@
# Organic
string vessel
float64 pressure
float64 temp
float64 time
float64 stir_speed
# Organic Synthesis Station Evaporate Action
string vessel # 目标容器
float64 pressure # 真空度
float64 temp # 温度
string time # 🔧 蒸发时间(支持带单位,如"3 min","180",默认秒)
float64 stir_speed # 旋转速度
string solvent # 溶剂名称
---
string return_info
bool success

View File

@@ -1,11 +1,11 @@
# Goal - 过滤操作的目标参数
string vessel # 过滤容器
string filtrate_vessel # 滤液容器 (可选)
bool stir # 是否搅拌
float64 stir_speed # 搅拌速度 (可选)
float64 temp # 温度 (可选,摄氏度)
bool continue_heatchill # 是否继续加热冷却
float64 volume # 过滤体积 (可选)
string vessel # 过滤容器(必需)
string filtrate_vessel # 滤液容器(可选)
bool stir # 是否搅拌默认false
float64 stir_speed # 搅拌速度默认0.0
float64 temp # 温度默认25.0
bool continue_heatchill # 是否继续加热冷却默认false
float64 volume # 过滤体积默认0.0
---
# Result - 操作结果
bool success # 操作是否成功

View File

@@ -1,12 +1,19 @@
# Organic
string vessel
float64 temp
float64 time
bool stir
float64 stir_speed
string purpose
# Goal - 加热冷却操作的目标参数
string vessel # 加热容器名称(必需)
float64 temp # 目标温度可选默认25.0
string time # 🔧 加热时间(支持带单位,如"5 min","300",默认秒)
string temp_spec # 温度规格(可选)
string time_spec # 时间规格(可选)
string pressure # 压力规格(可选,不做特殊处理)
string reflux_solvent # 回流溶剂名称(可选,不做特殊处理)
bool stir # 是否搅拌可选默认false
float64 stir_speed # 搅拌速度可选默认300.0
string purpose # 操作目的(可选)
---
# Result - 操作结果
bool success # 操作是否成功
string message # 结果消息
string return_info
bool success
---
string status
# Feedback - 实时反馈
string status # 当前状态描述

View File

@@ -9,6 +9,11 @@ string rinsing_solvent
float64 rinsing_volume
int32 rinsing_repeats
bool solid
float64 flowrate
float64 transfer_flowrate
string rate_spec
string event
string through
---
string return_info
bool success

View File

@@ -1,9 +1,9 @@
# Request
string ratio
string solvent1
string solvent2
string vessel
float64 volume
string ratio # 溶剂比例(如"1:1","3:7"
string solvent1 # 第一种溶剂
string solvent2 # 第二种溶剂
string vessel # 目标容器
string volume # 🔧 总体积(支持带单位,如"100 mL","50"默认mL
---
# Result
bool success

View File

@@ -1,10 +1,19 @@
string from_vessel # 源容器的名称,即样品起始所在的容器
string to_vessel # 目标容器的名称,分离后的样品要到达的容器
string column # 所使用的柱子的名称
# Goal - 柱层析操作的目标参数
string from_vessel # 源容器的名称,即样品起始所在的容器(必需)
string to_vessel # 目标容器的名称,分离后的样品要到达的容器(必需)
string column # 所使用的柱子的名称(必需)
string rf # Rf值可选
string pct1 # 第一种溶剂百分比(如 "40 %",可选)
string pct2 # 第二种溶剂百分比(如 "50 %",可选)
string solvent1 # 第一种溶剂名称(可选)
string solvent2 # 第二种溶剂名称(可选)
string ratio # 溶剂比例(如 "5:95",可选)
---
# Result - 操作结果
bool success # 操作是否成功
string message # 结果消息
string return_info
---
# Feedback - 实时反馈
string status # 当前状态描述
float64 progress # 进度百分比 (0-100)

View File

@@ -1,22 +1,27 @@
# Organic
string purpose # 'wash' or 'extract'. 'wash' means that product phase will not be the added solvent phase, 'extract' means product phase will be the added solvent phase. If no solvent is added just use 'extract'.
string product_phase # 'top' or 'bottom'. Phase that product will be in.
string from_vessel #Contents of from_vessel are transferred to separation_vessel and separation is performed.
string separation_vessel # Vessel in which separation of phases will be carried out.
string to_vessel # Vessel to send product phase to.
string waste_phase_to_vessel # Optional. Vessel to send waste phase to.
string solvent # Optional. Solvent to add to separation vessel after contents of from_vessel has been transferred to create two phases.
float64 solvent_volume # Optional. Volume of solvent to add.
string through # Optional. Solid chemical to send product phase through on way to to_vessel, e.g. 'celite'.
int32 repeats # Optional. Number of separations to perform.
float64 stir_time # Optional. Time stir for after adding solvent, before separation of phases.
float64 stir_speed # Optional. Speed to stir at after adding solvent, before separation of phases.
float64 settling_time # Optional. Time
# Goal - 分离操作的目标参数
string vessel # 分离容器名称XDL参数必需
string purpose # 分离目的 ('wash', 'extract', 'separate',可选)
string product_phase # 产物相 ('top', 'bottom',可选)
string from_vessel # 源容器(可选)
string separation_vessel # 分离容器与vessel同义可选
string to_vessel # 目标容器(可选)
string waste_phase_to_vessel # 废相目标容器(可选)
string product_vessel # 产物收集容器XDL参数可选
string waste_vessel # 废液收集容器XDL参数可选
string solvent # 溶剂名称(可选)
string solvent_volume # 溶剂体积(如 "200 mL",可选)
string volume # 体积规格XDL参数如 "?",可选)
string through # 通过材料(如 'celite',可选)
int32 repeats # 重复次数可选默认1
float64 stir_time # 搅拌时间可选默认30秒
float64 stir_speed # 搅拌速度可选默认300 RPM
float64 settling_time # 沉降时间可选默认300秒
---
# Result - 操作结果
bool success # 操作是否成功
string message # 结果消息
string return_info
bool success
---
string status
string current_device
builtin_interfaces/Duration time_spent
builtin_interfaces/Duration time_remaining
# Feedback - 实时反馈
string status # 当前状态描述
float64 progress # 进度百分比 (0-100)

View File

@@ -1,9 +1,16 @@
# Organic
float64 stir_time
float64 stir_speed
float64 settling_time
# Goal - 搅拌操作的目标参数
string vessel # 搅拌容器名称(必需)
string time # 🔧 搅拌时间(如 "0.5 h", "30 min", "300",默认秒)
string event # 事件标识(如 "A", "B"
string time_spec # 时间规格(如 "several minutes"
float64 stir_time # 解析后的搅拌时间(秒)
float64 stir_speed # 搅拌速度默认200.0
string settling_time # 🔧 沉降时间(支持带单位,默认秒)
---
# Result - 操作结果
bool success # 操作是否成功
string message # 结果消息
string return_info
bool success
---
string status
# Feedback - 实时反馈
string status # 当前状态描述

View File

@@ -1,16 +1,23 @@
string vessel # 装有固体物质的容器名称
string solvent # 用于清洗固体的溶剂名称
float64 volume # 清洗溶剂的体积
string filtrate_vessel # 滤液要收集到的容器名称,可选参数
float64 temp # 清洗时的温度,可选参数
bool stir # 是否在清洗过程中搅拌,默认为 False
float64 stir_speed # 搅拌速度,可选参数
float64 time # 清洗的时间,可选参数
int32 repeats # 清洗操作的重复次数,默认为 1
# Goal - 固体清洗操作的目标参数
string vessel # 装有固体的容器名称(必需)
string solvent # 清洗溶剂名称(必需)
string volume # 🔧 体积(支持数字和带单位的字符串,如"100 mL","?"
string filtrate_vessel # 滤液收集容器(可选,默认""
float64 temp # 清洗温度可选默认25.0
bool stir # 是否搅拌可选默认false
float64 stir_speed # 搅拌速度可选默认0.0
string time # 🔧 清洗时间(支持带单位,如"5 min","300 s",默认秒)
int32 repeats # 重复次数与repeats_spec二选一
string volume_spec # 体积规格优先级高于volume
string repeats_spec # 重复次数规格优先级高于repeats
string mass # 固体质量描述(可选)
string event # 事件标识符(可选)
---
bool success # 操作是否成功
string message # 结果消息
# Result - 操作结果
bool success # 操作是否成功
string message # 结果消息
string return_info
---
string status # 当前状态描述
float64 progress # 进度百分比 (0-100)
# Feedback - 实时反馈
string status # 当前状态描述
float64 progress # 进度百分比 (0-100)