流式细胞仪通信协议(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):版本/模块信息/坐标/当前位

关键设计点

  1. 等长帧 + BCD 纯数字:简化下位机解析,代价是指令冗余;校验和双字节。
  2. 握手区分针长:开机握手指令的参数1 区分 96 孔微孔板(短针)与 32 孔转盘/单管(长针),一套协议兼容两种上样形态。
  3. 泵联动命令:鞘液泵/样品泵各有”含阀”联动版本,下位机原子执行”开阀+开泵”,避免上位机两条指令之间的时序竞态。
  4. 重发/重获结果帧预留未实现(0x02/0x03),说明 2017 年版本没有链路层重传机制,可靠性依赖命令应答帧。
  5. 结束统计流量用特殊帧尾 7C,打破”帧尾恒为 7D”约定,属于协议瑕疵,实现时须特判。

关联