于宏濤
(承德石油高等專科學校,河北 承德 067000)
在過去的工業領域中,要想實現良好的數據采集,就要借助驅動程序和設備實現數據交換,但過程控制系統為一對一系統,如果使用了上位監控軟件,那么就要開發特殊的驅動程序,不僅難以實現系統集成,而且會給工作人員帶來一定工作壓力。通過OPC技術能夠有效解決這一問題,OPC能夠提供通用接口,不論在過程控制中使用何種設備都能夠實現設備通訊。而且上層管理軟件大多是Java開發的,為了實現集成,本系統同樣利用Java來實現。
OPC,即OLE for Process Control,是微軟公司研發的規范接口協議,能夠對不同應用程序和設備間實現標準化軟件接口,讓數據更加簡便的交換,OPC技術是借助DCOM、COM以及OLE技術為基礎,通過客戶端服務器結構,對Server與Client間的規定進行制定。在對客戶端進行開發時,無需程序在意服務器是否處于最佳性能,而且底層設備無需考慮如何實現軟硬件間的通訊,僅僅需要遵循接口協議,就能在服務器中獲得想要的數據。
與過去的數據庫存儲有很大不同,OPC為樹形結構存儲格式。在服務端主機中,有很多Server,每個都存在不同的item,在這其中,存儲信息為目前設備需要監控以及采集的數據,在客戶端對數據進行截取時,要指明主機名,具體到Server和獲取路徑。除了Server外,在客戶端下面還存在存儲層Group,能夠對item進行分類存儲,因此不但能夠連續獲取item,還能利用批處理技術監理Group,將item放置在Group中,進而將其全部獲取。
利用Kepware作為OPC服務器,能夠對PLC運行中的數據信息進行快速獲取,而且Kepware還有很大優勢,能夠支持市場上大部分PLC廠商,而且可以在遠程數據訪問技術、歷史數據訪問技術、數據采集技術等領域實現良好應用。
Utgard是利用Java開發的純開源類庫,包含于Open SCADA項目下,具備良好的跨平臺性,是以DCOM為基礎來實現的,通過Utgard庫文件能夠與OPC服務器實現通訊。能夠在Linux以及Windows系統上運行,能夠實現異步查詢、同步查詢、組查詢等功能。
應該在本地系統中配置DCOM,并通過Utgard對OPC數據進行采集。Utgard可以提供API函數,并與OPC服務器實現連接,能對變量參數值進行讀取與寫入,使變量值能夠快速傳送至軟件系統,實現持久存儲,并錄入到追溯系統中。
選擇MySQL當作持久化存儲系統,這種系統庫屬于關系型數據庫,而且體積較小,能夠快速運行,不需要花費過多成本即能實現,不僅如此,此系統還具備開源免費的屬性。選擇MySQL數據庫能夠對實際生產中出現的數據進行采集,將其中的關鍵數據進行存儲,這樣能夠便于工作人員在之后對其進行追溯。被存儲起來的關鍵數據能夠實現不同類型的生產控制與過程控制,能夠對產品下列信息進行追溯,包括成品中都有哪些零部件;在生產產品的過程中,出現了哪些關鍵控制數據,這些數據能夠滿足生產需求;對當前產品生產控制的嚴密性等等。
OPC數據服務器是由Item、Group以及Server所組成的,在連接OPC Server后能夠讀取或寫入數據,而且Utgard能夠實現多種數據讀取方式,包括發布訂閱模式查詢、異步查詢、同步查詢等,支持同步寫入方式。
綜上所述,隨著經濟發展,我國工業產業近年發展速度十分迅猛,生產規模逐步擴大,增添了許多新型設備,通過OPC技術能夠實現生產過程數據的快速采集,并且讓管理軟件與控制系統實現更好的通訊方式,本文已經闡述了基于Java的OPC數據采集系統的設計與實現,本系統使用的開發語言為Java,能夠與目前Java EE企業架構系統實現集成,而且通過純Java語言編寫的OPC服務器通信和Utgard開源類庫具備可移植性、平臺無關性等屬性,并且具備良好的穩定性與擴展性,希望對我國工業產業的發展有所幫助。