mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2026-02-09 00:15:10 +00:00
修复了部分的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:
@@ -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"
|
||||
|
||||
@@ -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 # 操作是否成功
|
||||
|
||||
15
unilabos_msgs/action/AddSolid.action
Normal file
15
unilabos_msgs/action/AddSolid.action
Normal 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)
|
||||
@@ -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)
|
||||
@@ -1,7 +1,6 @@
|
||||
# Organic
|
||||
# Organic Synthesis Station EvacuateAndRefill Action
|
||||
string vessel
|
||||
string gas
|
||||
int32 repeats
|
||||
---
|
||||
string return_info
|
||||
bool success
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 # 操作是否成功
|
||||
|
||||
@@ -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 # 当前状态描述
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
@@ -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)
|
||||
|
||||
@@ -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 # 当前状态描述
|
||||
@@ -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)
|
||||
Reference in New Issue
Block a user