陳朝權(quán),吳文虎
(西南化工研究設(shè)計院有限公司,成都 610225)
變壓吸附(PSA,Pressure Swing Adsorption)是一種新型氣體吸附分離技術(shù),廣泛應(yīng)用于石油、石化、冶金、化工等各個行業(yè)。西南化工研究設(shè)計院公司是國內(nèi)變壓吸附技術(shù)的開創(chuàng)者和引領(lǐng)者,其變壓吸附裝置的規(guī)模和數(shù)量一直處于國內(nèi)領(lǐng)先地位。
石油、石化、冶金、化工的大型聯(lián)合裝置一般采用全廠統(tǒng)一的大型DCS進行自動化控制,變壓吸附裝置作為聯(lián)合裝置的一個單元,同其它工藝單元共用DCS集散控制系統(tǒng)進行監(jiān)控。
大型變壓吸附裝置控制時序復(fù)雜,自動化控制程度高,在DCS上的編程組態(tài)工作,一般由變壓吸附裝置供應(yīng)商的自控工程師負責(zé)完成。因此,在工作實踐中,使用了多種國內(nèi)和國外主流品牌DCS進行編程組態(tài)工作,隨編程組態(tài)工作的深入和程序版本的不斷優(yōu)化,現(xiàn)對以下3種DCS功能塊的掃描規(guī)則和執(zhí)行順序進行深入地學(xué)習(xí)了解,梳理總結(jié),方便指導(dǎo)今后編程組態(tài)工作。
圖1 CS3000 DCS輸入處理規(guī)則[1]Fig.1 CS3000 DCS input processing rules[1]
橫河CENTUM CS3000 DCS進入中國較早,應(yīng)用很廣泛。通過對橫河CENTUM CS3000 DCS控制站(FCS)中控制器輸入處理、運算處理、輸出處理過程的學(xué)習(xí)了解,發(fā)現(xiàn)其具有很強的代表性。DCS控制器CPU有很多系統(tǒng)工作要處理,本文主要討論其中功能塊的掃描規(guī)則和執(zhí)行順序。功能塊按掃描時間分為高速處理、中速處理、基本周期處理;按執(zhí)行條件分為觸發(fā)執(zhí)行和周期連續(xù)執(zhí)行。實際中,高速處理、中速處理很少,重點分析基本掃描周期下周期連續(xù)執(zhí)行情況。
如圖1所示,控制器有過程控制輸入映像區(qū),在基本掃描周期進行批量更新(沒有高中速度功能塊情況下)?;局芷谔幚砉δ軌K在開始執(zhí)行時,首先讀取控制器過程控制輸入映像區(qū)數(shù)據(jù)。
如圖2所示,控制器有過程控制輸出映像區(qū),在基本掃描周期功能塊處理結(jié)束后寫過程控制輸出映像區(qū),在基本掃描周期所有功能塊都處理結(jié)束后,針對有改變的數(shù)據(jù),過程控制輸出映像區(qū)批量輸出。
圖2 CS3000 DCS輸出處理規(guī)則[1]Fig.2 CS3000 DCS output processing rules[1]
圖3 CS3000 DCS功能塊處理規(guī)則[1]Fig.3 CS3000 DCS function block processing rules[1]
如圖3所示,CENTUM CS3000 DCS功能塊是放在控制圖中組織的,控制圖默認樹形結(jié)構(gòu),編號從DR0001~DR0128,其中包含了高速、中速功能塊的控制圖優(yōu)先處理。如沒有高速、中速功能塊,按基本掃描周期從上到下順序進行控制圖處理,即圖中a、b、c、d 順序處理??刂茍D內(nèi)的功能塊按其在控制圖中統(tǒng)計列表中從上到下排列順序執(zhí)行,即圖中1、2、3、4 順序處理。其中,用高級語言編程的順序控制功能塊(SFC),可以調(diào)用自定義子程序SEBOL,SFC塊在基本掃描周期空閑時間執(zhí)行自定義子程序SEBOL。如空閑時間不足,全部掃描處理自定義子程序SEBOL,沒處理完的子程序SEBOL將忽略,當(dāng)?shù)诙€基本掃描周期開始時,再從頭執(zhí)行。
I/A Series DCS控制站的處理能力因芯片的型號而異,其基本處理周期(BPC=Basic Process Cycle),一般默認是0.5s?;咎幚碇芷谑侵冈俅翁幚硗粋€模塊間隔的時間。本節(jié)同樣主要分析其功能塊的掃描規(guī)則和執(zhí)行順序。
圖4 I/A Series DCS功能塊處理規(guī)則[2]Fig.4 I/A Series DCS function block processing rules[2]
如圖4所示,系統(tǒng)的功能塊是放在Compound(組合控制塊)中,在組態(tài)軟件中也是樹形結(jié)構(gòu)從上到下排列,在基本掃描周期,從第一個Compound開始從上往下逐個執(zhí)行Compound。當(dāng)一個BPC到了,它就回到第一個模塊再依次運行一遍,而不管上一次是否還有來不及運行的模塊Compound。在Compound的功能塊,按列表目錄的順序從上到下執(zhí)行。如CPU負荷大,存在Compound的功能塊有不執(zhí)行的情況發(fā)生。
其處理周期必須小于或等于它所包含的所有模塊中的最小處理周期,以使所有模塊都能得到處理。一般取默認值 "1", 即它所在的控制處理機的基本處理周期。在Compound中的功能塊按執(zhí)行順序編號進行順序處理,一般默認編號以添加功能塊的先后順序形成。
指定該組合模塊的運行時間是否要延遲幾個基本處理周期,如果CPU的基本處理周期是0.5s,Compound的處理周期是1s,可以選擇0或1相位來分散CPU負荷,但1相位的要延時1個基本處理周期,要比基本掃描周期長,才能選擇相位。
它是一種特殊的功能塊,有執(zhí)行語句長度設(shè)定,超過設(shè)定條數(shù)中斷執(zhí)行,在下一掃描周期繼續(xù)原位置執(zhí)行。在設(shè)定條數(shù)內(nèi),如果掃描周期到,未執(zhí)行完也中斷執(zhí)行,在下一掃描周期原位置執(zhí)行。
DeltaV DCS控制站系統(tǒng)組態(tài)時也有一個基本掃描周期,默認1s。其MODUL(控制策略模塊)有掃描速率參數(shù)設(shè)定,缺省掃描速率為1,每次基本掃描時執(zhí)行1次,如果是3,每3次基本掃描時執(zhí)行一次。
圖5 DeltaV DCS功能塊處理規(guī)則[3]Fig.5 DeltaV DCS function block processing rules[3]
如圖5所示,系統(tǒng)的功能塊是放在MODUL(控制策略模塊)中,MODUL在組態(tài)軟件中也是樹形結(jié)構(gòu)分廠區(qū)從上到下排列,同樣掃描速率的MODUL執(zhí)行先后順序并不是組態(tài)軟件顯示排列從上到下,是已按下裝到控制器中的排列順序執(zhí)行,不能調(diào)整順序。
1)通過以上DCS的功能塊掃描規(guī)則和執(zhí)行順序分析可以看出,其三者有些相似之處。如橫河的控制圖(DR0001),艾默生的控制策略模塊(MODUL),福克斯波羅的組合功能塊(COMPAND)都可以理解成是基本功能塊的“容器”,功能塊在“容器”中通過連線實現(xiàn)數(shù)據(jù)傳遞,通過不同功能塊實現(xiàn)算法邏輯處理,功能塊在“容器”中的執(zhí)行順序可按默認順序執(zhí)行,也可以編輯執(zhí)行順序?!叭萜鳌笨梢栽诨緬呙柚芷趫?zhí)行,也可以比基本掃描周期慢。常規(guī)功能塊模板搭建儀表回路、調(diào)節(jié)閥、控制閥、馬達等,默認都是基本掃描周期定期連續(xù)執(zhí)行的。
2)掃描規(guī)則和執(zhí)行順序分析,他們的不同之處也很多?!叭萜鳌钡膱?zhí)行順序就不同,橫河控制圖(DR0001~0128)和??怂共_的組合功能塊(COMPAND)從上到下執(zhí)行,??怂共_的組合功能塊(COMPAND)還能直接調(diào)整上下順序,而橫河控制圖(DR0001~0128)順序不能變,只能調(diào)整控制圖中所包含的內(nèi)容。艾默生的控制策略模塊(MODUL)執(zhí)行順序資料不明確,可通過改變掃描系數(shù),改變模塊(MODUL)執(zhí)行的優(yōu)先級,并且其控制策略模塊(MODUL)中的功能塊(BLOCK)執(zhí)行順序可調(diào)整。
3)三種DCS高級語言編程部分。橫河的順控功能塊(SFC),??怂共_的獨立運行塊(IND)都是由手動或自動觸發(fā)運行,優(yōu)先級比周期定期執(zhí)行功能塊低。在一個基本掃描周期執(zhí)行不完的情況下,橫河的順控功能塊(SFC)中包含的子程序SEBOL被忽略不執(zhí)行;??怂共_的獨立運行塊(IND),一個基本掃描周期執(zhí)行不完的情況下,被中斷,并在下一個基本掃描周期中斷位置繼續(xù)執(zhí)行;艾默生的動作塊(ACTIVE)也可以執(zhí)行高級語言編程,但優(yōu)先級和其它常規(guī)功能塊一樣,定期連續(xù)執(zhí)行,一個基本掃描周期執(zhí)行完畢,但其大小有限制,不能嵌套調(diào)用子程序。
通過橫河 CENTUM CS3000 DCS,??怂共_ I/A Series DCS,艾默生 DeltaV DCS三種DCS功能塊掃描規(guī)則和執(zhí)行順序的對比分析,更能深刻地理解這三種主流DCS功能塊掃描規(guī)則和執(zhí)行順序的相似處和不同之處,對于今后進行這三種DCS編程組態(tài)、系統(tǒng)維護以及分析查找問題上都有重要的幫助作用。
在高級語言編程的功能塊中,為保證在數(shù)據(jù)讀取一致性和程序運算處理正確性上,其基本掃描周期的空閑時間要足夠,才能保證全部順控功能塊在基本掃描周期都能執(zhí)行。實際功能塊運算處理時,DCS中建立的全局變量統(tǒng)一更新和傳遞,在程序塊中使用局部臨時變量時,運算開始就已統(tǒng)一讀入已傳遞的全局變量等數(shù)據(jù)。這樣,不僅減少了高級語言功能塊的掃描執(zhí)行時間,也對在執(zhí)行時效性要求不高的基本掃描控制時,不用特別關(guān)注其執(zhí)行順序,系統(tǒng)也能保證其邏輯運算的正確性與統(tǒng)一性。