APP下载

药房快速发药系统中的上药管理与控制研究

2016-09-23梁晨艳

导航与控制 2016年4期
关键词:上药机械手药房

梁晨艳,高 芳

(航天科技集团九院16所机器人事业部,西安710100)

药房快速发药系统中的上药管理与控制研究

梁晨艳,高 芳

(航天科技集团九院16所机器人事业部,西安710100)

随着社会的进步以及医疗行业的发展,药品种类越来越多,医院规模也在不断扩建,医院药房药品的补充及取药问题尤为突出,目前传统的药房工作效率低,工作人员劳动强度大,补药与取药供需不平衡导致患者等待时间长。基于.net平台,采用C#语言以最优的路径实现了自动化药房快速发药系统自动和手动药品的补充。这一研究利用自动化设备代替药房工作人员完成药品的补充及发药,缩短患者取药等待时间,并且方便药品的管理,这对提高医院药房工作效率及自动化程度具有一定的参考价值。

快速发药;自动化程度;最优路径

0 引言

当今社会科学技术不断发展,特别是自动化控制技术和计算机技术已深入到各个领域,尤其在医学领域中应用广泛[1]。随着医院药品种类和数量的不断增加面临的发药时间长、发药准确性下降等问题日益突出,如何有效管理、降低管理成本、快速进行药房药品的补充及减少发放药品的差错率、减轻工作强度是当前医院药房亟待解决的难题。

自动化药房在全球很多比较发达的国家应用的比较普遍,已经成为国际上在药品商店零售领域内一项应用较为成熟的技术。此项技术通过人工智能和机械传输手段,可以很大程度上提高药品在零售终端储运的效率,减少药品的差错率,并且节约宝贵的药店营业面积,从而带来药店经营方式的转变和运营模式的升级[2]。与传统的药房比较,自动化药房具有省时准确等特点,从医院角度来看,自动化药房不仅可以提高经济效益,更重要的是可以革新服务理念和服务模式[3]。目前自动化药房理念已被越来越多的医院管理者及药房管理者所接受,也已深入到实际的应用中,在一些三甲医院中,几乎都用到。自动化药房快速发药设备改变了传统药房管理人员的工作方式,提高了工作效率,使病人取药的时间得以缩短,医院更加人性化。

本文为了改善目前医院人工的上药方式,减少药师的劳动强度,通过设计快速发药系统中的自动与手动上药方式、PLC控制系统,设计上位管理软件与伺服控制器的通信,从而控制电机、IO点、电磁铁等动作,完成药品的出药、上药等,同时提供给用户直观的操作界面和必要的功能。

1 上药系统构成及工作原理

快速发药上药部分是通过机械手完成药品的补充,整个上药部分由药柜、机械手、上药平台、扫描枪、PC机、上药控制系统组成。共有两个药柜,每一个药柜有8层,每层有22~31列不等(列数为可变,可根据药盒宽度来调整列宽),每列平均放置10个药盒。上药机械手位于药柜后方,在自动上药时根据补药单里的缺药种类,操作人员扫描待补药品的药品条码,药品信息出现在自动上药界面,操作者人工将药品放置到上药平台左出药口或者右出药口,或者左右出药口同时放药,操作人要点击上药指令,上药夹板将药品加紧,机械手通过X水平轴与Y垂直轴的相互动作,走到药品的相应储位,拨药机构动作将药品拨入药槽相应位置,拨药机构依次将药品拨入,直到补药结束或者药品不够时,机械手回到人工上药位并停止动作。系统组成如图1所示。

图1 上药系统组成图Fig.1 Diagram of prescription system

2 上药管理软件设计

上药管理模块主要负责进行人工或者自动上药,完成药品的补充工作。上药软件分为自动上药和手动上药两部分,整个软件能够进行自动上药与手动上药界面的切换,能够按照药品编码进行药品所在的储位、缺药量、规格等情况查询功能,可进行一种或两种药品的同时上药,具有操作人员和图形化的储位显示功能,同时具有手动上药提示指示灯功能。

2.1人工上药

人工上药时首先进入图形化的储位显示界面,在此界面当药品缺药量低于设定的药品下限时,该储位显示红色,正常为蓝色,药品满时显示黄色。点击缺药的储位即可进入人工上药界面,在图形化的储位显示界面可一次选择一个也可选择两个或者三个储位同时上药,选择后进入到人工上药界面,输入要上药的药品数量,核对药品信息,信息无误后点击确定。通过上位软件与PLC的通信,所上药品的储位指示灯进行闪烁,同时该药品所在层的PU圆带转动,人工将药品放入所在的层,再由PU圆带将药品输送到储位。在上药部分对于PLC反馈的信息是通过线程实时的读取更新,当收到线程反馈的数据时更新数据库里的药品数量。

