西門(mén)子S7-1500PLC如何做OPC UA通信服務(wù)器?
發(fā)布日期:
2023-07-10

OPC UA是一項開(kāi)放標準,適用于從機器到機器間(M2M)的水平通信和從機器直到云端的垂直通信。該標準獨立于供應商和平臺,支持廣泛的安全機制,并且可以與 PROFINET 共享同一工業(yè)以太網(wǎng)絡(luò )。

OPC UA通信的特性及優(yōu)勢

特性:

? ?獨立于供應商和平臺

? ?集成的安全概念(加密、簽名和驗證)

? ?一致、端到端,并可擴展

? ?信息模型和語(yǔ)義服務(wù)

? ?與PROFINET 不受限制的并行傳輸

優(yōu)勢:

? ?標準化接口和廣泛的可用性

? ?直接按照協(xié)議進(jìn)行安全通信,無(wú)需額外硬件

? ?跨所有自動(dòng)化層的直接連接和通信

? ?簡(jiǎn)單明了的數據解釋

? ?基于以太網(wǎng)的簡(jiǎn)單網(wǎng)絡(luò ),使用現有的工業(yè)以太網(wǎng)基礎設施

? ?簡(jiǎn)單機器集成用的國際標準化接口(配套規范)

具有OPC UA接口+支持工具的西門(mén)子產(chǎn)品和系統

西門(mén)子為全集成自動(dòng)化(TIA)提供從現場(chǎng)層擴展到控制和操作層的全面硬件和軟件組合。作為開(kāi)放的通信標準,OPC UA 在整個(gè) TIA 產(chǎn)品組合中扮演著(zhù)重要的角色。

應用示例內容及軟/硬件需求

此應用示例的內容

為了實(shí)現 OPC UA 客戶(hù)端與 SIMATIC S7-1500 的服務(wù)器進(jìn)行數據交換,這個(gè)應用示例將向您詳細介紹 SIMATIC S7-1500 的 OPC UA 服務(wù)器的配置以及如何通過(guò) OPC UA 客戶(hù)端軟件連接 S7-1500 服務(wù)器。

用于測試用途的 OPC UA 客戶(hù)端

