王洪強
摘 要:在大規模、復雜的工業應用中,常常會用到不同的軟、硬件平臺,如何實現不同平臺的數據共享、匯總和透明訪問,是經常需要解決的問題。該文針對LabVIEW和組態王這兩種被廣泛使用的軟件平臺之間的跨機器數據通信問題,提出了一種基于OPC的解決方案,并闡述了具體的實現步驟。
關鍵詞:OPC Server LabVIEW 組態王
中圖分類號:TP273 文獻標識碼:A 文章編號:1674-098X(2015)06(c)-0058-01
LabVIEW是美國國家儀器有限公司提供的一套軟件開發平臺,廣泛應用于數據采集、監控、自動化測試測量領域[1]。
組態王是一款優秀的國產組態軟件,由亞控科技開發。組態王功能強大、運行穩定,在國內的工業監控領域得到了廣泛應用。
OPC(OLE for Process Control)是一組標準接口,由OPC 基金會制定及修改。該文闡述的主要內容是以OPC為基礎實現的LabVIEW與組態王之間的數據通信。
1 系統架構
該文以某企業數據采集與監控系統項目為背景。該項目中,上位機服務器運行組態王軟件,完成各個分系統的數據匯總等功能;下位機作為客戶端,運行由LabVIEW開發的軟件,負責向上位機提供采集的數據,同時接收上位機控制指令。
LabVIEW和組態王運行在局域網不同的工控機上,軟件之間借助OPC實現互聯互通。通過為LabVIEW安裝DSC模塊,使得LabVIEW既能作為OPC客戶端,又能創建OPC服務器;組態王軟件內置OPC服務器,也可以作為OPC客戶端使用。
2 軟件實現
本方案,使用LabVIEW DSC模塊中的OPC Server軟件作為OPC服務器。
2.1 創建OPC Server
首先使用NI OPC Server軟件創建Simulator驅動類型的服務器通道,然后依次創建設備、標簽組和標簽(變量)。
需要注意的是:
(1)變量類型。
NI OPC Server支持多種變量類型,包括各類單數值類型,如WORD,DOUBLE等,字符串類型,還有各種數組類型。一般來說,變量類型一致時使用數組是最合適的,數據更新速率一定的情況下,數組能夠顯著提高更新的數據量,但是組態王并不支持數組類型變量,因此本項目中只能將多個變量分別創建為單值類型。
(2)寄存器地址.
選用不同數據類型時,內存地址段是不同的,需要參考幫助文檔來確定。
(3)更新速率。
OPC適用于中、低速的數據更新,一般應在500ms以上。本項目中的OPC Server基于Simulator驅動,實際的數據讀寫發生在下位機內部內存之間和上、下位機內存之間,因此更新速率可適當提高。
2.2 創建LabVIEW客戶端
LabVIEW 8.0以后的版本引入了共享變量[2],這使得基于DSC模塊對OPC Server的訪問更加簡單便捷。共享變量可以與本地或網絡上任何一個電腦的OPC標簽綁定,繼而實現數據讀寫。
與OPC Server標簽的綁定步驟:
(1)在LabVIEW項目中新建一個 I/O Server,類型選擇為OPC Client;
(2)瀏覽到本機OPC Server,選擇National Instruments.NIOPCServers.V5;
(3)保存I/O Server,右鍵創建綁定型的共享變量。
(4)至此完成了LabVIEW客戶端的創建工作,在LabVIEW中創建的一組共享變量分別綁定到OPC Server的各個標簽。在LabVIEW中只需讀寫相應的共享變量,就能實現對OPC Server標簽的訪問[3]。
2.3 創建組態王客戶端
組態王的開發環境中,有自帶的OPC服務器選項,創建OPC客戶端的步驟如下。
(1)查看并選擇OPC服務器。
首先填入“網絡節點名”,點擊查找,在刷新后的OPC服務器列表中選擇National Instruments.NIOPCServers.V5。
(2)創建變量。
變量類型必須是I/O類型;
連接設備選擇上一步驟中選擇的OPC Server;
點擊“寄存器”條目右側的下拉菜單,依次展開即可選擇相對應的OPC Server標簽;
數據類型須與OPC Server標簽的數據類型一致;
(3)至此已完成組態王OPC客戶端的創建工作,后續只需讀寫以上步驟創建的變量,就能實現組態王對NI OPC Server的訪問。
2.4 數據通信
通過分別創建OPC Server、LabVIEW OPC客戶端、組態王OPC客戶端,實現了兩個客戶端對服務器的分別訪問,本質上,實現了兩個客戶端之間的數據傳輸和共享。OPC Server起到了統一接口和數據橋接的作用。
3 結語
在大規模、復雜的工業應用中,常常會用到不同的軟、硬件平臺,如何實現不同平臺的數據共享、匯總和透明訪問,是經常需要解決的問題。該文針對LabVIEW和組態王這兩種被廣泛使用的軟件平臺之間的跨機器數據通信問題,闡述了基于OPC技術的解決方案和具體的實現步驟。OPC為解決典型的跨硬件、跨軟件的數據共享與通信問題,提供了很好的解決途徑,值得在今后的項目中推廣使用。
參考文獻
[1] Elliott C.National instruments LabVIEW: a programming environment for laboratory automation and measurement[J].Journal of the Association for Laboratory Automation,2007,12(1):17-24.
[2] 羅文鋒.基于LabVIEW與PLC的船舶電站監控系統的研究[D].武漢:武漢理工大學,2009.
[3] 王建群,甬金瑞,孫逢春,等.基于LabVIEW的數據采集系統的實現[J].計算機工程與應用,2003,21(2):122-125.