刘 婷,王彦玲,赵生慧,张 帅,韦 涛
(1.中国人民解放军93114 部队,北京 100085;2.电子科技大学,四川 成都 611731;3.中国电子科技集团公司第三十研究所,四川 成都 610041)
药品的生产流程具有工序多、流程复杂等特点,导致现有药品管理问题多。例如:无法准确实时了解和追踪物料的流通、状态及各车间的生产进度问题;职工有效工作时间太短而等待时间较长问题;手工记录方式难以避免漏记错记问题。根据企业药品生产规范化、高质量与智能化要求,现代医药产业对实时、有效、准确以及快速地监控与查询生产物料和人员状态的追踪系统提出了需求[1-2]。
射频识别技术(Radio Frequency Identification,RFID)是近年来兴起的自动识别技术中的一个重要分支。该技术使用无线通信,可获取、识别和解析范围内物品上的电子标签数据,具有容量大、识别准确度高、标签寿命长、数据可加密、识别速度快以及通信距离远等特点[3-4]。
RFID 被广泛应用于工业生产线管理、物流管理、易流通物品(如图书)管理以及仓储管理等多个领域[5-6]。超高频RFID 可大批量、远距离地读写标签,在保证物料、人员等原有效率的前提下,完成对其各种信息流的实时、精确、全程监控与记录,保证生成药品的质量,甚至降低药品人员工作量,提高产业效率和竞争力[7-8]。此外,RFID 系统易于集成多种传感器(如较为普及的温湿度),可进一步保证中药饮片生产外部环境和成品质量。
参考中智药业中药饮片的生产管理流程,主要包括筛选物料、物料流通至内包间、在内包间完成成品生产、成品中间站暂存以及成品验证等多个工序。它的生产阶段如图1 所示。
RFID 技术常规应用是将RFID 电子标签依附于目标物品,通过读写器在需要的时间位置进行远距离、大批量的标签数据读取,同时将对象与其多种数据相关联,之后在后台进行数据的进一步处理,通过数据对比判断是否符合规范,以保证药品质量,同时增强生产效率。
图1 药品生产与管理流程
应用于药品生产管理的超高频RFID 系统,核心目标:通过RFID 远距离、大批量读写能力,减少车间内与车间之间物料数据采集的耗时,提高信息精确度,同时增强人员工作效率;通过集成传感器设备,使采集的数据实时、客观且禁止更改,有效避免人工采集记录数据的常见问题,同时极大地减轻人员的工作量。
针对药品生产管理流程,在车间里配放一台超高频RFID 读写器,对应总车间、内标间与中间站门口各配置一个超高频天线,对应总盘点处配置一个龙门架式超高频RFID 盘点通道。
在传感器方面,集成红外探测触发读写器读写操作和判断物料进出,集成电子秤直接客观准确获取物料重量,集成温湿度传感器全程、实时采集车间内的环境测试数据。
整流电路采用高低通滤波功分器将多频点能量收集天线收集到的GSM 900/GSM 1800 信号能量分成两路:一路920~960 MHz 信号(覆盖GSM 900下行频段)经低通滤波器输出至针对该频段优化的整流电路(采用HSMS285C);另一路1 710~1 860 MHz 信号(覆盖GSM1800 下行信号)经高通滤波器输出至针对该频段优化的另一个整流电路(采用SMS7630)。高低通滤波功分器的输入输出端口阻抗与两个整流电路的输入阻抗均匹配至50 Ω。两个整流电路输出级同时接限压保护齐纳二极管和BQ25570 能量管理芯片。
药品生产管理RFID 系统拟解决中药饮片生产过程中物料流通与生产数据的全程、实时监管问题。通过对系统需求和RFID 特性分析,最终系统的功能目标如下:
(1)数据采集,即收集药品生产全程、实时数据,同时对数据进行筛选、过滤、整合以及上传等操作;
(2)规范核对,即对出入车间的物料人员根据规范进行核对,对违规的出入操作进行记录和报警;
(3)操作核对,即对车间的物料人员操作根据规范进行采集、记录与核对,提供违规报警功能;
(4)红外监测,即利用红外传感器判断进出入车间的物料人员的方向,同时触发相应的读写器,提供违规报警功能;
(5)环境监测,即全程、实时采集生产过程中的温度、湿度等环境数据,并筛选、过滤、整合、上传至数据库,若数据超出限定范围,提供异常报警功能;
(6)数据库交互,即将上传的数据存储至数据库中心,针对查询要求选定并返回相应数据。
在整体功能结构上,可将药品生产监管系统划分为登录模块、指令获取、筛选间监管、中间站监管、内包间监管、阴凉库监管、干燥间监管、数据处理模块和数据库交互模块,如图2 所示。
图2 药品生产管理系统模块划分
C/S 架构可提供对用户的强交互能力,在同类型架构中快捷性和智能性更优。客户端可自由设置界面与交互,且可以对客户端和服务端进行分工,同时可查询用户的当前使用和历史记录。基于智能药品生产管理系统对监测数据实时性与交互性的需求,以及系统用户的特定性(即仅限员工与管理层)需求,本文架构软硬件均采用C/S 架构。
基于C/S 架构,通过服务端与数据库进行交互。客户端与服务端的通信通过网络连接,中间包括网线、千兆网交换机以及主交换机等。
每车间均部署感知系统,其数据监控包括RFID 标签信息、红外传感器监控、温湿度传感器实时数据以及电子称数据。仅有温湿度数据采用无线通信发送至读写器,其他数据均与读写器直连。服务端对数据进行筛选、整合等处理后,与数据库完成交互操作,并根据用户需求发送至客户端。硬件架构设计如图3 所示。
图3 系统硬件架构
软件架构设计如图4 所示。基于C/S 架构,软件架构依然采用服务端软件与数据库进行交互。网络通信技术方面,仅温湿度监控模块采用Remoting技术,其他需要大量实时通信的网络则采用Socket技术。二者均适用于TCP 协议的同局域网内、同构程序内、二进制流的高效传输。软件开发平台选用WPF,适用于界面功能与用户体验需求较高、快速处理多线程的开发。客户端软件开发模式选用最适合WPF 类库的MVVM(Model-View-View Model)框架,而服务端仅完成与数据库的交互,不需对用户提供界面互动。
图4 系统软件架构
除温湿度传感器检测模块为Remoting 外,其他客户端与服务端的通信使用Socket 技术。由于药品加工过程中包含多种程序,数据内容也有极大差异,且仅有一个服务端与多个客户端及数据库交互,因此需加入“操作码”对客户端的数据包完成标识,以便服务端可以快速识别客户段的当前操作。同时,考虑到TCP 协议将数据整合为数据包发送时后方数据丢失的问题,设计“数据长度”字段,方便接收方确认数据包完整。最后,为判断接收到的数据的合法性,采用CRC 校验方式进行数据包校验。Socket 选用的数据包格式如表1 所示。
表1 数据包传输格式
在基于表1 格式的设计下,根据中药饮片加工过程中各独立功能约定如下。
(1)原料进出加工阶段协议。该阶段指原料仓送入筛选间和物料在筛选间之后的多车间流通。数据的内容为药物外包标签信息和药物容器标签信息。协议格式为“操作码+数据长度+状态+标签类型+标签个数+标签数据+CRC”,操作码为“1”。
(2)药物外包注销阶段协议。该阶段包括筛选间内的药物外包的标签注销过程。发送内容包括药物外包标签信息。协议格式为“操作码+数据长度+药物外包标签个数+药物外包标签数据+CRC”,操作码为“2”。
(3)原料装瓶注册及容器装配阶段协议。该阶段包括内包间将物料成品装瓶、附上电子标签的注册过程和将药成品瓶标签与外容器标签的装配过程。发送内容包括瓶标签信息和容器标签信息。协议格式为“操作码+数据长度+标签类型1+标签类型1 个数+标签数据+标签类型2+标签数据+CRC”,操作码为“3”。
(4)外容器与托盘装配阶段协议。该阶段指中间站将成品容器与托盘装配过程,发送的内容包括托盘电子标签信息与外容器标签信息。协议格式为“操作码+数据长度+标签类型1+标签数据+标签类型2+标签数据+重量+CRC”,操作码为“4”。
(5)龙门架监控阶段协议。该阶段包括总盘点处进行药成品检验的过程。发送的内容包括瓶电子标签信息。协议格式为“操作码+数据长度+标签个数+标签数据+CRC”,操作码为“5”。
(6)服务端交互协议。服务端将操作结果交互至客户端,有效数据参数为操作结果,即成功(OK)或者失败(ERR),因此服务端的协议格式为“操作码+数据长度+结果+CRC”。操作码沿用客户端发送的操作码。
药品加工监控系统需在系统登陆后通过功能指令进行指示和约束。数据库的内容应包括用户信息、指令码以及操作日志等,同时需包含物料流通、容器流通等的信息记录。考虑到数据在加工过程中的不同特性,表分类与各表内容如下。
(1)加工指令表。加工指令既包括加工药品的全部信息,也包括各个环节的操作信息,因此设计为表头和表体分离的一对多方式。采用加工标号进行外键关联,表头主键为指令标号OrderID,表体主键为工序标号ProcessID。
(2)员工信息表。每个人员均作为唯一存在,成功登录客户端系统后,才可进行对应操作与交互。表主键为员工ID。
(3)操作日志表,对用户名、权限组、当前进程(操作进行)进行日志记录,主键为int 自累加增长类型,利用UserID 进行外键关联。
(4)工序管理表。工序管理用于管理多工序下的物料流通信息,且同时包含药物与容器,因此设计为表头和表体分离的一对二方式。表头主键为工序编号ProcessID,同时可作为表体的外键,表体主键为当前流水号。
(5)装配表包含内包间成品与容器的装配和中间站容器与托盘的装配,分别设计一种表格式,且表主键均为当前流水号。
(6)成品验证表,即总盘点处的要成品检验环节,重点记录检验结果。主键为当前流水号。
(7)环境信息表,即检测各环节车间的温湿度信息,根据各车间温湿度独立的场景,设计为表头和表体分离的一对一方式以应对数据的冗余问题。
SQL Server 适用于C/S 架构下在Windows 操作平台下的开发,因此成为本课题药品加工监控系统的开发首选。基于SQL Server 数据库软件,数据库结构如图5 所示,其中各表的主键为“pk”,外键位“fk”,各表间由“fk”相关联。
图5 数据库结构
软件分层可以减少系统耦合,使结构更加清晰,有利于软件的开发和维护。这里的接口指的是由服务器调用的用于与数据库交互的数据库访问层(DAL 接口)的封装。基于上述系统功能模块划分和数据库设计,在软件开发过程中将使用以下几项来讨论界面设计,包括接口名称、返回值以及参数等。下面从系统启动、用户登录、预装载指令、操作过程和其他过程来说明。
(1)系统启动。当系统启动时,先确保服务器处于运行状态,然后启动客户端软件连接服务器获取用户操作位置。
(2)用户登录。该接口用于验证用户的登录操作,查看用户名、密码和权限是否一致,并获取登录的返回值,验证系统预加载指令模块打开成功。
(3)得到指令。该接口用于用户成功登录后的加载指令阶段,即查找需要执行的生产订单任务。
(4)过程监控。此接口用于每个流程查看已进入或离开流程的材料信息,以及在信息进入或离开流程时的监视记录。
(5)注销并装配。注销接口包括在筛选间的药品包装的注销和在内包间中的物料容器的注销。装订包括内包间药成品电子标签与容器装配,即将中间站容器与托盘装配。
3.1.1 搭建测试平台
选择软件测试平台,为保持一致性,接口测试选用Microsoft Visual Studio 2010 编译器,Microsoft.netframework 4.0 框架环境,由C#程序设计语言进行设计开发。因为Winform 程序对硬件要求低,开发使用简单,很适合此处的纯软件测试,因此接口测试使用Winform。
3.1.2 测试环节
根据系统的业务要求,逐步进行预载入指令等以下5 步工序,同时进行与数据库DAL 接口测试。
(1)选取药材出库生产环节;
(2)预载入指令环节;
(3)筛选间测试环节;
(4)内包间绑定测试环节;
(5)中间站数据流对接环节。
在智能药品管理系统DAL 函数的功能测试成功后,系统可与数据库进行交互获取指令。在当前得到指令的要求下,按照生产工序实现数据流的正确采集和流通。
搭建并调试完成硬件测试平台和软件测试平台后,进行整个系统的联合测试。
3.2.1 硬件测试平台
按照图6 连接整个硬件系统,保证各部分正常工作。
3.2.2 软件测试平台
需要在客户端和服务器分别安装“智能药品生产管理系统客户端软件”和“智能药品生产管理系统服务端软件”。
3.2.3 整体测试结果
在服务器端,配置温度和湿度的上限和下限。设置完成后,与数据库进行交互。在服务器上,输入正确的用户名和密码进入系统。成功登陆系统后,载入指令。红外传感器探测到药品,读写器读写标签信息,判断是否是正确的药品。当有药材包进入时,如图7 所示。
若正确对药品称重、标签读取和注销,得到标签数据后更新绑定时间,之后需要进行成品的验证,读取的成品个数是否匹配。当验证符合要求后,成品入库,生产环节结束。
对药品的智能化监管时实时查看生产进度和工作状态十分重要,可以及时进行调整,实现真正的智能化管理。查看生产进度如图8 所示。
3.2.4 分析测试结果
正确操作每个环节,采集并处理数据,然后连续测试系统,最后与传统的药品监管生产水平进行比较。结果显示,智能化药品生产管理系统优势明显:数据处理采集效率可以提高80%;可完全消除解决药品丢失和错误周转的情况;提高了生产效率,有实时错误报警通知,可实时查看工作状态和生产进度。综上所述,该RFID 智能药品管理系统系统有很强的应用场景,提高了企业的生产质量和管理水平。
图6 硬件测试平台连接
图8 查看生产进度
利用超高频RFID 技术,结合传感器实现了对药品智能化生产与管理。设计的智能化系统在软件硬件平台支撑下,相比传统的人为生产监管具有明显优势,提高了企业的生产质量和管理水平。