有關(guān)OPC UA的特點(diǎn),及其對智能制造、物聯(lián)網(wǎng)、工業(yè)4.0的價(jià)值和意義等,不再贅筆,我們集中于實(shí)操。
測試說明
OPC UA采用客戶端/服務(wù)器架構(gòu),因此測試中需要一個(gè)服務(wù)器,一個(gè)客戶端。

服務(wù)器:S7-1500:CPU 1515-2PN TIA: V15.1
客戶端:UaExpert V1.5.1 331
測試有非安全測試和安全測試兩種,下文分節(jié)介紹:
1、非安全連接測試
非安全測試,設(shè)置最簡單,我們先短平快得通訊上,感受一下!
①TIA中的相關(guān)設(shè)置
創(chuàng)建工程等常規(guī)操作不詳述!TIA中的相關(guān)設(shè)置都在CPU的屬性中!
Step 1: 激活OPC UA服務(wù)器

因本CPU的X1口的IP為191.168.0.1,且我們將OPC UA的端口設(shè)為48400,因此后續(xù)我們會以此地址訪問此OPC UA服務(wù)器。
Step 2: 勾選CPU需要的運(yùn)行許可證,本試驗(yàn)需要的是medium許可證

Step 3: 在服務(wù)器的選項(xiàng)中,設(shè)置端口及其他設(shè)置。端口默認(rèn)為4840,可保持默認(rèn)!我們此處將其修改為48400。

Step 4: OPC UA的常規(guī)中,可設(shè)置應(yīng)用程序名稱,此處保持默認(rèn)

至此,TIA中的基本設(shè)置已完成。
②TIA中的編程
需在TIA中創(chuàng)建幾個(gè)變量,并編幾句代碼,以驗(yàn)證通訊。創(chuàng)建數(shù)據(jù)塊DB_1,包含5個(gè)變量

并在Main中編寫如下幾行代碼:

編譯下載,使CPU運(yùn)行起來,確保程序運(yùn)行正常!至此,PLC中的設(shè)置完成。
③UaExpert中的測試連接
Step 1: 打開UaExpert軟件(電腦需跟PLC建立連接)
Step 2: 添加 OPCUA Server(可1處右鍵ADD,也可直接點(diǎn)2處的+號)

Step 3: 添加Server的操作(1處雙擊,2處輸入地址及端口號如圖),點(diǎn)擊OK…

Step 4: 連接
選中剛添加的Server,選中”None-None…”,選項(xiàng),即無安全校驗(yàn)。因PLC中默認(rèn)啟用訪客認(rèn)證,因此可以在Anonymous處,進(jìn)行無密碼登錄。點(diǎn)擊OK…

Step 5: 接受服務(wù)器證書,Continue…

Step 6: OPC UA服務(wù)器已連接上,并顯示在AddressSpace中。找到DB_1并將其拖放入右側(cè)的Data Access View中。

Step 7: 通過置位復(fù)位幾個(gè)Bool變量,即可看到幾個(gè)Float變量按PLC中編程的規(guī)律變化。

至此,非安全連接通訊已完成。
2、安全連接測試
①TIA中的相關(guān)設(shè)置
使能全局安全設(shè)置
為了管理 OPCUA 服務(wù)器的證書必須啟用TIA項(xiàng)目的全局安全設(shè)置。
Step 1: 項(xiàng)目樹下安全設(shè)置中,為項(xiàng)目設(shè)置用戶名和密碼

Step 2: 導(dǎo)航至"CPU 屬性>防護(hù)與安全>證書管理器" 選項(xiàng)使能證書管理器
Step 3: 配置安全策略(把無安全設(shè)置去掉,則必須進(jìn)行證書驗(yàn)證)

②服務(wù)器和客戶端證書的處理
Step 1: 創(chuàng)建服務(wù)器證書(Security的標(biāo)簽頁中,點(diǎn)擊服務(wù)器證書后面的按鈕,新增…)

彈窗中設(shè)置必要的參數(shù)(一般默認(rèn)即可),確定后,即可生成服務(wù)器證書。

UaExpert連接PLC時(shí),會自動獲取此證書,因此不用將此證書導(dǎo)出,并導(dǎo)入到UaExpert中。
Step 2: 客戶端證書(需在UaExpert中導(dǎo)出UaClient證書,并導(dǎo)入到S7-1500的客戶端信任列表里)。OK后,UaExpert的Client證書存入PC硬盤。
TIA軟件中,項(xiàng)目樹下的安全設(shè)置中,將導(dǎo)出的Client證書導(dǎo)入受信證書一欄。
CPU屬性下,禁止自動接受客戶端證書;在CPU屬性下,分配可信客戶端
在用戶身份認(rèn)證中,取消“啟用訪客認(rèn)證”,在UaExpert中必須輸入用戶名和密碼才能訪問OPC UA 服務(wù)器。
在用戶管理中,可新增用戶并為其設(shè)置密碼。此處需至少新增一個(gè)用戶,并按規(guī)定為其設(shè)置密碼!
項(xiàng)目編譯下載后,在UaExpert中進(jìn)行訪問測試
以”opc.tcp://192.168.0.1:48400”地址添加服務(wù)器。展開服務(wù)器,因?yàn)樵赑LC側(cè)沒有選中“無安全設(shè)置”和“啟用訪客訪問”,因此,在這兒就沒有”None-None…”選項(xiàng),登錄的“Anonymous”也是不可選的,只能通過用戶名和密碼登錄。
輸入用戶名和密碼后,彈出認(rèn)證確認(rèn)窗口,信任并接受服務(wù)器證書后繼續(xù)…
如果在CPU屬性的Security中,Secure Channel選中“無安全設(shè)置”,用戶身份認(rèn)證勾選“啟用訪客認(rèn)證“,則在UaExpert中添加Server后,連接顯示畫面如下圖:

此時(shí),可以選擇加密或不加密策略。可以”Anonymous”也可以用“用戶名密碼“登錄。
有時(shí),帶安全策略的登錄,會連接不上,報(bào)錯(cuò)”BadCertificateTimeInvalid”!

這是因?yàn)镻LC CPU的系統(tǒng)時(shí)間不對。認(rèn)證證書的時(shí)間不符合要求。需在CPU中將系統(tǒng)時(shí)間修改為當(dāng)前時(shí)間,或“轉(zhuǎn)至在線“后,在TIA中的”在線與診斷“下的功能下,通過”設(shè)置時(shí)間“,將CPU時(shí)間更新!再次連接即可成功!
登錄上以后,就可以如下圖,監(jiān)控并給變量賦值操作了!

以上為非安全和安全UaExpert訪問S7-1500 PLC的OPC UA服務(wù)器實(shí)操過程的簡單介紹!
盡管文章較長,然截圖較多,操作步驟是簡單的!通過這種沉浸式操作體驗(yàn),及瀏覽操作軟件的相關(guān)頁面及條目,可對一些概念,如命名空間、Node、對象、證書、簽名,安全認(rèn)證等概念有較深的了解。工程軟件的學(xué)習(xí),是必須要動手的,必須結(jié)合硬件和軟件界面,才能有切身體會,不然,僅憑看資料,看再多遍,也是隔靴搔癢。本文操作步驟參考官方指導(dǎo)文檔,依序動手做了一遍,其收益是良多的!
另,S7-1500自固件V2.6以后,也支持OPC UA Client功能,Client功能的實(shí)現(xiàn),涉及很多復(fù)雜的編程,本篇不做詳述。本篇用UaExpert作為OPC UA Client!
紙上得來終覺淺,絕知此事要躬行......
作者:流浪者云軒