You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
167 lines
2.9 KiB
167 lines
2.9 KiB
最简单的方式
|
|
|
|
|
|
1.错误
|
|
2.绑定的动作
|
|
clearError,根据错误列表中的错误,对设备进行恢复。也可以当错误大于两个的时候,直接报严重错误。
|
|
|
|
|
|
|
|
|
|
机械臂:
|
|
.....
|
|
.准备(条件:当某个试管已经开始处理的)
|
|
|
|
|
|
.....
|
|
.锁定
|
|
.取样+混合+滴定
|
|
.取样+混合+滴定
|
|
.取样+混合+滴定
|
|
.释放
|
|
.复位
|
|
.....
|
|
|
|
|
|
.....
|
|
actions = 条件检查
|
|
|
|
|
|
Errors = doActions();
|
|
-->执行动作(并行)
|
|
-->执行动作(并行)
|
|
-->执行动作(并行)
|
|
-->执行动作(并行)
|
|
|
|
clearErrors();
|
|
|
|
waitForAllActionIsDone()
|
|
|
|
.....
|
|
|
|
同一时刻只做一件事儿
|
|
|
|
设备动作:
|
|
入料
|
|
暂停
|
|
停止
|
|
继续
|
|
出料
|
|
|
|
入料
|
|
入料扫描
|
|
|
|
-预处理样本
|
|
-处理样本
|
|
|
|
|
|
-入料扫描
|
|
-移动并预处理样本-A
|
|
-Tip头准备
|
|
-取样本并处理样本
|
|
-取处理好的样本滴定
|
|
-反应板准备
|
|
-反应板推出
|
|
-反应板扫描
|
|
-移动并预处理样本-B
|
|
-出料
|
|
|
|
出错:
|
|
|
|
错误处理:
|
|
假设:
|
|
1. 系统状态自动切换到暂停状态。如果是fatal则自动切换到stop状态。
|
|
2. 用户按下继续后,设备可以继续工作,同时先根据错误类型,执行相应的动作。
|
|
3. 如果是fatal错误,用户需要关机,并依次移走所有耗材。
|
|
4.
|
|
|
|
|
|
while(true){
|
|
stop
|
|
pause
|
|
}
|
|
|
|
动作:
|
|
入料并扫描
|
|
条件:
|
|
没有错误,设备运行工作中,试管架状态为IDLE,入料光电被触发
|
|
副作用:
|
|
修改耗材状态
|
|
|
|
动作:
|
|
出料
|
|
条件:
|
|
没有错误,设备运行中,试管架状态为FINISHED
|
|
副作用:
|
|
修改试管架状态为IDLE
|
|
|
|
-----------------------------------------------------------------------------------
|
|
|
|
动作:
|
|
试管预处理A
|
|
条件:
|
|
没有错误,设备运行中,试管架状态为PROCESS,试管预处理状态为CHECK_REASOUR_FINISHED,或者处理中,待处理试管不为0
|
|
副作用:
|
|
修改试管处理状态为PRE-PROCESS-A
|
|
|
|
动作:
|
|
耗材资源检查,孵育盘有空余位置。
|
|
条件:
|
|
没有错误,设备运行中,试管架状态为PROCESS,试管预处理状态为IDLE,待处理试管不为0
|
|
副作用:
|
|
|
|
|
|
动作:
|
|
样本后处理
|
|
条件
|
|
PRE_PROCESS_A FINISHED,孵育盘有空余位置。
|
|
RECORSE:
|
|
|
|
副作用:
|
|
修改PRE_PROCESS_A --> SAMPLE_POST_PROCESS
|
|
cnt++;
|
|
设置孵育盘状态
|
|
|
|
|
|
|
|
|
|
基本原则:
|
|
每个动作都有一定的触发条件和硬件资源,当条件满足时且申请到硬件资源时执行动作。
|
|
|
|
|
|
|
|
|
|
-----------------------------------------------------------------------------------
|
|
核心点?
|
|
特殊点:
|
|
一个状态触发多个任务:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
状态:
|
|
1.SOMTHING_PROCESSING [处理中]
|
|
2.SOMTHING_FINISHED [处理完成]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|