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.
4.8 KiB
4.8 KiB
TODO:
1. 数据库文件是否被破坏检查
2. 数据库文件如果被破坏,自动恢复默认配置
3. 添加归零保护,底层检测,如果电机未归零就执行moveTo,则报错。
坐标XY方向约定:
0 ----------------------->
| (X)
|
|
|
|
|
v(Y)
舵机位置约定:
抓手
1.夹紧位置为0
2.最大张开位置为300
3.垂直位置70
水平位置
初始位置为0
2.水平移动舵机初始化位置为200(处于设备最后端)
复位要求:
1. 板夹仓推杆电机需要处于零点位置
2. 光学模组推杆电机需要处于零点位置
3. 试管架通道中没有试管架
4. 出料口没有试管架
5. 进出料位置没有试管
逻辑漏洞
1.高试管如果脱帽,会被识别成低试管。
TODO:
1.想办法解决
4:号仓位退不出
14
<!-- 耗材 -->
<!-- 添加样本 -->
入料:
while(true)
{
}
<!-- startReaction -->
第一层服务
FrontEndEventRouter 前端事件路由器
用户服务:(OK)
1.添加
2.删除
3.修改
ID卡服务:
1.插入检测,插入事件上报(Service,Fn)
2.删除
3.查询
系统服务:
1.时间修改
2.本机IP
系统配置服务:
1.
设备初始化服务:
设备初始化运行前检查
耗材扫描服务:
样本添加服务:
主运行服务:
入料与预处理控制服务:
滴定
反应
设备运行状态服务:
------------------------------------------------
第二层服务:
硬件层
光学标定服务:
报表打印服务:
开机---> 设备不动
service
core_service
event_bus
app_service
hardware_service
setting_service
appSettingService
TODO:
初始化服务
物料扫描服务
入料服务
预处理服务
孵育服务
取样与反应服务
动作:
入料并扫描
准备下一个样本
条件: 当前正在处理的样本处理完成 &&
急诊位Pending | 还有剩余试管未处理
样本处理
BEFORE_PROCESS 预处理A(脱帽,摇匀)
BEFORE_PROCESS 预处理B(hbot取tip头,移动到待机位)
BEFORE_PROCESS 预处理C(推出反应板夹)
PROCESS 处理(取样,处理,滴定)
AFTER_PROCESS 后处理
将反应板推出到光学扫描位
光学扫描
代码规范
1. 什么样的检查写在动作中?
需要进行报错处理的检查写在步骤中
任务列表:
0. 重新思考整个系统的状态
1. 尽可能完成整个流程的控制,如果中间缺少某些位置参数,则只修改状态,让整个流程执行下去。
2. 支持急诊位置
3. 根据配置,修改对应的动作的细节,使其支持更多的试管架类型,更多的项目类型。
4. 完善日志
3. 完成剩余动作的校准工作。(取样本,取耗材,滴定,光学扫描,结果分析)
5. 添加温度控制。
5. 支持吸空检测。
6. 支持反应板夹类型检测。
TODO:
1. 如果当前板夹仓对应位置的耗材批次码没有发生变化,则耗材量不重新初始化。
2. tip头只有在第一次扫描时,才会初始化其数量是满的。
TODO:
1. 软件启动后读取所有单片机版本号。
2. 添加温度控制服务。(不用向前台提供接口)
3. 扫描耗材时,检查ID卡,同时检查温度是否一致。
4. MainFlowCtrl监听,温度控制异常事件,当发生异常时,主动暂停MainFlowCtrl
5. 打印结果
6. 支持扫码枪
添加DEBUG模式,
需要模拟硬件行为的地方。
1. 耗材扫描
2. 初始化
3. 工作流中的所有动作
需要产生的虚假行为
1. 触发.提供插入一个假的ID卡配置的事件
2. 触发.提供假的耗材配置
3. 触发.提供假的样本
4. 触发.添加一个假的急诊
为前台提供的接口:
设备控制
主流程控制
扫描耗材
添加急诊
开关机
配置:
xxx
xxx
xxx
数据
项目管理
用户接口
事件
...
错误码
...