|
|
**服务器地址**:mqtt://192.168.87.12:1883
**业务流程**
```mermaid sequenceDiagram participant 机器人 participant 消解仪 机器人->>消解仪: 创建任务 Note right of 消解仪 : 开门 消解仪->>机器人: 放入试管架 机器人->>消解仪: 试管架已放入 Note right of 消解仪 : 关门 Note right of 消解仪 : 执行消解步骤 Note right of 消解仪 : 消解完成,取出试管架 Note right of 消解仪 : 开门 消解仪->>机器人: 取出试管架 机器人->>消解仪: 试管架已取出 Note right of 消解仪 : 关门 Note right of 消解仪 : 异常处理结束,取出异常试管 Note right of 消解仪 : 开门 消解仪->>机器人: 放入空试管架 机器人->>消解仪: 试管架已放入 Note right of 消解仪 : 关门 ```
**任务创建**
发布至: `stw-80a`
```json { "action": "StartNewDigestion", "parameters": { "name" : "流程测试", "batchNo" : "TR-01", "tubes" : [ {"no":"TR-01-01", "volume":100},{"no":"TR-01-02", "volume":100},null, null, null, null, null, null, null, null, null, null, null, null, null, null ] } } ```
- `name` : 消解配方名称 - `batchNo` : 批次号,试管架号 - `tubes` : 试管列表,依次对应试管架中 1-16个孔位 ,当试管 `no` 属性为空时表示该孔位试管不存在。
**放入试管架**
任务创建后,设备自动打开柜门,准备放入试管架位置。 当准备完成后通知机器人将试管架放入。
发布至 :`robot`
```json { "src" : "stw-80a" "action" : "TubeRackPutIn", "parameters" : { "batchNo":"TR-01" }, } ```
**试管架已放入**
当试管架放入完成后,通知设备放入操作完成,可以继续执行后续步骤。
发布至: `stw-80a`
```json { "batchNo" : "TR-01", "action" : "TubeRackPutInDone", "parameters" : {} } ```
**取出试管架**
当设备中存在消解完成的批次时,将会打开柜门通知机器人将消解完成的试管架取出设备。 需要注意的是, 除消解完成之外,仍然存在其他情况需要取出试管架,但只需执行取出操作即可。
发布至 :`robot`
```json { "src" : "stw-80a" "action" : "TubeRackTakeOut", "parameters" : { "batchNo":"TR-01", "type" : "Normal", "tubes": [ { "index": 0, "no": "R01-T01", "batchNo": "Batch-1716875877308", "errorRoundCount": 0 }, ... ] }, } ```
`action` : 在发送取出试管架消息时, 会同时发送多种类型取出 `action`。
- `NormalTubeRackTakeOut` :正常试管架取出, 当需要取出正常批次的试管架时发送。 - `AbnormalTubeRackTakeOut` :异常消解完成试管架取出, 当需要取出异常消解完成的试管架时发送。 - `FailedTubeRackTakeOut` : 异常消解失败试管架取出,当需要取出异常消解失败的试管架时发送。
- `TubeRackTakeOut` : 试管架取出,该 `action` 会在上述三种取出消息发出后发送。
参数内容:
- `batchNo` : 批次号 - `type` :取出类型, `Normal` = 正常;`Abnormal` = 异常; `Failed` = 失败 - `tubes` : 试管信息列表 - `index` : 试管索引 - `no` : 试管编号 - `batchNo` :批次号
**试管架已取出**
当机器人将试管架取出完成后需要通知设备试管架已经取出,则设备将会关闭柜门继续执行后续操作。
发布至: `stw-80a`
```json { "batchNo" : "TR-01", "action" : "TubeRackTakeOutDone", "parameters" : {} } ```
**放入空试管架**
在设备进行异常处理时,需要将异常处理区中已经处理完成的试管取出,则需要放入一个空的试管架来放置已完成的试管。 当机器人收到该消息后,需要将空试管架放入设备内, 并在放置完成后发送 `试管架已放置完成` 的消息。
发布至 :`robot`
```json { "src" : "stw-80a", "action" : "EmptyTubeRackPutIn", "parameters" : { "batchNo":"TR-01" } } ```
异常加液不对
【OK】异常加热倒计时不对
|