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宕機后,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(wǎng)卡的網(wǎng)絡(luò),也可支持雙網(wǎng)卡的冗余網(wǎng)絡(luò),。
原理:WinCC與主PLC的固定IP通信,,監(jiān)視"通訊連接狀態(tài)的系統(tǒng)變量“,當(dāng)主PLC宕機后,,WinCC通過“通信控制變量"切換到備用PLC的固定IP進行通訊,。
組態(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)卡進行通信,。設(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)