半自动双激光流式细胞仪串口通信协议 — 液路与上样单元命令全集

工程文档:国科医疗/中科院苏州医工所 半自动双激光流式细胞仪项目 协议版本:2020-03-16 关联文档:《流式细胞仪通讯协议说明书_V1.0》(DOC版,协议总览 + 采集单元命令)

本文档为 XLSX 表格版通信协议,是 DOC 版协议说明书的详细命令补充,重点覆盖**液路单元(模块号 0x03)和自动上样单元(模块号 0x04)**的完整命令字典。


一、通信帧格式

【FA】【帧类型】【模块号】【命令号】【参数1】…【参数N】【校验和】【校验和】【FB】

规则:

  • 帧头:0xFA,帧尾:0xFB
  • 除帧头帧尾,所有帧内容均为数字(BCD 码),不含字母
  • 所有通信指令等长,不足补零
  • 帧号范围:0x00-0x99(BCD 码)

帧类型定义

帧类型取值方向
命令帧0x01上位机 → 下位机
重发命令帧0x02上位机 → 下位机(暂未实现)
重获结果帧0x03上位机 → 下位机(暂未实现)
命令应答帧0x04下位机 → 上位机
命令结果帧0x05下位机 → 上位机
数据帧0x06下位机 → 上位机
警告信息帧0x07下位机 → 上位机

模块号定义

模块标识通信接口
上位机0x01—
采集单元0x02—
液路单元0x03RS232
自动上样单元0x04RS232

应答结果码

码值含义
0x01正确
0x02校验和错误
0x03指令超长
0x04指令太短
0x05指令不完整(无帧尾)
0x06其它错误

二、液路单元命令集(模块号 0x03)

液路单元命令号为双字节:命令号(F列)+ 子命令/参数1(G列)。

2.1 基础命令

命令命令号子命令参数数据帧返回说明
开机握手0x00——无建立通信,返回应答结果
复位0x01——无整机复位
自检0x02——无自检流程

2.2 调试/单步命令(命令号 0x03)

电磁阀控制(13 个):

命令子命令参数
电磁阀1开关(三通)0x01开关(1/0)
电磁阀2开关0x02开关(1/0)
电磁阀3开关0x03开关(1/0)
电磁阀4开关0x04开关(1/0)
电磁阀5开关0x05开关(1/0)
电磁阀6开关0x06开关(1/0)
电磁阀7开关0x07开关(1/0)
电磁阀8开关(三通)0x08开关(1/0)
电磁阀9开关0x09开关(1/0)
电磁阀10开关(三通)0x10开关(1/0)
电磁阀11开关0x11开关(1/0)
电磁阀12开关0x12开关(1/0)
电磁阀13开关0x13开关(1/0)

泵与电机控制:

命令子命令参数说明
鞘液注射泵归零0x14—
鞘液注射泵走位0x15步数高/中/低位3字节步数
空气泵开关0x16开关(1/0)
清洗泵1开关0x17开关(1/0)
清洗泵2开关0x18开关(1/0)
清洗泵3开关0x19开关(1/0)
废液泵开关0x20开关(1/0)
样品柱塞泵归零0x21—
样品柱塞泵走位0x22步数高/中/低位3字节步数
取样针归零0x23—
取样针走位0x24—
鞘液注射泵吸鞘液(含阀)0x25—复合动作
鞘液注射泵注鞘液(含阀)0x26—复合动作
样品柱塞泵吸鞘液(含三通阀)0x27体积高/中/低位3字节体积
样品柱塞泵吸样品(含三通阀)0x28体积高/中/低位3字节体积
样品柱塞泵吸空气(含三通阀)0x29体积高/中/低位3字节体积
样品柱塞泵快速上样(含三通阀)0x30体积高/中/低位3字节体积
样品柱塞泵慢速上样(含三通阀)0x31体积高/中/低位3字节体积
上样复位0x32—

上样机构控制:

