黃軍政,石輝峰,蘭 師,王 皓
(新疆石油獨山子石化分公司 信息網絡公司 乙烯儀表車間,新疆維吾爾自治區 克拉瑪依 833600)
隨著儀表測量技術、自動化控制技術甚至人工智能技術的持續迅猛發展,工藝人員也隨之不斷地向儀表人員提出了許多更加貼近實際生產、更加靈活、更有難度的控制需求。儀表先進控制技術因此得以廣泛應用于化工生產實踐中,使得儀表人員能夠充分滿足工藝生產的特殊和非常規的控制要求。橫河CENTUM VP 系統在實現儀表非常規控制方案方面就有著廣闊的應用空間和巨大潛力。其中,有許多常用的模塊包括:CALC 模塊、SFCSW 模塊、LC64模塊、ST16 模塊常常發揮著至關重要的作用。本文主要介紹SFCSW 模塊的相關應用。
新疆獨山子300 萬噸國儲罐區是國家重點戰略儲備罐區,工藝出于計量的需要對罐內原油的庫存一直重點關注。由于國儲儲罐容積巨大,再加上液位測量儀表本身的測量誤差,使得液位瞬時值并不能及時、準確反映出罐內油料庫存量。為了對儲油庫存量實現精細化管理,工藝人員向儀表提出在不增加流量測量儀表的情況下,根據液位值換算出原油瞬時流出/流入量的要求。工藝技術人員根據儲罐的相關數據經過計算給出了具體實施方案即:每2min 讀一次液位值,再用后一次的液位值減去前一次的液位值得出差值,定義流量值就是差值絕對值的0.112 倍,并且要求在DCS 畫面顯示原油瞬時流量值,具體對6 個儲罐所對應的6 臺液位儀表完成以上操作。
儀表人員根據工藝提出的實施方案,確定了通過CS 3000 系統完成液位測量值的采集、運算、流量值輸出、流量值顯示功能的總體方案。經過對常用的DCS 控制模塊進行全面對比和綜合考慮,儀表人員決定利用SFCSW 模塊的編程功能和組態功能完成液位數據按規定時間間隔進行采集,并換算成流量值;使用PVI 模塊定義6 個儲罐相應的流量軟表;再通過畫面鏈接功能完成流量值的顯示。
首先,重點介紹利用SFCSW 模塊實現液位數據采集并換算成流量的思路。
以6 塊儀表中的第一塊表00608LI209 為例,說明如下:
1)為液位00608LI209 指定別名:LI209。
2)將以秒計時的計時器TM002 的上限值定為120。
3)將LI209.PV 賦予變量%.A3。
4)當TM002.BSTS 等于“CTUP”,即TM002 計時器運行120s(2min),而且i <3 時,將此時的LI209.PV 賦予一維數組%.A[i]。
5)將剛讀到的LI209.PV(即%.A[i])與2min 之前讀到的值(即%.A[i-1])相減,并將差值賦予變量%.A2。

圖1 SEBOL程序框圖Fig.1 SEBOL Program block diagram
6)將%.A2 的絕對值×0.112 的積賦予%.A4。
7)將本次讀到的LI209.PV 賦予%.A3(即將上次讀到的液位值覆蓋),然后將i+1 賦予i。
8)進入下一個循環。
按以上思路對6 塊液位計進行相同處理。
圖1 是為了完成以上方案的SEBOL 程序框圖。
在介紹SFCSW 組態方案之前,首先介紹一下SFCSW模塊。它是順序控制模塊SFC 的一種,SFC 模塊是定義順控控制動作的圖解性程序設計語言。包括三位置開關型-SFCSW、按鈕型-SFCPB、模擬型-SFCAS 3 種類型。SFC 模塊是FCS(DCS 現場控制站)的控制功能之一。它在規模稍微大一點的順控控制、設備控制中使用,能夠使工程進程管理變得更為容易。

