1. 引言
温度控制是许多工业生产和科学实验过程中的核心环节。恒温槽是一种可以为液体密度介质提供稳定温度的槽体[1] [2],主要利用高性能微机控制,自整定PID调节[2] [3]和标准铂电阻测温完成高精度[4]、小波动的精准控温[5] [6]。适用于需要维持某一恒定温度的化学、物理、生物实验室,是医药卫生、化学工业、食品工业、冶金工业、大专院校、科研、遗传工程、高分子工程等实验室的必备设备。
随着科研需求和工业自动化水平的不断提高,实验室和生产环境中往往需要同时运行多个恒温槽设备,以模拟不同的温度条件。例如,在药物研发过程中,可能需要多组温度优化实验同时进行;在材料性能测试中,可能需要考察同一材料在不同温度下性能的变化。传统独立的恒温槽通常都需要连接一台独立的上位机进行控制和数据采集,这种一对一的控制方式存在设备成本高、占地面积大、操作复杂等问题[7]。且现有的恒温槽控制系统通常缺乏统一的通信接口和协议标准[8]。不同厂家生产的恒温槽往往采用各自专用的通信协议,这给多设备集中监控和自动化控制带来了巨大挑战。操作人员需要在现场分别操作每台设备,难以同时操控多台恒温槽,更无法实现集中监控和远程控制。这对于一些需要长时间监测和控制的实验或工艺过程来说,非常的不便利。
为解决上述问题,本研究开发了一种恒温槽集群控制通信适配器。它基于通信协议的转换,即将各恒温槽控制器使用的TTL串口指令,与上位机标准的Modbus-RTU协议进行相互转换,实现了对多台恒温槽的集中控制。这样一来,一台电脑就能同时管理和监控多台恒温槽,不仅显著降低了设备成本,还为实验室和工业环境的自动化及远程控制提供了一个经济、实用的方案。
2. 系统总体架构设计
恒温槽集群控制系统主要由上位机、通信适配器及若干台带恒温槽控制器的恒温槽构成,其中上位机采用电脑或可编程控制器(PLC),仅需单台上位机即可实现对多台恒温槽的管理。恒温槽控制器作为每台恒温槽的本地控制单元,支持TTL串口通信,通信指令为ASCII码字符,以回车、换行符(0 × 0D, 0 × 0A)结尾。通信适配器分别连接上位机与各恒温槽控制器,其硬件结构包括外壳、内置的微型控制器(MCU)及接口模块。接口模块包含若干个第一接口与一个第二接口,第一接口采用网线接口,数量与恒温槽控制器数量适配,每台恒温槽控制器通过一个第一接口独立连接至适配器,确保通信独立性;第二接口采用六针接口,同时接入RS-485通信线与电源线,RS-485通信线用于传输上位机与适配器间的协议数据,电源线为适配器提供工作电源。此外,通信适配器外壳上还设有重置按钮与指示灯,当系统参数设置错误导致连接故障时,长按重置按钮超过两秒可恢复默认参数,指示灯则通过状态反馈适配器工作情况,保证系统稳定运行。其结构及原理见图1、图2。
Figure 1. Diagram of the practical teaching system of automation major
图1. 恒温槽控制系统的结构示意图
Figure 2. MCU master control schematic
图2. MCU主控原理图
本通信适配器选择的MCU型号:STM32G071KBT6;CPU内核:ARM-M0+;CPU最大主频:64 MHz。
存储容量:128 KB;存储器类型:FLASH;I/O数量:30;DAC (位数):12 bit;工作电压:1.71~3.6 V。
选用恒温槽品牌:Thermo;型号:AC150;上位机控制软件平台为:HGDensimeterCalibrator.v2 (自研)。
3. 通信适配器核心功能设计
通信适配器的主要功能在于实现上位机与恒温槽控制器间的协议转换及数据管理,其内置的MCU承担协议解析与指令处理任务,适配两种不同通信协议的特性与需求(图3)。在协议转换方面,适配器与上位机之间采用Modbus-RTU协议通信,该协议抗干扰能力强、传输距离远,适用于远程数据交互;与恒温槽控制器之间采用TTL串口协议通信,该协议通信速率快、适配小型控制器硬件,符合恒温槽控制器的通信需求。在具体转换流程中,上位机下发的控制指令以Modbus-RTU协议传输至适配器后,MCU先解析协议数据,提取其中的目标设备编号与控制字符串,再封装为TTL串口协议格式发送至目标恒温槽控制器;而恒温槽控制器执行指令后回传的响应信息,以TTL串口协议传输至适配器,MCU解析后转换为Modbus-RTU协议格式,按上位机要求汇总后回传,完成指令发出–执行–反馈的循环过程。
通信适配器内置96个寄存器,地址范围为32~127,按功能划分为第一寄存器(地址32)与第二寄存器(地址33~127,共95个),在指令发送模式下,寄存器用于存储上位机下发的控制指令信息,其中第一寄存器存储目标恒温槽控制器编号,数值范围为0~N (N为恒温槽控制器总数),当数值为0时,适配器将控制指令发送至所有恒温槽控制器,当数值为1~N时,指令为单设备指令,适配器仅发送至对应编号的控制器;第二寄存器则存储控制指令的ASCII码字符串,如“W GO 1”表示启动指定恒温槽、“R SP”表示读取温度设定点,确保恒温槽控制器可准确识别该指令内容。在响应回读模式下,寄存器用于存储恒温槽控制器回传的响应信息,第一寄存器存储包含响应信息的第二寄存器数量,数值范围为1~M (M为第二寄存器总数,即95),告知上位机需读取的寄存器个数;第二寄存器按接收顺序存储各恒温槽控制器的响应信息,如“SP1 + 28.000”表示1#恒温槽温度设定点为28.000℃。上位机读取响应信息时,需先读取第一寄存器获取数量X,再从第一个第二寄存器开始连续读取X个寄存器的数据,完成响应信息的采集。
Figure 3. Schematic diagrams of the communication adapter’s exterior structure
图3. 通信适配器外观结构示意图
4. 系统功能的实现及测试案例
为进一步验证系统功能可行性,以3台恒温槽(对应1#、2#、3#恒温槽控制器)的集群控制为例,分别对恒温槽启动控制与温度设定点读取两项核心功能进行测试(图4)。在恒温槽启动控制测试中,上位机首先生成Modbus-RTU协议格式的控制指令,包含目标设备编号1与控制字符串“W GO 1”,该指令通过RS-485通信线传输至通信适配器;适配器接收指令后进入指令发送模式,第一寄存器(地址32)存储数值1,第二寄存器(地址33~35)存储“W GO 1”的ASCII码,MCU将指令转换为TTL串口协议后,通过1#恒温槽控制器对应的第一接口发送指令;1#恒温槽控制器接收指令后,立即控制恒温槽启动,完成启动控制流程。
在温度设定点读取测试中,目标为通过上位机(图5)读取1#恒温槽的温度设定点,上位机先发送
Figure 4. Flowchart of the temperature set-point reading test
图4. 温度设定点读取测试流程图
Figure 5. Host computer control software interface style
图5. 上位机控制软件界面样式
Modbus-RTU协议格式的读取指令,包含目标设备编号1与控制字符串“R SP”,适配器接收后转换为TTL串口协议发送至1#恒温槽控制器;1#恒温槽控制器执行指令后,将温度设定点响应信息“SP1 + 28.000”以TTL串口协议回传至适配器,适配器进入响应回读模式,第二寄存器(地址33~39)存储该响应信息的ASCII码,第一寄存器(地址32)存储数值7 (表示需读取7个第二寄存器);上位机先发送指令读取第一寄存器,获取数值7后,再发送指令读取地址33~39的第二寄存器,解析数据后得到1#恒温槽的温度设定点为28.000℃,完成温度设定点的监测与反馈。测试结果显示,系统指令传输与响应回传延迟均较小,指令执行准确率与数据采集精度均满足设计要求,验证了系统的稳定性与实用性。
5. 总结
本设计通过通信适配器构建的恒温槽集群控制系统,有效弥补了传统恒温槽“一机一控”的不足。其优势在于基于Modbus-RTU与TTL串口协议的双向转换,增强了系统的通用性及可扩展性,从而能够支持单台上位机对多台恒温槽的同时控制与实时监测。该系统不仅降低了设备成本与操作复杂性,还支持远程控制,适配长时间实验及生产的需求;同时,适配器设计多种硬件接口与重置功能,进一步提升了系统的兼容性。现有研究不足的是目前只能支持具有相同通讯协议的恒温槽,本恒温槽通讯适配器,目前控制的只对Thermo系列恒温槽,其他品牌的恒温槽因通讯格式或通讯协议的不同,需要先更改该通讯配置,方能使用。该系统可直接应用于多恒温槽同步运行的实验室及工业生产线,未来可以进一步增加无线通信模块,进一步提升系统的实用性。
基金项目
广东省市场监督管理局科技项目(2023CJ01)。