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 |
journalctl -u zapp.service -n 100 |
||||
|
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue