淺談基于S7-400HF的螺桿壓縮機(jī)故障安全型系統(tǒng)
1系統(tǒng)概述
某化工廠新增解吸氣螺桿壓縮機(jī)兩臺,就其控制系統(tǒng)提出嚴(yán)格的安全要求,且需要滿足SI12的要求,在收到用戶要求之后,查閱了西門子手冊及產(chǎn)品信息,CPU選擇414-5H,帶F許可證,4MB的RAM存儲卡:光纖電纜及同步模塊:PS40510A冗余電源:S7-400緩沖電池:IM153-2HF:模擬量輸入SM336,模擬量輸出SM332:數(shù)字量輸入SM326,數(shù)字量輸出SM322:CP341RS422/485:MoDBUSMASTERV3.1:MoDBUSSLAVEV3.1:SIToPPSU820020A:SIToPPSE202U冗余模塊輸入/輸出:通信處理器CP1623。軟件方面,由于成本方面考慮,沒有采用集成度更高的PCS7,而是常規(guī)的STEP7V5.5SP3:HARDNET-IES7REDCoNNECTV14:wINCC7.2ASIARC版2048:CFCV8.2:FSYSTEMV6.2:冗余CPU用TCP/IP與上位機(jī)上的CP1623進(jìn)行冗余通信,CPU與IM153-2之間通過DP通信組成網(wǎng)絡(luò)架構(gòu)。
圖1是一個簡單的CFC安全邏輯舉例。
2CFC編程時如何自動生成相應(yīng)的錯誤處理OB
需要注意的是,STEP7V5.5由于沒有PCS7那么集成化,所以有一些地方需要自己設(shè)置,如:自動生成相應(yīng)的錯誤處理OB塊,在PCS7中是自動生成的,但是在STEP7中,使用CFC編程安全程序時,通過編譯CFC系統(tǒng)將自動生成所需的程序代碼。為了防止CPU故障情況下停機(jī),則需要手動在BlockS文件夾中添加錯誤處理OB(如OB86等),但重新編譯CFC后,這些手動添加的OB則會被系統(tǒng)刪除。通過以下設(shè)置可以讓系統(tǒng)自動生成這些錯誤處理的OB:
(1)打開項目,在BlockS文件夾中右鍵插入一個FB:
(2)定義FB塊的塊號及符號名,避免和項目中實際使用的FB沖突:
(3)切換到屬性頁面,加入屬性S7taSkliSt屬性,值(Value)設(shè)置為OB80、OB8l、OB82、OB83、OB84、OB85、OB86、OB88、OB121、OB122,各OB之間通過逗號隔開(注意標(biāo)點符號不能使用中文的全角標(biāo)點符號),點擊"確定"關(guān)閉功能塊的屬性定義對話框:
(4)雙擊打開該功能塊,任意定義一個輸入管腳:
(5)任意打開一個CFC,并在CFC中調(diào)用該功能塊即可:
(6)編譯CFC后,系統(tǒng)將會根據(jù)上述定義自動生成相應(yīng)的錯誤處理OB,防止相應(yīng)錯誤發(fā)生時CPU停機(jī)。
3安全系統(tǒng)的硬件組態(tài)
與標(biāo)準(zhǔn)的控制系統(tǒng)相比,安全系統(tǒng)在硬件組態(tài)時需要注意以下幾點:
(1)必須正確安裝FSySTEM軟件才可以組態(tài)安全系統(tǒng)。
(2)調(diào)整CPU參數(shù),在CPU屬性的"保護(hù)"標(biāo)簽頁里設(shè)置口令保護(hù)密碼,并激活"CPU中包含安全程序",安全程序要放在OB3x循環(huán)中斷里,在本項目中放在OB35里,OB34里處理非安全程序,為了保證安全程序總是能夠優(yōu)先處理,需要將它的優(yōu)先級設(shè)置大于15。在CPU屬性的"循環(huán)中斷"標(biāo)簽頁里,本項目將OB35的優(yōu)先級設(shè)置為16,并將過程映像區(qū)設(shè)置為PIP1。由于本項目是冗余CPU,為了在CPU同步過程中使OB35里的安全程序總能得到優(yōu)先處理,在CPU的H參數(shù)里,要把特殊處理的周期性中斷設(shè)置為"35"。
(3)在插入I/0模塊后,其屬性頁面的地址標(biāo)簽頁中,輸入/輸出的開始位必須要相同,過程映像也必須與之前設(shè)置CPU中的相同,本項目為PIP1。
圖2為現(xiàn)場硬件柜內(nèi)布置圖。
圖2柜內(nèi)布置圖
在參數(shù)標(biāo)簽頁下,選擇模式為"安全模式",單擊"Fparame-terS",需要記錄下FTarSetaggreSS,它與F卡件背后dIP開關(guān)地址對應(yīng),接下來,激活相對應(yīng)的功能,本項目要求SID2等級,所以激活了診斷中斷"dLaSioStLcLiterrupt"和組診斷"GroupdLaSioStLcS",這樣在模塊有故障時,能在卡上報紅色SF燈,且CPU里的硬件在線后能得到故障信息,EvaluatLoioftheSeiSorS參數(shù)1oo1即可。FdI模塊的參數(shù)略有不同,"模塊供電"參數(shù)要根據(jù)具體的接線來確定,如果不需要模塊上的VS端供24VdC,那么取消"SeiSorSupplyvLamogule"。
4安全系統(tǒng)的軟件編程(CFC)
在STEP7中需要用到CFC來對安全程序進(jìn)行編程,首先我們需要對CFC進(jìn)行全局設(shè)置,打開一個CFC,在選項一自定義一編譯/下載中,需要設(shè)置OB運行組數(shù)量的閾值,每個OB里運行組的數(shù)量超限后會生成警告,系統(tǒng)默認(rèn)設(shè)置為50,本項目修改為250,在保留給用戶使用的FC起始編號設(shè)置為0,具體的dB和FC編號區(qū)間要考慮實際需要,這個區(qū)間是我們手動生成的FC程序和dB塊的范圍,CFC編譯時生成的dB和FC不會占用這個區(qū)間。
完成上述這些步驟以后,我們就可以開始編程了,首先安全系統(tǒng)不存在模擬量輸出模塊,這個是一個共識,所有的控制系統(tǒng)廠家都是一致的,其次我們可以在常規(guī)的FB塊里按照標(biāo)準(zhǔn)系統(tǒng)寫一些PId控制、M0dBUS通信的程序,再在CFC中調(diào)用即可,但安全模塊不能這么操作。至于安全程序,簡單來說,它分為很多安全功能塊,如"FCHdI"這個是數(shù)字量輸入讀取的功能塊,以此類推還有"FCHd0"和"FCHAI"。每個功能模塊都有該模塊上各個引腳的說明,以AI模塊為例,"VHRANGE、VDRANGE"是量程的上下限設(shè)置,"SIM0N"是激活仿真,"SUBS0N"是否激活替代功能,"PASS0N"關(guān)聯(lián)鈍化,"ACKNEC"手動去鈍模式,"V"安全模擬量值,"VdATA"標(biāo)準(zhǔn)數(shù)據(jù)等等,由于篇幅限制,在這里不再贅述。
5結(jié)語
將S7-400HF故障安全型控制系統(tǒng)應(yīng)用于螺桿壓縮機(jī),相比較常規(guī)的PDC控制系統(tǒng),不管在可靠性和安全性上都有了比較大的提高。本次控制系統(tǒng)較為復(fù)雜,在整個項目實施過程中尋求了西門子故障安全工程師的幫助,受益良多,實現(xiàn)了滿足本項目實際需要的電氣安全級別(SID2)。