上位機C#通過OPCUA和西門子PLC通訊
寫在前面:
很多人在學習OPCUA的時候,有個非常苦惱的問題,就是沒有OPCUA伺服器的環境,這時候,有些人可能會想到通過類似於KepServer這樣的軟體來實現。那麼,有沒有一種方式,實現快速搭建OPCUA環境呢?答案是有的,今天繼續給大家分享S7-PLCSIM Advanced,S7-PLCSIM Advanced是SIEMENS推出的一款高功能模擬器,它的顯著特點是除了可以模擬一般的PLC邏輯控制程式外還可以模擬通訊,功能是非常強大的,今天主要講述如何基於S7-PLCSIM Advanced搭建OPCUA通訊模擬環境。
01.PLCSIM-Advanced安裝
對於該軟體的獲取,大家可以去西門子相關網站下載,也可以直接關注喜科堂上位機官方公眾號-dotNet工控上位機,然後傳送關鍵詞PLCSIM-Advanced,即可下載使用。
PLCSIM-Advanced的安裝也比較簡單,基本上是一路NEXT即可,但是主要的是PLCSIM-Advanced會依賴WinPcap軟體,所以大家可以提前安裝好WinPcap,即使不提前安裝,安裝過程中也會提示你安裝的。
安裝完成後,電腦中會額外多出一個虛擬網絡卡,名稱為Siemens PLCSIM Virtual Ethernet Adapter,如下圖:
圖表 2網絡卡列表
02.PLCSIM-Advanced使用
安裝完成後,桌面上會多出一個圖示,即S7-PLCSIM Advanced V3.0,如下圖所示:
該軟體的使用可以按照下方的步驟執行和確定,一定要記住以下需要注意的地方,否則一個很小的問題,可能會讓你浪費半天的時間,這樣就得不償失了。
(1)軟體要以管理員許可權執行:可以直接每次右擊,以管理員許可權執行,如果想一勞永逸,可以點選圖示,右擊屬性,在相容性中,將以管理員身份執行此程式的選項勾選。
圖表 4設定管理員許可權執行
(2)將本地網絡卡及虛擬網絡卡的IP地址獲取設定為自動獲取。
(3)設定PG/PC介面:
通過控制面板,開啟設定PG/PC介面介面,按照下圖所示設定應用程式訪問點:
(4)開啟PLCSIM-Advanced,依次按照步驟進行設定:
圖表 6設定PLCSIM-Advanced
(5)使用博圖建立一個簡單專案,一定要選擇1500PLC,PLCSIM-Advanced只支援1500PLC,但是對學習通訊來說,沒什麼影響。
(6)勾選允許Put/Get訪問:
圖表 7設定允許PUT GET訪問
(7)點選專案,右擊屬性,將保護中的塊編譯時支援模擬選項勾選:
圖表 8設定塊編譯支援模擬
(8)下載PLC程式時,將PG/PC介面設定成Siemens PLCSIM Virtual Ethernet Adapter。
圖表 9選擇PG/PC介面
(9)選擇顯示所有相容的裝置,點選開始搜尋,搜尋到之後,點選下載即可。
圖表 10搜尋裝置下載
03.OPCUA配置
上述過程和搭建S7通訊環境完全一樣,OPCUA其實就是在S7的基礎上,需要先增加一些DB儲存區,然後在DB塊中新增一些變數,這裡不需要去除優化訪問,如下圖所示:
圖表 11新建DB塊
增加完成之後,雙擊CPU,在OPCUA選項中,將啟用OPCUA伺服器勾選,如下圖示所示:
圖表 12啟用OPCUA伺服器
啟用OPCUA伺服器之後,選擇執行系統許可證選項,選擇一個OPCUA許可證:
圖表 13選擇OPCUA許可證
以上操作完成之後,將PLC程式重新下載,下載步驟如上述一致。
04.UAExpert通訊測試
上述操作完成之後即完成了整個環境搭建的過程,下面先使用官方的UAExpert進行測試。
圖表 14 UAExpert通訊測試
05.通訊測試平臺測試
接著,我們使用新閣的通訊測試平臺軟體進行通訊測試,設定伺服器節點為opc.tcp://192.168.1.20:4840(根據實際情況修改),點選連線,連線成功後,點選變數管理,即可看到OPCUA伺服器中的所有節點,通過選擇DataBlockGlobal下的KYJDB,找到了我們剛剛配置的變數,選擇想要讀取的變數,然後讀取即可。
圖表 15變數選擇圖表 16新閣通訊測試平臺
寫在最後:
本文旨在結合SIEMENS推出的一款高功能模擬器PLCSIM-Advanced軟體實現快速搭建OPCUA通訊模擬環境,對於從事上位機開發,想要學習OPCUA通訊,手頭又沒有硬體的學員來說,無疑是一大利好,基於OPCUA與西門子PLC通訊,可以通過變數名稱訪問,而不需要去除DB的優化訪問,這一點非常方便。