軟件冗余是的冗余解決方案,適用于對切換時間要求不是很高的場合,主備切換
時間為秒級的控制系統(tǒng)。軟冗余系統(tǒng)包括兩個站,一個為主站,一個為備用站;主備站的數(shù)據(jù)通訊鏈路為標(biāo)準(zhǔn)西門子通訊協(xié)議 (MPI/Profibus/Ethernet);冗余范圍內(nèi)的I/O模板需通過Profibus-DP網(wǎng)絡(luò)連接到ET200M從站上;西門子的軟件冗余可以在S7-300或S7-400的標(biāo)準(zhǔn)系統(tǒng)中實(shí)現(xiàn),只需調(diào)用軟冗余軟件包中的程序塊。
西門子的精智面板支持和軟冗余CPU通訊,如圖1的系統(tǒng)架構(gòu),并且當(dāng)某個CPU連接
中斷,面板可以切換連接到另一個CPU;如果兩個CPU主備切換,面板可以切換到主CPU。
圖1
本文描述的是用WinCC V11組態(tài)的精智面板通過腳本的方式實(shí)現(xiàn)切換連接的方法;本文
只描述面板和CPU的集成PN口之間通過工業(yè)以太網(wǎng)通訊,面板和CPU之間通過其他通訊方式(如MPI/Profibus)連接也可以參考本文。
本文所使用的硬件和軟件如下:
(A) S7-300 soft redundancy
CPU 315-2PN/DP (6ES7315-2EH13-0AB0, Firmware V2.5)
CPU 317F-2PN/DP (6ES7317-2FK14-0AB0, Firmware V3.2)
CP342-5 (6GK7342-5DA02-0XE0, Firmware V5.0)
IM153-2 (6ES7153-2BA02-0XB0)
(B) Panel
KP700 Comfort (6AV2124-1GC01-0AX0)
(C) Software
WinCC V11 SP2 upd2
Step7 V5.5 SP2+HF1
此方法只適用于支持三個以上連接,支持腳本及ChangeConnection函數(shù)的面板,如全
系列的Comfort Panel。
本文不介紹軟件冗余的原理及組態(tài)方法,詳細(xì)可以參考:
《SIEMENS PLC系統(tǒng)軟件冗余的說明與實(shí)現(xiàn)》
下載中心文檔編號:A0039
78604454
2 組態(tài)Comfort Panel和S7-300軟冗余系統(tǒng)的通訊
2.1 CPU組態(tài)
說明:本文描述的CPU組態(tài)是使用Step7 V5.5完成的,不涉及Step7 V11的使用。
A站:315-2PN/DP+IM153-2
B站:317F-2PN/DP+IM153-2
AB站之間通過CP342-5建立連接,實(shí)現(xiàn)冗余數(shù)據(jù)同步。
2.1.1 Step7中的硬件組態(tài)
A站:在Step7中組態(tài)315-2PN/DP,在DP總線上添加IM153-2,如圖2所示。
圖2
在CPU的屬性中選擇Clock Memory,設(shè)置Memory byte為MB0,如圖3所示。
圖3
B站:在Step7中組態(tài)317F-2PN/DP,在DP總線上添加IM153-2,如圖4所示。
圖4
在CPU的屬性中選擇Clock Memory,設(shè)置Memory byte為MB0,如圖5所示。
圖5
2.1.2 Step7中的網(wǎng)絡(luò)組態(tài)
A站和B站之間通過CP342-5建立FDL連接,此連接為AB站之間的數(shù)據(jù)鏈路通道,打開
Netpro界面,新建一個FDL連接,如圖6所示。
圖6
2.1.3 Step7中的CPU編程
說明:本文描述的編程只涉及實(shí)現(xiàn)軟冗余功能的部分,其他功能的實(shí)現(xiàn)不予介紹。
A站:OB100中調(diào)用FC100,實(shí)現(xiàn)初始化,如圖7所示。
圖7
OB35中調(diào)用FB101,必須在執(zhí)行冗余用戶程序的前/后分別調(diào)用FB101,如圖8所示,而FB101內(nèi)部調(diào)用了FB104、FC5、FC6,必須裝載這三個塊。
圖8
OB86中調(diào)用FC102,這樣當(dāng)DP總線有故障時CPU可以實(shí)現(xiàn)主備切換,如圖9。
圖9
B站:OB100中調(diào)用FC100,實(shí)現(xiàn)初始化,如圖10所示。
圖10
OB35和OB86中的編程和A站相同。
組態(tài)好的項目分別下載到CPUA和CPUB中,做好硬件接線。
2.2 在WinCC V11中組態(tài)Comfort Panel
在WinCC V11中插入一個HMI 設(shè)備,選擇設(shè)備類型為“SIMATIC精智面板 > KP700”,
如圖11所示。
圖11
2.2.1 組態(tài)連接
在項目中組態(tài)三個連接,分別對應(yīng)A站、B站和實(shí)際連接。Conn_A對應(yīng)A站,CPU的參數(shù)
是A站的參數(shù),如圖12所示。
圖12
Conn_B對應(yīng)B站,CPU的參數(shù)是B站的參數(shù),如圖13所示。
圖13
建立Conn_real用于創(chuàng)建過程變量,通信驅(qū)動程序選擇“SIMATIC S7 300/400”,PLC
的地址參數(shù)默認(rèn)設(shè)置為192.168.0.2,擴(kuò)展插槽是2,機(jī)架號是0,如圖14。切換連接的腳本會根據(jù)切換條件給conn_real分配不同的參數(shù)。
圖14
2.2.2 組態(tài)變量
在Conn_A下建立變量,如圖15所示。其中trigger_PLCA的地址是M0.4,采集模式是
“循環(huán)連續(xù)”,采集周期是500ms。
圖15
在Conn_B下建立變量,如圖16所示。其中trigger_PLCB的地址是M0.4,采集模式是
“循環(huán)連續(xù)”,采集周期是500ms。
圖16
項目中的其他變量如圖17所示,test1和test2用于測試conn_real的連接狀態(tài)。
圖17
2.2.3 切換連接的腳本邏輯解釋
在變量trigger_PLCA的“事件—數(shù)值更改”中添加腳本conn_PLCA,實(shí)現(xiàn)切換連接到
conn_A,如圖18所示。腳本邏輯參見下文。
圖18
在變量trigger_PLCB的“事件—數(shù)值更改”中添加腳本conn_PLCB,實(shí)現(xiàn)切換連接到
conn_B,如圖19所示。腳本邏輯參見下文。
圖19
在項目樹下面的“計劃任務(wù)”中建立一個新任務(wù),每分鐘執(zhí)行一次,在函數(shù)列表中添加
腳本conn_lost,用于檢測是否和兩個CPU的連接都中斷,如果都中斷,提示“connection lost”,如圖20所示。
圖20
本文附件中包含三個腳本文件。在項目樹的“腳本 > VB腳本”下添加腳本
“conn_PLCA”,將附件中的conn_PLCA.txt文件內(nèi)容拷貝到conn_PLCA中,注意ChangeConnection的參數(shù)必須和conn_A的參數(shù)一致,如圖21所示。
圖21
繼續(xù)添加腳本“conn_PLCB”,將附件中的conn_PLCB.txt文件內(nèi)容拷貝到
conn_PLCB中,注意ChangeConnection的參數(shù)必須和conn_B的參數(shù)一致,如圖22所示。
圖22
繼續(xù)添加腳本“conn_lost”,將附件中的conn_lost.txt文件內(nèi)容拷貝到conn_lost中,
如圖23所示。
圖23
以conn_PLCA為例解釋腳本邏輯。
觸發(fā)變量trigger_PLCA的地址M0.4,每0.8秒0/1變化一次,如果面板和CPU連接正常,能一直檢測到變量數(shù)值變化,即能觸發(fā)conn_PLCA動作;
初始化。給”connected_to”變量賦值"Conn_A, 192.168.0.2"。
給A站的連接狀態(tài)值"conn_state_PLCA"復(fù)位為1,表示連接正常;
判斷B的連接狀態(tài)值"conn_state_PLCB",如小于10則加1,如果檢測到B站斷開,則B的連接狀態(tài)值會加到11;
切換連接。給出切換條件:
(A) 如果B的連接狀態(tài)值>=11,說明B站斷開;
(B) 如果B的連接狀態(tài)值<=5,即連接正常,但同時讀A站的軟冗余狀態(tài)字SwitchPLCA和B站的軟冗余狀態(tài)字SwitchPLCB,如果A狀態(tài)字=5同時B狀態(tài)字=10,說明A為主B為備;
(C) 如果B的連接狀態(tài)值<=5,即連接正常,但A站的軟冗余狀態(tài)字SwitchPLCA=0h25(十進(jìn)制37),B站的軟冗余狀態(tài)字SwitchPLCB=9,說明A運(yùn)行而B停機(jī)。
以上三個條件只要滿足一個,就可以切換連接到CPUA,因此三個條件做“或”運(yùn)算。
CPU狀態(tài)與狀態(tài)字變量SwitchPLCA(DB5.DBB9)和SwitchPLCB(DB5.DBB9)的對
應(yīng)關(guān)系請參考表1。
操作 | CPUA狀態(tài) | CPUB狀態(tài) | CPUA狀態(tài)字 SwitchPLCA | CPUB狀態(tài)字 SwitchPLCB | 連接到 |
上電 | 主、Run | 備、Run | 0000 0101 (0x05) | 0000 1010 (0x0A) | Conn_A |
A停機(jī) | 備、stop | 主、run | 0000 0101 (0x05) | 0010 1001 (0x29) | Conn_B |
A啟動 | 備、run | 主、run | 0000 0110 (0x06) | 0000 1001 (0x09) | Conn_B |
B停機(jī) | 主、run | 備、stop | 0010 0101 (0x25) | 0000 1001 (0x09) | Conn_A |
B啟動 | 主、run | 備、run | 0000 0101 (0x05) | 0000 1010 (0x0A) | Conn_A |
B從站斷開 | 主、run | 備、run | 0000 0101 (0x05) | 0000 1010 (0x0A) | Conn_A |
B從站恢復(fù) | 主、run | 備、run | 0000 0101 (0x05) | 0000 1010 (0x0A) | Conn_A |
A從站斷開 | 備、run | 主、run | 0000 0110 (0x06) | 0000 1001 (0x09) | Conn_B |
A從站恢復(fù) | 備、run | 主、run | 0000 0110 (0x06) | 0000 1001 (0x09) | Conn_B |
表 1
連接狀態(tài)變量conn_state_PLCA/B的值和連接的對應(yīng)關(guān)系請參考表2。
變量conn_state_PLCA/B的值 | 連接狀態(tài) |
0 | 初始化 |
1~5 | 連接正常 |
6~10 | 連接中斷 |
11~20 | 故障 |
100 | 無效 |
表 2
6. 如果檢測到無連接的狀態(tài),則切換到A站。
腳本conn_PLCB的邏輯和conn_PLCA基本相同,只是在第⑤步 的切換條件有不同,
具體描述如下。
(A) 如果A的連接狀態(tài)值>=11,說明A站斷開;
(B) 如果A的連接狀態(tài)值<=5,即連接正常,但同時讀A站的軟冗余狀態(tài)字SwitchPLCA和B站的軟冗余狀態(tài)字SwitchPLCB,如果A狀態(tài)字=6同時B狀態(tài)字=9,說明B為主A為備;
(C) 如果A的連接狀態(tài)值<=5,即連接正常,但A站的軟冗余狀態(tài)字SwitchPLCA=5,B站的軟冗余狀態(tài)字SwitchPLCB=0h29(十進(jìn)制41),說明B運(yùn)行而A停機(jī)。
以上三個條件只要滿足一個,即切換連接到CPUB。
腳本conn_lost的邏輯如下。
每分鐘讀一次兩個連接的狀態(tài)變量,如果連接正常,將連接變量conn_state_PLCA/B設(shè)為5;
如果讀到連接狀態(tài)變量的值大于等于5,則設(shè)為100,表明連接無效;
如果兩個連接的狀態(tài)變量值均為100,說明兩個連接都無效,顯示“connection lost”。
2.2.4組態(tài)畫面
組態(tài)一個畫面,如圖24所示。
其中“當(dāng)前連接到”后面的IO域連接”connected_to”變量;“PLCA/PLCB connection
status”后面的IO域連接“conn_state_PLCA/PLCB”變量;“trigger_PLCA/PLCB”后面的IO域連接“trigger_PLCA/trigger_PLCB”變量;“test1”和“test2”后面的IO域連接“test1”和“test2”變量,用于測試conn_real連接狀態(tài);“status of PLCA”后面的IO域連接“StatusOfPLCA”變量(DB5.DBW8);“status of PLCB”后面的IO域連接“StatusOfPLCB”變量(DB5.DBW8)。
圖24
2.3 項目下載測試
組態(tài)后的項目編譯下載到KP700 Comfort中,在KP700和兩個CPU之間連好網(wǎng)線,由
于KP700有兩個以太網(wǎng)口,本身相當(dāng)于交換機(jī),因此可以用兩個網(wǎng)口各連接一個CPU。做
如下調(diào)試。
(1) 上電初始化,A為主站、run,B為備站、run,變量trigger_PLCA/B都在0/1變化,
KP700默認(rèn)和A站連接。
圖25
(2) 手動停止CPUA,A站為stop狀態(tài),B站為主、run。Conn_A無效,變量
trigger_PLCA無效,連接變量conn_state_PLCA為100,連接conn_real切換到CPUB。
圖26
(3) 再次啟動A站,A為備、run,B為主、run。Conn_A恢復(fù),trigger_PLCA在0/1變
化,conn_real保持和CPUB連接。
圖27
(4) 拔掉B和屏之間的網(wǎng)線,conn_B無效,trigger_PLCB無值,連接狀態(tài)變量
conn_state_PLCB為100,屏切換到和A連接。A為備、run,B為主、run。
圖28
(5) 再拔掉A和屏之間的網(wǎng)線,conn_A無效,trigger_PLCA也無值,連接狀態(tài)變量
conn_state_PLCA/B均為100,屏無法和任意一個CPU連接,因此屏上顯示“connection lost”。
圖29
(6) 連上屏和A站、B站之間的網(wǎng)線,conn_A和conn_B都恢復(fù),trigger_PLCA/B的值
都在0/1變化,conn_real和B連接。因?yàn)锽為主、run,A為備、run。
圖30
詞條
詞條說明
較新過程映像順序除非另行定義,否則操作系統(tǒng)將以組態(tài)中的循環(huán)時間間隔較新過程映像。 過程映像輸入/輸出按以下順序較新:執(zhí)行操作系統(tǒng)的內(nèi)部任務(wù)。將過程映像輸出 (PIQ) 表寫入到模塊的輸出。將輸入狀態(tài)讀取到過程映像輸入 (PII) 表中。執(zhí)行用戶程序以及其內(nèi)部調(diào)用的所有塊。操作系統(tǒng)自動控制過程映像輸出到模塊輸出的寫入過程和過程映像輸入的讀取過程。特性可以選擇通過直接 I/O 訪問來直接訪問輸入或輸出
CM 1542-5 通信模塊通過附加的 PROFIBUS 連接對 SIMATIC S7-1500 PLC 進(jìn)行了擴(kuò)展,可與下層 PROFIBUS 設(shè)備進(jìn)行通信,帶寬為 9.6 kbps 至 12 Mbps。該模塊還可用于實(shí)現(xiàn)單獨(dú)的 PROFIBUS 線路,換句話說,通過多個 PROFIBUS 段來控制多個不同的現(xiàn)場設(shè)備。CM 1542-5 處理所有通信任務(wù),從而降低了 CPU 的負(fù)荷。CM 154
6ES7274-1XA30-0XA0SIMATIC S7-1200, 模擬仿真器 SIM 1274, 2 個電位器輸入端6ES7274-1XF30-0XA0SIMATIC S7-1200, 仿真器模塊 SIM 1274, 用于 CPU 1211/1212 8 個輸入開關(guān) 24V DC6ES7274-1XH30-0XA0SIMATIC S7-1200, 仿真器模塊 SIM 1274, 用于 CPU
STEP 7-MicroWIN SMART V2.3軟件的安裝及使用
STEP7-MicroWIN SMART軟件的安裝及使用? 經(jīng)常有學(xué)員問我STEP 7-MicroWIN SMART軟件安裝包如何獲取及安裝,特地建立了這個文檔,希望對初學(xué)者有所幫助。1.軟件安裝包如何獲取截止到2017年九月止,STEP 7-MicroWIN SMART已較新至V2.3版本,個人認(rèn)為V2.0是較經(jīng)典的版本,V2.1就是個過渡版本,發(fā)布出來就有許多小問題,半年不到就出了V
公司名: 上海騰希電氣技術(shù)有限公司
聯(lián)系人: 田禮科
電 話: 021-37660026
手 機(jī): 13681875601
微 信: 13681875601
地 址: 上海松江上海市松江區(qū)廣富林路4855弄星月大業(yè)**88號4樓
郵 編:
網(wǎng) 址: shtxjd.cn.b2b168.com
公司名: 上海騰希電氣技術(shù)有限公司
聯(lián)系人: 田禮科
手 機(jī): 13681875601
電 話: 021-37660026
地 址: 上海松江上海市松江區(qū)廣富林路4855弄星月大業(yè)**88號4樓
郵 編:
網(wǎng) 址: shtxjd.cn.b2b168.com
¥6300.00
網(wǎng)課專享 教學(xué)一體機(jī) 21.5寸
¥1980.00