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.

190 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 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. 4:号仓位退不出
  33. 14
  34. ```
  35. ```
  36. ```
  37. ```
  38. ==========================模块参数-维护===========================
  39. 参数类型,模块参数:
  40. 模块名称,模块ID,参数ID,参数数值,参数名称
  41. 前端页面:
  42. 一级菜单,模块名称
  43. 二级菜单,参数列表
  44. 功能:
  45. 改,查,刷新到硬件
  46. 后端逻辑:
  47. 执行刷新到硬件后,参数全刷新到底层硬件
  48. 设备开机后,
  49. 首先自动刷新所有参数到硬件。
  50. ```
  51. ```
  52. 硬件服务目标
  53. 单独调试每一个业务动作
  54. 硬件服务参数维护
  55. 1. 每个服务一个数据库
  56. 2. 数据格式为key-val
  57. 表单格式:
  58. key,chName,valType,val
  59. valType:
  60. float
  61. int
  62. bool
  63. Pos3d
  64. RectangularPosSet
  65. ```
  66. 前后端交互:
  67. ```
  68. 前端的代码:
  69. 1. 弹出提示框
  70. 2. 用户交互
  71. 3. 提交数据
  72. 4. 触发机械动作
  73. 后端代码:业务逻辑
  74. 约定:
  75. 1.只要是触发短暂的机械动作,前端均弹出蒙板加载页面。(短暂意味着,不可中断,几分钟的执行完成)
  76. 2.设备主逻辑(非阻塞,调用后端方法)
  77. 启动
  78. 停止
  79. 暂停
  80. 3.配置提交,无机械动作,直接提交到数据库。
  81. ```
  82. ```
  83. 具体业务:
  84. 1. 系统初始化
  85. 登录后,弹出提示话,询问用户是否进行设备初始化。
  86. 如何实现:
  87. 页面切换,弹出提示框,用户点击确认,提交初始化请求到后台。
  88. 后台Service阻塞执行动作,返回执行结果。执行结果中携带是否执行成功。
  89. 2.
  90. 前端:
  91. 1. 弹窗信息提示
  92. 2.
  93. 错误信息的展示:
  94. 后端抛出错误事件
  95. 异常中携带用于展示的错误信息。
  96. 后端执行方法,返回错误码,前端直接显示错误码的信息即可。
  97. 错误码对应的中英文字符串存储在数据库中。
  98. 执行动作,需要执行一些前置动作。由前端进行状态检查,确定需要执行前置动作后,弹出提示框,用户点击确认,然后执行动作。
  99. 哪些动作需要蒙版:
  100. 1. 非设备启动动作外均需要蒙版
  101. 2. 项目手动配置中,根据耗材的减少自动更新状态信息。
  102. 1.总数从后端拿到
  103. 2.用户每提交和选中一个项目后,向后台提交配置,同时返回剩余量。
  104. 3.
  105. *:前端每一次点击,将更新的内容提交到后台,后台返回前端当前页面所有状态信息。(非表单信息)
  106. *:
  107. 后台存储:
  108. 耗材总数
  109. ```
  110. ```
  111. ```
  112. 1. 急诊逻辑
  113. 点击急诊位
  114. ---> 弹出是否添加急诊
  115. ---> 点击确认
  116. ---> 弹出急诊添加涉及到的信息框
  117. 配置好信息后 ---> 点击添加
  118. ```
  119. ```
  120. 1. 执行机械相关的动作都需要加载一个蒙版
  121. 2. 非机械相关的动作,无须蒙版
  122. 3. 每次提交一次请求,都返回两类信息
  123. 1. 是否弹出错误提示框
  124. 2. 全部的前端状态信息。
  125. 4.
  126. ```
  127. ```