智能化医药冷库管控系统的设计

2018-01-18 11:34
制造业自动化 2017年10期
关键词:冷库入库远程

(东华大学 机械工程学院,上海 201620)

0 引言

随着国内低温医药市场的迅速发展,冷藏药品的年度增长率已高达15%[1],医药冷库具有广阔的市场前景,但同时也面临着一些问题。一方面,医药冷库自动化、信息化程度较低,由于药品名多为复杂的专业名称,人工记录时效率低,易出错;而且传统医药冷库需要操作员进入冷库中进行药物的存取和盘点,低温环境会给操作员带来安全隐患。另一方面,现有的医疗信息系统,如LIS系统[2],其中的数据库仅用于数据的存储和管理,并不涉及运动过程的控制调度,因此信息系统与控制系统相互独立,彼此之间无法进行实时的信息传输,管理人员不能及时根据冷库状态作出调整,可能会对企业造成严重损失。

针对以上问题,本文设计了将数据库作为“大脑”的智能医药冷库系统,数据库负责存储药品、用户以及仓位等的基本信息并产生流程调度所需的中间参数,实现对机器人运送药品的自动控制;同时通过浏览器或微信平台可以远程访问数据库,实现了对冷库状态的实时监控。

本系统以LabVIEW作为上位机的软件开发平台,使用串口和无线通信将机器人运动状态、冷库温湿度和冷库药品等详细信息通过CAN总线传递至上位机,并存储在数据库中。通过队列实现多线程指令对数据库的有序化操作,合理调度各部分运作。此外利用Socket网络编程技术,通过对冷库的远程多点监控,使管理人员及时获取信息,提高决策效率,实现医药冷库管理迈向智能化和信息化。

1 系统整体架构

本文设计的智能化系统将主要由基础采集层、数据层、应用层和用户层四部分构成,关于系统的整体框架如图1所示。

对于智能医药冷库系统各层次主要功能介绍如下:

1)基础采集层:由条码识读仪、各类传感器和A/D转换模块组成。根据上层指令完成对药品、温湿度、机器人运行参数和工作画面的采集。利用CAN总线将系统内的信号数据传输至通信转换模块,并采用串口和无线通信将信息传递至上层工控机。

图1 系统整体架构示意图

2)数据层:一方面实时存储用户信息、药品信息、冷库内温湿度等大量基础信息,另一方面存储机器人运行的中间参数,用于实现流程有序调度。

3)应用层:分为系统后台管理部分和用户远程访问平台。系统后台管理部分包括系统对各类信息调用和用户访问的接口,用户远程访问平台能够响应用户的访问需求,实现不同用户阶层下的功能。

4)用户层:智能医药冷库是为医院、制药企业开发设计的。面向的用户有:患者、医生、冷库管理员及疫苗安全管理专员。

2 系统分析与设计

2.1 功能设计

结合实际要求进行需求分析,是系统设计和开发的基础。通过调查研究,确定了用户对医药冷库的需求并对功能进行划分,图2为系统功能图。

图2 系统功能图

1)药品管理自动化。药品的入库、出库和库存盘点由上位机控制机器人完成。以药品入库为例,ERP系统中的采购清单直接导入系统,在LCD屏上显示入库清单,机器人按照入库清单依次执行入库任务;

2)监控管理多点化。本系统中的监控主要是对冷库温湿度、机器人状态和药品库存量这三部分进行的监控。远程用户能随时通过网页或微信公众平台实现对冷库的监控:实时显示温湿度信息,超限报警;实时显示机器人正在执行的任务进程以及各仓位中药品的存量及有效期[3];

3)系统安全性。对不同角色设置了对系统的不同操作权限,通过用户登录和注册界面保护系统数据安全。

2.2 数据库设计

在本智能冷库管理及控制系统中,数据库处于核心位置。人机界面、机器人和远程终端都与数据库进行信息交互,从数据库中获得下一步动作的状态参数,在此过程中,可能会同时产生多个操作数据库的指令。所以,在设计过程中面临如何建立数据间的关联性和解决流程调度的难点。

图3 入库时数据关系图

