西門子S7-1500PLC如何做OPC UA通信服務器?
發布日期:
2023-07-10

OPC UA是一項開放標準,適用於(yu) 從(cong) 機器到機器間(M2M)的水平通信和從(cong) 機器直到雲(yun) 端的垂直通信。該標準獨立於(yu) 供應商和平台,支持廣泛的安全機製,並且可以與(yu) PROFINET 共享同一工業(ye) 以太網絡。

OPC UA通信的特性及優(you) 勢

特性:

   獨立於(yu) 供應商和平台

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

   一致、端到端,並可擴展

   信息模型和語義(yi) 服務

   與(yu) PROFINET 不受限製的並行傳(chuan) 輸

優(you) 勢:

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

   直接按照協議進行安全通信,無需額外硬件

   跨所有自動化層的直接連接和通信

   簡單明了的數據解釋

   基於(yu) 以太網的簡單網絡,使用現有的工業(ye) 以太網基礎設施

   簡單機器集成用的國際標準化接口(配套規範)

具有OPC UA接口+支持工具的西門子產(chan) 品和係統

西門子為(wei) 全集成自動化(TIA)提供從(cong) 現場層擴展到控製和操作層的全麵硬件和軟件組合。作為(wei) 開放的通信標準,OPC UA 在整個(ge) TIA 產(chan) 品組合中扮演著重要的角色。

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

此應用示例的內(nei) 容

為(wei) 了實現 OPC UA 客戶端與(yu) SIMATIC S7-1500 的服務器進行數據交換,這個(ge) 應用示例將向您詳細介紹 SIMATIC S7-1500 的 OPC UA 服務器的配置以及如何通過 OPC UA 客戶端軟件連接 S7-1500 服務器。

用於(yu) 測試用途的 OPC UA 客戶端

