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