OPC UA 概述
OPC UA是一項(xiàng)開(kāi)放標(biāo)準(zhǔn),適用于從機(jī)器到機(jī)器間(M2M)的水平通信和從機(jī)器直到云端的垂直通信。該標(biāo)準(zhǔn)獨(dú)立于供應(yīng)商和平臺(tái),支持廣泛的安全機(jī)制,并且可以與 PROFINET 共享同一工業(yè)以太網(wǎng)絡(luò)。
OPC UA通信的特性及優(yōu)勢(shì)
特性:
獨(dú)立于供應(yīng)商和平臺(tái)
集成的安全概念(加密、簽名和驗(yàn)證)
一致、端到端,并可擴(kuò)展
信息模型和語(yǔ)義服務(wù)
與PROFINET 不受限制的并行傳輸
優(yōu)勢(shì):
標(biāo)準(zhǔn)化接口和廣泛的可用性
直接按照協(xié)議進(jìn)行安全通信,無(wú)需額外硬件
跨所有自動(dòng)化層的直接連接和通信
簡(jiǎn)單明了的數(shù)據(jù)解釋
基于以太網(wǎng)的簡(jiǎn)單網(wǎng)絡(luò),使用現(xiàn)有的工業(yè)以太網(wǎng)基礎(chǔ)設(shè)施
簡(jiǎn)單機(jī)器集成用的國(guó)際標(biāo)準(zhǔn)化接口(配套規(guī)范)
具有 OPC UA接口+支持工具的西門(mén)子產(chǎn)品和系統(tǒng)
西門(mén)子為全集成自動(dòng)化(TIA)提供從現(xiàn)場(chǎng)層擴(kuò)展到控制和操作層的全面硬件和軟件組合。作為開(kāi)放的通信標(biāo)準(zhǔn),OPC UA 在整個(gè) TIA 產(chǎn)品組合中扮演著重要的角色。
圖1:產(chǎn)品概覽
應(yīng)用示例內(nèi)容及軟/硬件需求
此應(yīng)用示例的內(nèi)容
為了實(shí)現(xiàn) OPC UA 客戶(hù)端與 SIMATIC S7-1500 的服務(wù)器進(jìn)行數(shù)據(jù)交換,這個(gè)應(yīng)用示例將向您詳細(xì)介紹 SIMATIC S7-1500 的 OPC UA 服務(wù)器的配置以及如何通過(guò) OPC UA 客戶(hù)端軟件連接 S7-1500 服務(wù)器。
用于測(cè)試用途的 OPC UA 客戶(hù)端
● Unified Automation 的 “UaExpert”??擅赓M(fèi)使用的功能豐富的客戶(hù)端: 下載 UaExpert 的鏈接 ( https://www.unified-automation.com/downloads/opc-ua-clients.html )
● OPC Foundation 的 “UA Sample Client” 。在 OPC Foundation 注冊(cè)的用戶(hù)可免費(fèi)使用該客戶(hù)端:下載 OPC Foundation 示例客戶(hù)端的鏈接 ( https://opcfoundation.org )
S7-1500 配置 OPC UA 服務(wù)器的軟/硬件需求
已獲得操作 OPC UA 功能的運(yùn)行系統(tǒng)許可證。
TIA Portal V14 以及S7-1500 V2.0以后開(kāi)始支持OPC UA服務(wù)器功能,除 S7-1500 標(biāo)準(zhǔn) CPU 之外,這一特性同樣適用于 S7-1500F、S7-1500T、S7-1500C、S7-1500pro CPU、ET 200SP CPU、SIMATIC S7-1500 軟件控制器和 PLCSIM Advanced。S7-1500 CPU 上所有集成的 PROFINET 接口,均可用于訪問(wèn)該 CPU 的 OPC UA 服務(wù)器。 不能借助 CP 或 CM 通過(guò)自動(dòng)化系統(tǒng)的背板總線直接訪問(wèn) CPU 的 OPC UA 服務(wù)器。下表列出了不同版本所支持的功能。
表1:OPC UA功能列表
S7-1500 的 OPC UA 服務(wù)器實(shí)驗(yàn)環(huán)境
在本應(yīng)用實(shí)例中,使用以下產(chǎn)品配置 OPC UA 服務(wù)器。
圖2:實(shí)驗(yàn)環(huán)境
軟件:
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ù)器默認(rèn)是禁用的,下面介紹如何使能一個(gè)簡(jiǎn)單的 OPC UA 服務(wù)器
1.1、導(dǎo)航至 CPU 的屬性常規(guī)界面選擇 OPC UA 服務(wù)器常規(guī)選項(xiàng)激活 OPC UA 服務(wù)器,如下圖。
圖3. 使能OPC UA服務(wù)器
1.2、導(dǎo)航至 "CPU 屬性>運(yùn)行系統(tǒng)許可證> OPC UA" 選擇選擇所需許可證類(lèi)型,如下圖4。
運(yùn)行 S7-1500 CPU 的 OPC UA 服務(wù)器需要使用許可證。所需的許可證類(lèi)型取決于相應(yīng) 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)型)
圖4. 運(yùn)行許可證
1.3、導(dǎo)航至 "CPU 屬性>OPC UA>常規(guī)" 選項(xiàng)設(shè)置 OPC UA 應(yīng)用名稱(chēng),也可以使用默認(rèn)名稱(chēng),如下圖5。請(qǐng)注意,證書(shū)上需要輸入應(yīng)用程序名稱(chēng)(主題備用名稱(chēng)),并且更改應(yīng)用程序名稱(chēng)后可能需要再次生成現(xiàn)有證書(shū)。
圖5. 應(yīng)用名稱(chēng)
1.4、導(dǎo)航至 "CPU 屬性>OPC UA>服務(wù)器" 選項(xiàng)設(shè)置服務(wù)器會(huì)話數(shù)量限制以及采樣發(fā)布的最短間隔,無(wú)特殊需求也可以使用默認(rèn)設(shè)置,如下圖6。
● 會(huì)話最大超時(shí),在該字段中指定在不進(jìn)行數(shù)據(jù)交換的情況下 OPC UA 服務(wù)器關(guān)閉會(huì)話之前的最大時(shí)長(zhǎng)。 允許值在 1 到 600000 秒之間。
● 最大 OPC UA 會(huì)話數(shù),在該字段中指定 OPC UA 服務(wù)器啟動(dòng)并同時(shí)操作的最大會(huì)話數(shù)。最大會(huì)話數(shù)取決于 CPU 的性能。每個(gè)會(huì)話都會(huì)占用資源。
● 最大注冊(cè)節(jié)點(diǎn)數(shù),在該字段中指定 OPC UA 服務(wù)器注冊(cè)的最大節(jié)點(diǎn)數(shù)。最大注冊(cè)節(jié)點(diǎn)數(shù)取決于 CPU 的容量,并會(huì)在組態(tài)字段內(nèi)容時(shí)顯示(將光標(biāo)放在字段中)。每次注冊(cè)都會(huì)占用資源。
● 最短采樣時(shí)間間隔, 在“最短采樣時(shí)間間隔”中,可設(shè)置 OPC UA 服務(wù)器記錄 CPU 變量值并與以前值相比較檢查是否發(fā)生變更的時(shí)間間隔。
● 最短發(fā)布時(shí)間間隔, 在“最短發(fā)布時(shí)間間隔”中,可設(shè)置變量值發(fā)生改變時(shí)服務(wù)器通過(guò)新值向客戶(hù)端發(fā)送消息的時(shí)間間隔。
● 所監(jiān)視元素的最大數(shù)量,在該字段中指定該 CPU 的 OPC UA 服務(wù)器可同時(shí)監(jiān)視值更改的最大元素?cái)?shù)量。 監(jiān)視會(huì)占用資源,可監(jiān)視元素的最大數(shù)量取決于所用的 CPU。
圖6. 選項(xiàng)
1.5、編譯硬件并下載就可以啟用一個(gè)簡(jiǎn)單的 OPC UA 服務(wù)器,服務(wù)器在其標(biāo)準(zhǔn)配置中允許任意客戶(hù)端進(jìn)行連接,如下圖7所示。如果需要管理客戶(hù)端證書(shū)以及訪問(wèn)認(rèn)證管理請(qǐng)繼續(xù)進(jìn)行下面配置。
圖7. 非安全訪問(wèn)測(cè)試
2、使能全局安全設(shè)置
為了管理 OPC UA 服務(wù)器的證書(shū)必須啟用TIA項(xiàng)目的全局安全設(shè)置。
2.1、導(dǎo)航至項(xiàng)目樹(shù)下安全設(shè)置為項(xiàng)目設(shè)置用戶(hù)名密碼,如下圖8。
圖8. 安全設(shè)置
2.2、導(dǎo)航至 "CPU 屬性>防護(hù)與安全>證書(shū)管理器" 選項(xiàng)使能證書(shū)管理器,如下圖9。
圖9. 證書(shū)管理器
3、配置安全策略
通過(guò) OPC UA 服務(wù)器的安全策略來(lái)配置 OPC UA 客戶(hù)端和服務(wù)器之間的加密和身份驗(yàn)證方式,如下圖10,選擇允許的安全策略。
圖10. 安全策略
4、通過(guò)管理證書(shū)實(shí)現(xiàn)安全訪問(wèn)
為了實(shí)現(xiàn)只允許指定的 OPC UA 客戶(hù)端與 OPC UA 服務(wù)器進(jìn)行連接,需要做以下配置
4.1、創(chuàng)建服務(wù)器證書(shū),根據(jù)需要選擇自簽署還是 CA 簽署,如下圖11。
圖11. 創(chuàng)建服務(wù)器證書(shū)
4.2、禁止運(yùn)行過(guò)程中自動(dòng)接受客戶(hù)端證書(shū),如下圖12。
圖12. 禁用自動(dòng)接受客戶(hù)端證書(shū)
4.3、導(dǎo)出客戶(hù)端證書(shū),如下圖13。
圖13. 客戶(hù)端證書(shū)
4.4、管理受信證書(shū),把之前導(dǎo)出的客戶(hù)端證書(shū)導(dǎo)入到受信證書(shū)一欄,如下圖14。
圖14.受信證書(shū)導(dǎo)入
4.5、分配可信客戶(hù)端,如下圖15。
圖15.可信客戶(hù)端
5、用戶(hù)身份認(rèn)證
S7-1500 OPC UA服務(wù)器用戶(hù)身份認(rèn)證分為2種,一種是訪客認(rèn)證,另一種是用戶(hù)名和密碼認(rèn)證。如果需要指定用戶(hù)登錄權(quán)限需要禁止訪客認(rèn)證并增加用戶(hù)名密碼認(rèn)證,如下圖16。
圖16. 用戶(hù)身份認(rèn)證
6、分配 PLC 變量的訪問(wèn)權(quán)
對(duì) PLC 中創(chuàng)建的變量分配它的讀寫(xiě)權(quán)限,默認(rèn)都可以訪問(wèn),可以單獨(dú)為變量分配讀寫(xiě)權(quán)限,也可以整個(gè) DB 塊設(shè)置訪問(wèn)權(quán)限,如下圖17。
圖17.變量訪問(wèn)權(quán)限
7、項(xiàng)目編譯下載后進(jìn)行訪問(wèn)測(cè)試
通過(guò) UA Expert 進(jìn)行連接訪問(wèn),選擇安全策略及用戶(hù)身份認(rèn)證方式后進(jìn)入證書(shū)驗(yàn)證界面,需要信任服務(wù)器證書(shū)并接受臨時(shí)會(huì)話請(qǐng)求,如下圖18。注意這里 UA Expert 通過(guò) Trust Server Certificate 按鈕即可完成 Server 證書(shū)的導(dǎo)入,如果是其它客戶(hù)端沒(méi)有此功能需要手動(dòng)到 TIA 下的證書(shū)管理器中導(dǎo)出 CA 證書(shū)和設(shè)備證書(shū)并拷貝到客戶(hù)端對(duì)應(yīng)受信證書(shū)列表里即可。
圖18.建立連接
建立連接成功后瀏覽PLC數(shù)據(jù),并進(jìn)行讀寫(xiě)訪問(wèn)測(cè)試,如下圖19。
圖19.數(shù)據(jù)訪問(wèn)
8、OPC UA 服務(wù)器方法的創(chuàng)建
在 S7-1500 CPU(自固件版本 V2.5 起)的 OPC UA 服務(wù)器中,可以選擇通過(guò)用戶(hù)程序提供方法。 OPC UA 方法為不同通信節(jié)點(diǎn)之間的交互提供了有效機(jī)制,該機(jī)制提供作業(yè)確認(rèn)和反饋值,因此用戶(hù)無(wú)需再編程握手機(jī)制。
OPC UA 方法的工作原理 通常,OPC UA 方法的工作原理與運(yùn)行系統(tǒng)中由外部 OPC UA 客戶(hù)端調(diào)用的受專(zhuān)有技術(shù)保護(hù)函數(shù)塊的原理類(lèi)似。OPC UA 客戶(hù)端僅"監(jiān)視"已定義的輸入和輸出,函數(shù)塊、方法或算法的內(nèi)容對(duì)外部 OPC UA 客戶(hù)端保持隱藏,OPC UA 客戶(hù)端接收成功執(zhí)行的反饋以及函數(shù)塊(方法)返回的值,或者,如果執(zhí)行不成功,則會(huì)收到錯(cuò)誤消息。
服務(wù)器方法的實(shí)現(xiàn) 1. 使用 OPC_UA_ServerMethodPre 查詢(xún)服務(wù)器方法調(diào)用該指令將執(zhí)行以下任務(wù): – 通過(guò)該指令詢(xún)問(wèn) CPU 的 OPC UA 服務(wù)器是否已通過(guò) OPC UA 客戶(hù)端調(diào)用服務(wù)器方法。 – 如果已調(diào)用方法,并且服務(wù)器方法具有輸入?yún)?shù),服務(wù)器方法現(xiàn)在會(huì)接收到輸入?yún)?shù)。 2. 編輯服務(wù)器方法 在這部分服務(wù)器方法中,用戶(hù)提供實(shí)際用戶(hù)程序。如果服務(wù)器方法使用輸入?yún)?shù),則可使用這些參數(shù)。 僅當(dāng) OPC UA 客戶(hù)端已調(diào)用服務(wù)器方法時(shí),才可執(zhí)行服務(wù)器方法的這一部分。成功執(zhí)行方法后,如果方法具有輸出參數(shù),需要設(shè)置服務(wù)器方法的輸出參數(shù)。 3. 使用 OPC_UA_ServerMethodPost 響應(yīng)服務(wù)器方法 要完成服務(wù)器方法,應(yīng)調(diào)用 “OPC_UA_ServerMethodPost” 指令。使用參數(shù)通知 “OPC_UA_ServerMethodPost” 指令是否已處理用戶(hù)程序,如果用戶(hù)程序已成功執(zhí)行,則會(huì)通過(guò)相關(guān)參數(shù)通知 OPC UA 服務(wù)器。OPC UA 服務(wù)器隨后會(huì)將服務(wù)器方法的輸出參數(shù)發(fā)送到 OPC UA 客戶(hù)端。 無(wú)論用戶(hù)程序是由 “OPC_UA_ServerMethodPre” 和 “OPC_UA_ServerMethodPost” 指令處理還是在下一個(gè)周期繼續(xù)執(zhí)行,始終以成對(duì)的形式調(diào)用這兩個(gè)指令。
如下圖20所示給出了使用 OPC UA 服務(wù)器方法指令為用戶(hù)程序中所執(zhí)行的 OPC UA 客戶(hù)端提供一個(gè)方法。需要注意的是服務(wù)器方法指令的多重實(shí)例必須命名為 “OPC_UA_ServerMethodPre_Instance” 和 “OPC_UA_ServerMethodPost_Instance”,否則不會(huì)在服務(wù)器上創(chuàng)建方法,還有就是需要聲明 “UAMethod_InParameters” 和 “UAMethod_OutParameters” 兩個(gè)變量分別連接到方法指令引腳上,否則方法指令會(huì)報(bào)錯(cuò)。
圖20.方法程序代碼
在客戶(hù)端內(nèi)瀏覽到創(chuàng)建的服務(wù)器方法,選中 Method 后鼠標(biāo)右鍵來(lái)調(diào)用方法,在調(diào)用方法對(duì)話框中傳輸輸入?yún)?shù)點(diǎn)擊 Call 按鈕,返回輸出參數(shù)及方法執(zhí)行后的狀態(tài),如下圖 21 所示。
圖21.方法測(cè)試
常見(jiàn)問(wèn)題及建議
1、通過(guò) OPC UA 客戶(hù)端訪問(wèn) OPC UA 服務(wù)器的建議
● 對(duì)于一次性或不頻繁的數(shù)據(jù)訪問(wèn),請(qǐng)使用標(biāo)準(zhǔn)的讀/寫(xiě)訪問(wèn)。
● 對(duì)于少量數(shù)據(jù)的循環(huán)訪問(wèn)(循環(huán)間隔最長(zhǎng)約為 5 秒),請(qǐng)使用訂閱。 優(yōu)化 OPC UA 服務(wù)器中的最短發(fā)布時(shí)間間隔設(shè)置和最小采樣時(shí)間間隔設(shè)置。
● 如果定期訪問(wèn)某些特定變量(重復(fù)訪問(wèn)),則可使用函數(shù) “RegisteredRead” 和 “Regist eredWrite” 。
2、導(dǎo)致 OPC UA 服務(wù)器連接失敗的原因
當(dāng)建立到 OPC UA 服務(wù)器的連接時(shí),需用注意許多要點(diǎn)來(lái)保證過(guò)程順利地進(jìn)行。以下連接建立出錯(cuò)的原因與用到的 OPC UA 客戶(hù)端和服務(wù)器無(wú)關(guān)。
基于證書(shū)連接的日期和時(shí)間
基于證書(shū)授權(quán)的通訊中,在OPC UA 服務(wù)器上,需要檢查證書(shū)的有效期。這就要求終端系統(tǒng)具備當(dāng)前時(shí)間。對(duì)證書(shū)檢查時(shí),OPC UA 服務(wù)器可能會(huì)給出時(shí)間錯(cuò)誤響應(yīng),狀態(tài)碼為 “BadSecurityChecksFailed” 或者 “BadCertificateTimeInvalid” 。解決方案建議使用 NTP 服務(wù)器來(lái)實(shí)現(xiàn)時(shí)鐘同步。如果 NTP 無(wú)法實(shí)現(xiàn),則只能手動(dòng)為終端系統(tǒng)設(shè)置當(dāng)前時(shí)間。
經(jīng)過(guò) NAT 路由器的 OPC UA 客戶(hù)端-服務(wù)器連接嘗試失敗,產(chǎn)生錯(cuò)誤信息 “BadCommunicationError” 或 “BadNotConnected” 。
在NAT系統(tǒng)中,IPv4 數(shù)據(jù)包被路由器處理。?這意味著數(shù)據(jù)包的源IP?( “Source NAT” ) 或者目的 IP ( “Destination NAT” ) 會(huì)被路由器配置的IP地址替換掉 ( 取決于目的端口 )。而客戶(hù)端和服務(wù)器并不知道這個(gè)過(guò)程。
審核編輯:湯梓紅
-
plc
+關(guān)注
關(guān)注
5037文章
13921瀏覽量
474596 -
通信
+關(guān)注
關(guān)注
18文章
6206瀏覽量
137824 -
服務(wù)器
+關(guān)注
關(guān)注
13文章
9795瀏覽量
87994 -
OPC
+關(guān)注
關(guān)注
7文章
359瀏覽量
47344 -
S7-1500
+關(guān)注
關(guān)注
3文章
301瀏覽量
6855
原文標(biāo)題:如何使用S7-1500PLC做OPC UA通信服務(wù)器
文章出處:【微信號(hào):自控少年,微信公眾號(hào):自控少年】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
S7-1500PLC驅(qū)動(dòng)和控制器的性能
西門(mén)子S7-1500PLC的常用模塊及功能
如何使用Labview通過(guò)NI OPC與S7200 PLC通信

西門(mén)子S-1500 OPC UA服務(wù)器配置方法圖解

西門(mén)子S7-300和S7-400及S7-1200與S7-1500PLC的編程語(yǔ)言比較表
通過(guò)MPI建立OPC服務(wù)器與S7-200 PLC集成口的S7連接
SIMATIC NET OPC服務(wù)器與PLC的S7連接簡(jiǎn)介
Simatic Net PC軟件的S7 OPC通信服務(wù)功能
淺談西門(mén)子S7-1500PLC的通信知識(shí)
MES數(shù)據(jù)采集網(wǎng)關(guān)通過(guò)OPC UA網(wǎng)關(guān)實(shí)現(xiàn)工業(yè)現(xiàn)場(chǎng)設(shè)備對(duì)接OPC UA服務(wù)器
Connext? OPC UA軟件——不僅僅是一個(gè)工業(yè)通信服務(wù)器
三菱Q06UDEHCPU轉(zhuǎn)OPC UA服務(wù)器三菱PLC轉(zhuǎn)OPC UA服務(wù)器

專(zhuān)業(yè)講解S7-1500PLC通信原理

S7-1500做服務(wù)器端與三方設(shè)備的TCP通信

評(píng)論