新版全自动QPCR_CAN通讯协议(十月版)

概述

全自动 QPCR 仪器的 CAN 总线通讯协议规范,250K 波特率,主从架构(Master->Slave)。小端序(低位在前)。

协议版本:十月版(较 20210723 版更新) 波特率:250K 帧格式:11 位功能码 + 节点ID + 8 字节数据 数据类型:uint32 / int32 / float32

模块地址分配

地址模块名称说明
1Z模块Z轴运动 + 夹爪
2XY模块XY移液模块(含液面探测/吸吐液/取丢TIP)
3排枪模块1X/Y双轴排枪
4排枪模块2X/Y双轴排枪
5条杯托模块Z + 泵 + 脱TIP电磁阀 + 吸吐液/混匀/取丢TIP
6温控模块(扩增等)磁铁电机 + 翻盖电机 + 3路PID温控(试剂/加热带1/加热带2)
7测量模块荧光检测 + 扩增温控 + 多步骤PID + 6模块
8样本xyz模块荧光扫描 + 光源控制 + 32通道连续读取
9样本转移模块XYZ三轴 + 夹爪 + 脱帽/盖帽/扫码

报文格式

1. 读数据

Master->Slave(11位功能码 + ID + 序号 + 数据/参数):

  • 功能码高3位:101(十进制 5)
  • ID:4位节点地址
  • 序号:4位
  • 数据/参数位:0=数据,1=参数

Slave->Master(应答帧):

  • 功能码高3位:001(十进制 1)
  • ID + 序号 + 值

2. 写数据

Master->Slave:

  • 功能码高3位:110(十进制 6)
  • ID + 序号 + 数据/参数 + 值

Slave->Master(应答):

  • 功能码高3位:111(十进制 7)
  • ID + 序号 + 错误码(0=正确)

3. 数据警告(主动上报)

Slave->Master(仅前256个寄存器):

  • 功能码高4位:0001(十进制 1)
  • ID + 序号 + 数据

主动上报参数定义(寄存器参数值):

值含义
0不主动发送
1变化时主动发送(最小间隔10ms)
210ms间隔主动发送
20100ms间隔主动发送
2001000ms间隔主动发送

通用寄存器架构

每个模块都遵循统一的寄存器布局:

地址(16进制)寄存器R/W类型说明
1错误码ROuint320=无错误
2动作码RWuint32触发具体动作(各模块不同)
3控制码RWuint32BIT0=触发动作,高字节=电机使能
4状态码ROuint32BIT0=动作完成,高字节=电机是否使能
100/0x64数字输入口状态ROuint32通用DI
101/0x65数字输出口状态RWuint32通用DO

各模块核心寄存器与动作码

Z模块(地址1)

动作码:初始化 / 总体归零 / X归零 / 夹爪电机归零 / X走位 / 夹爪走位 / 原点至夹取位 / 夹取位至取样位 / 取样位至夹取位

关键寄存器:X设定位置、X相对绝对、X当前位置、夹爪设定位置、夹爪相对绝对、夹爪夹取/释放运动距离、原点至夹取位X距离、原点至取样位X距离

XY模块(地址2)

移液核心模块,32个寄存器,5大类参数:

参数组寄存器范围核心参数
基础运动10-16Z设定/当前位置、泵设定位置、托盘设定位置
吸液参数16-27液面探测开关、起始/结束高度、吸液高度、吸液量/速度、容器直径、上气封/下气封
吐液参数28-35吐液高度、吐液后上升高度、吐液体积/速度、混匀次数/体积/速度
取TIP参数36-38开始高度、结束高度、取TIP后上升高度
抛TIP参数39-41抛TIP高度、抛TIP后上升高度、TIP有无标志

动作码(12种):初始化 / Z归零 / 移液泵归零 / 托盘归零 / Z走位 / 移液泵走位 / 托盘走位 / 液面探测 / Z轴吸液 / Z轴吐液 / 取TIP / 丢TIP / 总体归零

排枪模块(地址3、4)

X/Y双轴运动,无移液功能。

动作码(6种):初始化 / X归零 / Y归零 / X走位 / Y走位 / X&Y走位

条杯托模块(地址5)