命令子命令参数说明
96孔上样机构X轴归零0x33—
96孔上样机构X轴走位(绝对坐标)0x34坐标高/中/低位3字节坐标
96孔上样机构Y轴归零0x35—
96孔上样机构Y轴走位(绝对坐标)0x36坐标高/中/低位3字节坐标
96孔上样机构走到孔位XY0x37X轴, Y轴2字节孔位
转盘上样机构转盘归零0x38—
转盘上样机构转盘走位(绝对坐标)0x39坐标高/中/低位3字节坐标
转盘上样机构走到孔位X0x40孔位号1字节

2.3 参数配置命令(命令号 0x04)

命令子命令参数说明
设置鞘液注射泵吸鞘液速度0x01速度高/低位2字节
设置鞘液注射泵注鞘液速度低档0x02速度高/低位2字节
设置鞘液注射泵注鞘液速度高档0x03速度高/低位2字节
设置柱塞泵吸样流速0x04速度高/低位2字节
设置样品柱塞泵上样流速低档0x05速度高/低位2字节
设置样品柱塞泵上样流速高档0x06速度高/低位2字节
设置96孔上样机构X轴第1孔位绝对坐标0x07坐标高/中/低位3字节
设置96孔上样机构X轴最末孔位绝对坐标0x08坐标高/中/低位3字节
设置96孔上样机构Y轴第1孔位绝对坐标0x09坐标高/中/低位3字节
设置96孔上样机构Y轴最末孔位绝对坐标0x10坐标高/中/低位3字节
设置96孔上样机构X、Y方向孔位数0x11X孔数, Y孔数2字节
设置转盘第1孔位绝对坐标0x12坐标高/中/低位3字节
设置转盘第末孔位绝对坐标0x13坐标高/中/低位3字节
设置转盘孔位数0x14孔位数1字节

2.4 参数查询命令(命令号 0x05)

所有查询命令返回数据帧(0x06),含查询值。

命令子命令返回数据(参数1-4)
查询软件版本0x01版本号(3字节)
查询鞘液注射泵吸鞘液速度0x02速度(3字节)
查询鞘液注射泵注鞘液速度低档0x03速度(3字节)
查询鞘液注射泵注鞘液速度高档0x04速度(3字节)
查询柱塞泵吸样流速0x05速度(3字节)
查询柱塞泵上样流速低档0x06速度(3字节)
查询柱塞泵上样流速高档0x07速度(3字节)
查询96孔X轴第1孔位绝对坐标0x08坐标(3字节)
查询96孔X轴最末孔位绝对坐标0x09坐标(3字节)
查询96孔Y轴第1孔位绝对坐标0x10坐标(3字节)
查询96孔Y轴最末孔位绝对坐标0x11坐标(3字节)
查询96孔X、Y方向孔位数0x12X孔数, Y孔数(2字节)
查询96孔X电机当前绝对坐标0x13坐标(3字节)
查询96孔Y电机当前绝对坐标0x14坐标(3字节)
查询转盘第1孔位绝对坐标0x15坐标(3字节)
查询转盘第末孔位绝对坐标0x16坐标(3字节)
查询转盘孔位数0x17孔位数(1字节)
查询转盘当前绝对坐标0x18坐标(3字节)
查询浮子状态0x19鞘液, 去污剂, 废液, 关机液(4字节液位状态)
查询当前压力值0x20压力值(2字节)

2.5 工作模式命令(命令号 0x06)

命令子命令参数说明
强制停止工作模式0x01—紧急停止
96孔板样品摇匀0x02次数1字节
转盘样品摇匀0x03次数1字节
96孔样品上样0x04样本位x, 样本位y2字节
转盘上样0x05样本位x1字节
样品吸样0x06—复合动作
样品进样0x07—进样过程中压力稳定时,自动上发 0x05 警告帧通知上位机开始测量
暂停样品进样0x08—
恢复样品进样0x09—
试验间清洗0x10—
开机清洗0x11—
关机清洗0x12—
月清洗0x13—深度维护
排气泡0x14—
排堵0x15—
滤芯冲灌0x16—

2.6 液路单元警告信息帧(0x07)

主动上发,模块号 0x03,命令号 0x00:

参数1参数2含义
0x000x01鞘液空
0x000x02去污剂空
0x000x03废液满
0x000x04关机液空
0x000x05压力稳定,可以测量