2.2自动上药

自动上药主要是利用机械手完成药品的补充,操作人员根据补药单,扫描要上的药品条码,上药界面显示要上的药品数据,根据界面显示将药品放入相应的上药平台,然后点击开始命令。将药品的数量、药盒宽度、药品储位及各储位的缺药量及相对于人工上药位的水平与垂直方向位置坐标(X,Y)发送与PLC,PLC根据得到的数据,控制机械手运动到相应的槽位。将放药台上的药品上完或者所有药槽上满后机械手回到人工上药位。PLC端将各个储位的上药数量、机械手号、任务完成信号反馈给上药软件,根据反馈在任务完成线程里实时地进行数据更新。

自动上药中可以只上一种药也可以同时上两种药,当两种药品同时上药时先动作机械手1运动到左出药口进行药品的补充,直到左边上完然后动作机械手2到第二种药品所在的储位进行上药,然后回到人工上药位。当只上一种药品时,控制相应药品所在机械手进行动作,完成药品的补充,然后回到人工上药位。机械手的选择是通过计算行程范围算出各自机械手的上药范围,然后将数据库里的storetable库存表里的字段ghstate根据各个机械手能到达的行程范围进行标记,只能1号机械手上的储位的ghstate字段标记为1,只能2号机械手上的储位的ghstate字段标记为2,1 和2号机械手都能进行上药的标记为3,这样就可以完成机械手的选择了。

3 上药模块控制系统设计

上药部分控制系统主要是通过通信接收上位发送来的药品信息,同时按照药品的储位进行路径规划,控制机械手的各个轴动作,以最短的路径完成储位的药品补充。当药品补充完成后反馈给上位软件相应的药品数据,进行数据库表数据的更新。

3.1上药控制系统流程

整个上药部分的控制系统采用贝加莱公司的X20系列PLC作为控制器,贝加莱X20系列PLC具有高速的指令处理能力、浮点数运算能力,还具有方便用户的参数赋值,人机界面、诊断、口令保护等功能,兼容大部分主流现场总线,适合各种工业控制领域[6]。上药部分控制系统采用X20CP1583 PLC控制4个伺服电机和3个步进电机,控制水平轴、垂直轴,拨药机构,挡板,加药机构,变频器、电磁铁、对射开关[7]。

上位软件将上药的药品信息发送给PLC,PLC控制上药机构夹板加紧药品,检验上药参数是否合理。药品参数合理的话判断上药位1是否需要动作,否的话,判断上药位2是否需要动作,需要动作的话进行上药路径规划。上药机械手开始运动到1号上药位的储位,同时该储位所在层的电磁离合器吸合,1号上药机构夹板松开一定距离后拨药,1号对射开关有信号后夹板推进一定距离,进行上药。上药未完成的话继续之前操作,上药完成的话接着判断2号位是否上药,不需要上药的话1号储位的该行电磁离合器松开,PLC反馈任务完成信号及机械手号、上药数量,机械手返回原点,挡板归零,夹板归零;2号位需要上药的话判断2号位的上药参数是否合理,合理进行上药储位路径规划,然后判断2号储位是否和1号储位在一行,不在一行的话2号位的该行电磁离合器吸合,1号位的该行电磁离合器松开,在同一行的话上药机械手开始运动到2号位,调整2号挡板距离,2号上药位夹板松一定距离后拨药,2号对射开关有信号后夹板推进一定距离,判断2号上药是否完成,未完成进行之前操作,完成的话2号储位的该行电磁离合器松开,PLC反馈任务完成信号及机械手号、上药数量,机械手返回原点,挡板归零,夹板归零。上药控制工作做流程如图2所示。

3.2上药控制系统路径规划

上药控制系统在接收到上位发送的药品的储位后,控制机械手运动到药品所在储位,直到将放药台上的药品都上完,或者是将所有缺药储位都上满,才回到人工上药位。这一过程需要进行储位路径的规划,以最短的时间与最近的距离,完成各储位间的药品补充,从而提高整个机构的上药速度。