●  Unified Automation 的 “UaExpert”。可免費使用的功能豐(feng) 富的客戶端:   下載 UaExpert 的鏈接 ( https://www.unified-automation.com/downloads/opc-ua-clients.html )

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

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

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

TIA Portal V14 以及S7-1500 V2.0以後開始支持OPC UA服務器功能,除 S7-1500 標準      CPU 之外,這一特性同樣適用於(yu) S7-1500F、S7-1500T、S7-1500C、S7-1500pro     CPU、ET 200SP CPU、SIMATIC S7-1500 軟件控製器和 PLCSIM Advanced。S7-1500 CPU 上所有集成的 PROFINET 接口,均可用於(yu) 訪問該 CPU 的 OPC UA      服務器。    不能借助 CP 或 CM 通過自動化係統的背板總線直接訪問 CPU 的 OPC UA 服務器。

S7-1500 的 OPC UA 服務器實驗環境

在本應用實例中,使用以下產(chan) 品配置 OPC UA 服務器。

軟件:

TIA V15.1

UA Expert V1.5.1

硬件:

CPU 1511-1PN V2.6

配置S7-1500的OPC UA服務器

1、使能 OPC UA 服務器

S7-1500的 OPC UA 服務器默認是禁用的,下麵介紹如何使能一個(ge) 簡單的 OPC UA 服務器

1.1、導航至 CPU 的屬性常規界麵選擇 OPC UA 服務器常規選項激活 OPC UA 服務器。

1.2、導航至 'CPU 屬性>運行係統許可證> OPC UA' 選擇選擇所需許可證類型。

運行 S7-1500 CPU 的 OPC UA 服務器需要使用許可證。所需的許可證類型取決(jue) 於(yu) 相應     CPU 的性能。將許可證類型分為(wei) 以下幾類:

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

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

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

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

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

●  會(hui) 話最大超時,在該字段中指定在不進行數據交換的情況下OPC UA服務器關(guan) 閉會(hui) 話之前的最大時長。允許值在1到 600000秒之間。

●  最大OPC UA會(hui) 話數,在該字段中指定OPC UA服務器啟動並同時操作的最大會(hui) 話數。最大會(hui) 話數取決(jue) 於(yu) CPU的性能。每個(ge) 會(hui) 話都會(hui) 占用資源。

●  最大注冊(ce) 節點數,在該字段中指定OPC UA服務器注冊(ce) 的最大節點數。最大注冊(ce) 節點數取決(jue) 於(yu) CPU的容量,並會(hui) 在組態字段內(nei) 容時顯示(將光標放在字段中)。每次注冊(ce) 都會(hui) 占用資源。

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

● 最短發布時間間隔,在“最短發布時間間隔”中,可設置變量值發生改變時服務器通過新值向客戶端發送消息的時間間隔。

● 所監視元素的最大數量,在該字段中指定該CPU的OPC UA服務器可同時監視值更改的最大元素數量。監視會(hui) 占用資源,可監視元素的最大數量取決(jue) 於(yu) 所用的CPU。

1.5、編譯硬件並下載就可以啟用一個(ge) 簡單的OPC UA服務器,服務器在其標準配置中允許任意客戶端進行連接。如果需要管理客戶端證書(shu) 以及訪問認證管理請繼續進行下麵配置。

2、使能全局安全設置

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

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

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

3、配置安全策略

通過OPC UA服務器的安全策略來配置OPC UA客戶端和服務器之間的加密和身份驗證方式,選擇允許的安全策略。

4、通過管理證書(shu) 實現安全訪問

為(wei) 了實現隻允許指定的OPC UA客戶端與(yu) OPC UA服務器進行連接,需要做以下配置

4.1、創建服務器證書(shu) ,根據需要選擇自簽署還是CA簽署。

4.2、禁止運行過程中自動接受客戶端證書(shu) 。

4.3、導出客戶端證書(shu) 。

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

4.5、分配可信客戶端。

5、用戶身份認證

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

6、分配PLC變量的訪問權

對PLC中創建的變量分配它的讀寫(xie) 權限,默認都可以訪問,可以單獨為(wei) 變量分配讀寫(xie) 權限,也可以整個(ge) DB塊設置訪問權限。

7、項目編譯下載後進行訪問測試

通過UA Expert進行連接訪問,選擇安全策略及用戶身份認證方式後進入證書(shu) 驗證界麵,需要信任服務器證書(shu) 並接受臨(lin) 時會(hui) 話請求。注意這裏 UA Expert 通過 Trust Server Certificate 按鈕即可完成 Server 證書(shu) 的導入,如果是其它客戶端沒有此功能需要手動到 TIA 下的證書(shu) 管理器中導出CA證書(shu) 和設備證書(shu) 並拷貝到客戶端對應受信證書(shu) 列表裏即可。

建立連接成功後瀏覽PLC數據,並進行讀寫(xie) 訪問測試。

8、OPC UA 服務器方法的創建

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

OPC UA方法的工作原理

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

服務器方法的實現

1. 使用OPC_UA_ServerMethodPre查詢服務器方法調用該指令將執行以下任務:

–  通過該指令詢問CPU的OPC UA服務器是否已通過OPC UA客戶端調用服務器方法。

–  如果已調用方法,並且服務器方法具有輸入參數,服務器方法現在會(hui) 接收到輸入參數。

2. 編輯服務器方法

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

3. 使用OPC_UA_ServerMethodPost響應服務器方法

要完成服務器方法,應調用“OPC_UA_ServerMethodPost”指令。使用參數通知 “OPC_UA_ServerMethodPost”指令是否已處理用戶程序,如果用戶程序已成功執行,則會(hui) 通過相關(guan) 參數通知OPC UA服務器。OPC UA服務器隨後會(hui) 將服務器方法的輸出參數發送到OPC UA客戶端。

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

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

在客戶端內(nei) 瀏覽到創建的服務器方法,選中 Method 後鼠標右鍵來調用方法,在調用方法對話框中傳(chuan) 輸輸入參數點擊 Call 按鈕,返回輸出參數及方法執行後的狀態。

常見問題及建議

1、通過OPC UA客戶端訪問OPC UA服務器的建議

●  對於(yu) 一次性或不頻繁的數據訪問,請使用標準的讀/寫(xie) 訪問。

● 對於(yu) 少量數據的循環訪問(循環間隔最長約為(wei) 5 秒),請使用訂閱。 優(you) 化OPC UA服務器中的最短發布時間間隔設置和最小采樣時間間隔設置。

● 如果定期訪問某些特定變量(重複訪問),則可使用函數 “RegisteredRead” 和 “Regist  eredWrite” 。

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

當建立到 OPC UA 服務器的連接時,需用注意許多要點來保證過程順利地進行。以下連接建立出錯的原因與(yu) 用到的 OPC UA 客戶端和服務器無關(guan) 。

基於(yu) 證書(shu) 連接的日期和時間

基於(yu) 證書(shu) 授權的通訊中,在OPC UA 服務器上,需要檢查證書(shu) 的有效期。這就要求終端係統具備當前時間。對證書(shu) 檢查時,OPC UA 服務器可能會(hui) 給出時間錯誤響應,狀態碼為(wei) “BadSecurityChecksFailed” 或者 “BadCertificateTimeInvalid” 。解決(jue) 方案建議使用 NTP 服務器來實現時鍾同步。如果 NTP 無法實現,則隻能手動為(wei) 終端係統設置當前時間。

經過 NAT 路由器的 OPC UA 客戶端-服務器連接嚐試失敗,產(chan) 生錯誤信息 “BadCommunicationError” 或 “BadNotConnected” 。

在NAT係統中,IPv4 數據包被路由器處理。?這意味著數據包的源IP?( “Source NAT” ) 或者目的 IP ( “Destination NAT” ) 會(hui) 被路由器配置的IP地址替換掉 ( 取決(jue) 於(yu) 目的端口 )。而客戶端和服務器並不知道這個(ge) 過程。

聲明:部分內(nei) 容來源於(yu) 網絡,如侵權請後台留言聯係刪除。