4. 实验室自动化通信协议与标准

实验室自动化集成中最容易被低估的工作,不是机械臂或分析仪本身,而是设备之间“说什么话、怎么说话”。一台液相色谱、一台机械臂、一台酶标仪、一套LIMS,往往来自不同厂商、不同年代、不同软件栈。协议选型与配置质量,直接决定集成系统能否稳定运行、数据能否可信追溯。本节围绕五类常见通信方式——Modbus、OPC UA、SiLA、LIMS接口、MQTT——说明它们各自适合什么场景、配置时要注意什么,并给出可操作的判断依据。

一、先分清“设备层、控制层、信息层”三类通信需求

实验室自动化通信可以按数据流向和控制粒度分为三层。设备层关注寄存器、I/O点、串口指令,典型代表是Modbus;控制层关注设备状态、方法调用、任务编排,典型代表是SiLA和OPC UA;信息层关注样本、订单、结果、审计追踪,典型代表是LIMS接口和MQTT消息总线。选型时先问三个问题:通信对象是PLC/传感器还是分析仪软件?数据是周期性状态量还是结构化业务对象?通信是点对点命令还是多系统发布订阅?答案不同,协议选择就不同。

实验室自动化通信协议分层与典型数据流 信息层 样本/订单/结果 审计追踪 控制层 方法调用 状态编排 设备层 寄存器/I/O 串口指令 LIMS 样本登记 / 结果审核 REST / HL7 / 数据库 MQTT Broker 发布/订阅 QoS 0/1/2 OPC UA Server 信息模型 / 订阅 证书加密 SiLA 2 gRPC / 命令-响应 设备能力描述 Modbus TCP/RTU 寄存器地址 / 功能码 轮询 / 主从 分析仪软件 HPLC / 酶标仪 / 测序仪 机械臂 / 调度器 任务编排 / 方法切换 PLC / 传感器 温度 / 门禁 / 液位 样本订单/结果回传 状态事件/遥测 变量读写/订阅 命令调用 寄存器轮询 业务事件 设备状态 选型原则:设备层用 Modbus 快速接入;控制层用 SiLA/OPC UA 做能力抽象;信息层用 LIMS 接口与 MQTT 打通业务闭环

二、Modbus:设备层最省事的“寄存器语言”

Modbus适合PLC、温控器、液位传感器、门禁等以寄存器或线圈为交互单位的设备。它简单、成熟、几乎不挑硬件,但表达能力弱:只能读写16位寄存器或布尔量,没有语义、没有类型系统、没有安全机制。配置要点集中在四件事:地址映射、功能码、字节序、轮询周期。

以一台支持Modbus RTU的温度模块为例,从站地址设为1,波特率9600,8位数据位、无校验、1位停止位。读取当前温度使用功能码03,起始地址0x0000,寄存器数量1。若返回值为0x00FA,按有符号16位解释为250,再乘以0.1得到25.0℃。这里必须确认厂商手册中“0.1℃/LSB”的缩放关系,否则会把250误读为250℃。字节序同样关键:32位浮点数在Modbus中可能按ABCD或CDAB排列,配置错误会得到完全错误的值。轮询周期建议不低于200ms,避免串口总线拥塞;对实时性要求高的联锁信号,应改用硬线I/O而非Modbus轮询。

三、OPC UA:控制层与信息层的“语义化总线”

OPC UA解决的是“不仅传值,还要传含义”的问题。它自带信息模型,可以把一台分析仪抽象为对象,对象下有方法、变量、事件。客户端不仅能读“温度=25.0”,还能知道这个变量叫Temperature、单位是℃、属于哪个设备、是否可写。OPC UA支持订阅机制,数据变化时主动推送,适合需要实时监控多台设备状态的场景。

配置OPC UA时,重点在端点、安全策略、证书、命名空间。端点URL通常形如opc.tcp://192.168.1.50:4840,安全策略建议至少选用Basic256Sha256,并启用签名与加密。首次连接需要交换并信任证书,否则客户端会报BadSecurityChecksFailed。命名空间索引决定了节点ID的归属,例如ns=2;s=Device1.Temperature,其中ns=2是厂商自定义命名空间,不能硬编码为ns=1。订阅时设置采样间隔和队列大小:采样间隔100ms、队列大小10,可以在网络抖动时保留最近10个变化值,避免丢数。

