流式细胞仪通信协议(2017-11-24 版)
来源:液相芯片项目(流式细胞仪)03软件电子协议目录,2017-11-24 版本协议表。定义了上位机与各下位机模块之间的串行通信帧格式与全部指令集。
通信帧格式
【7B】【帧类型】【模块号】【命令号】【参数1】…【参数N】【校验和】【校验和】【7D】
- 帧头
0xFA(文档同时写 7B,实际示例7B 01 01 06 18 ...以 7B 为帧头)、帧尾7D - 除帧头帧尾外所有字段均为数字(BCD),不含字母
- 所有指令等长,不足的补零
- 帧号:0x00–0x99,BCD 编码
- 特例:
结束统计流量指令帧尾不同(示例7B 01 01 06 18 00 00 00 00 00 7C,帧尾为 7C)
帧类型
| 帧类型 | 取值 | 说明 |
|---|---|---|
| 命令帧 | 0x01 | |
| 重发命令帧 | 0x02 | 暂不实现 |
| 重获结果帧 | 0x03 | 暂不实现 |
| 命令应答帧 | 0x04 | |
| 命令结果帧 | 0x05 | |
| 数据帧 | 0x06 | |
| 警告信息帧 | 0x07 |
模块号
| 模块 | 编号 |
|---|---|
| 上位机 | 0x01 |
| 采集单元 | 0x02 |
| 泵阀单元 | 0x03 |
| 自动上样单元 | 0x04 |
命令应答结果码
0x01 正确 / 0x02 校验和错误 / 0x03 指令超长 / 0x04 指令太短 / 0x05 指令不完整(无帧尾)/ 0x06 其它
泵阀单元警告码(0x07 帧)
0x01 初始化/自检失败 / 0x02 上位机指令异常 / 0x03 液路清洗电机出错 / 0x04 忙 / 0x10 下位机指令异常
泵阀单元(模块号 0x03)指令集
基础命令
- 0x00 开机握手;0x01 复位;0x02 自检
调试/单步(命令号 0x03 + 参数1 子命令)
- 电磁阀 1A/1B 路通(0x01/0x02),阀 2–7 开/关(0x03–0x14)
- 鞘液泵:关/调试/低/中/高速(0x15–0x19);含阀2阀3联动版(0x44–0x47)
- 样品泵:关/调试/低/中/高速(0x20–0x24);含阀3联动版(0x48–0x51);方向调节 IN/OUT(0x42)
- 空气泵/清洗泵/废液泵 开关(0x25–0x30)
- 上样机构 XYZ 归零与绝对坐标走位(0x31–0x36)、走到孔位XY(0x37)、XY同时归零(0x43)
- 微孔板摇匀开/关(0x38/0x39);清洗机构归零/下行(0x40/0x41)
- 转盘上样机构:转盘归零/走位/到孔位X(0x53/0x54/0x57)、提升机构归零/走位(0x55/0x56)
- 单管机构:转动归零/走位(0x58/0x59)、提升归零/走位(0x60/0x61)
参数配置(命令号 0x04 + 子命令)
- 鞘液流调试值与低/中/高档(0x01–0x04,0–4096,两字节);样品流同构(0x05–0x08)
- 上样单元 X/Y 轴第1孔与最末孔绝对坐标(0x09/0x10/0x11/0x12)、XY方向孔位数(0x13)
- 转盘第1/末孔坐标与孔位数(0x14/0x15/0x16)
参数查询(命令号 0x05,应答走 0x06 数据帧)
- 软件版本、模块信息、模块状态(0x01–0x03)
- 鞘液流/样品流各档值(0x04–0x11)
- 流量传感器值、温度1、温度2(0x12–0x14,三字节返回)
- 上样单元孔位坐标/孔位数/当前坐标(0x15–0x19、0x21/0x22)
- 浮子状态(0x20);转盘各坐标与孔位数(0x23–0x26)
工作模式(命令号 0x06 + 子命令)
- 0x00 强制停止 / 0x01 样品摇匀(带时间) / 0x02 样品上样(x,y) / 0x03 样品下样
- 0x04 开启吸样(速度0低1中2高) / 0x05 停止吸样
- 0x06 试验间清洗 / 0x07 开机清洗 / 0x08 月清洗 / 0x14 关机清洗
- 0x09 排气泡 / 0x15 排堵 / 0x16 滤芯冲灌
- 0x10/0x11 转盘上/下样 / 0x12/0x13 单管上/下样
- 0x17 开始流量统计(返回数据帧)/ 0x18 结束统计流量(特殊帧尾 7C)
自动上样单元(模块号 0x04)指令集
结构与泵阀单元同构,聚焦运动控制:
- 0x00 开机握手(参数1:0x00=96孔微孔板短针,0x01=32孔转盘/单管模块长针)
- 0x01 复位 / 0x02 自检
- 调试(0x03):XY 轴归零/走位/到孔位、Z 轴、摇匀、转盘与单管机构(子命令与泵阀单元 0x53–0x61 段一致)
- 参数配置(0x04):X/Y 首末孔坐标、孔位数、转盘坐标/孔数
- 参数查询(0x05):版本/模块信息/坐标/当前位
关键设计点
- 等长帧 + BCD 纯数字:简化下位机解析,代价是指令冗余;校验和双字节。
- 握手区分针长:开机握手指令的参数1 区分 96 孔微孔板(短针)与 32 孔转盘/单管(长针),一套协议兼容两种上样形态。
- 泵联动命令:鞘液泵/样品泵各有”含阀”联动版本,下位机原子执行”开阀+开泵”,避免上位机两条指令之间的时序竞态。
- 重发/重获结果帧预留未实现(0x02/0x03),说明 2017 年版本没有链路层重传机制,可靠性依赖命令应答帧。
- 结束统计流量用特殊帧尾 7C,打破”帧尾恒为 7D”约定,属于协议瑕疵,实现时须特判。
关联
- 该协议是”流式细胞仪液流系统设计流程详细”系列 V1.2–V1.8 版本表的指令基线
- 流式细胞仪协议-各版本电子协议演变