目前对于最短路径的研究有多种算法,比较知名的有弗洛伊德算法和迪杰斯特拉算法,迪杰斯特拉算法是目前最好的算法,又叫狄克斯特拉算法,是从一个顶点到其余各顶点的最短路径算法,解决的是有向图中最短路径问题。迪杰斯特拉算法主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。

假设现在有N个储位,储位的分布情况如图3所示,借助迪杰斯特拉算法的思想,以人工上药位作为零点(起点),以两个储位点之间的距离作为权值,同时考虑每个储位的缺药量与上药平台所放的药品数量,这样就构成了一个带权图G[8]。但其又不同于传统带权有向图,其每个储位之间都存在弧,通过各储位的坐标点的X和Y值(X和Y的值来自上位机软件),先算出离零点最近的储位进行上药,然后再以该储位作为起始点,通过计算此点与其他储位点之间的距离,比较出离其最短距离的储位,作为下个起点,依次方法寻找下个储位,直到遍历完所有结点。首先将储位集合V分成两组,S为已求出的储位的集合(初始时只含有起始点V)S={V0} ,T=V-S为其余顶点的集合,初始时T的储位集合为T={V1,V2,…,Vj},D[ j]为两点之间的距离,M[ i]为每个储位的缺药量,在接收到储位时PLC默认以缺药量的多少作为接收顺序,整个上药控制系统采用结构文本(ST)编程语言编写,设计算法如下[9-10]:

图2 控制系统流程图Fig.2 Flow chart of control system

1)以人工上药位V0为上药起始点。

2)比较T集合中的储位与人工上药位V0之间的距离,人工上药位坐标值为(0,0),通过计算每个储位的坐标点与V0的距离,计算方法D[ j]=计算出来的路径最短的储位为Vj,则将该储位加入集合S={V0,Vj},同时在T集合里删除该储位,此时T= {V1,V2,…,Vj-1}。然后机械手走到位置Vj,开始上药,PLC端对所上药品计数,当上药台上药品在该储位上完,则机械手回到人工上药位;上药平台上还有药品时走下一个离Vj最近的储位。

3)当路径相同时,选择缺药量最大的作为新的起点。

4)以Vj作为起始点,比较T集合中剩余的各个储位与人工上药位之间的距离,选出新的储位,重复步骤2。

5)依次遍历完T集合里所有的点。

6)最终的集合S={V0,V1,V2,…,Vj},T={φ}。

图3 上药储位分布图Fig.3 Distribution chart of storing medicine

4 上药模块软件与控制系统通信设计

上位软件与控制系统采用Modbus TCP/IP进行网络通信,网络通信一般采用socket通信,应用程序通过调用系统提供的socket库函数来实现通信[11]。在系统中上药、出药、盘点都要调用通信函数,由于各模块的不停地调用通信函数,为保证在各自模块操作时不干扰其他模块的通信,将通信函数写为线程,写在主界面里[12]。上位软件与PLC的通信是将数据写入PLC端的寄存器地址中,在PLC端定义 AIN[700]与AOUT[400]地址空间,分别进行与上位的读写操作,将PLC 段0~200的地址空间给上药部分,这部分用到的函数主要有:

private void btnWriteMultipleReg_Click(int[]arr_write,int StartAddress,int part)

写多个寄存器,int[]arr_write,为定义的写数据区域,这里将写区域定义为700,int StartAddress,为写区域的开始地址,int part为这段写区域的长度,在这里读和写的每一段区域的长度为100。

private void btnReadMultipleReg_Click(int[]arr_ read,int StartAddress_read,int part_read)

写多个寄存器,int[]arr_write,为定义的写数据区域,这里将写区域定义为700,int StartAddress,为写区域的开始地址,int part为这段写区域的长度。

public byte[]ReadInputRegister(int id,int startAddress,byte numInputs)

读输入寄存器,使用该功能码读取连续输入寄存器,int startAddress,为读取的开始地址,byte numInputs为读取的长度。

public void WriteMultipleRegister(int id,int startAddress,int numRegs,byte[]values)

写多个寄存器函数,使用该功能码写连续寄存器块,int startAddress,为寄存器快开始的地址,int numRegs,为要写块的长度,byte[]values为要写的数据。

GetData_read(int[]arr_read,int part,byte[]readdata)

读取数据,int[]arr_read,为读取的数据长度,int part为读取的区域,byte[]readdata为读取的数据。

5 结论