Z + 泵 + 脱TIP电磁阀,完整移液流程。

动作码(12种):总体归零 / Z电机归零 / 泵电机归零 / 退TIP电磁阀归零 / Z走位 / 泵走位 / 脱TIP电磁阀走位 / 脱TIP / 吸液 / 吐液 / 混匀 / 取TIP

参数组:吸液参数 / 吐液参数 / 取TIP参数 / 抛TIP参数 / 混匀参数

扩增温控_T(地址6)

磁铁电机 + 翻盖电机 + 3路独立PID温控。

动作码(4种):磁铁电机归零 / 翻盖电机归零 / 磁铁电机走位 / 翻盖电机走位

3路温控(每路7个寄存器:开关+设定值+当前值+PID P/I/D/T):

基地址温控对象
0xA000试剂模块
0xA100条杯托模块加热带1
0xA200条杯托模块加热带2

测量模块_T(地址7)

最复杂模块,荧光扩增检测,6模块 × 多步骤 × 多PID参数。

核心寄存器:

  • 目标循环数、当前循环计数、步骤数、当前步骤ID、模块数
  • 扩增开关(0关1开)、加热带开关
  • 模块当前温度(第10号寄存器)
  • 子模块当前温度(11~1F,最多16个)
  • 加热带当前温度(20号)

步骤参数编码规则:步骤ID_模块ID_参数ID(从1开始)

  • 0x1101 = 步骤1目标温度
  • 0x1102 = 步骤1变温速率
  • 0x1110-0x1113 = 步骤1恒温PID(P/I/D/T)
  • 0x1115-0x1118 = 步骤1变温PID(P/I/D/T)
  • 步骤2~4以此类推(至0x4FFF)

加热带PID参数(A001-A013):目标温度、变温速率、PID P/I/D/T

控制码:BIT0 = 重置循环计数器 状态码:BIT0 = 动作完成,BIT8 = 扩增使能,BIT9 = 扩增加热使能

样本xyz模块(地址8)

荧光扫描模块,支持32通道连续读取。

动作码(5种):电机归零 / 电机走位 / 光源控制 / 荧光调试读取 / 荧光连续读取

核心寄存器:

  • 电机设定/当前位置
  • 光源开关(每BIT对应一路激光,0关1开)
  • 调试模式荧光通道读数(10~2F,最多32通道)
  • 连续读取位置数组长度(3F)
  • 连续读取位置132(405F)
  • 各位置荧光读数(0100~21FF,每位置6通道)

样本转移模块(地址9)

XYZ三轴 + 夹爪 + 脱帽/盖帽/扫码,样本处理全流程。

动作码(16种):初始化 / 总体归零 / XYZ归零 / XYZ走位 / XY走位 / 夹爪复位 / 夹爪加持 / 夹爪旋转 / 取样本 / 放样本 / 扫码 / 脱帽 / 盖帽

参数组:

  • 取样本参数:Z起始/结束高度、夹爪位置/角度
  • 放样本参数:放样本Z高度
  • 脱帽参数:脱帽夹爪旋转角度、脱帽Z结束高度
  • 盖帽参数:盖帽夹爪旋转角度、盖帽Z起始/结束高度
  • 样本有无标志(RO)

协议设计特点

  1. 统一架构:所有模块遵循 错误码/动作码/控制码/状态码 + DI/DO 的标准寄存器布局,降低学习成本
  2. 动作码驱动:通过写动作码触发完整操作(如”取TIP”一步到位,无需分步控制电机)
  3. 参数化设计:复杂动作(吸液、吐液、混匀、取TIP等)全部通过寄存器参数配置,灵活适配不同场景
  4. 主动上报机制:支持变化上报和定时上报两种模式,最小间隔10ms
  5. 多模块独立寻址:9个模块独立节点ID,并行工作
  6. 分级温控:测量模块支持步骤级PID(恒温+变温各一套),扩增温控模块支持3路独立PID
  7. 多通道荧光:样本xyz模块支持32位置×6通道连续读取,满足高通量荧光检测需求

与20210723版的关系

十月版为更新版本,20210723版为旧版。十月版模块定义更完整(测量模块/样本xyz/样本转移均有详细定义),建议以十月版为准。


关联笔记: