本文轉載自CSDN 作者:姚家灣
本文介紹施耐德電氣開放自動化EAE中的OPC UA特性。OPC UA協議稱之為“開放平臺通信統一體系結構”,目前已經成為工業物聯網中不同設備,系統之間相互交換數據的一個重要的協議。越來越多的系統和設備都具備了OPC UA的接口,UPC UA被認為是工業4.0協議的理想選擇。它采取了“服務器/客戶端”通信方式。通常設備中是服務器端,而系統軟件為客戶端。
施耐德電氣開放自動化EAE中,運行時中帶有OPC UA服務器,也就是說,在EAE的環境下,每個設備都具有一個OPC UA服務器功能。
都說OPC UA是個好東西,不過使用起來十分的麻煩,建模,轉換成程序語言,和編譯的過程有時會搞得稀里糊涂。施耐德電氣EAE能夠將IEC61499功能塊的數據映射到OPC UA的變量中。這種方式使IEC61499功能塊應用建立OPC UA服務器的方法十分簡單。
測試EAE運行時OPCUA服務器
為了方便起見,我們可以在一臺Windows 10 PC上完成EAE OPC UA服務器的測試。EAE Help建議首先軟件dPAC首先使用Local Test模式。其中內置一個OPC UA服務器。使用一個OPC UA客戶端軟件就可以訪問該服務器OPC UA模型中定義的變量。OPC UA客戶端,我們采用Unified· Automation公司的UaExpert 軟件。這是一個免費的OPC UA客戶端。可以從Unified Automation官網上下載。
配置OPC UA服務器參數
按照我們前面介紹過的方法,新建一個項目 OPCUA_Test。與前面介紹的類似,在System 工作區的Delvice list中,出現了一個EcoRT_0設備。點擊它后再工作區的右邊會出現該設備的各種屬性。將OPC UA Stack Configuration屬性有Default改成OVERWRITE后,可以看見OPC UA的各項屬性。
比較重要的參數是OPC UA服務器的端口,缺省值為 48040.當然你可以修改它。
建立IEC61499 和OPC UA 的聯系
建立了一個簡單的計數器項目。它內部有兩個計數器,我們希望通過OPC UA的客戶端查看兩個計數器的當前值。
App1完成后,點擊左邊欄的System,在工作區中選擇OPC UA發現空空如也。不知道如何將IEC61499功能塊網絡的變量和OPC UA模型中的變量關聯起來。
詳細看了Help文檔后才發現。首先要定義一個CAT類型。我們在前面已經介紹過,CAT 是與HMI關聯的復合功能塊。內部含有一個CAT_HMI功能塊。只有 CAT_HMI 功能塊的輸入和輸出數據才會在OPC UA模型中作為變量出現。仔細想來也對。OPC UA某種意義上也是HMI的一種接口。
具體的設置過程:
1.在左邊欄的CAT->Application擊右鍵選擇New Item。建立一個CAT1 的CAT類型。
2.在下面會出現一個IThis:CAT1_HMI 點擊后工作區如下,我們在InputVars中添加兩個輸入變量IN1和IN2.它們的類型UINT,用了來顯示兩個計數器的當前值。
設置完成后,要保存一下。然后回到System工作區,點擊Composite。將CAT1_HMI拖動到工作區中。;連接線。事實上,它是一個復合功能塊,你可以在其中添加各種需要的功能塊。
3.在App1功能塊網絡中拖入CAT1類型功能塊,連線。
4.完成后再次查看OPC UA選項,發現IN1,IN2變量已經在里面了。你可以修改某些屬性,比如 BrowseName,DisplayName等等。
測試
EAE建議現在Local Test的模式下測試OPCUA。為止我們先將設備運行在Local Test模式。按照以前說過的過程,讓模擬運行時運行起來。
然后啟動UaExpert 客戶端軟件。右擊servers選擇 Add。彈出App Server窗口。在Custom Dictionary 中選擇添加一個地址,localhost:48040保存。
對Localhost:48040地址擊右鍵,選擇Rebrowse,如果一切OK的話,你會看到EcoStructure Runtime。點擊OK返回后,展開Server,選擇EcoStructure Runtime擊右鍵,選擇Connect。
于是,在下面出現了IN1,IN2變量。
我們終于完成了EAE OPC UA服務器的簡單測試。
EAE OPC UA server的實現方式是比較簡單明了。能夠使我們快速地將IEC61499功能塊網絡和OPC UA實現關聯??雌饋硭坪踔挥泻唵蔚淖兞款愋汀F鋵嵱捎贗EC61499的編程能力,我們可以在CAT1復合功能塊中實現更過的OPC UA模型所需要的功能。