維修西門子KTP1000觸摸屏解密維修西門子KTP1000觸摸屏
上海西萬自動化科技公司專業(yè)銷售德國西門子SIEMENS:*供應(yīng)西門子變頻器,西門子可編程控制器,
西門子LOGO,西門子*處理單元,西門子CPU模塊,西門子觸摸屏,西門子顯示屏,西門子內(nèi)存卡,西門
子軟啟動器,西門子操作面板,西門子編碼器,西門子電機,西門子連接器,西門子按鈕,西門子保護開
關(guān),西門子空氣開關(guān),西門子傳感開關(guān),西門子斷路器,西門子接觸器,西門子固態(tài)繼電器,西門子熔斷
器,西門子超聲波液位計,西門子執(zhí)行器,西門子電磁閥,西門子導(dǎo)軌,西門子存儲卡,西門子電纜,西
門子電源等
我們公司西門子上海*分銷商,專業(yè)支持西門子產(chǎn)品的價格咨詢產(chǎn)品服務(wù)等,我們將保證為您提供高質(zhì)
量的西門子產(chǎn)品,售后好價格優(yōu)請您放心的選購。
1 簡介
軟件冗余是低成本的冗余解決方案,適用于對切換時間要求不是很高的場合,主備切換
時間為秒級的控制系統(tǒng)。軟冗余系統(tǒng)為兩個站,一個為主站,一個為備用站;主備站的數(shù)據(jù)通訊鏈路為標準西門子通訊協(xié)議 (MPI/Profibus/Ethernet);冗余范圍內(nèi)的I/O模板需通過Profibus-DP網(wǎng)絡(luò)連接到ET200M從站上;西門子的軟件冗余 可以在S7-300或S7-400的標準系統(tǒng)中實現(xiàn),只需調(diào)用軟冗余軟件包中的程序塊。
西門子的多功能面板支持和軟冗余CPU通訊,系統(tǒng)架構(gòu)如圖1所示,并且當某個CPU
連接中斷,面板可以自動切換連接到另一個CPU;如果兩個CPU主備切換,面板可以切換到主CPU。
圖1
本文描述的是用WinCC flexible組態(tài)的多功能面板通過腳本的方式實現(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
MP377 12”Touch (6AV6 644-0AA01-2AX0)
(C) Software
WinCC flexible 2008 SP3
Step7 V5.5 SP2+HF1
此方法只適用于支持三個以上連接,支持腳本及ChangeConnection函數(shù)的面板,如
TP/OP270、TP/OP277、MP270、MP277、MP370、MP377等。
本文不介紹軟件冗余的原理及組態(tài)方法,詳細可以參考:
《SIEMENS PLC系統(tǒng)軟件冗余的說明與實現(xiàn)》
下載中心文檔編號:A0039
78604454
2 組態(tài)Multi Panel和S7-300軟冗余系統(tǒng)的通訊
2.1 CPU組態(tài)
A站:315-2PN/DP+IM153-2
B站:317F-2PN/DP+IM153-2
AB站之間通過CP342-5建立連接,實現(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編程
說明:本文描述的編程只涉及實現(xiàn)軟冗余功能的部分,其他功能的實現(xiàn)不予介紹。
A站:OB100中調(diào)用FC100,實現(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,當DP總線有故障時CPU可以實現(xiàn)主備切換,如圖9所示。
圖9
B站:OB100中調(diào)用FC100,實現(xiàn)初始化,如圖10所示。
圖10
OB35和OB86中的編程和A站相同。
組態(tài)好的項目分別下載到CPUA和CPUB中,做好硬件接線。
2.2 在WinCC flexible中組態(tài)Multi Panel
在Step7中插入一個Simatic HMI station,選擇設(shè)備類型為MP377 12” Touch,如圖
11所示。
(說明:本文描述的是在Step7中集成組態(tài)MP377的項目,這不是必須的,也可以分開
組態(tài),即單獨組態(tài)CPU和MP377。)
圖11
2.2.1 組態(tài)連接
在項目中組態(tài)三個連接,分別對應(yīng)A站、B站和實際連接。
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ù)默認設(shè)置為192.168.0.2,擴展插槽是2,機架號是0。切換連接的腳本會根據(jù)切換條件給conn_real分配不同的參數(shù)。
2.2.2 組態(tài)變量
在Conn_A下建立變量,如圖14所示。其中trigger_PLCA的地址是M0.4,采集模式是
“循環(huán)連續(xù)”,采集周期是500ms。
圖14
在Conn_B下建立變量,如圖15所示。其中trigger_PLCB的地址是M0.4,采集模式是
“循環(huán)連續(xù)”,采集周期是500ms。
圖15
項目中的其他變量如圖16所示,test1~test5是測試變量,用于測試conn_real的連接狀
態(tài)。
圖16
2.2.3 切換連接的腳本邏輯解釋
在變量trigger_PLCA的“事件—更改數(shù)值”中添加腳本connection_PLCA,實現(xiàn)切換連
接到conn_A,如圖17。腳本邏輯參見下文。
圖17
在變量trigger_PLCB的“事件—更改數(shù)值”中添加腳本connection_PLCB,實現(xiàn)切換連
接到conn_B,如圖18。腳本邏輯參見下文。
圖18
在項目樹下面的“設(shè)備設(shè)置—調(diào)度器”中建立一個作業(yè),每分鐘執(zhí)行一次,在函數(shù)列表
中添加腳本connection_lost,用于檢測是否和兩個CPU的連接都中斷,如果都中斷,提示“connection lost”,如圖19所示。
圖19
本文附件中包含三個腳本文件。在項目樹的“腳本”下添加腳本“connection_PLCA”,
將附件中的connection_PLCA.txt文件內(nèi)容拷貝到connection_PLCA中,注意ChangeConnection的參數(shù)必須和conn_A的參數(shù)*,如圖20所示。
圖20
繼續(xù)添加腳本“connection_PLCB”,將附件中的connection_PLCB.txt文件內(nèi)容拷貝
到connection_PLCB中,注意ChangeConnection的參數(shù)必須和conn_B的參數(shù)*,如圖21所示。
圖21
繼續(xù)添加腳本“connection_lost”,將附件中的connection_lost.txt文件內(nèi)容拷貝到
connection_lost中,如圖22所示。
圖22
以connection_PLCA為例解釋腳本邏輯。
(1) 觸發(fā)變量trigger_PLCA的地址M0.4,每0.8秒0/1變化一次,如果面板和CPU連接正常,能一直檢測到變量數(shù)值變化,即能觸發(fā)connection_PLCA動作;
(2) 初始化。給”connected_to”變量賦值"Conn_A, 192.168.0.2";
(3) 給A站的連接狀態(tài)值"conn_state_PLCA"復(fù)位為1,表明連接正常;
(4) 判斷B的連接狀態(tài)值"conn_state_PLCB",如小于10則加1,如果檢測到B站斷開,則B的連接狀態(tài)值會加到11;
(5) 切換連接。給出切換條件:
(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(十進制37),B站的軟冗余狀態(tài)字SwitchPLCB=9,說明A運行而B停機。
以上三個條件只要滿足一個,就可以切換連接到CPUA,因此三個條件做“或”運算。
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停機 | 備、stop | 主、run | 0000 0101 (0x05) | 0010 1001 (0x29) | Conn_B |
A啟動 | 備、run | 主、run | 0000 0110 (0x06) | 0000 1001 (0x09) | Conn_B |
B停機 | 主、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站。
腳本connection_PLCB的邏輯和connection_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(十進制41),說明B運行而A停機。
以上三個條件只要滿足一個,即切換連接到CPUB。
腳本connection_lost的邏輯如下。
(1)每分鐘讀一次兩個連接的狀態(tài)變量,如果連接正常,將連接變量conn_state_PLCA/B設(shè)為5;
(2)如果讀到連接狀態(tài)變量的值大于等于5,則設(shè)為100,表明連接無效;
(3)如果兩個連接的狀態(tài)變量值均為100,說明兩個連接都無效,顯示“connection lost”。
2.2.4組態(tài)畫面
組態(tài)一個畫面,如圖23所示。其中current connection后面的IO域連接的是
“connected_to”變量,顯示當前conn_real連接的是哪個CPU;plc A/B connection status后面的IO域連接的是“conn_state_PLCA/B”變量,顯示兩個CPU的連接狀態(tài)變量;trigger_PLCA/B后面的IO 域連接的是“trigger_PLCA/B”變量;test1~test5后面的IO域連接的是“test1~test5”變量,是測試變量; Status of PLC A/B后面的IO域連接的是“StatusOfPLCA/B(DB5.DBW8)”變量,用于顯示兩個CPU的狀態(tài)信息。
圖23
2.3 項目下載測試
組態(tài)后的項目編譯下載到MP377中,在MP377和兩個CPU之間連好網(wǎng)線,做如下調(diào)
試。
(1)上電初始化,A為主站、run,B為備站、run,變量trigger_PLCA/B都在0/1變化,
MP377默認和A站連接,如圖24所示。
圖24
(2) 手動停止CPUA,A站為stop狀態(tài),B站為主、run。Conn_A無效,變量
trigger_PLCA無效,連接變量conn_state_PLCA為100,連接conn_real切換到CPUB,如圖25所示。
圖25
(3) 再次啟動A站,A為備、run,B為主、run。Conn_A恢復(fù),trigger_PLCA/B都在
0/1變化,conn_real保持和CPUB連接,如圖26所示。
圖26
(4) 拔掉B和屏之間的網(wǎng)線,conn_B斷開,trigger_PLCB無值,conn_real切換到和
CPUA連接,如圖27所示。
圖27
(5) 再拔掉A和屏之間的網(wǎng)線,兩個連接都無效,因此屏上顯示“connection lost”,
conn_real連接中斷,如圖28所示。
圖28
(6) 連上A站和B站與屏之間的網(wǎng)線,conn_A和conn_B均恢復(fù),trigger_PLCA/B都在
0/1變化,conn_real和CPUB連接,因為B為主、Run,A為備、Run,如圖29所示。
圖29
HMI
6AV6 640-0BA11-0AX0
6AV6 640-0CA11-0AX1
6AV6 640-0DA11-0AX0
6AV6 641-0AA11-0AX0
6AV6641-0BA11-0AX0
6AV6641-0CA01-0AX0
6AV6642-0AA11-0AX1
6AV6642-0BC01-1AX1
6AV6642-0BA01-1AX1
6AV6642-0DC01-1AX1
6AV6642-0DA01-1AX1
6AV6643-0BA01-1AX0
6AV6643-0AA01-1AX0
6AV6643-0CB01-1AX1
6AV6643-0DB01-1AX1
6AV6643-0CD01-1AX1
6AV6643-0DD01-1AX1
6AV6671-1CB00-0AX2
6AV6671-1CB00-0AX1
6AV6644-0AA01-2AX0
6AV6644-0AB01-2AX0
6AV6644-0AC01-2AX0
6AV6644-0BA01-2AX0
舊屏
6AV6 545-0BA15-2AX0
6AV6 545-0BB15-2AX0
6AV6 545-0BC15-2AX0
6AV6 542-0BB15-2AX0
6AV6 545-0CA10-0AX0
6AV6 545-0CC10-0AX0
6AV6 542-0CA10-0AX0
6AV6 542-0CC10-0AX0
6AV6 542-0AG10-0AX0
6AV6 545-0AH10-0AX0
6AV6 545-0AG10-0AX0
6AV6 542-0DA10-0AX0
6AV6 545-0DA10-0AX0
6AV6 545-0DB10-0AX0
6AV6 574-2AC00-2AA1
6AV6648-0BC11-3AX0
6AV6 648-0BE11-3AX0
6AV6645-0BB01-0AX0
6AV6381-2BP07-0AV0
6AV6647-0AB11-3AX0
6AV2124-0GC01-0AX0
6AV2124-0MC01-0AX0
6AV6647-0AE11-3AX0
6AV6647-0AD11-3AXO
6AV6647-0AG11-3AX0
6AV2124-1QC02-0AX0
6AV6647-0AB11-3AX0
6AV6647-0AC11-3AX0
6AV6640-0DA11-0AX0
6AV6545-0DB10-0AX0
6AV6640-0AA00-0AX1
6AV6642-0EA01-3AX0
6AV62124-4QB00-0AX0
6AV2124-0JC01-0AX0