【摘要】針對傳統控制系統的發展狀況,指出當前傳統控制系統存在的諸多問題,通過研究OPC規范特別是OPC數據存取規范3.0版,研究其數據組織形式與訪問機制,結合基于OPC技術應用的嵌入式智能控制器,給出了基于OPC技術的解決方案。
【關鍵詞】傳統控制系統OPC技術3.0規范嵌入式
1引言
在傳統控制系統中,隨著智能儀表的大量運用和現場總線的迅速發展,大量現場信息(如現場的溫度、壓力等被測參數,以及裝置本身的運動狀況、組態參數等)在傳入監控計算機時,存在著計算機內部應用程序對現場信息的共享和交互問題。由于缺乏統一的標準,對于不同供應商提供的硬件設備,工控軟件往往需要開發獨立的驅動程序(如圖1),這給硬件設備的更新帶來了困難。同時,即使安裝在同一計算機中的軟件,如SCADA(監控與數據采集)系統,NMI(人機接口)系統等應用程序,由于具有獨立的驅動程序,一般也不允許同時訪問相同的設備,否則容易導致整個系統的崩潰。
綜上所述,傳統控制系統存在著諸如驅動程序的重復開發和不一致,不能隨著硬件設備的升級而繼續使用,軟件訪問沖突等問題。正是這些問題,促使了OPC規范的產生。
2OPC技術規范概述
OPC(OLE for Process Control,用于過程控制的 OLE)是一個工業標準,它是基于微軟的OLE(現在的Active X)、COM(部件對象模型)和DCOM(分布式部件對象模型)生成的技術。OPC包括一整套接口、屬性和方法的標準集,用于過程控制和制造業自動化系統,管理這個標準國際組織是OPC基金會。OPC實際上提供了一種標準的數據訪問機制,系統使用標準的方式從數據源獲取數據,并且提供標準的接口供客戶應用程序使用,客戶應用程序通過標準的接口訪問現場數據。現場設備生產商只需要開發出一套遵循OPC規范的服務器,由服務器與現場設備進行通訊,獲取現場數據。如圖2所示,客戶應用程序通過與服務器通訊獲取現場數據,也就是說只要現場設備提供了OPC服務器的支持,就可以通過統一的OPC接口程序訪問現場設備中的數據。與傳統控制系統相比,一個OPC客戶端可以與多個OPC服務器同時進行通訊,減少了驅動程序的開發,提高了企業的工作效率;多個OPC客戶端也可以同時與一個OPC服務器通訊,不會出現系統崩潰等問題。
OPC規范定義了OPC服務器與客戶端之間數據交換的方法,使得用戶能從底層開發中脫離出來,避免開發的重復性,提高系統的開放性和互操作性。但OPC規范只定義了特定的COM接口,沒有說明如何實現這些接口,它只規定了OPC服務器提供給客戶端應用程序的接口應該具有的行為特征。OPC服務器可由不同的供應商,根據不同的物理設備,通過不同的代碼決定服務器訪問物理設備的方式及數據處理等細節。這些細節對于客戶程序都是透明的,客戶程序只要遵循相同的規范和方法就能從不同的服務器中讀取數據,這也就實現了硬件無關的數據訪問機制。
OPC在不同領域推出了多種規范,目前已經推出的OPC規范有:
OPC數據存取(Data Access)規范3.0版
OPC報警與事件(Alarm and Event)規范1.1版
OPC歷史數據存取(Historical Data Access)規范1.2版
OPC批量數據存取(Batch Data Access)規范2.0版
OPC安全性(Security)規范
OPC可擴展標記語言(XML)規范
OPC服務器數據交換(Data eXchange)規范
OPC主要技術規范及其關系如圖3:
在OPC基金會推出的多種規范中,目前最廣泛應用的是OPC數據存取規范,也是本研究遵循的主要規范,下面就此規范進行更近一步的介紹。
3基于OPC的嵌入式智能控制器的實現
由于傳統控制系統存在的種種弊端與瓶頸,在嵌入式智能控制器中引入OPC技術完成上下位機的通信解決方案。基于OPC的嵌入式智能控制器在工控領域有著廣泛的應用前景,利用OPC的優勢有:
1. OPC以COM為技術基礎,實現了代碼在二進制級上的重用和代碼的語言無關性,極大地提高了軟件的重用性,提高了開發效率。
2. OPC規范了接口函數,不管現場設備以何種形式存在,客戶都以統一的方式去訪問,從而實現系統的開放性,易于實現與其他系統的接口。
3.采用標準的Windows體系接口,硬件制造商為其設備提供的接口程序的數量減少到一個,軟件制造商也僅需要開發一套通訊接口程序。即有利于軟硬件開發商,更有利于最終用戶。
4. OPC封裝了系統功能的實現,只將接口方法暴露在外面,客戶以統一的方式去調用這個方法,從而保證軟件對客戶的透明性,使得用戶完全從低層的開發中脫離出來。
5.采用OPC規范,便于系統的組態化,將系統復雜性大大簡化,可以大大縮短軟件的開發周期,提高軟件運行的可靠性和穩定性,便于系統的升級與維護。
3.1硬件平臺
平臺使用了AT91SAM9260微處理器。這是一款基于ARM926EJ-S核心的工業級微控制器,功能豐富,性能強大,且功耗較低。AT91SAM9260有豐富的接口資源,且內置以太網MAC,完成設計所需的以太網接口只需外接物理層芯片和RJ45接口。平臺采用Intel的工業級以太網物理層芯片LXT971ALE,它與AT91SAM9260之間通過標準的MII(media independent interface)接口連接。平臺還使用了DM9000,這是一款完全集成的和符合成本效益的,單芯片快速以太網MAC控制器,使用它的目的在于其低功耗和高性能進程的3.3V與5V的支持。
3.2嵌入式操作系統
嵌入式操作系統選擇Windows CE。OPC是基于微軟的OLE(現在的Active X)、COM和DCOM技術的,而Windows CE系統本身提供了DCOM組件的支持,并且Windows CE的DCOM API與Windows的DCOM API有很大程度上的相似性,因此,采用Windows CE系統可以大大降低系統開發的復雜度和額外成本的開銷。而其他系統諸如嵌入式Linux提供的DCOM解決方案不是由操作系統本身提供的組件來完成的,而是通過購買第三方軟件包的支持來完成的,需要額外成本的開銷;同時,第三方軟件有可能成為系統運行的不穩定因素。
操作系統的移植采用了ATMEL提供的AT91SAM9260EK_CE6.0_Source_v110_secure BSP包,BOOTLOADER選擇EBOOT,即通過Ethernet下載操作系統映像的BOOTLOADER。在開發的過程中使用EBOOT,可以提高開發效率。通過使用EBOOT可以很快速的下載NK到目標設備中,而利用Flash編程工具或者是通過JTAG下載則很慢。EBOOT移植完成后是OAL(OEM Adaption Layer,即原始設備制造商適配層)的移植,主要是修改Startup.s函數、修改串口調試函數、修改OEMInit函數、修改系統時鐘函數和修改中斷處理函數等;接著移植各模塊驅動程序,修改平臺配置文件,編譯完成即得到FIRSTBOOT,EBOOT及內核映像文件,完成操作系統的移植工作。
3.3嵌入式智能控制器
整個系統由三部分構成:智能電子設備(IED)、智能控制器以及上位機。整體設計方案如圖4所示:
控制器的主要功能是對IED環節輸入的模擬量或開關信號進行識別處理,根據一定的協議打包傳送給上位機,同時根據控制程序對IED輸出開關信號以達到控制的目的。與上位機的通信基于OPC采用客戶/服務器形式,設計完成基于OPC數據存取規范3.0的服務器程序與客戶端應用程序,分別運行與嵌入式智能控制器的硬件平臺及上位機中,完成OPC通信。
結論
通過對OPC規范的研究,根據硬件平臺設計并完成了基于OPC的嵌入式智能控制器的整體架構,操作系統移植,實現了基于OPC的以太網通信。OPC技術以其巨大的優勢受到越來越多的工控領域廠商與用戶的青睞,其取代傳統驅動程序的趨勢是不可阻擋的,通過在嵌入式智能控制器中對OPC的應用更加能夠體會到這一點。