17 changed files with 63 additions and 256 deletions
-
2appenv/restart_chrome.sh
-
3appenv/start.sh
-
15appenv/zapp.service
-
BINbak/20250428-app.db
-
BINbak/20250429-1app.db
-
BINbak/20250429-2app.db
-
BINbak/20250613app.db
-
BINbak/app20250422-21-18.db
-
259doc/README/README.md
-
2sh/deply.bat
-
4src/main/java/a8k/app/service/analyzer/A8kIdCardDataParseService.java
-
20src/main/java/a8k/app/service/background/SensorDataUpdateService.java
-
2src/main/java/a8k/app/service/mainctrl/AppDeviceMainFlowCtrlService.java
-
3src/main/java/a8k/app/service/mainctrl/MainFlowCtrlScheduler.java
-
4src/main/java/a8k/app/service/statemgr/ProjectCxtMgr.java
-
5src/main/resources/application.yml
@ -0,0 +1,2 @@ |
|||
killall chromium-bin |
|||
/etc/zos/zos_setup.sh & |
@ -0,0 +1,3 @@ |
|||
#!/bin/bash |
|||
echo "A8000 starting ..." |
|||
/iflytop/bin/jdk/bin/java -jar /app/app.jar > /app/app.log 2>&1 |
@ -0,0 +1,15 @@ |
|||
[Unit] |
|||
# 服务名称,可自定义 |
|||
Description =A8000 |
|||
After = network.target |
|||
Wants = network.target |
|||
|
|||
[Service] |
|||
Type = simple |
|||
ExecStart=/app/sh/start.sh |
|||
Restart=always |
|||
RestartSec=2 |
|||
WorkingDirectory=/app/ |
|||
|
|||
[Install] |
|||
WantedBy = multi-user.target |
@ -1,259 +1,28 @@ |
|||
``` |
|||
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 | 还有剩余试管未处理 |
|||
部署说明: |
|||
0. 设置好application.properties中的配置项 |
|||
1. 使用maven打包 |
|||
2. 将app.jar拷贝到 /app/ |
|||
3. 将appresource拷贝 到 /app/, (注意,如果是从git上下载下来的工程,需要拷贝bak目录下的最新的app.db到/app/appresource/db/目录下) |
|||
4. 将/appenv/目录下的 start.sh 拷贝到/app/sh/目录下 |
|||
4. 将/appenv/目录下的 restart_chrome.sh 拷贝到/app/sh/目录下 |
|||
5. 如果目标机器没有安装jdk,则需要参考 https://iflytop1.feishu.cn/wiki/FjbWwRrm2iIT08k9rkqcztFbnje 安装jdk |
|||
6. 如果没有安装 zapp.service 则创建zapp.service |
|||
|
|||
|
|||
|
|||
|
|||
样本处理 |
|||
BEFORE_PROCESS 预处理A(脱帽,摇匀) |
|||
BEFORE_PROCESS 预处理B(hbot取tip头,移动到待机位) |
|||
BEFORE_PROCESS 预处理C(推出反应板夹) |
|||
|
|||
PROCESS 处理(取样,处理,滴定) |
|||
|
|||
AFTER_PROCESS 后处理 |
|||
|
|||
|
|||
将反应板推出到光学扫描位 |
|||
光学扫描 |
|||
|
|||
|
|||
|
|||
|
|||
代码规范 |
|||
1. 什么样的检查写在动作中? |
|||
需要进行报错处理的检查写在步骤中 |
|||
``` |
|||
scp ./target/a8000-1.jar root@192.168.8.10:/app/app.jar |
|||
|
|||
构建基础目录 ssh root@192.168.8.10 'mkdir /app/appresource/static/ && mkdir /app/appresource/db/ && mkdir /app/sh/' |
|||
拷贝数据库 scp ./appresource/db/app.db root@192.168.8.10:/app/appresource/db/ |
|||
拷贝UI scp -r ./appresource/static/app root@192.168.8.10:/app/appresource/static/ |
|||
拷贝EXUI scp -r ./appresource/static/exui root@192.168.8.10:/app/appresource/static/ |
|||
|
|||
``` |
|||
任务列表: |
|||
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 |
|||
|
|||
数据 |
|||
项目管理 |
|||
用户接口 |
|||
|
|||
事件 |
|||
... |
|||
错误码 |
|||
... |
|||
``` |
|||
|
|||
|
|||
``` |
|||
TODO: |
|||
单片机层添加急停指令,同时添加急停错误。 |
|||
``` |
|||
|
|||
```angular2html |
|||
|
|||
查看服务的日志 |
|||
journalctl -u zapp.service -n 100 |
|||
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue