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