首先应明确各阶段对数据库的操作步骤。冷库对药品的操作分为入库、出库和库存盘点,我们以药品入库过程为例,如图3所示。当有药品入库时,查询冷库中是否已有此药品,如果库中已有,则在子界面上显示此药品的关键信息,便于操作员确认;如果此药品是新药品,则将药品的具体信息新增至药品信息库。药品供应商的操作与此相同。随后,根据仓位分配算法如遗传算法等自动选择最优仓位,生成入库清单。为了保证后续仓位分配计算的准确性,设置虚拟的预设库存,把入库量先计入库存信息中。同时,具体入库信息存入入库表中。接着向机器人发送带有仓位信息的入库任务列表,机器人逐条执行,每次执行完成后向上位机返回完成信号,入库表中的入库标志位和库存表中实际库存量随之改变。这样,以下位机反馈的信号来判断药品是否真实入库,可以避免因机器人故障而引发的库存记录错乱。

为了在数据之间建立清晰的关联,需建立多张表对信息进行分类存储和处理。不仅同一库中的表具有数据关联性,不同数据库间的数据也具有一定的联系性[4]。

图4 入库E-R模型图

本文通过将药品、供应商、库存信息和入库信息实体化,建立基于有向数据流的E-R模型,如图4所示。入库时库存和入库之间首先具有n:1的联系,当收到机器人入库完成指令后,根据入库表更改库存表中的实际库存,此时二者之间的联系是1:1。该模型可以明确实体属性和彼此联系,帮助我们创建和设计合理的数据库[5]。

据此我们可以建立供应商字典、药品字典、入库表、库存表等。系统中共建立9张数据表,在此仅列出入库表,如表1所示。值得注意的是,入库表和出库表实质上也是机器人任务的记录表,由此建立了机器人运动和数据库操作之间的关联。

可看出本系统中智能化的数据库不仅作为“信息仓库”对数据进行存储,还作为“大脑”实现动作跳转和流程调度。记录了当前机器人的动作状态,是自动化过程的参与者和记录者。

3 系统实现

3.1 机器人模块硬件

在本系统中,机器人模块是冷库自动化的关键模块。硬件设计方案如图5所示。

图5 机器人模块硬件示意图

运动控制部分主要由GALIL运动控制卡组成,运动控制卡通过串口与通讯转换模块通信,实现串口数据与CAN报文数据的相互转换,并采用实时性强的CAN总线网络经由通讯转换模块与上位机管理层通信。考虑到工艺及位置精度要求,机器人驱动系统设计采用半闭环伺服控制,表2为机器人模块主要硬件索引表。

表1 入库表

表2 主要硬件索引表

3.2 上位机软件设计

软件系统采用LabVIEW平台开发,使用图形化的G语言进行编程,大大缩短开发周期。为了便于系统在“互联网+”的大背景下扩展新功能,将系统划分为数据库模块、机器人模块、远程终端模块和界面模块4个模块。

3.2.1 数据库模块设计

每个模块都作为一个独立运行的线程,并且这种多线程的形式是实际流程中的客观需要。但是,涉及数据库的线程彼此之间互不通讯,而且在运行过程中,不同线程产生的操作数据库的指令是无序的,为了保证流程有序执行,编程时采用LabVIEW中“生产者—消费者”模型[6],即将其他模块作为指令的生产者,数据库模块作为消费者,通过队列作为缓存,使指令在进入数据库线程时自动排序,解决了多线程的指令冲突问题。

多源指令串行进入数据库后,数据库根据已有的信息和指令的排列顺序进行判断,调用相应子VI实现功能。编程时采用子VI的方式实现模块化,每个子VI内封装一种对数据库的具体操作,如查询、插入、删除等。这样使程序结构清晰,提高了程序的重用性和可扩展性。

数据库使用了在Web应用中广泛使用的MySQL数据库。建立LabVIEW与MySQL数据库之间的连接时采用ODBC数据源连接的方式:从LabVIEW自带的LabSQL工具包中选取ADO Connection Create、ADO Connection Open、SQL Execute和ADO Connection Close,访问数据库的框架。将标准的SQL语句从SQL Execute输入端输入,实现对数据库的操作。

3.2.2 机器人模块设计

在机器人模块中,主要任务就是将数据库发来的任务列表转换为下位机能识别的机器语言,并通过串口通信将任务逐条发送至下位机。

数据库发送的任务列表进入机器人线程中后,首先通过LabVIEW中函数->编程->结构->条件结构来判断任务的种类,即入库、出库、暂停、启动等,之后根据任务种类进行翻译,表3为入库时发送至下位机的指令格式。其中字节数表示除去帧头的字节个数,ID表示CAN地址和电机地址,16进制的命令字0X49表示入库“I”,X、Y、Z表示目标仓位的坐标,即三个电机轴运动的绝对坐标。

表3 入库时上位机发送的通讯格式