三、自动上样单元命令集(模块号 0x04)

Sheet2「液路单元与上样单元测试协议」中的上样单元部分。 与液路单元共用相同的帧格式和命令号体系。

3.1 基础命令

命令命令号数据帧返回
开机握手0x00无
复位0x01无
自检0x02无

3.2 调试/单步命令(命令号 0x03)

96孔上样机构:

命令子命令参数
96孔上样机构X轴归零0x01—
96孔上样机构X轴走位(绝对坐标)0x02坐标(3字节)
96孔上样机构Y轴归零0x03—
96孔上样机构Y轴走位(绝对坐标)0x04坐标(3字节)
96孔上样机构XY归零0x05—
96孔上样机构走到孔位XY0x06X孔位, Y孔位(2字节)
96孔微孔板摇匀0x07次数(1字节)

转盘上样机构:

命令子命令参数
转盘上样机构转盘归零0x08—
转盘上样机构转盘走位0x09坐标(3字节)
转盘上样机构走到孔位X0x10孔位号(1字节)
转盘摇匀0x11次数(1字节)

3.3 参数配置命令(命令号 0x04)

命令子命令参数
设置96孔X轴第1孔位绝对坐标0x01坐标(3字节)
设置96孔X轴最末孔位绝对坐标0x02坐标(3字节)
设置96孔Y轴第1孔位绝对坐标0x03坐标(3字节)
设置96孔Y轴最末孔位绝对坐标0x04坐标(3字节)
设置96孔X、Y方向孔位数0x05X孔数, Y孔数(2字节)
设置转盘第1孔位绝对坐标0x06坐标(3字节)
设置转盘第末孔位绝对坐标0x07坐标(3字节)
设置转盘孔位数0x08孔位数(1字节)

3.4 参数查询命令(命令号 0x05)

命令子命令返回数据
查询软件版本0x01版本(3字节)
查询96孔X轴第1孔位绝对坐标0x04坐标(3字节)
查询96孔X轴最末孔位绝对坐标0x05坐标(3字节)
查询96孔Y轴第1孔位绝对坐标0x06坐标(3字节)
查询96孔Y轴最末孔位绝对坐标0x07坐标(3字节)
查询96孔X、Y方向孔位数0x08X孔数, Y孔数(2字节)
查询96孔X电机当前绝对坐标0x09坐标(3字节)
查询96孔Y电机当前绝对坐标0x10坐标(3字节)
查询转盘第1孔绝对坐标0x23坐标(3字节)
查询转盘最末孔绝对坐标0x24坐标(3字节)
查询转盘孔位数0x25孔位数(1字节)
查询转盘当前绝对坐标0x26坐标(3字节)

四、与 DOC 版协议的对比

维度DOC 版(通讯协议说明书_V1.0)XLSX 版(本文件)
格式Word 文字描述Excel 表格化命令字典
覆盖模块采集单元 + 液路/上样概述液路单元 + 上样单元详细命令
帧类型7种(相同)7种(相同)
命令粒度按大类描述每条命令精确到字节
工作模式6种模式描述液路单元 16 种工作模式子命令
补充价值协议整体框架、三重重传机制完整命令-参数-返回值对照表

两文档互补:DOC 版建立协议框架,XLSX 版提供液路/上样单元的完整命令实现参考。


五、关键设计观察

  1. 双字节命令体系:命令号 + 子命令两级编码,单模块可容纳最多 256 × 256 = 65536 条命令,扩展性强
  2. 等长帧设计:所有指令等长,不足补零,简化解析逻辑,适合资源受限的下位机 MCU
  3. BCD 编码:帧号用 BCD 码(0x00-0x99),调试时数字直观可读
  4. 三重容错:命令帧 + 重发命令帧 + 重获结果帧,配合应答帧的错误码(校验和/超长/过短/不完整),构成完整的可靠性机制
  5. 复合动作指令:吸样/上样/清洗等命令封装了阀-泵联动的复合动作,降低上位机控制复杂度
  6. 压力同步机制:样品进样时,压力稳定后液路单元主动上发警告帧(0x05)通知上位机开始测量,实现硬件-软件流控协同