控制技術(shù)在中藥智能配藥系統中的應用
中藥智能配藥系統(Intelligent Dispense System for Chinese Medicine)是隨著(zhù)中醫院流程系統管理向電子化、網(wǎng)絡(luò )化的方向發(fā)展而產(chǎn)生的。該系統工作的過(guò)程是:首先通過(guò)醫院內部局域網(wǎng)將在終端電腦上開(kāi)出的處方傳至藥房配藥主控計算機,然后由主控計算機在查詢(xún)藥品數據庫的基礎上形成配藥指令并下達給配藥機器,完成配藥過(guò)程。同時(shí),主控計算機在配藥機器終端的液晶顯示屏上顯示患者信息,并驅動(dòng)打印機輸出處方的綜合信息,將處方綜合信息連同配藥機器輸出的配好的分帖包裝中藥一起交付患者使用。中藥智能配藥系統的控制系統可分為機電控制系統和上位機軟件控制系統,其結構框圖如圖1所示。
本文引用地址:http://dyxdggzs.com/article/201706/350403.htm1 機電控制系統
機電控制系統為分層分布式結構,采用上位機+下位機+集成電路板的技術(shù)進(jìn)行綜合控制。其電路系統結構框圖如圖2所示。具體介紹如下:
(1)上位機使用PC機,負責管理級和監控調度級的控制。上位機不采用工控機的原因是因系統對于界面、數據庫處理及網(wǎng)絡(luò )聯(lián)系等均有較高的要求。上位機的主要功能是將人機界面輸入的二進(jìn)制編碼信息通過(guò)RS-232串口傳送給下位機,并對下位機的工作狀況進(jìn)行實(shí)時(shí)監控,完成藥方打印和液晶顯示。另外,它與藥品管理信息系統之間的信息交互,是通過(guò)醫院內部的局域網(wǎng)來(lái)進(jìn)行并采用TCP/IP協(xié)議實(shí)現的。
(2)下位機負責設備級控制。其功能是接收并解碼上位機發(fā)送的二進(jìn)制配藥信息,然后根據配藥信息選定所需藥品,驅動(dòng)相應集成電路板進(jìn)行下藥控制,并驅動(dòng)機械手進(jìn)行定位、取出藥品、包裝成袋,連同打印藥方一起交付患者。下位機之所以采用PLC而沒(méi)有選擇價(jià)格相對低廉的單片機,原因之一是為了滿(mǎn)足中藥配藥機對高速運作的要求,X軸導軌和Y軸導軌均采用伺服電機驅動(dòng),而單片機對伺服電機的控制能力相對較差,很難做到精確控制;原因之二是中藥智能配藥系統對可靠性的要求很高,而單片機的穩定性與PLC相比要差一些,且容易受到外界電磁的干擾。
(3)下藥直流電動(dòng)機的控制采用以ALTERA公司的ACEX1K芯片為核心的集成電路板來(lái)完成。在該芯片中集成了在Max+plus II開(kāi)發(fā)系統中用VHDL語(yǔ)言編寫(xiě)的控制、計數和定時(shí)功能。該電路板的功能是接收從PLC發(fā)來(lái)的命令和藥品質(zhì)量數,控制電動(dòng)機的轉數,在0.07g/轉的精度下完成規定重量的下藥。由于本系統使用了多達420個(gè)下藥直流電機,因此采用可減少I(mǎi)/O點(diǎn)數及PLC布線(xiàn)的集成電路板。該系統的所有下藥電機由28塊集成電路板分別控制,每塊集成電路板控制的下藥部分相對獨立。這樣,檢查和維修不受位置限制,具有較高的可靠性和性?xún)r(jià)比。
1.1 PLC控制
1.1.1 PLC配置
本系統PLC配置采用OMRON公司的C200HE型PLC,并在其基礎上擴展了一個(gè)16點(diǎn)繼電器型開(kāi)關(guān)量輸出模塊C200H-OC225、一個(gè)32點(diǎn)晶體管型開(kāi)關(guān)量輸出模塊C200H-OD215、兩個(gè)16點(diǎn)開(kāi)關(guān)量輸入模塊C200H-ID212和一個(gè)四軸位置控制模塊C200HE-NC413。各模塊的作用為:
(1)兩個(gè)輸入模塊用來(lái)接收配藥機器中各種接觸器的位置反饋或動(dòng)作的故障反饋,對其配置無(wú)特別要求;
(2)兩個(gè)輸出模塊發(fā)出指令,用來(lái)操作配藥機器。繼電器型開(kāi)關(guān)量輸出模塊驅動(dòng)電流大,但不能頻繁動(dòng)作,因此用來(lái)控制所有電磁閥和各種直流電機、步進(jìn)電機;晶體管型開(kāi)關(guān)量輸出模塊則正好相反,且其輸出為T(mén)TL電平,具有可以與其它集成電路接口的優(yōu)點(diǎn),用來(lái)驅動(dòng)集成電路完成下藥操作。
(3)四軸位置控制模塊用來(lái)控制四軸(X、Y、Z、U)互相獨立的兩個(gè)伺服電機和三個(gè)步進(jìn)電機。在X、Y軸上分別配置了兩個(gè)伺服電機,而三個(gè)步進(jìn)電機由于工作時(shí)間互相錯開(kāi),全部配置在U軸上。另外,X、Y軸上各有左右限位開(kāi)關(guān)和原點(diǎn)接近開(kāi)關(guān)3個(gè),Z軸有原點(diǎn)接近開(kāi)關(guān)1個(gè),這樣,共7個(gè)接近開(kāi)關(guān)接到C200HENC413上。該模塊以不超過(guò)10ms的響應時(shí)間從PLC內存取得命令,在500kp/s的高頻脈沖下與PLC內存數據建立映射關(guān)系,完成通過(guò)修改內存數據定位伺服電機和步進(jìn)電機的位置以及通過(guò)內存數據反饋伺服電機和步進(jìn)電機的位置情況的功能。
1.1.2 伺服電機控制電路
在本系統中,配置了兩個(gè)OMRON公司的SMARTSTEP A伺服系統,對X、Y軸完成定位操作,具體控制電路如圖3所示。其中包括四軸位置控制模塊C200HE-NC413、通用控制電纜R88A-CPU002S、伺服驅動(dòng)器R7D-AP04H、伺服電機R7M-A40030-BS1(為帶制動(dòng)器的帶鍵直軸圓柱形電機)。圖中,CN1代表伺服驅動(dòng)器,CN2代表與伺服電機同軸的分辨率為2000脈沖/轉的光學(xué)增量型編碼器用連接器,它可以完成從驅動(dòng)器到伺服電機的具有位置反饋和速度反饋的閉環(huán)控制。在伺服電機中,M代表電機本身,E代表編碼器,B代表動(dòng)力制動(dòng)器。由于固定脈沖代表固定距離,因此當伺服電機接收到控制系統發(fā)出的若干條脈沖指令后,就可以完成預定的定位。在本系統中,設置電機的分辨率為5000脈沖/轉(0.072度/步),伺服電機連接的同軸減速器比例為31,其帶動(dòng)導軌移動(dòng)的速率為60mm/轉。因此,伺服電機帶動(dòng)導軌移動(dòng)的速率為20mm/5000脈沖。伺服電機控制電路的控制原理為:位置控制單元從設備處得到各種控制信號,并根據不同藥罐間的距離與20mm/5000脈沖的數據大致算出映射到四軸位置控制模塊NC413在PLC中的脈沖數據;然后通過(guò)通用控制電纜輸出高速脈沖給伺服驅動(dòng)器,由其驅動(dòng)伺服電機,使之根據誤差反饋自動(dòng)微調該數據,最終達到精確定位的目的。
###NextPage###
1.1.3 步進(jìn)電機控制電路
步進(jìn)電機驅動(dòng)器與C200HE-NC413的連線(xiàn)類(lèi)似于圖3中伺服電機驅動(dòng)器與C200HE-NC413的連線(xiàn),而步進(jìn)電機驅動(dòng)器與步進(jìn)電機間的連線(xiàn)則如圖4所示。本系統中控制機械手擺動(dòng)的步進(jìn)電機采用STONE公司的86BYG250B,驅動(dòng)器采用STONE公司的混合式步進(jìn)電機驅動(dòng)器SH20806C;控制送袋與推袋的兩個(gè)步進(jìn)電機采用SANYO公司的103H548,驅動(dòng)器采用STEP公司的四相混合式步進(jìn)電機細分驅動(dòng)器ST4HB03X。步進(jìn)電機的控制類(lèi)型為不具有位置反饋功能的開(kāi)環(huán)控制,控制方法為在確定運動(dòng)起點(diǎn)與終點(diǎn)的基礎上,將位移或角度改變以200脈沖/轉(0.18度/步)為分辨率轉變?yōu)槊}沖數,寫(xiě)入映射在NC413中的內存位置,從而控制步進(jìn)電機完成定位。
1.2 系統工作步驟
系統中有各種電機、限位、定位用傳感器以及與真空氣泵連接的電磁閥,可以完成取空藥袋、打開(kāi)空藥袋及封裝、輸送藥袋等功能,其工作時(shí)序見(jiàn)圖5。
1.3 PLC程序實(shí)現
利用OMRON的編程軟件CX-Programmer完成梯形圖的編寫(xiě),程序包括如下六個(gè)模塊:
(1)初始化模塊,其功能是將PLC的內存單元初始化,進(jìn)行電氣部分的歸零操作,目的是為配藥系統進(jìn)行運轉做好準備,防止誤操作對系統造成不可挽回的破壞;
(2)接收模塊,其功能是接收上位機界面中輸入的二進(jìn)制編碼的信息(包括藥品種類(lèi)、數量、貼數等),存入預先定義的內存單元;
(3)發(fā)送模塊,其功能是將藥品種類(lèi)、數量等按照數據庫與伺服電機結構中已定義的方式分別轉變?yōu)橄滤幹绷麟姍C位置和轉動(dòng)圈數,并發(fā)送到集成電路板,完成下藥操作;
(4)反饋模塊,其功能是接收來(lái)自集成電路板的直流電機轉動(dòng)停止(即規定重量下藥動(dòng)作完成)的反饋信號;
(5)控制模塊,其功能是在確定下藥過(guò)程完成后,驅動(dòng)機械手完成取空藥袋、打開(kāi)空藥袋、定位及集藥等任務(wù),并驅動(dòng)藥袋封口裝置動(dòng)作,觸發(fā)直流電動(dòng)機帶動(dòng)皮帶轉動(dòng),送出藥品;
(6)故障處理模塊,其功能是接收各處傳感器反饋的接近或故障信號,隨時(shí)停止系統的配藥動(dòng)作,以進(jìn)行故障處理。
此外,在發(fā)送模塊和控制模塊中建立時(shí)間聯(lián)系,使得在一次多貼藥配藥過(guò)程中,下一貼藥的下藥、取空藥袋動(dòng)作與上一貼藥的封口、傳輸動(dòng)作并行進(jìn)行,縮短了配藥時(shí)間。
2 上位機軟件控制系統
上位機軟件控制系統包括藥品信息數據庫和人機對話(huà)界面,前者主要存儲醫院的藥品信息,包括名稱(chēng)、數量、價(jià)格、藥性、有效期等;后者則與數據庫建立連接,可以實(shí)現查詢(xún)、開(kāi)處方、藥品管理、處方管理、打印、液晶顯示等功能。其流程圖如圖6所示。
2.1 工控組態(tài)軟件FIX32
FIX32是美國 IntelluTIon公司開(kāi)發(fā)的基于視窗的大型應用軟件,包含動(dòng)態(tài)顯示、報警、趨勢、控制策略、控制網(wǎng)絡(luò )通信等組件。在本系統中,應用FIX32編寫(xiě)了主界面和系統運行的動(dòng)態(tài)模擬顯示程序。
(1)主界面是上位機與下位機之間的連接橋梁,其功能是與VB編寫(xiě)的界面建立聯(lián)系,激活配藥控制界面和藥品管理界面。
(2)系統運行動(dòng)態(tài)模擬顯示的實(shí)現方式是首先在FIX32的DRAW模式下畫(huà)出整個(gè)配藥系統的模擬圖,包括靜止物體及各種動(dòng)作顯示,設定限位與故障反饋警報;然后在FIX32中對I/O點(diǎn)進(jìn)行組態(tài),并在數據庫中建立各藥罐、各動(dòng)作I/O類(lèi)型及其在下位機PLC中的地址。這樣,當PLC中的程序開(kāi)始運行時(shí),相應地址中的模擬量或開(kāi)關(guān)量便發(fā)生變化。這種變化可在配藥系統動(dòng)作的同時(shí)顯示到動(dòng)態(tài)模擬界面,使動(dòng)態(tài)模擬同步進(jìn)行。在配藥系統封閉運行的情況下,其作用之一是可以從動(dòng)態(tài)模擬畫(huà)面中實(shí)時(shí)觀(guān)察到系統的運作情況,之二是可在系統發(fā)生可反饋性故障時(shí)在第一時(shí)間得到提示,快速完成對故障的調整。
2.2 界面編輯軟件VB
該部分軟件包括取藥與加藥兩個(gè)模塊,均具有權限控制功能,用戶(hù)需輸入密碼,可保證系統的安全性。VB界面框架圖如圖7所示。
取藥模塊的主要任務(wù)是與ACCESS數據庫取得聯(lián)系,將需要的藥品名、數量、貼數等通過(guò)FIX32傳入下位機中,完成取藥操作。其中,在數據庫中的藥品名采用拼音查詢(xún),數量與貼數則可多次修改。同時(shí),VB還要向液晶屏輸出患者及處方信息,并完成處方打印。
在取藥模塊中進(jìn)行了取藥任務(wù)優(yōu)化處理算法的設計,其目的是在醫生開(kāi)藥順序任意的情況下完成最短時(shí)間的配藥過(guò)程。由于機械手在X、Y軸伺服電機的控制下的勻速行走速度為1m/s,因此時(shí)間最短即為行走路線(xiàn)最短,這個(gè)問(wèn)題等價(jià)于典型的旅行商(TSP)問(wèn)題。在本系統中,420個(gè)藥罐分為前后兩面各14行等距排列,每一面中又分左右兩側各7行,每行15個(gè)。此外,藥罐位置每單位Y軸坐標與三個(gè)單位X軸坐標相同,且機械手對前后兩面的取藥由步進(jìn)電機擺動(dòng)控制。經(jīng)過(guò)簡(jiǎn)單計算可以確定本系統中實(shí)際節點(diǎn)應為66個(gè)。采用新的禁忌遺傳算法在VB中編程,該算法對多節點(diǎn)系統設置禁忌步長(cháng)和松弛步長(cháng)。引入張弛效應,與傳統遺傳算法相比,減小了可行解空間,提高了收斂速度。
加藥模塊為藥品管理員專(zhuān)用,主要任務(wù)是從界面中修改數據庫中貨存藥品的所有信息。
對散裝中藥實(shí)現定量配置的中藥智能配藥系統在控制方法上有多種創(chuàng )新,具有良好的人機界面,能在足夠短的時(shí)間內對指定藥方完成配藥。該系統通過(guò)了上海市科委主持的專(zhuān)家鑒定,達到國內領(lǐng)先、國際先進(jìn)的水平,在運行中情況良好,可靠性和安全性都得到了驗證。
評論