串口通信使用LabVIEW中的VISA函数实现,配置波特率为19200,数据位为8,停止位为1,循环读取串口数据的时间间隔为100ms。

3.2.3 远程终端模块设计

手机和无线网络的发展,使得移动终端越来越便捷,通过手机等移动终端远程监控冷库已成为企业的强烈需求[7]。远程终端模块包括由LabVIEW编写的客户端以及由PHP编写的服务器端。采用了Socket网络编程技术和TCP/IP网络通信协议实现数据通讯。为了实现远程移动终端对冷库信息查询,更新,录入等功能,利用网络端口Socket将操作指令由服务器端发送至客户端线程,再按照指令协议对数据库的相应操作,最后将所需数据信息打包成规定格式的字符串再由Socket端口返回远程端。同时,将PHP与网页前端技术结合编写了用户注册、登录和操作界面,在微信公众开发平台建立了用于查询,更新和录入的服务公众号,并为不同用户提供了不同的操作界面。

3.2.4 界面模块设计

根据功能需求,设计了初始化界面、入库界面、监控界面等多个人机交互友好的界面。

编程时先根据选项卡控件判断在哪个界面上,接着利用LabVIEW中的事件结构,通过鼠标操作的不同事件的发生,实现对子界面、数据库的相应操作。

3.3 系统应用实例

本文提出的智能医药冷库信息管理及控制系统已经成功应用于苏州市某生物科技公司,实现了低温药品自动化存储,解决了企业管理自动化程度低、信息交互不及时等问题。

图6是冷库管理员在手机微信端的操作界面,冷库管理员可以查询、修改药品余量、是否过期等信息,也可以查看由历史数据制作的进出药品量报表。图7中(a)图是系统入库界面图,药品的入库清单中包含了药品信息,所存放的仓位等信息,已经入库完成的显示灰色,正在入库的显示绿色,操作员可以对还没有入库的项目进行修改或删除。图7中(b)图是监控平台,监控冷库温湿度、机器人运行和库存量等,如果有异常情况,报警灯亮,同时会向远程微信端推送或短信向管理员报警信息。操作员可在此界面中迅速定位异常来源,并通过记录详细数据的子界面分析故障具体原因。

图6 冷库管理员界面

从图6和图7可以看出,该系统将自动化冷库中的货品数据、环境数据、设备数据都实时显示出来,实现了信息实时交互。当冷库出现异常时操作人员可以根据各项数据及时定位故障点,保障冷库药品的安全。

4 结束语

本文针对医药冷库的实际工作需求,设计完成了一套以数据库为核心的智能医药冷库管控系统,该系统实现了对庞大冷库信息的管理、对机器人运送药品的自动化控制,以及通过浏览器或微信平台对冷库状态的监控。系统简洁易操作,稳定性强,在企业冷库管理中能发挥巨大作用。苏州市某生物科技公司引入此系统后,无需操作人员进入冷库,药品平均入、出库时间比之前大大缩短,故障诊断的准确度也大幅提升。并且,企业管理人员可以通过互联网在远程端看到冷库相关数据的统计和分析,为企业管理增加了智慧元素,提高了企业竞争力。

图7 系统操作界面

[1]陈军慧.医药冷链物流中心的布局规划及信息平台构建[D].武汉理工大学,2013.

[2]薛明.浅析自动化立体仓库的应用及发展[J].物流技术,2014(2):47-49.

[3]饶忠炜,邵扬,马杰,等.智慧车间信息感知与分析系统[J].现代制造工程,2017(5):22-27.

[4]王雄,杨瑞峰,郭晨霞,等.基于ZigBee无线环境监测网络系统设计[J].科技通报,2017,33(4):144-147.

[5]梁成.天津市第三中心医院药品管理系统的设计与实现[D].电子科技大学,2014.

[6]吴继华.基于CPS的机床监控系统设计与实现[D].桂林电子科技大学,2015.

[7]赵宏军,王啸,盛志宇.移动终端智能工厂建设框架构想[J].制造业自动化,2017,39(6):16-18.

猜你喜欢
冷库入库远程
让人胆寒的“远程杀手”:弹道导弹
冷库上“云端” 共享促共富
远程工作狂综合征
重磅!广东省“三旧”改造标图入库标准正式发布!
中国食品品牌库入库企业信息公示②
中国食品品牌库入库企业信息公示①
四十余家肉类企业被暂停进口
善良不会被辜负
远程诈骗
身临其境探究竟 主动思考完任务——《仓储与配送实务》入库作业之“入库订单处理”教学案例