本文以自动化药房系统中的快速发药设备为研究对象,基于.net平台,采用C#语言通过对快速发药设备中的上药系统构成及工作原理、上药流程、上药机械手控制运动及上药路径规划等的研究,以最优的路径实现了自动化药房快速发药系统自动和手动药品的补充。该研究可以及时准确地完成药品的补充及发药,缩短患者取药等待时间,并且方便药品的管理,随着医院自动化程度的提高及越来越多的大小型医院都在引进自动化设备,这一研究为后续自动化药房的推广及研究提供了新思路。

[1] 李连新,付燕霞.医院药房自动化摆药的设备应用现状与评估[J].临床误诊误治,2011,24(2):73-75. LI Lian-xin,FU Yan-xia.Application and evaluation of automatic equipment of pharmacy dispensing in hospitals[J]. Clinical Misdiagnosis&Mistherapy,2011,24(2):73-75.

[2] 龚从扬.模块化快速发药机的研究与开发[D].南京航空航天大学,2012. GONG Cong-yang.Research and development on modular fast medicine dispensing machine[D].Nanjing University of Aeronautics and Astronautics,2012.

[3] 陈杰.自动化药房快速发药系统的研究[D].南京师范大学,2014. CHEN Jie.Research on fast drug delivery system of pharmacy automation[D].Nanjing Normal University,2014.

[4] 齐蓉,肖维荣.可编程控制器技术[M].北京:电子工业出版社,2009. QI Rong,XIAO Wei-rong.Programmable controller technology[M].Beijing:Electronics Industry Press,2009.

[5] 汪晓光,孙晓瑛.可编程控制器原理及应用[M].北京:机械工业出版社,2002. WANG Xiao-guang,SUN Xiao-ying.The principle and application of programmable controller[M].Beijing:China Machine Press,2002.

[6] 严蔚敏,吴伟民.数据结构[M].北京:清华大学出版社,1997. YAN Wei-min,WU Wei-min.Data structure[M].Beijing:Tsinghua University Press,1997.

[7] Cormen T H,Leiserson C E,Rivest R L,Stein C.算法导论(第三版)[M].北京:机械工业出版社,2013. Cormen TH,LeisersonCE,RivestRL,Stein C.Introduction to algorithms(3rd)[M].Beijing:China Machine Press,2013.

[8] 邱林.算法分析与设计[M].北京:清华大学出版社,2011. QIU Lin.Algorithm analysis and design[M].Beijing:Tsinghua University Press,2011.

[9] 刘启文,孙传林.TCP/IP协议网络通信Socket结构的设计与应用[J].微型机与应用,1993,24(12):31-34. LIU Qi-wen,SUN Chuan-lin.Design and application of TCP/IP protocol network communication Socket structure [J].Micro Computer and Application,1993,24(12):31-34.

[10] 明日科技.C#从入门到精通(第3版)[M].北京:清华大学出版社,2012. Tomorrow's Science and Technology.C#from the entry to master(3rd)[M].Beijing:Tsinghua University Press,2012.

The Prescription Management and Control System Research of Pharmacy Rapid Drugs Delivery System

LIANG Chen-yan,GAO Fang
(The 16thInstitute,China Aerospace Science and Technology Corporation,Xi'an 710100)

With the development of society and medical industry.A lot of problems in medical industry are gradually revealed,such as:increasing drug category and expanding hospital scale.Especially in drugs replenishing and receiving in traditional hospital pharmacy,the low work efficiency of the pharmacy and unbalance between drugs replenishing and receiving cause high strength for staffs and long waiting time for patients.This article based on.Net platform,using C#language,through optimal path algorithm,to achieve a rapid drugs delivery system that could replenish and delivery drugs both automatically and manually.This study use automation equipment instead of pharmacy staffs to replenish and delivery drugs,shorten waiting time for patients to receiving their medicines,and facilitate the drugs management,this has a certain reference value to improve the hospital pharmacy work efficiency and automation degree.

rapid drugs delivery;automation degree;optimal path

TP273.5

A

1674-5558(2016)01-01205

10.3969/j.issn.1674-5558.2016.04.006

2015-10-12

梁晨艳,女,工程师,研究方向为计算机应用及自动化控制。

猜你喜欢

上药机械手药房
广告索引
一种用于厢式压滤机的可调节悬浮机械手
面向自动化药房的搬运机器人设计
皮肤科药房开展药学服务效果观察
基于机器视觉的开关操纵机械手研究
治口疮验方
人体体感感知机械手设计与实现
医院药房会计核算工作中存在的问题及其建议探讨
拆弹帮手
宫颈环切术治疗上药治疗无效的宫颈炎的效果观察