圖2 編程代碼(1)Fig.2 Programming code(1)
SFC 模塊使用步、移動、連接線3 個要素記述程序內容。而SFC 模塊的每一個“步”中,可由SEBOL/順控表/邏輯圖編寫程序,完成各種功能。
為了實現以上確定的數據采集和處理方案,具體實施時,首先在CENTUM VP 系統中按路徑:SYSTEM VIEW--PROJECT--FCS--FUNCTION BLOCK 到達并打開CONTROL DRAWING 窗口,在窗口中建立一SFCSW 模塊;然后,在SFCSW 模塊的變量定義窗口(data item definition)中定義在程序編輯中使用的A2 ~F2、A3 ~F3、A4 ~F4這3 組變量和A1[i]~F1[i]這6 個一維數組(其中i 為1 ~3 的整數);最后,在SFCSW 模塊的SFC 編輯窗口(Edit SFC)中寫入編好的SEBOL 程序。
按圖1 框圖中的思路編寫程序,下裝運行。程序內部循環運算,每隔2min 就產生新的差值,經過換算后產生瞬時流量值:%.A4、%.B4、%.C4、%.D4、%.E4、%.F4,它們依次表示6 塊液位計換算出來的流量值。
這里需要介紹一下程序中使用的ALIAS 命令,在SEBOL 程序中參與邏輯運算的位號必須是由ALIAS 命令將實際位號變更后的別名。在本文中以00608LI209 為例,只有將位號通過:“block PVI LI209 ALIAS 00608LI209”語句改為別名:LI209,才能參與邏輯運算。
圖2、圖3 是編程代碼。

圖3 編程代碼 (2)Fig.3 Programming code (2)
為了將SFCSW 模塊程序換算出的瞬時流量值引出并顯示,再分別定義6 個PVI 模塊,模塊名分別為SV209SV210SV211SV212SV213SV214。按著設計好的工程單位和量程組好每一塊表。然后按組態方案組態下裝,使得由00608LI209.PV 換算出的瞬時流量值為SV209.PV......以此類推由00608LI214.PV 換算出的瞬時流量值為SV214.PV。
最后,在相應DCS 畫面上做鏈接,使得當工藝操作人員要查看任何一個罐的瞬時流量值時,點擊相應圖標即可調出對應面板。為了清楚起見,可在面板上增加相應注釋。如有需要還可增加相應趨勢、報警等。
首先,運行SFCSW 模塊,在下裝完畢后需將模塊投用起來。以本文中為例就是將YSK2 模塊面板打到“RUN”。但是在修改程序后,重新下裝時,必須將模塊程序打到“STOP”狀態,否則不能下裝。
其次,根據工藝提供的方案:每2min 讀1 次液位值,因此TM002.PH 設為120。因為DCS 系統的掃描周期為1s,即每秒鐘讀取1 次液位值,但是程序只取第1s 和第120s的液位值做差,然后求絕對值。因此,編寫了以上代碼。假如工藝要求每1min 讀取1 次液位值,只需將TM002.PH設為60,然后下裝投用即可。
另外,必須將TM002 模塊投入“自動”模式。
按本文方法產生的流量軟表在DCS 畫面上顯示的是一個絕對值,在此提供一個基本判斷依據:即觀察液位的變化趨勢,如果液位上升,則計算出的流量值為流入量;如果液位下降,則計算出的流量值為流出量。
其次,每個油罐都會有流入管線和流出管線,因此這個計算出的流量值實際表示的就是原油流入以及流出的綜合瞬時效果。它是一塊只在計算機上顯示的流量表,因此也不需要考慮安裝位置,只是直接地顯示了此時此刻油罐的進油量或者出油量。
橫河CS 3000 系統的SFCSW 模塊在先進控制、超馳控制、裝置平穩率計算等許多方面都有廣泛應用。筆者應用SFCSW 模塊在實現數據比較、數值換算方面,已經做了一些有益的嘗試。本文介紹了數值換算一例,希望對大家有一定的啟發作用。