丁 為
(中國(guó)石化上海石油化工研究院,上海 201208)
DCS在化工裝置中應(yīng)用廣泛[1],JX-300XP是SUPCON WebField控制系統(tǒng)成功經(jīng)驗(yàn)的集成,是全數(shù)字化、結(jié)構(gòu)靈活且功能完善的開放式DCS,它不僅提供了功能塊圖(SCFBD)及梯形圖(SCLD)等組態(tài)工具。[2,3],還提供了開發(fā)復(fù)雜高級(jí)控制算法諸如模糊控制的類C語言編程環(huán)境SCX,規(guī)模變換靈活,可以實(shí)現(xiàn)從一個(gè)單元的過程控制到全廠范圍的自動(dòng)化集成,王君紅等在JX-300XP中利用SCX語言,設(shè)計(jì)了一種基于免疫系統(tǒng)存儲(chǔ)記憶原理的智能控制算法[4];云蘇和等運(yùn)用Modbus通信協(xié)議實(shí)現(xiàn)了JX-300XP和S7-300PLC的通信[5]
JX-300XP在上海石油化工研究院的評(píng)價(jià)裝置中也成功應(yīng)用?,F(xiàn)以順序控制、分程控制、流量積算和比值控制4個(gè)典型程序的設(shè)計(jì)為例,介紹JX-300XP在評(píng)價(jià)裝置DCS程序設(shè)計(jì)中的應(yīng)用。
上海石油化工研究院的評(píng)價(jià)裝置主要用于對(duì)新開發(fā)的產(chǎn)品、原料或技術(shù)進(jìn)行指標(biāo)考察和評(píng)估,因此工藝流程完整而且復(fù)雜,工藝流程每一步的執(zhí)行都有嚴(yán)格的約束條件,在這種情況下,順控程序便成為評(píng)價(jià)裝置最常用的控制模式。
順控程序是針對(duì)順序控制系統(tǒng)編寫的程序,按照生產(chǎn)工藝預(yù)先規(guī)定的順序在各輸入信號(hào)的作用下,根據(jù)內(nèi)部狀態(tài)和時(shí)間順序,各執(zhí)行機(jī)構(gòu)自動(dòng)有序地進(jìn)行操作[6,7]。順控程序的設(shè)計(jì)相對(duì)復(fù)雜[8]。在JX-300XP中,可以采用梯形圖和功能塊圖相結(jié)合的方式,在圖形編程環(huán)境的LD段落中進(jìn)行編寫,使設(shè)計(jì)層次分明。
典型的順控程序監(jiān)控組態(tài)界面如圖1所示,典型的順控程序不僅包括必要的執(zhí)行步驟(如準(zhǔn)備→進(jìn)料→反應(yīng)→出料),還包括程序啟停、步號(hào)設(shè)定、單步時(shí)間設(shè)定、運(yùn)行時(shí)間累積及暫停時(shí)間累積等。
圖1 典型的順控程序監(jiān)控組態(tài)界面
在SUPCON DCS的編程界面中,點(diǎn)擊“文件—新建程序段—梯形圖”,在“段類型”中選擇“程序”,點(diǎn)擊“確定”即可[9],如圖2所示。
圖2 新建程序段
步選擇程序如圖3所示,其中START為布爾變量,對(duì)應(yīng)圖1中的“啟動(dòng)”按鈕;STEP為有符號(hào)整型變量,表示當(dāng)前要執(zhí)行的步,對(duì)應(yīng)圖1中的“設(shè)定步”;P12_2~P12_5為等于比較模塊,兩值相等則輸出為1;STEP1~STEP4為布爾變量。該段程序的功能是:當(dāng)“啟動(dòng)”按鈕按下,即START=1時(shí),程序根據(jù)STEP的值,選擇相應(yīng)的步執(zhí)行,如,如果STEP=1則STEP1=1,程序執(zhí)行第一步。
圖3 步選擇程序
步執(zhí)行程序如圖4所示,PAUSE為布爾變量,對(duì)應(yīng)圖1中的“暫停”按鈕;P13_59模塊為順控程序第一步要執(zhí)行的內(nèi)容;P13_50模塊為兩個(gè)布爾變量的“或”門;P13_44為計(jì)數(shù)器CTU模塊。該段程序的功能是:當(dāng)設(shè)定步為1,且不處于暫停狀態(tài),即STEP1=1且PAUSE=0時(shí),順控程序執(zhí)行第一步的內(nèi)容,同時(shí)對(duì)第一步的運(yùn)行時(shí)間進(jìn)行累積。時(shí)間累積程序的設(shè)計(jì)思路:由于CTU模塊最大計(jì)數(shù)值為32 767,因此當(dāng)程序運(yùn)行在第一步,即STEP=1且計(jì)數(shù)值RUNTIME1<32767時(shí),每經(jīng)過一個(gè)CPU掃描周期(0.5s),RUNTIME1值增加1;當(dāng)計(jì)數(shù)值RUNTIME1=32767時(shí),CTU模塊的Q端輸出為1,即CLEAR=1,此時(shí)CTU模塊的復(fù)位端R=1,CTU模塊復(fù)位,累積時(shí)間清零;當(dāng)程序沒有運(yùn)行在當(dāng)前步時(shí),該步所運(yùn)行的累積時(shí)間也要清零。綜合上述兩項(xiàng),P13_49模塊的輸出端和常開觸點(diǎn)CLEAR采用P13_50模塊相“或”后接入CTU模塊的復(fù)位端R。
圖4 步執(zhí)行程序
其他步執(zhí)行程序的設(shè)計(jì)以此類推。
步轉(zhuǎn)移程序的設(shè)計(jì)如圖5所示,RUN_MIN1為組態(tài)界面中第一步的設(shè)定運(yùn)行時(shí)間,以分鐘為單位;RUNTIME1為第一步程序的實(shí)際執(zhí)行時(shí)間,以0.5s為單位;P13_61為整數(shù)型乘法模塊,P13_62為整數(shù)型大于比較模塊,P13_63為整數(shù)型賦值模塊。該段程序的設(shè)計(jì)思路:將組態(tài)界面中第一步設(shè)定時(shí)間(RUN_MIN1)和第一步實(shí)際運(yùn)行時(shí)間(RUNTIME1)作比較,若實(shí)際運(yùn)行時(shí)間達(dá)到設(shè)定時(shí)間,則將程序向下一步轉(zhuǎn)移;由于兩個(gè)參數(shù)單位不一致,因此將RUN_MIN1乘以120,轉(zhuǎn)換成以0.5s為單位的值后再與RUNTIME1進(jìn)行比較。
圖5 步轉(zhuǎn)移程序
其他步轉(zhuǎn)移程序的設(shè)計(jì)以此類推。要注意的是,若編寫的是最后一步轉(zhuǎn)移程序,當(dāng)實(shí)際運(yùn)行時(shí)間達(dá)到設(shè)定運(yùn)行時(shí)間后,需將程序跳轉(zhuǎn)到第一步,即把“1”值賦給STEP,以實(shí)現(xiàn)順控程序的循環(huán)運(yùn)行。
運(yùn)行時(shí)間轉(zhuǎn)換程序的設(shè)計(jì)如圖6所示,P17_2為整型轉(zhuǎn)浮點(diǎn)型模塊,P17_3為浮點(diǎn)數(shù)除法模塊;RUN_MIN11對(duì)應(yīng)監(jiān)控界面上用于顯示第一步運(yùn)行時(shí)間的變量。由于RUN_MIN11的顯示是以分鐘為單位,而RUNTIME1是以0.5s為單位的整型數(shù),因此RUNTIME1必須先轉(zhuǎn)換為浮點(diǎn)數(shù),再除以120,才能得到RUN_MIN11的值。
圖6 運(yùn)行時(shí)間轉(zhuǎn)換程序
其他運(yùn)行時(shí)間轉(zhuǎn)換程序的設(shè)計(jì)以此類推。
暫停時(shí)間累積程序的設(shè)計(jì)如圖7所示,當(dāng)“暫?!卑粹o按下,即PAUSE=1時(shí),CTU模塊開始對(duì)暫停時(shí)間進(jìn)行累積,周期為0.5s;當(dāng)計(jì)數(shù)值P_TIME>32767時(shí),RESET置1,CTU模塊復(fù)位,計(jì)數(shù)值清零。P13_13和P17_14模塊則將計(jì)數(shù)值P_TIME轉(zhuǎn)換為以分鐘為單位的值在界面上顯示,轉(zhuǎn)換原理如圖6所示。
圖7 暫停時(shí)間累積程序
評(píng)價(jià)裝置復(fù)雜多變的工藝特性及其特殊的安全要求往往需要通過調(diào)節(jié)閥的分程控制來實(shí)現(xiàn),分程控制使一個(gè)調(diào)節(jié)器同時(shí)控制兩個(gè)或兩個(gè)以上的調(diào)節(jié)閥,每個(gè)調(diào)節(jié)閥可根據(jù)工藝要求在調(diào)節(jié)器輸出的一段信號(hào)范圍內(nèi)動(dòng)作[10]。
分程控制的特點(diǎn)是[11]:改善調(diào)節(jié)品質(zhì),優(yōu)化調(diào)節(jié)閥的工作條件;滿足開停車時(shí)小流量和正常生產(chǎn)時(shí)大流量的要求,使之都能有較好的調(diào)節(jié)質(zhì)量;滿足正常生產(chǎn)和事故狀態(tài)下的穩(wěn)定性和安全性。
在JX-300XP中,分程控制程序的設(shè)計(jì)需用到單回路調(diào)節(jié)模塊BSCX,該模塊是對(duì)在自定義回路中聲明的單回路進(jìn)行定義,確定它的輸入輸出,組成一個(gè)控制回路。BSCX模塊如圖8所示,PV為半浮點(diǎn)型,是測(cè)量值;N為無符號(hào)整型,是回路序號(hào);SwAM為布爾型,是手/自動(dòng)開關(guān);SV為半浮點(diǎn)型,是內(nèi)給定值;MV為半浮點(diǎn)型,是輸出閥位。
圖8 BSCX模塊
分程控制程序的設(shè)計(jì)如圖9所示,實(shí)現(xiàn)的功能是:當(dāng)MV的輸出為0%~A%時(shí),控制V1的開度從0%~100%;當(dāng)MV的輸出為A%~100%時(shí),控制V2的開度從0%~100%。其中,P4_15、P4_19為乘法模塊;P4_16和P4_20分別為大于比較模塊和小于比較模塊;P4_18為減法模塊;P4_17和P4_21為選擇模塊。
圖9 分程控制程序
該程序的設(shè)計(jì)需要注意:第一方面是對(duì)控制每個(gè)閥門動(dòng)作的調(diào)節(jié)模塊所輸出的信號(hào)范圍,編程時(shí)需要將其轉(zhuǎn)換為0%~100%,也就是說,當(dāng)閥門輸出信號(hào)范圍的分界點(diǎn)為A%時(shí),P4_15、P4_18和P4_19模塊的輸入?yún)?shù)應(yīng)分別為1/A%、A%和1/(1-A%),比如,當(dāng)A=20且MV=10%時(shí),根據(jù)圖9運(yùn)算關(guān)系得出V1=50%,V2=0%;當(dāng)A=20且MV=60%時(shí),根據(jù)圖9運(yùn)算關(guān)系得出V1=100%,V2=50%,這樣便達(dá)到分程控制的要求。第二個(gè)方面是BSCX模塊中的PV、SV、MV的數(shù)據(jù)類型均是半浮點(diǎn)型,因此選用的運(yùn)算模塊也必須是半浮點(diǎn)型。半浮點(diǎn)數(shù)是JX-300XP設(shè)計(jì)的一個(gè)特點(diǎn),相對(duì)于32浮點(diǎn)數(shù)而言可節(jié)省一半的存儲(chǔ)空間[12]。
分程控制程序的執(zhí)行通常需要和順控程序相結(jié)合,在順控程序中主要進(jìn)行BSCX模塊手動(dòng)/自動(dòng)選擇和目標(biāo)值的設(shè)置工作。具體程序設(shè)計(jì)如圖10所示,其中P14_14和P14_15分別是布爾型賦值模塊和半浮點(diǎn)型賦值模塊,P14_14通過給g_bsc[N].SwAM賦值為ON將BSCX模塊設(shè)為自動(dòng)模式;P14_15是將目標(biāo)設(shè)定值賦給BSCX模塊。需要注意:g_bsc[N]中參數(shù)N表示組態(tài)時(shí)所建立的回路編號(hào),范圍是0~31;執(zhí)行分程控制前,BSCX模塊必須設(shè)為自動(dòng)模式;C/D=(測(cè)量值-測(cè)量下限)/量程,是無因次化處理后的半浮點(diǎn)數(shù)。
圖10 BSCX模塊手動(dòng)/自動(dòng)、目標(biāo)值設(shè)置
流量積算在評(píng)價(jià)裝置中不可或缺,主要用于對(duì)現(xiàn)場(chǎng)液體及氣體等通過某一管道的瞬時(shí)流量在一定時(shí)間內(nèi)進(jìn)行累積。流量積算程序的設(shè)計(jì)根據(jù)流量計(jì)測(cè)量范圍的不同一般分為測(cè)量下限為0和測(cè)量下限非0兩種。
對(duì)于下限為0的累積對(duì)象,積算程序的設(shè)計(jì)相對(duì)簡(jiǎn)單,如圖11所示,P19_1為累積模塊,其中y與accum使用同一變量,此變量以x即FI1.PV每秒的速度遞增,accum和x的量綱必須一致,x為半浮點(diǎn)型數(shù)據(jù)。FIQ1表示累積流量值,F(xiàn)I1.PV為瞬時(shí)流量值的半浮點(diǎn)數(shù)表示形式。
圖11 流量累積程序1
實(shí)際設(shè)計(jì)中可能會(huì)有流量計(jì)的測(cè)量范圍是A~B且A>0的情況,對(duì)此類流量值的累積,必須先將其測(cè)量范圍換算為0~B才能進(jìn)行(換算公式[FI1.PV·(B-A)+A]/B)。程序如圖12所示。
圖12 流量累積程序2
需要注意的是,由于FI1.PV是無因次化處理后的半浮點(diǎn)數(shù),故必須轉(zhuǎn)換為浮點(diǎn)數(shù)后再進(jìn)行換算,換算完成后再將結(jié)果重新轉(zhuǎn)換為半浮點(diǎn)數(shù)參與流量累積。
比值控制程序的設(shè)計(jì)如圖13、14所示。評(píng)價(jià)
圖13 BSCX模塊手/自動(dòng)設(shè)置
裝置在工藝上對(duì)物料配比有嚴(yán)格規(guī)定,比例一旦失調(diào)將影響生產(chǎn)或造成事故。實(shí)現(xiàn)兩個(gè)或兩個(gè)以上參數(shù)符合一定比例關(guān)系的控制系統(tǒng)即為比值控制系統(tǒng)。
圖14 比值控制回路
圖13中,BSCX模塊被設(shè)置為自動(dòng)狀態(tài),這是比值控制程序運(yùn)行的必要條件,該步通??煞旁陧樋爻绦蛑袌?zhí)行,利用MOVE模塊將BSCX的參數(shù)g_bsc[N].SwAM賦值為ON即可。
圖14中,參數(shù)x表示FIC1和FIC2按照x∶1的進(jìn)料比例控制,A和B分別表示FIC1和FIC2的量程。由于FIC1.PV為半浮點(diǎn)數(shù),因此同樣需要轉(zhuǎn)換為浮點(diǎn)數(shù)后參與運(yùn)算,運(yùn)算完成后再重新轉(zhuǎn)換為半浮點(diǎn)數(shù)賦給BSCX模塊的SV引腳,作為設(shè)定值輸入。
以上4個(gè)例子代表性地體現(xiàn)了JX-300XP在評(píng)價(jià)裝置DCS程序設(shè)計(jì)中的具體應(yīng)用,這些程序經(jīng)過上海石油化工研究院評(píng)價(jià)裝置的充分驗(yàn)證,運(yùn)行穩(wěn)定可靠,完全滿足控制要求,且易于調(diào)試和維護(hù)。JX-300XP為設(shè)計(jì)人員提供了功能強(qiáng)大的高級(jí)語言程序設(shè)計(jì)平臺(tái)[13]。在理解和掌握這些設(shè)計(jì)思路和實(shí)現(xiàn)方法的基礎(chǔ)上,針對(duì)不同的控制對(duì)象和控制要求,可進(jìn)行靈活調(diào)整;同時(shí),這些思路和方法對(duì)于其他型號(hào)的DCS設(shè)計(jì)同樣具有借鑒意義。
[1] 王勝潮,張?jiān)收?李小平,等.FCC裝置沉降器直接耦合式旋風(fēng)分離技術(shù)的應(yīng)用[J].化工機(jī)械,2014,41(1):114~116.
[2] 秦緒香,吳智賢.基于JX-300XP DCS的催化裂解裝置兩機(jī)組改造[J].化工自動(dòng)化及儀表,2011,38(6):747~750.
[3] 柳玉松.JX-300X在磷酸一銨裝置中的應(yīng)用[J].石油化工自動(dòng)化,2003,39(5):66~67.
[4] 王君紅,劉寶,瞿虎,等.免疫智能控制算法在JX-300 DCS中的應(yīng)用[J].化工自動(dòng)化及儀表,2009,36(3):73~75.
[5] 云蘇和,陳健,劉彥芳,等.JX-300XP和S7-300PLC的數(shù)據(jù)通信[J].化工自動(dòng)化及儀表,2011,38(8):1023~1024.
[6] 黃靜雯.大型化工裝置控制系統(tǒng)設(shè)計(jì)[J].石油化工自動(dòng)化,2013,49(7):10~13.
[7] 黃步余.分散型控制系統(tǒng)在工業(yè)過程控制中的應(yīng)用[M].北京:中國(guó)石化出版社,1994.
[8] 唐玉玲.延遲焦化過程間歇操作順序控制系統(tǒng)開發(fā)[J].自動(dòng)化儀表,2013,34(5):36~39.
[9] 浙江中控技術(shù)有限公司培訓(xùn)中心.WebField JX-300XP教材[M].杭州:浙江中控技術(shù)股份有限公司,2009.
[10] 雷軍霞,王赟.分程控制在DeltaV系統(tǒng)中的應(yīng)用[J].化工自動(dòng)化及儀表,2013,40(8):1068~1069.
[11] 陸德民,張振基,黃步余.石油化工自動(dòng)控制設(shè)計(jì)手冊(cè)[M].北京:化學(xué)工業(yè)出版社,2000.
[12] 朱國(guó)良,孫志明,鮑峰.DCS圖形化編程教程[M].杭州:浙江中控技術(shù)股份有限公司,2006:30~37.
[13] 王德康,王為民,裘坤,等.集散控制系統(tǒng)嵌入式實(shí)時(shí)高級(jí)語言的設(shè)計(jì)與實(shí)現(xiàn)[J].化工自動(dòng)化及儀表,2001,28(1):41~46.