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.

186 lines
4.2 KiB

1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
  1. ```
  2. TODO:
  3. 1. 数据库文件是否被破坏检查
  4. 2. 数据库文件如果被破坏,自动恢复默认配置
  5. 坐标XY方向约定:
  6. 0 ----------------------->
  7. | (X)
  8. |
  9. |
  10. |
  11. |
  12. |
  13. v(Y)
  14. 舵机位置约定:
  15. 抓手
  16. 1.夹紧位置为0
  17. 2.最大张开位置为300
  18. 3.垂直位置70
  19. 水平位置
  20. 初始位置为0
  21. 2.水平移动舵机初始化位置为200(处于设备最后端)
  22. 复位要求:
  23. 1. 板夹仓推杆电机需要处于零点位置
  24. 2. 光学模组推杆电机需要处于零点位置
  25. 3. 试管架通道中没有试管架
  26. 4. 出料口没有试管架
  27. 5. 进出料位置没有试管
  28. 逻辑漏洞
  29. 1.高试管如果脱帽,会被识别成低试管。
  30. TODO:
  31. 1.想办法解决
  32. ```
  33. ```
  34. ```
  35. ```
  36. ==========================模块参数-维护===========================
  37. 参数类型,模块参数:
  38. 模块名称,模块ID,参数ID,参数数值,参数名称
  39. 前端页面:
  40. 一级菜单,模块名称
  41. 二级菜单,参数列表
  42. 功能:
  43. 改,查,刷新到硬件
  44. 后端逻辑:
  45. 执行刷新到硬件后,参数全刷新到底层硬件
  46. 设备开机后,
  47. 首先自动刷新所有参数到硬件。
  48. ```
  49. ```
  50. 硬件服务目标
  51. 单独调试每一个业务动作
  52. 硬件服务参数维护
  53. 1. 每个服务一个数据库
  54. 2. 数据格式为key-val
  55. 表单格式:
  56. key,chName,valType,val
  57. valType:
  58. float
  59. int
  60. bool
  61. Pos3d
  62. RectangularPosSet
  63. ```
  64. 前后端交互:
  65. ```
  66. 前端的代码:
  67. 1. 弹出提示框
  68. 2. 用户交互
  69. 3. 提交数据
  70. 4. 触发机械动作
  71. 后端代码:业务逻辑
  72. 约定:
  73. 1.只要是触发短暂的机械动作,前端均弹出蒙板加载页面。(短暂意味着,不可中断,几分钟的执行完成)
  74. 2.设备主逻辑(非阻塞,调用后端方法)
  75. 启动
  76. 停止
  77. 暂停
  78. 3.配置提交,无机械动作,直接提交到数据库。
  79. ```
  80. ```
  81. 具体业务:
  82. 1. 系统初始化
  83. 登录后,弹出提示话,询问用户是否进行设备初始化。
  84. 如何实现:
  85. 页面切换,弹出提示框,用户点击确认,提交初始化请求到后台。
  86. 后台Service阻塞执行动作,返回执行结果。执行结果中携带是否执行成功。
  87. 2.
  88. 前端:
  89. 1. 弹窗信息提示
  90. 2.
  91. 错误信息的展示:
  92. 后端抛出错误事件
  93. 异常中携带用于展示的错误信息。
  94. 后端执行方法,返回错误码,前端直接显示错误码的信息即可。
  95. 错误码对应的中英文字符串存储在数据库中。
  96. 执行动作,需要执行一些前置动作。由前端进行状态检查,确定需要执行前置动作后,弹出提示框,用户点击确认,然后执行动作。
  97. 哪些动作需要蒙版:
  98. 1. 非设备启动动作外均需要蒙版
  99. 2. 项目手动配置中,根据耗材的减少自动更新状态信息。
  100. 1.总数从后端拿到
  101. 2.用户每提交和选中一个项目后,向后台提交配置,同时返回剩余量。
  102. 3.
  103. *:前端每一次点击,将更新的内容提交到后台,后台返回前端当前页面所有状态信息。(非表单信息)
  104. *:
  105. 后台存储:
  106. 耗材总数
  107. ```
  108. ```
  109. ```
  110. 1. 急诊逻辑
  111. 点击急诊位
  112. ---> 弹出是否添加急诊
  113. ---> 点击确认
  114. ---> 弹出急诊添加涉及到的信息框
  115. 配置好信息后 ---> 点击添加
  116. ```
  117. ```
  118. 1. 执行机械相关的动作都需要加载一个蒙版
  119. 2. 非机械相关的动作,无须蒙版
  120. 3. 每次提交一次请求,都返回两类信息
  121. 1. 是否弹出错误提示框
  122. 2. 全部的前端状态信息。
  123. 4.
  124. ```
  125. ```