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.

171 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 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
  1. **服务器地址**:mqtt://192.168.87.12:1883
  2. **业务流程**
  3. ```mermaid
  4. sequenceDiagram
  5. participant 机器人
  6. participant 消解仪
  7. 机器人->>消解仪: 创建任务
  8. Note right of 消解仪 : 开门
  9. 消解仪->>机器人: 放入试管架
  10. 机器人->>消解仪: 试管架已放入
  11. Note right of 消解仪 : 关门
  12. Note right of 消解仪 : 执行消解步骤
  13. Note right of 消解仪 : 消解完成,取出试管架
  14. Note right of 消解仪 : 开门
  15. 消解仪->>机器人: 取出试管架
  16. 机器人->>消解仪: 试管架已取出
  17. Note right of 消解仪 : 关门
  18. Note right of 消解仪 : 异常处理结束,取出异常试管
  19. Note right of 消解仪 : 开门
  20. 消解仪->>机器人: 放入空试管架
  21. 机器人->>消解仪: 试管架已放入
  22. Note right of 消解仪 : 关门
  23. ```
  24. **任务创建**
  25. 发布至: `stw-80a`
  26. ```json
  27. {
  28. "action": "StartNewDigestion",
  29. "parameters": {
  30. "name" : "流程测试",
  31. "batchNo" : "TR-01",
  32. "tubes" : [
  33. {"no":"TR-01-01", "volume":100},{"no":"TR-01-02", "volume":100},null, null,
  34. null, null, null, null,
  35. null, null, null, null,
  36. null, null, null, null
  37. ]
  38. }
  39. }
  40. ```
  41. - `name` : 消解配方名称
  42. - `batchNo` : 批次号,试管架号
  43. - `tubes` : 试管列表,依次对应试管架中 1-16个孔位 ,当试管 `no` 属性为空时表示该孔位试管不存在。
  44. **放入试管架**
  45. 任务创建后,设备自动打开柜门,准备放入试管架位置。 当准备完成后通知机器人将试管架放入。
  46. 发布至 :`robot`
  47. ```json
  48. {
  49. "src" : "stw-80a"
  50. "action" : "TubeRackPutIn",
  51. "parameters" : {
  52. "batchNo":"TR-01"
  53. },
  54. }
  55. ```
  56. **试管架已放入**
  57. 当试管架放入完成后,通知设备放入操作完成,可以继续执行后续步骤。
  58. 发布至: `stw-80a`
  59. ```json
  60. {
  61. "batchNo" : "TR-01",
  62. "action" : "TubeRackPutInDone",
  63. "parameters" : {}
  64. }
  65. ```
  66. **取出试管架**
  67. 当设备中存在消解完成的批次时,将会打开柜门通知机器人将消解完成的试管架取出设备。 需要注意的是, 除消解完成之外,仍然存在其他情况需要取出试管架,但只需执行取出操作即可。
  68. 发布至 :`robot`
  69. ```json
  70. {
  71. "src" : "stw-80a"
  72. "action" : "TubeRackTakeOut",
  73. "parameters" : {
  74. "batchNo":"TR-01",
  75. "type" : "Normal",
  76. "tubes": [
  77. {
  78. "index": 0,
  79. "no": "R01-T01",
  80. "batchNo": "Batch-1716875877308",
  81. "errorRoundCount": 0
  82. },
  83. ...
  84. ]
  85. },
  86. }
  87. ```
  88. `action` : 在发送取出试管架消息时, 会同时发送多种类型取出 `action`
  89. - `NormalTubeRackTakeOut` :正常试管架取出, 当需要取出正常批次的试管架时发送。
  90. - `AbnormalTubeRackTakeOut` :异常消解完成试管架取出, 当需要取出异常消解完成的试管架时发送。
  91. - `FailedTubeRackTakeOut` : 异常消解失败试管架取出,当需要取出异常消解失败的试管架时发送。
  92. - `TubeRackTakeOut` : 试管架取出,该 `action` 会在上述三种取出消息发出后发送。
  93. 参数内容:
  94. - `batchNo` : 批次号
  95. - `type` :取出类型, `Normal` = 正常;`Abnormal` = 异常; `Failed` = 失败
  96. - `tubes` : 试管信息列表
  97. - `index` : 试管索引
  98. - `no` : 试管编号
  99. - `batchNo` :批次号
  100. **试管架已取出**
  101. 当机器人将试管架取出完成后需要通知设备试管架已经取出,则设备将会关闭柜门继续执行后续操作。
  102. 发布至: `stw-80a`
  103. ```json
  104. {
  105. "batchNo" : "TR-01",
  106. "action" : "TubeRackTakeOutDone",
  107. "parameters" : {}
  108. }
  109. ```
  110. **放入空试管架**
  111. 在设备进行异常处理时,需要将异常处理区中已经处理完成的试管取出,则需要放入一个空的试管架来放置已完成的试管。 当机器人收到该消息后,需要将空试管架放入设备内, 并在放置完成后发送 `试管架已放置完成` 的消息。
  112. 发布至 :`robot`
  113. ```json
  114. {
  115. "src" : "stw-80a",
  116. "action" : "EmptyTubeRackPutIn",
  117. "parameters" : {
  118. "batchNo":"TR-01"
  119. }
  120. }
  121. ```
  122. 异常加液不对
  123. 【OK】异常加热倒计时不对