WinCC與S7-1500 冗余系統的通信方法
WinCC與S7-1500R/H冗余系統通信有2種方式
以下為本次采用的軟件和硬件:
軟件:
WinCC : SIMATIC WinCC V7.5 SP1
Step7:SIMATIC STEP7 Professional V16
硬件:
CPU 1515R-2 PN
IM 155-6 PN
方法1:系統IP通信
WinCC通過S7-1500R/H的系統IP通信,這時S7-1500R/H的2個CPU被看作1個PLC,系統IP自動連接到主PLC。當主PLC宕機后,WinCC通過此系統IP自動切換到備用PLC上。這種方式組態簡單,與單PLC無異,WinCC通信連接中的IP地址輸入S7-1500R的系統IP即可。
這種方式適用PC是單網卡的網絡結構
這種連接方式下支持符號訪問,也支持AS 讀取變量,我們著重介紹方法2
方法2:通過系統變量通信
WinCC V7.5 SP1 開始支持通過"系統變量“控制的S7-1500R/H冗余通信。可支持單網卡的網絡,也可支持雙網卡的冗余網絡。
原理:WinCC與主PLC的固定IP通信,監視"通訊連接狀態的系統變量“,當主PLC宕機后,WinCC通過“通信控制變量"切換到備用PLC的固定IP進行通訊。
組態步驟如下:
第一步:創建連接
在WinCC中創建CPU1的連接,用其固定IP地址
第二步:創建系統變量
在WinCC連接下,手動創建系統變量,變量名格式為“@連接名稱@變量名稱"。變量地址為空或者使用PLC中沒有用到的地址。其變量名稱和數據類型如下
各系統變量的作用如下:
“@<connectionname>@ForceConnectionState" :用來建立/終止冗余連接,設置為1:建立連接,設置為0:斷開連接。這里此變量建議設置初始值為1
“@<connectionname>@ConnectionState" :用來反饋冗余連接狀態, 值為1時代表連接已經建立,值為0時代表連接已經斷開
“@<connectionname>@ConfiguredAddress" :用來反饋所組態的連接參數屬性。格式為“AccessPoint=訪問點名稱;IPAddress=PLC IP地址;"
“@<connectionname>@AlternativeAddress" :設置與備用 CPU(CPU2) 的連接的參數屬性,格式為“AccessPoint=訪問點名稱;IPAddress=備用PLC IP地址;",需要設置初始值
備用連接和組態的連接可以使用同一個訪問名,也可以使用不同的訪問名。使用不的訪問名時,WinCC可以定兩塊網卡分別連接S7-1500R的兩個CPU。
“@<connectionname>@CurrentAddress" :反饋當前連接的參數屬性。
“@<connectionname>@UseAlternativeAddress" : 設置使用組態的連接還是備用連接,設置為1:使用備用連接,設置為0:使用組態的連接。
“@<connectionname>@OpStateConfiguredAddress " :讀取S7-1500R的CPU1 當前的操作模式,0: not connected,4: STOP,6: STARTUP,8: RUN,22: SYNCUP。
“@<connectionname>@>@OpStateConfiguredAddress" :讀取S7-1500R的CPU2 當前的操作模式,0: not connected,4: STOP,6: STARTUP,8: RUN,22: SYNCUP。
“@<connectionname>@RedundantCPUs" :指示所連接的控制器是否冗余,設置為1:代表所連接的PLC是S7-1500R/H,設置為0代表所連接的PLC是非冗余的S7-1200/1500。這里設置初值為1。
第三步:變量賦初值
為“@AlternativeAddress"和 “@RedundantCPUs" 賦初值。
“@AlternativeAddress"為“AccessPoint=CP_H1_1:;IPAddress=192.168.1.2; "
“@RedundantCPUs"為1。
第四步:創建全局動作
通過變量“@UseAlternativeAddress"設定WinCC的連接參數,包括訪問點和PLC IP地址。
注意:修改“@UseAlternativeAddress"的值后,需重新置位 “@ForceConnectionState"。
1、創建全局VBS動作
創建全局VBS動作,自動切換WinCC連接參數,包括下面2種情況:
(1)當前連接中斷
(2)S7-1500/1200 被置STOP模式
判斷方法:
(1)@ConnectionState=0代表當前連接中斷。
(2)WinCC連接正常時(@ConnectionState=1)
當@UseAlternativeAddress = 0并且@OpStateConfiguredAddress = 4時,代表當前WinCC連接到CPU1,并且所連接的CPU為STOP模式。
當@UseAlternativeAddress = 1并且@ OpStateAlternativeAddress = 4時,代表當前WinCC連接到CPU2,并且所連接的CPU為STOP模式。
VBS動作腳本
以上腳本可以在WinCC幫助中搜索‘VBS381’來獲取
2、VBS動作的觸發器
當WinCC連接中斷或所連CPU的操作模式變為STOP時,需要觸發切換腳本。
設置VBS動作的觸發器
第五步:啟動運行
在WinCC啟動列表中選擇“全局腳本運行系統",然后激活WinCC運行系統。
可以看到,當WinCC與主PLC連接網絡中斷或主PLC變成STOP模式時,WinCC連接都會切換連接至備用PLC,保證正常通信。
說明:
1、WinCC使用兩塊網卡和S7-1500R/H通信
WinCC可組態不同的網卡進行通信。設置變量“@AlternativeAddress"使連接不同的訪問名,本文中,主連接使用訪問名“CP_H1_1:",備用連接使用訪問名“CP_H1_2:",這樣WinCC就可以使用兩塊不同的網卡分別連接冗余的兩個CPU。
2、如何確保WinCC連接到主CPU
WinCC通過系統IP與S7-1500R/H通信時,是系統主動識別并連接到主CPU的。但WinCC通過系統變量控制通信連接的方式,則不一定,需要確保WinCC中設定的主連接(如IP地址)是指向當前實際的主CPU (S7-1500面板上顯示P為主CPU,B為備CPU)