1. 程式人生 > >上位機C#通過OPCUA和西門子PLC通訊

上位機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,即可下載使用。

圖表 1 PLCSIM Advanced軟體

 

PLCSIM-Advanced的安裝也比較簡單,基本上是一路NEXT即可,但是主要的是PLCSIM-Advanced會依賴WinPcap軟體,所以大家可以提前安裝好WinPcap,即使不提前安裝,安裝過程中也會提示你安裝的。

安裝完成後,電腦中會額外多出一個虛擬網絡卡,名稱為Siemens PLCSIM Virtual Ethernet Adapter,如下圖:

圖表 2網絡卡列表

 

 02.PLCSIM-Advanced使用

安裝完成後,桌面上會多出一個圖示,即S7-PLCSIM Advanced V3.0,如下圖所示:

  圖表 3 PLCSIM Advanced圖示

 

該軟體的使用可以按照下方的步驟執行和確定,一定要記住以下需要注意的地方,否則一個很小的問題,可能會讓你浪費半天的時間,這樣就得不償失了。

(1)軟體要以管理員許可權執行:可以直接每次右擊,以管理員許可權執行,如果想一勞永逸,可以點選圖示,右擊屬性,在相容性中,將以管理員身份執行此程式的選項勾選。

 圖表 4設定管理員許可權執行

 

(2)將本地網絡卡及虛擬網絡卡的IP地址獲取設定為自動獲取。

(3)設定PG/PC介面:

通過控制面板,開啟設定PG/PC介面介面,按照下圖所示設定應用程式訪問點:

 圖表 5設定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的優化訪問,這一點非常方便。