維修西門子KTP600觸摸屏解密維修西門子KTP600觸摸屏
上海西萬自動化科技有限公司 評著“以人為本、科技先導(dǎo)、顧客滿意、持續(xù)改進(jìn)”的工作方針,致力
于工業(yè)自動化控制領(lǐng)域的產(chǎn)品開發(fā)、工程配套和系統(tǒng)集成,擁有豐富的自動化產(chǎn)品的應(yīng)用和實踐經(jīng)驗以及
雄厚的技術(shù)力量,尤其以 PLC復(fù)雜控制系統(tǒng)、傳動技術(shù)應(yīng)用、伺服控制系統(tǒng)、數(shù)控備品備件、人機(jī)界面及
網(wǎng)絡(luò)/軟件應(yīng)用為公司的技術(shù)特長,幾年來, 在與德國 SIEMENS公司自動化與驅(qū)動部門的*緊密合作
過程中,建立了良好的相互協(xié)作關(guān)系,在可編程控制器、交直流傳動裝置方面的業(yè)務(wù)逐年成倍增長,為廣
大用戶提供了SIEMENS的 技術(shù)及自動控制的*解決方案
1 簡介
軟件冗余是低成本的冗余解決方案,適用于對切換時間要求不是很高的場合,主備切換
時間為秒級的控制系統(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)中實現(xiàn),只需調(diào)用軟冗余軟件包中的程序塊。
西門子的多功能面板支持和軟冗余CPU通訊,系統(tǒng)架構(gòu)如圖1所示,并且當(dāng)某個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)方法,詳細(xì)可以參考:
《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,當(dāng)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),即單獨(dú)組態(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ù)默認(rèn)設(shè)置為192.168.0.2,擴(kuò)展插槽是2,機(jī)架號是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(十進(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站。
腳本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(十進(jìn)制41),說明B運(yùn)行而A停機(jī)。
以上三個條件只要滿足一個,即切換連接到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”變量,顯示當(dāng)前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默認(rèn)和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
西門子驅(qū)動模塊6SN1115-0BA11-0AA1
西門子驅(qū)動模塊6SN1118-0AD11-0AA1
西門子驅(qū)動模塊6SN1118-0DG21-0AA1
西門子驅(qū)動模塊6SN1118-0AE11-0AA1
西門子驅(qū)動模塊6SN1118-0DH21-0AA1
西門子驅(qū)動模塊6SN1118-0DG22-0AA0
西門子驅(qū)動模塊6SN1118-0DG23-0AA0
西門子驅(qū)動模塊6SN1118-0DJ21-0AA2
西門子驅(qū)動模塊6SN1118-0DH22-0AA1
西門子驅(qū)動模塊6SN1118-0DJ23-0AA1
西門子驅(qū)動模塊6SN1118-0DJ23-0AA2
西門子驅(qū)動模塊6SN1118-0DH23-0AA1
西門子驅(qū)動模塊6SN1118-0DK21-0AA1
西門子驅(qū)動模塊6SN1118-0DK23-0AA2
西門子驅(qū)動模塊6SN1118-0DJ21-0AA1
西門子驅(qū)動模塊6SN1118-0DK23-0AA1
西門子驅(qū)動模塊6SN1118-0DM13-0AA0
西門子驅(qū)動模塊6SN1118-0DM23-0AA0
西門子驅(qū)動模塊6SN1118-0DM21-0AA0
西門子驅(qū)動模塊6SN1118-0DM13-0AA1
西門子驅(qū)動模塊6SN1118-0DM23-0AA1
西門子驅(qū)動模塊6SN1118-0DM23-0AA0
西門子驅(qū)動模塊6SN1118-0DM31-0AA2
西門子驅(qū)動模塊6SN1118-0DM33-0AA1
西門子驅(qū)動模塊6SN1118-0DM31-0AA1
西門子驅(qū)動模塊6SN1118-0DM33-0AA2
西門子驅(qū)動模塊6SN1118-0NH11-0AA1
西門子驅(qū)動模塊6SN1118-0NJ01-0AA1
西門子驅(qū)動模塊6SN1118-0NH01-0AA1
西門子驅(qū)動模塊6SN1118-1NJ01-0AA1
西門子驅(qū)動模塊6SN1118-0NK01-0AA1
西門子驅(qū)動模塊6SN1118-1NH01-0AA1
西門子驅(qū)動模塊6SN1118-1NK01-0AA0
西門子驅(qū)動模塊6SN1121-0BA11-0AA0
西門子驅(qū)動模塊6SN1122-0BA11-0AA1
西門子驅(qū)動模塊6SN1118-1NK01-0AA1
西門子驅(qū)動模塊6SN1121-0BA13-0AA0
西門子驅(qū)動模塊6SN1145-1BA01-0BA0
西門子驅(qū)動模塊6SN1121-0BA11-0AA1
西門子驅(qū)動模塊6SN1121-0BA12-0AA0
西門子驅(qū)動模塊6SN1145-1BA01-0DA0
西門子驅(qū)動模塊6SN1145-1BA01-0BA1
西門子驅(qū)動模塊6SN1123-1AA00-0EA2
西門子驅(qū)動模塊6SN1145-1BA01-0BA2
西門子驅(qū)動模塊6SN1145-1BA01-0DA1
西門子驅(qū)動模塊6SN1145-1BB00-0EA0
西門子驅(qū)動模塊6SN1145-1BB00-0EA1
西門子驅(qū)動模塊6SN1145-1BA02-0CA2
西門子驅(qū)動模塊6SN1145-1BB00-0FA1
西門子驅(qū)動模塊6SN1146-1AB00-0BA0
西門子驅(qū)動維修 西門子伺服維修
西門子適配器6ES7972-0CB20-0XA0
西門子驅(qū)動模塊6SN1146-1AB00-0BA1
西門子手持單元6FX2007-1AC02
西門子手持單元6FX2007-1AC03
西門子手持單元6FX2007-1AC14
西門子手持單元 MINI/B-MPI HHU
西門子手持單元6FX2007-1AC04
西門子手持單元6FX2007-1AD03
西門子手持單元6FX2007-1AD00
西門子手持單元6FX2007-1AD01
西門子手持單元6FX2007-1AD10
西門子手持單元6FX2007-1AD02
西門子手持單元6FX2007-1AE04