鄭文俊 張玉軍



摘要:PROFINET是一種跨供應商的即時、多點通信協(xié)議,能夠隨時訪問所有連接的站點,并交換數(shù)據(jù),這種通信方式廣泛應用在現(xiàn)場多個PLC的聯(lián)網(wǎng)的工程中;本文S7-200SMARTV2.5PROFINET多點PLC聯(lián)網(wǎng)和MCGS觸摸屏TCP/IP通信,MCGS觸摸屏控制和實時監(jiān)視設備動態(tài),但是在運行中出現(xiàn)偶然數(shù)據(jù)丟失現(xiàn)象的。通過對項目設備組態(tài)、運行機理的研究分析,發(fā)現(xiàn)了出現(xiàn)偶然出現(xiàn)丟失數(shù)據(jù)的原因,提出了相應的解決方案,并對方案原理進行了對比分析,測試、運行驗證,其方法可行、可靠,問題得以解決。
關鍵詞:?PROFINET; MCGS觸摸屏;S7-200SMART;通信;數(shù)據(jù)丟失; 研究;解決
中圖分類號:TP317.4
0 引言
PROFINET IO 是 PROFIBUS International基于以太網(wǎng)的自動化標準,它定義了跨供應商通信、自動化和工程組態(tài)模型。借助 PROFINETIO,可采用一種交換技術使所有站隨時訪問網(wǎng)絡。因此,多個節(jié)點可同時傳輸數(shù)據(jù),進而可更高效地使用網(wǎng)絡。數(shù)據(jù)的同時發(fā)送和接收功能可通過交換式以太網(wǎng)的全雙工操作來實現(xiàn)(帶寬為 100 Mbps)。目前,這種通信方式廣泛應用在現(xiàn)場多個PLC的聯(lián)網(wǎng)的工程中。
1問題的提出
1.1一般情況下MCGS觸摸屏與單臺S7-200SMART采用通用串口PPI連接,MCGS觸摸屏按通用串口父設備組態(tài),S7-200SMART作為從設備,MCGS觸摸屏寫入、修改數(shù)據(jù)和實時監(jiān)控設備狀況,形成一個完整的可視化的自動化項目。為了一些重要設置數(shù)據(jù)的有效保持,常采用S7-200SMART設置斷電保持,斷電重啟后,MCGS觸摸屏將數(shù)據(jù)從S7-200SMART讀入,實現(xiàn)數(shù)據(jù)保存的目的。
1.2本項目四臺S7-200SMARTV2.5通過交換機PROFINET組網(wǎng)和一臺MCGS觸摸屏TCP/IP通信,見圖1。
1.3 S7-200SMARTV2.5在PROFINET通信中有兩個角色:IO控制器(IO-Controller)和IO設備(IO-Device),也就是說當我們把本身具有控制功能的S7-200 SMART作為IO設備來使用時,它就被稱為“智能設備(IO-Device)”。IO控制器(IO-Controller)和智能設備(IO-Device)的數(shù)據(jù)交換是?“BLKMOV_BIW 立即寫入”和“BLKMOV_BIR 立即讀取”實現(xiàn)的;在IO控制器(IO-Controller)程序中以語句“BLKMOV_BIW”將數(shù)據(jù)立即寫入到其虛擬的輸出QB地址中,智能設備(IO-Device)程序中以語句“BLKMOV_BIR”其虛擬的輸入IB地址中立即讀取數(shù)據(jù)。本項目中plc200smart是IO控制器,plc1、plc2、plc3是3臺IO智能設備。
1.4本項目在plc200smart中設置了斷電“保持保持”,MCGS觸摸屏中組態(tài)了設備0、設備1、設備2、設備3分別對應plc200smart、plc1、plc2、plc3,MCGS觸摸屏輸入、修改數(shù)據(jù)和實時監(jiān)控設備狀況,如果斷電重啟后從plc200smart中讀取重要設置數(shù)據(jù),程序自動運行,實現(xiàn)無人值守的目的。在項目調(diào)試測試期間,斷電測試數(shù)據(jù)保持讀取,程序能夠自動啟動,但是在數(shù)月的運行中卻出現(xiàn)偶然性數(shù)據(jù)丟失,造成停機的現(xiàn)象。
2 問題分析
2.1 本項目由于3臺智能設備(plc1、plc2、plc3)使用的數(shù)據(jù)相同,因此在觸摸屏的設備0、設備1、設備2、設備3 V寄存器組態(tài)了相同的數(shù)據(jù)變量VW50開始組,數(shù)據(jù)變量屬性均為“讀寫”;plc200smart中設置了V區(qū)數(shù)據(jù)斷電保持,控制器plc200smart程序中語句?“BLKMOV_BIW” 將V區(qū)數(shù)據(jù)分別“立即寫入”其虛擬輸出QB地址給三個智能設備plc1、plc2、plc3,程序段見圖2。
三個智能設備plc1、plc2、plc3程序中語句“BLKMOV_BIR”從虛擬輸入IB地址中將數(shù)據(jù)“立即讀取”到自己的V數(shù)據(jù)區(qū)中,程序段見圖3。
2.2 為了便于分析,將MCGS觸摸屏和S7-200SMART設備組態(tài)、變量屬性、通信數(shù)據(jù)交換等特征整理成表格,見表1。按初期上電、斷電重啟、正常運行三個過程進行研究。
2.2.1初期上電時,觸摸屏的設備0將V寄存器變量“寫”到plc200smart的V數(shù)據(jù)區(qū),plc200smart再將數(shù)據(jù)分別“寫”給plc1、plc2、plc3,plc1、plc2、plc3分別存入自己的V數(shù)據(jù)區(qū),實現(xiàn)數(shù)據(jù)交換,設備運行。
2.2.2 斷電重啟后,觸摸屏的設備0將plc200smartV寄存器保存的變量“讀”到的其V數(shù)據(jù)區(qū),plc200smart也將數(shù)據(jù)分別“寫”給plc1、plc2、plc3,plc1、plc2、plc3分別存入自己的V數(shù)據(jù)區(qū),實現(xiàn)數(shù)據(jù)交換,設備運行。同時也存在觸摸屏的設備1、設備2、設備3“讀”plc1、plc2、plc3 V數(shù)據(jù)區(qū),這樣問題就來了,如果plc200smart最先啟動,觸摸屏就可以從plc200smart讀取斷電保持的V區(qū)存儲的數(shù)據(jù);如果plc1、plc2、plc3中任一臺先于plc200smart啟動,觸摸屏將優(yōu)先“讀”到的是plc1、plc2、plc3中最先啟動的V區(qū)數(shù)據(jù)中的“零”,這樣的結果就是數(shù)據(jù)丟失了。
2.2.3由于觸摸屏的V寄存器變量屬性是“讀寫”,在運行過程中,觸摸屏的V寄存器變量“寫”可以修改數(shù)據(jù),plc200smart將修改后數(shù)據(jù)保存在V數(shù)據(jù)區(qū),再“寫”給plc1、plc2、plc3的V數(shù)據(jù)區(qū),設備按修改后數(shù)據(jù)運行。同時觸摸屏也存在“讀”plc1、plc2、plc3的V數(shù)據(jù)區(qū)的情況, 而PROFINET通信是多點同時發(fā)送和接收數(shù)據(jù)的,這樣可能存在由于設備性能差異,啟動時間存在差異的可能,也就存在通信啟動時間的差異,經(jīng)過時間的積累,某一時刻plc1、plc2、plc3中的數(shù)據(jù)有可能將觸摸屏的V寄存器數(shù)據(jù)刷為“零”,這樣的結果就是數(shù)據(jù)就丟失了。
通過以上分析,確實存數(shù)據(jù)丟失的可能,與實際運行中偶然丟失數(shù)據(jù)相符。
3 解決方法
從上研究分析可知,導致數(shù)據(jù)丟失的原因是觸摸屏存在斷電重啟后設備1、設備2、設備3“讀”plc1、plc2、plc3中V區(qū)數(shù)據(jù)的問題和運行過程中設備0“讀”plc200smartV區(qū)數(shù)據(jù)、設備1、設備2、設備3“讀”plc1、plc2、plc3中V區(qū)數(shù)據(jù)的問題造成的,因此,解決問題的思路就是去掉以上兩種情況下觸摸屏“讀”plc200smart、plc1、plc2、plc3中V區(qū)數(shù)據(jù)的問題;解決的方法是一方面在觸摸屏中設置V寄存器中間變量,通過設置“數(shù)據(jù)保存”按鈕,在“數(shù)據(jù)保存”按鈕中寫入腳本程序將數(shù)據(jù)保存在中間變量中,見圖4。
另一方面在觸摸屏的啟動策略中增加腳本程序將V寄存器中間變量寫給V寄存器變量,同時給予一定延時時間(6000ms),即觸摸屏啟動后寫入,防止通訊將V寄存器變量刷新為“零”,出現(xiàn)數(shù)據(jù)丟失的現(xiàn)象,見圖5。
MCGS觸摸屏V寄存器中間變量和S7-200SMART設備組態(tài)、變量屬性、通信數(shù)據(jù)交換等特征,見表2。
其工作原理是:
3.1初期上電時,觸摸屏的V寄存器中間變量將設置保存后的數(shù)據(jù)“寫”給V寄存器變量,設備0將V寄存器變量“寫”到plc200smart的V數(shù)據(jù)區(qū),plc200smart再將數(shù)據(jù)分別“寫”給plc1、plc2、plc3,plc1、plc2、plc3分別存入自己的V數(shù)據(jù)區(qū),實現(xiàn)數(shù)據(jù)交換,設備運行。
3.2 斷電重啟后,觸摸屏的V寄存器中間變量將斷電存儲的數(shù)據(jù)延時“寫”給V寄存器變量,設備0將V寄存器變量“寫”到plc200smart的V數(shù)據(jù)區(qū),plc200smart再將數(shù)據(jù)分別“寫”給plc1、plc2、plc3,plc1、plc2、plc3分別存入自己的V數(shù)據(jù)區(qū),實現(xiàn)數(shù)據(jù)交換,設備運行。完全消除了觸摸屏設備0、設備1、設備2、設備3“讀”plc200smart、plc1、plc2、plc3 V數(shù)據(jù)區(qū)的問題。
3.3在運行過程中,也不存在觸摸屏中設備0、設備1、設備2、設備3“讀”plc200smart、plc1、plc2、plc3 V數(shù)據(jù)區(qū)的問題。
4 結論
S7-200SMARTV2.5 PROFINET與MCGS觸摸屏 TCP/IP通信時,要想V寄存器數(shù)據(jù)斷電保持,并不受PROFINET通信多點同時發(fā)送和接收數(shù)據(jù)的影響,可行的方法是:不在S7-200SMART的V寄存器設置斷電保持,而是在MCGS觸摸屏的V寄存器中設置中間變量,用數(shù)據(jù)保存按鈕腳本程序將數(shù)據(jù)存儲在V寄存器中間變量中,待觸摸屏上電啟動延時后,觸摸屏運行策略腳本程序由V寄存器中間變量再將數(shù)據(jù)再寫入V寄存器變量中,從而實現(xiàn)V寄存器數(shù)據(jù)斷電保持,達到項目數(shù)據(jù)設置和修改保持目的。同時進一步提升PROFINET多點同時發(fā)送和接收數(shù)據(jù)及高速通信的項目工程應用優(yōu)勢。
參考文獻:
[1] MCGS嵌入版用戶指南;昆侖通態(tài)MCGS7.7.1.7V1.3
[2] MCGS嵌入版參考手冊;昆侖通態(tài)MCGS7.7.1.7V1.3
[3] S7-200 SMART PROFINET通信;西門子STEP 7 MicroWIN SMART V2.5
[4] 黃子滪;PROFINET在加速器控制系統(tǒng)中的應用研究[D];中國科學技術大學;2019年
[5]劉向彬;楊良;PROFINET環(huán)網(wǎng)組態(tài)在涂裝車間輸調(diào)漆系統(tǒng)的應用[A];中國計量協(xié)會冶金分會2018年會論文集[C];2018年
[6]馬怡蕾、麻紅昭;MCGS觸摸屏使用過程中發(fā)現(xiàn)的問題及解決方案;工業(yè)控制計算機;2017年第30卷第12期