四、SiLA:面向实验室仪器的“能力调用”标准

SiLA 2基于gRPC和HTTP/2,专为实验室仪器设计。它不像Modbus那样暴露寄存器,也不像OPC UA那样需要复杂的信息模型建模,而是把仪器能力定义为“命令”和“属性”。例如一台离心机可以提供RunProtocol命令,输入参数为转速、时间、温度,返回状态和完成事件。SiLA的优势在于跨厂商互操作:只要仪器声明支持某条标准命令,调度软件就能以统一方式调用。

配置SiLA时,需要关注服务发现、命令参数、超时与取消。SiLA 2支持mDNS发现,仪器上线后广播服务,调度器自动识别。命令调用通常包含参数校验和生命周期:客户端发送RunProtocol,服务端返回命令执行ID,随后通过订阅获取执行状态,直到返回Finished或Error。超时设置要覆盖仪器最长运行时间,例如离心程序30分钟,超时至少设为35分钟,并支持Cancel命令中断。若仪器只支持SiLA 1,则需通过桥接服务转换为SiLA 2,否则无法与新版调度器直接集成。

五、LIMS接口:业务闭环的“最后一公里”

LIMS接口负责样本、订单、结果、审计追踪的交换。常见形式包括REST API、数据库视图、文件交换和HL7消息。REST API最灵活,适合实时查询样本状态和回传结果;数据库视图适合批量同步,但耦合度高,表结构变更容易导致集成断裂;文件交换适合离线或低频率场景,但需要处理文件命名、去重和失败重传。

配置LIMS接口时,核心是字段映射、状态机、幂等性。例如LIMS中样本状态为Registered、InProcess、Completed、Reviewed,自动化系统回传结果时必须按同一状态机推进,不能跳过Reviewed直接归档。结果回传接口应支持幂等键,通常用样本ID+检测项目+版本号,避免网络重试导致重复记录。若LIMS只提供数据库只读账号,则自动化系统只能读取样本列表,结果回传需通过中间表或消息队列由LIMS侧消费。

六、MQTT:轻量级事件与遥测的“发布订阅”通道

MQTT适合设备状态、环境监测、任务事件等高频、小消息、多订阅者的场景。它基于主题树,例如lab/device/hplc01/status,任何订阅该主题的组件都能收到消息。QoS等级决定可靠性:QoS 0最多一次,适合高频遥测;QoS 1至少一次,适合任务状态;QoS 2恰好一次,开销大,一般用于关键结果确认。

配置MQTT时,注意主题设计、保留消息、遗嘱消息、认证。主题应按层级设计,避免使用通配符订阅过多导致性能下降。保留消息可以让新订阅者立即获得设备最后状态,适合状态面板。遗嘱消息在设备异常断线时由Broker发布,通知调度器设备离线。认证建议启用用户名密码或TLS客户端证书,禁止匿名访问。若实验室网络隔离,可在边缘网关部署本地Broker,再通过桥接将汇总数据上传至中心Broker。

七、选型与组合配置的实用判断

实际项目中很少只用一种协议。典型组合是:PLC和传感器走Modbus TCP,分析仪走SiLA 2或OPC UA,调度器通过MQTT发布任务事件,LIMS通过REST接口交换样本与结果。判断依据可以归纳为:设备是否支持语义化接口、数据是否需要跨系统订阅、业务是否需要审计追踪、网络是否允许长连接。若设备只支持串口且无固件升级可能,Modbus RTU加串口服务器是最稳妥的接入方式;若设备支持OPC UA但需要与LIMS对接,则应在中间件中完成信息模型到业务对象的映射,而不是让LIMS直接解析OPC UA节点。

配置检查建议:Modbus确认地址、功能码、字节序、缩放系数;OPC UA确认端点、安全策略、证书信任、命名空间;SiLA确认服务发现、命令参数、超时与取消;LIMS确认字段映射、状态机、幂等键;MQTT确认主题层级、QoS、保留消息、认证方式。五类协议各司其职,组合使用才能形成稳定、可追溯的实验室自动化集成链路。