1 項目簡介
原來的控制系統(tǒng)采用SIMATIC S5-155U PLC,編程軟件為SIMATIC APT,通過PROFIBUS-DP現(xiàn)場總線與分布式I/O ET200M站相連,其上位機監(jiān)控軟件采用SIMATIC PCS OSx V3.12A;操作員站的硬件平臺為基于Intel Pentium 133MHz的586工控機,已經(jīng)沒有備件供應(yīng);軟件平臺為基于SCO UNIX的組態(tài)軟件,已于2004年6月宣告生命周期結(jié)束,不再提供技術(shù)支持,系統(tǒng)面臨著維護成本的增加以及系統(tǒng)崩潰帶來的停產(chǎn)風(fēng)險,基于這種情況,我們決定對該系統(tǒng)進行升級。
2 控制系統(tǒng)構(gòu)成
為了不影響正常生產(chǎn),保留原有正常運行的S5下位機系統(tǒng),將原來的監(jiān)控系統(tǒng)SIMATIC PCS OSx升級為WinCC 6.0,采用冗余客戶機服務(wù)器結(jié)構(gòu),WinCC服務(wù)器通過CP1613卡通過工業(yè)以太網(wǎng)和下位機CP1430卡進行通訊,客戶機通過普通以太網(wǎng)加載冗余服務(wù)器上的數(shù)據(jù)包Serverdata和下位機進行數(shù)據(jù)交換,冗余服務(wù)器可以在任意一臺服務(wù)器出現(xiàn)故障后實現(xiàn)自動切換,提高了系統(tǒng)的穩(wěn)定性,系統(tǒng)結(jié)構(gòu)如下:
圖1 改造系統(tǒng)結(jié)構(gòu)圖
3 控制系統(tǒng)升級
3.1.通訊建立
WinCC服務(wù)器采用CP1613卡和S5 155U PLC的CP1430進行通訊
首先在Step5中配置CP1430,增加和WinCC的連接
然后在所建立的WinCC工程中添加“SIMATIC S5 Ehernet Layer4”通訊協(xié)議,建立連接。
運行WinCC,使用WinCC的通道診斷工具(Channel Diagnosis)來檢查通訊是否正確。
3.2.畫面組態(tài)
應(yīng)實際要求,在WinCC畫面組態(tài)時,盡量沿用原來 SIMATIC PCS OSx的操作風(fēng)格,同時根據(jù)需要加入新的操作功能。
圖5 畫面組態(tài)
在SIMATIC PCS OSx監(jiān)控系統(tǒng)中,對于下位機PLC的變量請求操作,系統(tǒng)自帶有“Request”功能能夠?qū)崿F(xiàn)對下位機變量的自動賦值和選擇,在升級為WinCC后,該項功能只能通過其它方式完成,通過監(jiān)控變量發(fā)現(xiàn),SIMATIC PCS OSx中操作的變量實際為APT程序編譯產(chǎn)生的Install.tag中上傳的變量,我們利用WinCC的全局腳本實現(xiàn)這些功能,并且利用WinCC的Audit和Logon選件完成監(jiān)控系統(tǒng)的操作記錄和用戶管理等其他要求。
3.3.變量的連接
SIMATIC PCS OSx系統(tǒng)加載S5下位機的變量表為APT程序編譯產(chǎn)生的Install.tag文件,利用記事本打開該文件發(fā)現(xiàn),生成的變量為結(jié)構(gòu)型變量,以閥門為例,一個閥門包含了諸如狀態(tài)(STATUS)、反饋監(jiān)控時間(TIMEOUT)、強制命令(OVERRIDE)、開關(guān)命令(SETPOINT)、模式切換(MODE_CMD)等變量信息。
WinCC在畫面狀態(tài)顯示中提供了直接連接、動態(tài)對話框,和C腳本語言等連接方式。直接連接可以將變量直接傳遞給對象屬性;動態(tài)對話框可以利用變量進行運算或通過運算改變對象屬性;當(dāng)對象屬性比較復(fù)雜時可以采用C腳本語言來對對象的屬性進行操作,在本系統(tǒng)中,上傳上來的變量為一個16位的字,每一位都表示不同的信息,為此我們對于對象的屬性顯示采用C腳本進行操作。
原來的控制系統(tǒng)為四套采用CPU948的SIMATIC S5-155U PLC,編程軟件為SIMATIC APT 1.9,隨著工藝的改進和生產(chǎn)的要求,原有的程序不能滿足用戶的需要,在此基礎(chǔ)上,通過APT編程軟件編寫新制工藝的生產(chǎn)程序。
在系統(tǒng)的改造過程中,出現(xiàn)了WinCC監(jiān)控畫面中對象的狀態(tài)顯示信息變化慢,不能及時反映現(xiàn)場設(shè)備的狀態(tài)的情況,即WinCC畫面信息和CPU信息不同步,明顯滯后。通過分析發(fā)現(xiàn)問題的原因是WinCC監(jiān)控畫面涉及到的變量調(diào)用的數(shù)據(jù)塊太多(在APT程序編譯過程中,如果新Mark了上傳變量,每進行一次部分編譯上傳變量,這些新上傳變量在自動生成時就開辟一個新的數(shù)據(jù)塊,從而造成了變量調(diào)用的數(shù)據(jù)塊比較分散),WinCC系統(tǒng)每次請求S5 CPU的數(shù)據(jù)塊過多,相應(yīng)的數(shù)據(jù)交換就會變慢甚至產(chǎn)生狀態(tài)信息丟失。
為了能夠及時的顯示現(xiàn)場設(shè)備的狀態(tài)信息,滿足生產(chǎn)的需要,我們通過在Step 5中編寫程序,將“Install.tag”中分散在零亂數(shù)據(jù)塊中的變量賦值到指定數(shù)據(jù)塊,大大減少WinCC調(diào)用的數(shù)據(jù)塊的數(shù)量,經(jīng)過修改,將每個CPU中原來的幾十個數(shù)據(jù)塊中的變量集中到十個左右的數(shù)據(jù)塊,將數(shù)據(jù)塊合并的程序通過PG下載到CPU中,WinCC讀取的數(shù)據(jù)塊改為合并后的數(shù)據(jù)塊,提高了上下位機數(shù)據(jù)交換的速度,滿足了現(xiàn)場的操作要求。
圖7 數(shù)據(jù)塊合并示意圖
4 控制系統(tǒng)運行
系統(tǒng)進行時,首先在保留原有SIMATIC PCS OSx監(jiān)控系統(tǒng)的情況下,通過組態(tài)CP1430卡,加入WinCC的連接,觀察WinCC監(jiān)控系統(tǒng)是否能正確運行和操作,待系統(tǒng)驗證正確后,將原有的SIMATIC PCS OSx監(jiān)控系統(tǒng)去掉。升級后,現(xiàn)已投入正常生產(chǎn)。運行結(jié)果表明,利用WinCC對原SIMATIC PCS OSx監(jiān)控系統(tǒng)升級后的系統(tǒng)能夠準確及時的反映現(xiàn)場生產(chǎn)設(shè)備的實際情況,滿足現(xiàn)場生產(chǎn)的工藝和操作人員的操作需求,效果良好。
5 系統(tǒng)升級體會
本系統(tǒng)的正常投運證明了在原有的SIMATIC S5 PLC上采用CP1430通訊處理器與WinCC系統(tǒng)通訊的可行性,也證明了利用WinCC改造SIMATIC PCS OSx監(jiān)控系統(tǒng)的可行性,為S5老系統(tǒng)的改造積累了一定的經(jīng)驗。
上位機在改造成WinCC的過程中,遇到了監(jiān)控反映速度變慢的情況,這是由于原有的APT是與PCS OSx的通訊是采用改變觸發(fā)方式,而上位機采用單獨的WinCC是自己主動對下位機變量進行掃描,加重了系統(tǒng)通訊的負擔(dān),我們通過在S5中編寫數(shù)據(jù)塊合并程序來解決這個問題。
APT是西門子早期的針對S5,TI系列的結(jié)構(gòu)化編程語言,將設(shè)備用Device來描述,然后在SFC和CFC中編寫程序通過保留字(open、close、start、stop等)對這些Device進行指令動作,從而對現(xiàn)場實際設(shè)備進行操作。
參考文獻:
[1] SIMATIC APT User Manual
[2] SIMATIC PCS System Administration Manual
[3] SIMATIC PCS Interface to S5 Controllers
[4] S5-155U 可編程控制器操作手冊
[5] 何雙梅等,WinCC對LSB COROS操作系統(tǒng)升級的應(yīng)用實例,2003年