宗文锦, 朱启兵, 李明泽, 连 悦
(1.江南大学 轻工过程先进控制教育部重点实验室,江苏 无锡 214122;2.中国科学院苏州纳米技术与纳米仿生研究所,江苏 苏州 215000)
随着科研水平的不断提升,实验室使用的化学试剂呈现出多样化、复杂化和多变性的特点。危险化学品(腐蚀、易燃、易爆、毒害等)的管理给管理人员带来了极大的困扰。实验人员对化学试剂的取用和归还仍然存在着多取、少还、错放等问题,化学试剂的管理模式尚不健全[1]。在高校和科研机构中,实验室数量多、分布广,实验室人员集中、流动性大,化学品的购买、使用、储存和废弃处置等环节均存在安全隐患,传统的人工盘查方式已无法适应现阶段的实际情况。可见,建立科学的信息化管理平台,规范人员的试剂领用流程,实施有效的实验室库房管理手段成为该领域十分重要且不可避免的研究课题。射频识别(radio frequency identification,RFID)技术作为一项非接触自动识别的新兴技术被广泛地应用于仓储式管理[2,3]和医药行业[4,5]。
本文将RFID技术应用于试剂管理,结合管理平台和硬件控制,设计开发了一种多功能试剂暂存库房管控系统,相关单位的应用验证了系统的有效性。
目前实验室暂存库房需要解决的主要问题是危险化学
品存放安全问题和试剂分类不明确的问题。结合以上问题和相关要求,系统功能主要包括:1)化学试剂的存储管理;2)相忌试剂混存的预警;3)实验人员身份验证及操作记录;4)有毒试剂重量记录;5)试剂柜内环境检测与可视化;6)电源供电状态监测。
基于RFID技术的多功能试剂管理系统主要由综合管理平台、Android工控App和STM32嵌入式硬件控制部分构成,如图1所示。系统机械结构包括主控制柜和试剂存储柜(普通、抗腐蚀、阻燃、防爆、有毒)。工控机安装于主控制柜(主站),硬件控制模块分布到各试剂柜(从站),两者采用RS—485接口实现通信。由于RS—485总线信号传输速率高,抗干扰能力强,传输距离远,在工业控制领域是一种常用的总线形式。
图1 系统架构
柜内环境信息、试剂库管状态、试剂出入库记录、系统预警信息、人员管理信息和人员误操作记录等数据都将暂存于工控机的数据库并通过TCP/IP定时上传至管理平台。考虑到数据量较小并且工控机只保存最近一段时间的数据,数据库的设计主要采用体积较小、功能完备且源码开放的MySQL[6]。基于上述交互信息建立各类数据表,主要包括人员信息管理表、试剂信息管理表、操作记录表、环境信息表、预警情况表、权限管理表、试剂柜信息管理表等。
系统工控机选用以Linux为内核的电容触摸屏一体机开发Android[7]工控APP。选用RS—485接口的刷卡器实现人员身份验证,配以RS—232接口的电子秤完成有毒试剂称重。STM32控制模块的整体框架如图2所示。
图2 STM32控制模块
以意法半导体公司的STM32F103RBT6芯片作为控制核心,时钟频率最高可达72 MHz,可保证数据的实时性,主控电路包含复位和晶振电路。应用TTL转RS—485电路输出两路差分信号,其中一路连接于主从通信的RS—485总线上,另外一路负责与温湿度、浓度检测模块的通信。
系统下位机主要用到12,5,3.3 V直流电源,12 V电压为电磁锁等硬件外设供电,5 V电压由基于LM2576—5.0芯片的开关稳压电路得到,STM32的供电电压采用常规的AMS1117—3.3芯片构成5~3.3 V的稳压电路。
分别采用SHT20温湿度检测模块和TGS2602浓度检测模块实现数据采集。SHT20模块集成了传感器和模数转换电路于一个CMOSens®芯片上,大大降低了功耗,可对温度值介于-40~125 ℃,湿度值介于0 %~100 %的环境变化做出有效反应。模块的返回数据以表1为例,温度和湿度分别为30.5 ℃和54.6 %。
表1 温湿度模块返回数据
TGS2602浓度传感器对可挥发性化学有机物(volatile chemical organics,VOC)具有高灵敏度[8],可实时监测柜内气体浓度。传感器电阻的电导率随气体浓度升高而升高,在采样点得到的模拟信号经A/D转换可得到浓度值。由于试剂柜内气体成分复杂,为了使数据更加可靠,实验拟合出适用于该场合的浓度C与采样点电压V关系:C=0.4V2。
试剂柜内采用4层结构,每层可放置20瓶化学试剂,为了保证标签扫描的可靠性,在试剂柜的每一层放置一个4 dBi的超高频天线,所有天线连接到RFID读写模块,模块与主控电路板通过UART串口连接实现信息交互。RFID标签赋予了每瓶试剂唯一的ID。通过RFID天线发射射频信号,当试剂瓶上的标签进入射频信号扫描范围,利用标签内产生的感应电流获得的能量返回存储于标签的试剂编码,通过查数据表可以确定试剂信息[9],包括试剂名称、试剂属性、试剂物理状态等。
系统配备的其他硬件包括柜门电磁锁、柜门状态指示灯、通信状态指示灯、蜂鸣报警器、防爆风机和交流电压检测模块,除了交流电压检测模块,其他外接硬件均采用GPIO驱动继电器控制。
220 V交流电压检测模块用以实现供电状态监测,当高压端电压发生突变时,MCU通过AD采样得到在模块低压端的电平变化,产生相应的消息指令通过RS—485总线发送给工控机,工控机记录“事件类型”(掉电/上电)和触发时间并存入数据库。电网电压断开时,不间断电源(UPS)为系统供电,可保证系统正常工作2 h。
系统的核心功能包括试剂柜内环境信息的固定轮询、柜门门锁控制和柜内试剂管控三个部分,基本工作流程如图3所示。
图3 系统工作流程
为避免出现由于人员疏忽造成忘关试剂柜门的情况,柜门打开后,STM32启动计时器计时60 s,未收到关门信号即启动蜂鸣报警提示关门。主控系统得到柜门关闭的消息后,通过RS—485总线返回读取试剂标签的指令,STM32打开UART串口,发送内部指令码使超高频RFID模块工作。由于环境信息轮询和标签数据传输共用一个RS—485接口,为了避免串口占用导致数据掺杂而影响正常通信。本系统定义了一个消息传输机制,通过增加如表2所示的三个标志位。
表2 防冲突标志位
通过判断SendState和DataState是否同时为真,满足则上传RFID数据,否则等待条件满足。事实表明,该方法优化了串口通信的管理方法,解决了数据冲突问题。
RFID模块配置双CPU,主CPU负责轮询标签,副CPU负责数据管理。采用缓存模式读取试剂标签,将读到的标签信息放入缓存区,将重复标签过滤后统一上传。工作的步骤可分解为三步:打开天线通道、盘存数据和数据上传。如图4所示。
图4 RFID盘存流程
RFID模块工作的指令码如表3所示。其中,数据包头均以0xA0开头,地址均默认为0x01。通过发送指令码0x74打开天线通道,指令参数代表天线号(Antenna ID),这里设为0x00~0x03,分别对应模块的四个天线。依次打开天线,发送0x80开始盘存标签,指令参数定义为盘存过程重复的次数(Repeat),由于柜内标签数据量较大,所以本系统将其设置为0x01,可使单次盘存时间最大。以四个通道各盘存一次为一组循环读取标签,当循环次数大于N时,发送指令码0x91上传数据并清空模块缓存数据以备下次读取标签数据。获得标签数据后,在数据前后分别加上带有地址的数据头和固定的数据尾,以确保工控机获得数据的完整性。
表3 RFID模块工作指令码
基于Android的工控机主界面[10]如图5所示,该工控App采用Java语言开发,Linux的内核使其运行更加稳定。
图5 人机交互界面
表4给出了Android工控机和STM32嵌入式控制模块的握手协议。其中,试剂称重需要实验人员在工控App进行界面操作实现。存放和取用有毒试剂时,将试剂瓶放入称重区域,电子秤上传重量数据。实验员点击界面“试剂称重”按键以获得称重区域试剂标签信息,工控App内部实现试剂信息与重量信息匹配完成称重。
表4 Android与STM32握手协议
开发了一种基于RFID技术的化学试剂管控系统,系统各外围模块包括传感器模块、电源监测模块和RFID模块等硬件设备结合上位机搭建起可全溯源的管理平台,实现了集约化的管理目标。RFID技术的应用使得试剂分类更加明确,危险品的去向可查,事故责任到人。系统实现了人员操作权限判定、环境信息检测与可视化、交流供电监测、风机的启停、试剂库管状态监控与责任追溯、有毒试剂使用情况(重量)记录等基本功能,并已在相关单位上线。