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

最简单的方式
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 [处理完成]