劉 婷,王彥玲,趙生慧,張 帥,韋 濤
(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 技術,結合傳感器實現了對藥品智能化生產與管理。設計的智能化系統在軟件硬件平臺支撐下,相比傳統的人為生產監管具有明顯優勢,提高了企業的生產質量和管理水平。