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.
 
 
 
sige f67d4cb1fe 1 1 year ago
.mvn/wrapper 1 1 year ago
a8000_protocol@5081899a39 update 1 year ago
lib-algo 1 1 year ago
src/main 1 1 year ago
代码说明 update 1 year ago
结构 update 1 year ago
.clang-format update 1 year ago
.gitignore 1 1 year ago
.gitmodules update 1 year ago
Obsidian.jar update 1 year ago
README.md update 1 year ago
Sublime Text3 Monokai.jar update 1 year ago
app.db 更新参数 1 year ago
hs_err_pid2456.log 结果扫描 1 year ago
iflytop_java.xml add code format_cfg 1 year ago
mvnw 1 1 year ago
mvnw.cmd 1 1 year ago
pom.xml update version to 0.0.27 1 year ago
publish.ps1 1 1 year ago
vjtools-code-conventions-idea.xml update 1 year ago
zhaohe_app.db update 1 year ago

README.md

    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



==========================模块参数-维护===========================

参数类型,模块参数:
    模块名称,模块ID,参数ID,参数数值,参数名称

前端页面:
    
    一级菜单,模块名称
    二级菜单,参数列表

    功能:
        改,查,刷新到硬件

后端逻辑:
    执行刷新到硬件后,参数全刷新到底层硬件

    设备开机后,
        首先自动刷新所有参数到硬件。

硬件服务目标
    单独调试每一个业务动作

硬件服务参数维护
    1. 每个服务一个数据库
    2. 数据格式为key-val
    
表单格式:
    key,chName,valType,val


valType:
    float
    int
    bool
    Pos3d
    RectangularPosSet

前后端交互:

    前端的代码:
        1. 弹出提示框
        2. 用户交互
        3. 提交数据
        4. 触发机械动作

    后端代码:业务逻辑

        约定:
            1.只要是触发短暂的机械动作,前端均弹出蒙板加载页面。(短暂意味着,不可中断,几分钟的执行完成)
            2.设备主逻辑(非阻塞,调用后端方法)
                启动
                停止
                暂停
                
            3.配置提交,无机械动作,直接提交到数据库。
具体业务:
    1. 系统初始化
        登录后,弹出提示话,询问用户是否进行设备初始化。
        如何实现:
            页面切换,弹出提示框,用户点击确认,提交初始化请求到后台。
        后台Service阻塞执行动作,返回执行结果。执行结果中携带是否执行成功。

    2. 


前端:
    1. 弹窗信息提示
    2. 


错误信息的展示:
    后端抛出错误事件
        异常中携带用于展示的错误信息。
    
    后端执行方法,返回错误码,前端直接显示错误码的信息即可。
    错误码对应的中英文字符串存储在数据库中。

    执行动作,需要执行一些前置动作。由前端进行状态检查,确定需要执行前置动作后,弹出提示框,用户点击确认,然后执行动作。

    哪些动作需要蒙版:
        1. 非设备启动动作外均需要蒙版
        2. 项目手动配置中,根据耗材的减少自动更新状态信息。
            1.总数从后端拿到
            2.用户每提交和选中一个项目后,向后台提交配置,同时返回剩余量。
            3.
        
        *:前端每一次点击,将更新的内容提交到后台,后台返回前端当前页面所有状态信息。(非表单信息)
        *: 


    后台存储:
        耗材总数




  1. 急诊逻辑 点击急诊位 ---> 弹出是否添加急诊 ---> 点击确认 ---> 弹出急诊添加涉及到的信息框 配置好信息后 ---> 点击添加

  1. 执行机械相关的动作都需要加载一个蒙版

  2. 非机械相关的动作,无须蒙版

  3. 每次提交一次请求,都返回两类信息

    1. 是否弹出错误提示框
    2. 全部的前端状态信息。