流式细胞仪泵阀与上样单元通信协议(20171124版)
来源:流式细胞仪项目整理 / 03软件电子协议 / 各个版本电子协议
版本:2017-11-24(最新版)
格式:XLSX,1个Sheet,259行,290个共享字符串
关联:流式细胞仪液流系统设计流程详细-V2.0
一、通信帧格式
帧结构:【7B】【帧类型】【模块号】【命令号】【参数1】…【参数N】【校验和】【校验和】【7D】
- 帧头:
0xFA(注:文档表格写的是 7B / 7D,实际帧头帧尾应为 FA / FB 或类似,表格第一行写”7B""7D”可能是笔误或特定协议约定——对照 V2.0 版确认)
- 除帧头帧尾外,所有帧由数字组成,不含字母
- 所有通信指令等长,不足补零
帧类型
| 帧类型 | 取值 | 说明 |
|---|
| 命令帧 | 0x01 | 上位机→下位机 |
| 重发命令帧 | 0x02 | 暂不实现 |
| 重获结果帧 | 0x03 | 暂不实现 |
| 命令应答帧 | 0x04 | 下位机应答 |
| 命令结果帧 | 0x05 | 下位机返回结果 |
| 数据帧 | 0x06 | 下位机上传数据 |
| 警告信息帧 | 0x07 | 下位机告警 |
帧号
模块号
| 模块 | 编号 |
|---|
| 上位机 | 0x01 |
| 采集单元 | 0x02 |
| 泵阀单元 | 0x03 |
| 自动上样单元 | 0x04 |
二、泵阀单元(模块号 0x03)
2.1 基础命令
| 命令 | 命令号 | 参数 | 说明 |
|---|
| 开机握手 | 0x00 | - | 应答结果:0x01正确/0x02校验和错误/0x03指令超长/0x04指令太短/0x05指令不完整/0x06其它 |
| 复位 | 0x01 | - | |
| 自检 | 0x02 | - | |
2.2 调试/单步指令(命令号 0x03)
电磁阀控制(参数1为子命令号):
| 子命令 | 功能 | 子命令 | 功能 |
|---|
| 0x01 | 电磁阀1A路通 | 0x13 | 电磁阀7关闭 |
| 0x02 | 电磁阀1B路通 | 0x14 | 电磁阀7开启 |
| 0x03 | 电磁阀2关闭 | 0x15 | 鞘液泵关闭 |
| 0x04 | 电磁阀2开启 | 0x16 | 鞘液泵开启调试速度 |
| 0x05 | 电磁阀3关闭 | 0x17 | 鞘液泵开启低速 |
| 0x06 | 电磁阀3开启 | 0x18 | 鞘液泵开启中速 |
| 0x07 | 电磁阀4关闭 | 0x19 | 鞘液泵开启高速 |
| 0x08 | 电磁阀4开启 | 0x20 | 样品泵关闭 |
| 0x09 | 电磁阀5关闭 | 0x21 | 样品泵开启调试速度 |
| 0x10 | 电磁阀5开启 | 0x22 | 样品泵开启低速 |
| 0x11 | 电磁阀6关闭 | 0x23 | 样品泵开启中速 |
| 0x12 | 电磁阀6开启 | 0x24 | 样品泵开启高速 |
| 0x25 | 空气泵关闭 | 0x41 | 清洗机构走位(向下) |
| 0x26 | 空气泵开启 | 0x42 | 样品泵方向调节(1:IN, 0:OUT) |
| 0x27 | 清洗泵关闭 | 0x43 | 上样机构XY轴都归零 |
| 0x28 | 清洗泵开启 | 0x44 | 鞘液泵(含阀2阀3)调试速度开启 |
| 0x29 | 废液泵关闭 | 0x45 | 鞘液泵(含阀2阀3)低速开启 |
| 0x30 | 废液泵开启 | 0x46 | 鞘液泵(含阀2阀3)中速开启 |
| 0x31 | 上样机构X轴归零 | 0x47 | 鞘液泵(含阀2阀3)高速开启 |
| 0x32 | 上样机构X轴走位(绝对坐标) | 3字节 | 0x48 |
| 0x33 | 上样机构Y轴归零 | 0x49 | 样品泵(含阀3)低速开启 |
| 0x34 | 上样机构Y轴走位(绝对坐标) | 3字节 | 0x50 |
| 0x35 | 上样机构Z轴归零 | 0x51 | 样品泵(含阀3)高速开启 |
| 0x36 | 上样机构Z轴走位 | 0x52 | 阀2阀3关闭 |
| 0x37 | 上样机构走到孔位XY | 2字节(X,Y) | 0x53 |
| 0x38 | 微孔板摇匀关闭 | 0x54 | 转盘上样机构转盘走位 |
| 0x39 | 微孔板摇匀开启 | 0x55 | 转盘上样机构提升机构归零 |
| 0x40 | 清洗机构归零 | 0x56 | 转盘上样机构提升机构走位 |
续表(转盘与单管机构):
| 子命令 | 功能 | 参数 |
|---|
| 0x57 | 转盘上样机构走到孔位X | 1字节 |
| 0x58 | 单管转动机构归零 | - |
| 0x59 | 单管转动机构走位 | - |
| 0x60 | 单管提升机构归零 | - |
| 0x61 | 单管提升机构走位 | 3字节 |
2.3 参数配置(命令号 0x04)
| 子命令 | 功能 | 参数 |
|---|
| 0x01 | 设调试鞘液流(0-4096) | 2字节 |
| 0x02 | 设置鞘液流低档 | 2字节 |
| 0x03 | 设置鞘液流中档 | 2字节 |
| 0x04 | 设置鞘液流高档 | 2字节 |
| 0x05 | 设调试样品流(0-4096) | 2字节 |
| 0x06 | 设置样品流低档 | 2字节 |
| 0x07 | 设置样品流中档 | 2字节 |
| 0x08 | 设置样品流高档 | 2字节 |
| 0x09 | 上样单元,设置X轴第1孔位绝对坐标 | 3字节 |
| 0x10 | 上样单元,设置X轴最末孔位绝对坐标 | 3字节 |
| 0x11 | 上样单元,设置Y轴第1孔位绝对坐标 | 3字节 |
| 0x12 | 上样单元,设置Y轴最末孔位绝对坐标 | 3字节 |
| 0x13 | 上样单元,设置X、Y方向孔位数 | 2字节(X,Y) |
| 0x14 | 转盘上样单元,设置转盘第1孔位绝对坐标 | 3字节 |
| 0x15 | 转盘上样单元,设置转盘第末孔位绝对坐标 | 3字节 |
| 0x16 | 转盘上样单元,设置转盘孔位数 | 1字节 |
2.4 参数查询(命令号 0x05)→ 数据帧返回
| 子命令 | 功能 | 返回数据 |
|---|
| 0x01 | 查询软件版本 | 2字节 |
| 0x02 | 查询模块信息 | 2字节 |
| 0x03 | 查询模块状态 | 2字节 |
| 0x04 | 查询鞘液流调试值 | 2字节 |
| 0x05 | 查询鞘液流低档值 | 2字节 |
| 0x06 | 查询鞘液流中档值 | 2字节 |
| 0x07 | 查询鞘液流高档值 | 2字节 |
| 0x08 | 查询样品流调试值 | 2字节 |
| 0x09 | 查询样品流低档值 | 2字节 |
| 0x10 | 查询样品流中档值 | 2字节 |
| 0x11 | 查询样品流高档值 | 2字节 |
| 0x12 | 查询流量传感器值 | 3字节 |
| 0x13 | 查询温度1 | 3字节 |
| 0x14 | 查询温度2 | 3字节 |
| 0x15 | 上样单元,查询X轴第1孔位绝对坐标 | 3字节 |
| 0x16 | 上样单元,查询X轴最末孔位绝对坐标 | 3字节 |
| 0x17 | 上样单元,查询Y轴第1孔位绝对坐标 | 3字节 |
| 0x18 | 上样单元,查询Y轴最末孔位绝对坐标 | 3字节 |
| 0x19 | 上样单元,查询X、Y方向孔位数 | 2字节 |
| 0x20 | 查询浮子状态 | 1字节 |
| 0x21 | 上样单元,查询X电机当前绝对坐标 | 3字节 |
| 0x22 | 上样单元,查询Y电机当前绝对坐标 | 3字节 |
| 0x23 | 转盘上样单元,查询转盘第1孔绝对坐标 | 3字节 |
| 0x24 | 转盘上样单元,查询转盘最末孔绝对坐标 | 3字节 |
| 0x25 | 转盘上样单元,查询转盘孔位数 | 1字节 |
| 0x26 | 转盘上样单元,查询转盘当前绝对坐标 | 3字节 |
2.5 工作模式(命令号 0x06)
| 子命令 | 功能 | 参数 | 数据帧返回 |
|---|
| 0x00 | 强制停止工作模式 | - | 无 |
| 0x01 | 样品摇匀 | 2字节(时间) | 无 |
| 0x02 | 样品上样 | 2字节(样本位x,y) | 无 |
| 0x03 | 样品下样 | - | 无 |
| 0x04 | 样品开启吸样 | 1字节(速度:2高/1中/0低) | 无 |
| 0x05 | 样品停止吸样 | - | 无 |
| 0x06 | 试验间清洗 | - | 无 |
| 0x07 | 开机清洗 | - | 无 |
| 0x08 | 月清洗 | - | 无 |
| 0x09 | 排气泡 | - | 无 |
| 0x10 | 转盘上样 | 1字节(样本位x) | 无 |
| 0x11 | 转盘下样 | - | 无 |
| 0x12 | 单管上样 | - | 无 |
| 0x13 | 单管下样 | - | 无 |
| 0x14 | 关机清洗 | - | 无 |
| 0x15 | 排堵 | - | 无 |
| 0x16 | 滤芯冲灌 | - | 无 |
| 0x17 | 开始流量统计 | - | 3字节(流量值) |
| 0x18 | 结束统计流量 | - | 无 |
注:结束统计流量帧格式示例:7B 01 01 06 18 00 00 00 00 00 7C(帧尾不同,待确认)
2.6 警告信息
警告信息帧(0x07),泵阀单元(0x03),命令号 0x00:
| 参数1 | 参数2 | 含义 |
|---|
| 0x00 | 0x01 | 初始化/自检失败 |
| 0x00 | 0x02 | 上位机指令异常 |
| 0x00 | 0x03 | 液路清洗电机出错 |
| 0x00 | 0x04 | 忙 |
| 0x00 | 0x10 | 下位机指令异常 |
三、自动上样单元(模块号 0x04)
3.1 基础命令
| 命令 | 命令号 | 参数 | 说明 |
|---|
| 开机握手 | 0x00 | 参数1注* | 96孔微孔板参数1=0x00(短针),32孔转盘和单管模块参数1=0x01(长针) |
| 复位 | 0x01 | - | |
| 自检 | 0x02 | - | |
3.2 调试/单步指令(命令号 0x03)
上样机构(XY微孔板式):
| 子命令 | 功能 | 参数 |
|---|
| 0x01 | 上样机构X轴归零 | - |
| 0x02 | 上样机构X轴走位(绝对坐标) | 3字节 |
| 0x03 | 上样机构Y轴归零 | - |
| 0x04 | 上样机构Y轴走位(绝对坐标) | 3字节 |
| 0x05 | 上样机构Z轴归零 | - |
| 0x06 | 上样机构Z轴走位 | - |
| 0x07 | 上样机构XY轴都归零 | - |
| 0x08 | 上样机构走到孔位XY | 2字节(X,Y) |
| 0x09 | 微孔板摇匀关闭 | - |
| 0x10 | 微孔板摇匀开启 | - |
转盘上样机构:
| 子命令 | 功能 | 参数 |
|---|
| 0x53 | 转盘上样机构转盘归零 | - |
| 0x54 | 转盘上样机构转盘走位 | 3字节 |
| 0x55 | 转盘上样机构提升机构归零 | - |
| 0x56 | 转盘上样机构提升机构走位 | 3字节 |
| 0x57 | 转盘上样机构走到孔位X | 1字节 |
单管机构:
| 子命令 | 功能 | 参数 |
|---|
| 0x58 | 单管转动机构归零 | - |
| 0x59 | 单管转动机构走位 | - |
| 0x60 | 单管提升机构归零 | - |
| 0x61 | 单管提升机构走位 | 3字节 |
3.3 参数配置(命令号 0x04)
| 子命令 | 功能 | 参数 |
|---|
| 0x01 | 设置X轴第1孔位绝对坐标 | 3字节 |
| 0x02 | 设置X轴最末孔位绝对坐标 | 3字节 |
| 0x03 | 设置Y轴第1孔位绝对坐标 | 3字节 |
| 0x04 | 设置Y轴最末孔位绝对坐标 | 3字节 |
| 0x05 | 设置X、Y方向孔位数 | 2字节(X,Y) |
| 0x14 | 转盘上样单元,设置转盘第1孔位绝对坐标 | 3字节 |
| 0x15 | 转盘上样单元,设置转盘第末孔位绝对坐标 | 3字节 |
| 0x16 | 转盘上样单元,设置转盘孔位数 | 1字节 |
3.4 参数查询(命令号 0x05)→ 数据帧返回
| 子命令 | 功能 | 返回数据 |
|---|
| 0x01 | 查询软件版本 | 2字节 |
| 0x02 | 查询模块信息 | 2字节 |
| 0x03 | 查询模块状态 | 2字节 |
| 0x04 | 查询X轴第1孔位绝对坐标 | 3字节 |
| 0x05 | 查询X轴最末孔位绝对坐标 | 3字节 |
| 0x06 | 查询Y轴第1孔位绝对坐标 | 3字节 |
| 0x07 | 查询Y轴最末孔位绝对坐标 | 3字节 |
| 0x08 | 查询X、Y方向孔位数 | 2字节 |
| 0x09 | 查询X电机当前绝对坐标 | 3字节 |
| 0x10 | 查询Y电机当前绝对坐标 | 3字节 |
| 0x23 | 转盘上样单元,查询转盘第1孔绝对坐标 | 3字节 |
| 0x24 | 转盘上样单元,查询转盘最末孔绝对坐标 | 3字节 |
| 0x25 | 转盘上样单元,查询转盘孔位数 | 1字节 |
| 0x26 | 转盘上样单元,查询转盘当前绝对坐标 | 3字节 |
3.5 警告信息
警告信息帧(0x07),自动上样单元(0x04),命令号 0x00,参数2根据情况定义。
四、协议架构分析
4.1 三模块分层架构
上位机 (0x01)
├── 采集单元 (0x02) — 信号采集(本协议未详述)
├── 泵阀单元 (0x03) — 液路控制核心(7个电磁阀 + 6个泵 + 多轴运动)
└── 自动上样单元 (0x04) — 样品处理(XY平台/转盘/单管三种模式)
4.2 命令分类体系
每个模块都遵循统一的 6 类命令结构:
- 基础类(0x00-0x02):握手 / 复位 / 自检
- 调试/单步(0x03):底层执行器直接控制,60+ 条子命令
- 参数配置(0x04):流量/坐标/孔位数等参数设置
- 参数查询(0x05):读取配置与状态,返回数据帧
- 工作模式(0x06):高层业务流程(清洗/吸样/摇匀等)
- 告警(0x07):主动上报异常
4.3 三种上样模式
| 模式 | 机构类型 | 适用耗材 | 针长 |
|---|
| 微孔板 | XY二维平台 + Z轴 | 96孔微孔板 | 短针 (0x00) |
| 转盘 | 转盘旋转 + 提升机构 | 32孔转盘 | 长针 (0x01) |
| 单管 | 转动 + 提升 | 单试管 | 长针 (0x01) |
4.4 液路系统核心器件
- 7个电磁阀(阀1-7,其中阀1有A/B两路)
- 6个泵:鞘液泵 / 样品泵 / 空气泵 / 清洗泵 / 废液泵(共5个?加上样泵?)
- 三档流速:低 / 中 / 高 + 调试速度(0-4096 DAC值)
- 复合动作:鞘液泵+阀2阀3联动、样品泵+阀3联动(简化液路操作)
五、与V2.0液流系统版对比
| 维度 | V2.0版(液流系统设计流程详细) | 20171124版(本协议) |
|---|
| 覆盖范围 | 液流时序 + 协议 | 泵阀单元 + 上样单元,协议全集 |
| 模块数量 | 3模块(采集+泵阀+上样) | 3模块(同上,采集单元略) |
| 工作模式 | 5大液流流程时序详解 | 18种工作模式命令定义 |
| 命令号范围 | 指令型 | 6大类完整编号体系 |
| 版本时间 | 2016-11-14 | 2017-11-24(晚约1年) |
关系:V2.0 侧重液流时序设计,本协议侧重通信命令全集。两者互补,共同构成流式细胞仪下位机液路控制系统完整规格。
六、关键要点
- 帧格式简洁:固定帧头帧尾 + 类型/模块/命令 + 参数 + 双字节校验和,所有指令等长
- 双模块设计:泵阀 + 上样分离,便于独立开发测试
- 三档流速 + 调试:每泵4档速度(调试/低/中/高),调试档0-4096连续可调
- 复合命令简化:鞘液泵含阀联动(开泵同时自动开对应阀)
- 三种上样模式兼容:同一协议框架支持微孔板/转盘/单管,通过握手参数1区分针长
- 告警主动上报:6类故障+忙状态,通过警告信息帧异步通知
- 流量统计功能:工作模式 0x17/0x18 支持开始/结束流量统计,实时返回流量值
关联笔记