●? Unified Automation 的 “UaExpert”??擅赓M使用的功能豐富的客戶(hù)端:? ?下載 UaExpert 的鏈接 ( https://www.unified-automation.com/downloads/opc-ua-clients.html )

●? OPC Foundation 的 “UA Sample Client” 。在 OPC Foundation 注冊的用戶(hù)可免費使用該客戶(hù)端:下載 OPC Foundation 示例客戶(hù)端的鏈接 ( https://opcfoundation.org )

S7-1500 配置 OPC UA 服務(wù)器的軟/硬件需求

已獲得操作 OPC UA 功能的運行系統許可證。

TIA Portal V14 以及S7-1500 V2.0以后開(kāi)始支持OPC UA服務(wù)器功能,除 S7-1500 標準? ? ? CPU 之外,這一特性同樣適用于 S7-1500F、S7-1500T、S7-1500C、S7-1500pro? ? ?CPU、ET 200SP CPU、SIMATIC S7-1500 軟件控制器和 PLCSIM Advanced。S7-1500 CPU 上所有集成的 PROFINET 接口,均可用于訪(fǎng)問(wèn)該 CPU 的 OPC UA? ? ? 服務(wù)器。? ? 不能借助 CP 或 CM 通過(guò)自動(dòng)化系統的背板總線(xiàn)直接訪(fǎng)問(wèn) CPU 的 OPC UA 服務(wù)器。

S7-1500 的 OPC UA 服務(wù)器實(shí)驗環(huán)境

在本應用實(shí)例中,使用以下產(chǎn)品配置 OPC UA 服務(wù)器。

軟件:

TIA V15.1

UA Expert V1.5.1

硬件:

CPU 1511-1PN V2.6

配置S7-1500的OPC UA服務(wù)器

1、使能 OPC UA 服務(wù)器

S7-1500的 OPC UA 服務(wù)器默認是禁用的,下面介紹如何使能一個(gè)簡(jiǎn)單的 OPC UA 服務(wù)器

1.1、導航至 CPU 的屬性常規界面選擇 OPC UA 服務(wù)器常規選項激活 OPC UA 服務(wù)器。

1.2、導航至 'CPU 屬性>運行系統許可證> OPC UA' 選擇選擇所需許可證類(lèi)型。

運行 S7-1500 CPU 的 OPC UA 服務(wù)器需要使用許可證。所需的許可證類(lèi)型取決于相應? ? ?CPU 的性能。將許可證類(lèi)型分為以下幾類(lèi):

●? SIMATIC OPC UA S7-1500 小型(CPU 1511、CPU 1512、CPU 1513、ET 200SP? ? CPU、CPU 1515SP PC 需要使用這種類(lèi)型)

●? SIMATIC OPC UA S7-1500 中型(適用于 CPU 1515、CPU 1516、軟件控制器 CPU? ? 1507、CPU 1516pro-2PN)

●? SIMATIC OPC UA S7-1500 大型(CPU 1517、CPU 1518 需要使用這種類(lèi)型)

1.3、導航至? 'CPU 屬性>OPC UA>常規'? 選項設置 OPC UA 應用名稱(chēng),也可以使用默認名稱(chēng)。請注意,證書(shū)上需要輸入應用程序名稱(chēng)(主題備用名稱(chēng)),并且更改應用程序名稱(chēng)后可能需要再次生成現有證書(shū)。

1.4、導航至 'CPU 屬性>OPC UA>服務(wù)器' 選項設置服務(wù)器會(huì )話(huà)數量限制以及采樣發(fā)布的最短間隔,無(wú)特殊需求也可以使用默認設置。

●? 會(huì )話(huà)最大超時(shí),在該字段中指定在不進(jìn)行數據交換的情況下OPC UA服務(wù)器關(guān)閉會(huì )話(huà)之前的最大時(shí)長(cháng)。允許值在1到 600000秒之間。

●? 最大OPC UA會(huì )話(huà)數,在該字段中指定OPC UA服務(wù)器啟動(dòng)并同時(shí)操作的最大會(huì )話(huà)數。最大會(huì )話(huà)數取決于CPU的性能。每個(gè)會(huì )話(huà)都會(huì )占用資源。

●? 最大注冊節點(diǎn)數,在該字段中指定OPC UA服務(wù)器注冊的最大節點(diǎn)數。最大注冊節點(diǎn)數取決于CPU的容量,并會(huì )在組態(tài)字段內容時(shí)顯示(將光標放在字段中)。每次注冊都會(huì )占用資源。

● 最短采樣時(shí)間間隔,在“最短采樣時(shí)間間隔”中,可設置OPC UA服務(wù)器記錄CPU變量值并與以前值相比較檢查是否發(fā)生變更的時(shí)間間隔。

● 最短發(fā)布時(shí)間間隔,在“最短發(fā)布時(shí)間間隔”中,可設置變量值發(fā)生改變時(shí)服務(wù)器通過(guò)新值向客戶(hù)端發(fā)送消息的時(shí)間間隔。

● 所監視元素的最大數量,在該字段中指定該CPU的OPC UA服務(wù)器可同時(shí)監視值更改的最大元素數量。監視會(huì )占用資源,可監視元素的最大數量取決于所用的CPU。

1.5、編譯硬件并下載就可以啟用一個(gè)簡(jiǎn)單的OPC UA服務(wù)器,服務(wù)器在其標準配置中允許任意客戶(hù)端進(jìn)行連接。如果需要管理客戶(hù)端證書(shū)以及訪(fǎng)問(wèn)認證管理請繼續進(jìn)行下面配置。

2、使能全局安全設置

為了管理 OPC UA 服務(wù)器的證書(shū)必須啟用TIA項目的全局安全設置。

2.1、導航至項目樹(shù)下安全設置為項目設置用戶(hù)名密碼。

2.2、導航至 'CPU 屬性>防護與安全>證書(shū)管理器' 選項使能證書(shū)管理器。

3、配置安全策略

通過(guò)OPC UA服務(wù)器的安全策略來(lái)配置OPC UA客戶(hù)端和服務(wù)器之間的加密和身份驗證方式,選擇允許的安全策略。

4、通過(guò)管理證書(shū)實(shí)現安全訪(fǎng)問(wèn)

為了實(shí)現只允許指定的OPC UA客戶(hù)端與OPC UA服務(wù)器進(jìn)行連接,需要做以下配置

4.1、創(chuàng )建服務(wù)器證書(shū),根據需要選擇自簽署還是CA簽署。

4.2、禁止運行過(guò)程中自動(dòng)接受客戶(hù)端證書(shū)。

4.3、導出客戶(hù)端證書(shū)。

4.4、管理受信證書(shū),把之前導出的客戶(hù)端證書(shū)導入到受信證書(shū)一欄。

4.5、分配可信客戶(hù)端。

5、用戶(hù)身份認證

S7-1500 OPC UA服務(wù)器用戶(hù)身份認證分為2種,一種是訪(fǎng)客認證,另一種是用戶(hù)名和密碼認證。如果需要指定用戶(hù)登錄權限需要禁止訪(fǎng)客認證并增加用戶(hù)名密碼認證。

6、分配PLC變量的訪(fǎng)問(wèn)權

對PLC中創(chuàng )建的變量分配它的讀寫(xiě)權限,默認都可以訪(fǎng)問(wèn),可以單獨為變量分配讀寫(xiě)權限,也可以整個(gè)DB塊設置訪(fǎng)問(wèn)權限。

7、項目編譯下載后進(jìn)行訪(fǎng)問(wèn)測試

通過(guò)UA Expert進(jìn)行連接訪(fǎng)問(wèn),選擇安全策略及用戶(hù)身份認證方式后進(jìn)入證書(shū)驗證界面,需要信任服務(wù)器證書(shū)并接受臨時(shí)會(huì )話(huà)請求。注意這里 UA Expert 通過(guò) Trust Server Certificate 按鈕即可完成 Server 證書(shū)的導入,如果是其它客戶(hù)端沒(méi)有此功能需要手動(dòng)到 TIA 下的證書(shū)管理器中導出CA證書(shū)和設備證書(shū)并拷貝到客戶(hù)端對應受信證書(shū)列表里即可。

建立連接成功后瀏覽PLC數據,并進(jìn)行讀寫(xiě)訪(fǎng)問(wèn)測試。

8、OPC UA 服務(wù)器方法的創(chuàng )建

在 S7-1500 CPU(自固件版本 V2.5 起)的OPC UA服務(wù)器中,可以選擇通過(guò)用戶(hù)程序提供方法。OPC UA方法為不同通信節點(diǎn)之間的交互提供了有效機制,該機制提供作業(yè)確認和反饋值,因此用戶(hù)無(wú)需再編程握手機制。

OPC UA方法的工作原理

通常,OPC UA方法的工作原理與運行系統中由外部OPC UA客戶(hù)端調用的受專(zhuān)有技術(shù)保護函數塊的原理類(lèi)似。OPC UA 客戶(hù)端僅“監視”已定義的輸入和輸出,函數塊、方法或算法的內容對外部OPC UA客戶(hù)端保持隱藏,OPC UA客戶(hù)端接收成功執行的反饋以及函數塊(方法)返回的值,或者,如果執行不成功,則會(huì )收到錯誤消息。

服務(wù)器方法的實(shí)現

1. 使用OPC_UA_ServerMethodPre查詢(xún)服務(wù)器方法調用該指令將執行以下任務(wù):

–? 通過(guò)該指令詢(xún)問(wèn)CPU的OPC UA服務(wù)器是否已通過(guò)OPC UA客戶(hù)端調用服務(wù)器方法。

–? 如果已調用方法,并且服務(wù)器方法具有輸入參數,服務(wù)器方法現在會(huì )接收到輸入參數。

2. 編輯服務(wù)器方法

在這部分服務(wù)器方法中,用戶(hù)提供實(shí)際用戶(hù)程序。如果服務(wù)器方法使用輸入參數,則可使用這些參數。僅當OPC UA客戶(hù)端已調用服務(wù)器方法時(shí),才可執行服務(wù)器方法的這一部分。成功執行方法后,如果方法具有輸出參數,需要設置服務(wù)器方法的輸出參數。

3. 使用OPC_UA_ServerMethodPost響應服務(wù)器方法

要完成服務(wù)器方法,應調用“OPC_UA_ServerMethodPost”指令。使用參數通知 “OPC_UA_ServerMethodPost”指令是否已處理用戶(hù)程序,如果用戶(hù)程序已成功執行,則會(huì )通過(guò)相關(guān)參數通知OPC UA服務(wù)器。OPC UA服務(wù)器隨后會(huì )將服務(wù)器方法的輸出參數發(fā)送到OPC UA客戶(hù)端。

無(wú)論用戶(hù)程序是由“OPC_UA_ServerMethodPre”和 “OPC_UA_ServerMethodPost” 指令處理還是在下一個(gè)周期繼續執行,始終以成對的形式調用這兩個(gè)指令。

給出了使用 OPC UA 服務(wù)器方法指令為用戶(hù)程序中所執行的 OPC UA 客戶(hù)端提供一個(gè)方法。需要注意的是服務(wù)器方法指令的多重實(shí)例必須命名為 “OPC_UA_ServerMethodPre_Instance” 和 “OPC_UA_ServerMethodPost_Instance”,否則不會(huì )在服務(wù)器上創(chuàng )建方法,還有就是需要聲明 “UAMethod_InParameters” 和 “UAMethod_OutParameters” 兩個(gè)變量分別連接到方法指令引腳上,否則方法指令會(huì )報錯。

在客戶(hù)端內瀏覽到創(chuàng )建的服務(wù)器方法,選中 Method 后鼠標右鍵來(lái)調用方法,在調用方法對話(huà)框中傳輸輸入參數點(diǎn)擊 Call 按鈕,返回輸出參數及方法執行后的狀態(tài)。

常見(jiàn)問(wèn)題及建議

1、通過(guò)OPC UA客戶(hù)端訪(fǎng)問(wèn)OPC UA服務(wù)器的建議

●? 對于一次性或不頻繁的數據訪(fǎng)問(wèn),請使用標準的讀/寫(xiě)訪(fǎng)問(wèn)。

● 對于少量數據的循環(huán)訪(fǎng)問(wèn)(循環(huán)間隔最長(cháng)約為 5 秒),請使用訂閱。 優(yōu)化OPC UA服務(wù)器中的最短發(fā)布時(shí)間間隔設置和最小采樣時(shí)間間隔設置。

● 如果定期訪(fǎng)問(wèn)某些特定變量(重復訪(fǎng)問(wèn)),則可使用函數 “RegisteredRead” 和 “Regist? eredWrite” 。

2、導致 OPC UA 服務(wù)器連接失敗的原因

當建立到 OPC UA 服務(wù)器的連接時(shí),需用注意許多要點(diǎn)來(lái)保證過(guò)程順利地進(jìn)行。以下連接建立出錯的原因與用到的 OPC UA 客戶(hù)端和服務(wù)器無(wú)關(guān)。

基于證書(shū)連接的日期和時(shí)間

基于證書(shū)授權的通訊中,在OPC UA 服務(wù)器上,需要檢查證書(shū)的有效期。這就要求終端系統具備當前時(shí)間。對證書(shū)檢查時(shí),OPC UA 服務(wù)器可能會(huì )給出時(shí)間錯誤響應,狀態(tài)碼為 “BadSecurityChecksFailed” 或者 “BadCertificateTimeInvalid” 。解決方案建議使用 NTP 服務(wù)器來(lái)實(shí)現時(shí)鐘同步。如果 NTP 無(wú)法實(shí)現,則只能手動(dòng)為終端系統設置當前時(shí)間。

經(jīng)過(guò) NAT 路由器的 OPC UA 客戶(hù)端-服務(wù)器連接嘗試失敗,產(chǎn)生錯誤信息 “BadCommunicationError” 或 “BadNotConnected” 。

在NAT系統中,IPv4 數據包被路由器處理。?這意味著(zhù)數據包的源IP?( “Source NAT” ) 或者目的 IP ( “Destination NAT” ) 會(huì )被路由器配置的IP地址替換掉 ( 取決于目的端口 )。而客戶(hù)端和服務(wù)器并不知道這個(gè)過(guò)程。

聲明:部分內容來(lái)源于網(wǎng)絡(luò ),如侵權請后臺留言聯(lián)系刪除。