王存佐,關兆鵬
(天津堿廠機電中心儀控運行部,天津 300450)
天津堿廠丁辛醇項目的DCS采用的是美國Honeywell公司的PKS系統(tǒng)。
PKS系統(tǒng)是由 Honeywell公司在 TDC2000、TDC3000、TPS和Plantscape系統(tǒng)的基礎上,采用世界先進技術而推出的。PKS是英文Process Knowledge System的第一個字母組成,稱為過程知識系統(tǒng)。PKS系統(tǒng)的核心是基于開放且功能強大的Microsoft公司的Windows server 2003服務器/客戶系統(tǒng),它由高性能的控制器、先進的工程組態(tài)工具、開放的控制網絡等組成。利用服務器的高速動態(tài)緩存區(qū)采集實時數據,提供報警、顯示、歷史數據采集、報表報告等功能。PKS一般由服務器(Server)、工作站(Station)、控制器(C300)和實時冗余容錯以太網(FTE)網絡組成,服務器的操作系統(tǒng)為美國微軟公司的英文Windows server2003,工作站安裝微軟公司的英文Windows XP操作系統(tǒng),支持中文顯示。
丁辛醇分廠設計2臺服務器、7臺操作站、一臺FDM站、一臺ESD操作站兼工程師站、一臺壓縮機操作站、4對控制器、1對防火墻(主要目的阻止垃圾數據傳輸)、1對交換機、1對Tserver服務器、還有AIAODIDO卡件等ESD設備。網絡通訊通過FTE容錯以太網,但三方通訊通過Tserver服務器完成。系統(tǒng)硬件簡要圖見圖1。
圖1 系統(tǒng)硬件圖
此次丁辛醇自動化改造工程,主要運用已有點進行邏輯重組,包括模擬量輸入,模擬量輸出,聯(lián)鎖等回路搭建。設計原理是當公用系統(tǒng)不穩(wěn)定時,根據各工段用氣情況,進行微調處理達到工藝工況穩(wěn)定。并根據工藝提供數值進行參數設計,再根據實時工況進行參數修改。
目前丁辛醇分廠對工藝影響最大的就是蒸汽,由于外界蒸汽壓力波動很大,會造成生產工況不穩(wěn)定,產品不合格。改變這種狀況目前思路是當蒸汽壓力波動時,各個工段再沸系統(tǒng)調節(jié)開度改變(只有在手動情況下遵循調節(jié),在自動情況下遵循自調。并且當壓力升高或是減少0.01MPa時,調節(jié)閥門對應開增加或是減小0.1開度,并且有一定區(qū)間范圍,超過一定區(qū)間調節(jié)閥最大輸出。)。當蒸汽溫度波動時,各工段再沸系統(tǒng)調節(jié)開度改變(只有在手動情況下遵循調節(jié),在自動情況下遵循自調。并且當溫度升高或是減少10℃時,調節(jié)閥門對應開增加或是減小0.1開度,并且有一定區(qū)間范圍,超過一定區(qū)間調節(jié)閥最大輸出。)
根據以上條件筆者做出溫度控制邏輯條件如圖2所示。
調節(jié)閥門在投手動時,調節(jié)閥門遵循次直線方程。并且在蒸汽溫度波動時,最大調節(jié)范圍0.3~0.3之間。根據筆者歸納圖形可得方程為:y=kx+b,換算可得y=100x。
圖2 溫度控制邏輯圖
圖3 壓力控制邏輯圖
根據以上條件筆者做出壓力控制邏輯條件如圖3所示。
調節(jié)閥門在投手動時,調節(jié)閥門遵循次直線方程。并且在蒸汽溫度波動時,最大調節(jié)范圍0.3~-0.3之間。根據筆者歸納圖形可得方程為:y=kx+b、換算可得y=0.1x。
下位設計思路主要滿足一下幾個方面:1)此功能要在控制面板上做出投用和解除按鈕。2)此功能投用時要滿足必須是手動情況下才可以投用。3)在投用時要顯示最后更改的參數。根據以上的條件與邏輯筆者規(guī)劃幾個功能塊:1)FANOUTA這個功能塊主要實現一路輸出變?yōu)閮陕份敵?,因為在下一個FANOUTB中不能共用同一個功能管腳。2)FANOUTB這個功能塊主要是做線性曲線公式(這個公式來源就3.2中兩個邏輯圖。3)AUXCALCA這個功能塊主要完成筆者所有功能計算以及運算結果功能(由于內部計算涉及機密內容在這里就不詳細介紹)。4)SWITCHA這個功能塊主要完成切換功能,功能投用時選擇1回路,功能不投用時選用2回路。5)AN功能塊主要實現功能是在上位機控制面板上筆者會做一按鈕和筆者的手動作邏輯,來判斷是選擇第一回路還是二回路。邏輯組態(tài)圖如圖4。
圖4 邏輯組態(tài)圖
部分重要功能塊詳細說明:
①切換塊作為單極八位旋轉式開關用于八種初始化輸入和操作。開關位置可以通過操作員一個應用程序或另一個功能塊改變。如圖5所示。
圖5 SWITCH切換塊圖
圖6 AUXSUMMER輔助加法器圖
用戶可以通過TRACKING選項強制非選擇輸入跟蹤選擇輸入:如打開TRACKING,切換塊就持續(xù)初始化未經選擇輸入。如打開TRACKING,切換塊就持續(xù)初始化未經選擇輸入。也就是在每一個循環(huán)周期,此開關要求初始化非選擇要素并使其輸出達到選擇輸入值。無論是否打開還是關閉TRACKING,該塊可通過一個浮動偏置進行無擾切換輸出。
切換塊的功能:該切換塊可使用戶從八個里面選擇一個輸入和一個選擇輸出值。選擇一個輸入的三種方法如下:方程式A:儲存輸入的一個數值選擇SELXINP。方程式B:打開選擇標記(SELXFL[1..8])的其中一個。每個標記對應一個輸入。切換塊關閉所有其它標記并更新SELXINP。方程式C:用戶可重新設置或安排選擇標記(SELXFL[1..8])的其中一個。塊不能改變其它任何一個標記。相反,它能以升序(1 to 8)控制所有標記并選擇打開第一標記。
用戶可以應用該塊來分配一個不同主塊到一個二次塊。以下配置實例圖展示了五個PID主塊與一個SWITCH塊連接。通過打開相應SELXFL[1..5]輸入或儲存SELXINP輸入的適當數字來選擇激活初級,以及根據塊SWITCH方程式的選擇來選擇。SELXINP參數要求一個整數式并經常通過操作符設定。默認SELXINP值為1而且直到控制模塊制止切換及主塊在監(jiān)控模式下至少激活一次時才能改變。
②AUXSUMMER (輔助加法器)模塊
AUXSUMMER (輔助加法器)模塊用以配置最多10個獨立輸入,對經比例縮放或有偏差的過程變量(PV)值進行計算。輸入和PV值均可采用狀態(tài)信息。用戶可通過配置定義每個輸入的比例因子、偏差值和說明。也可選擇禁用某個輸入。所有輸入默認為啟用。如圖6所示。
AUXSUMMER模塊的功能:該模塊采用下面的等式基于最多10個配置輸入計算出PV值。
AUXSUMMER模塊會從其他功能塊取值,在控制模塊的每個執(zhí)行周期確定它們的狀態(tài)。其對最多10個表達式求值并確定狀態(tài)。在對PV的總比例因子(CPV)參數和PV的總偏差系數(DPV)參數的輸入和配置輸入進行計算后,根據結果推導出PV和PV狀態(tài)。
用戶也可選擇禁用輸入(PENABLE[1..10]),并為禁用輸入定義替換值(PSUB[1..10])。
③FANOUT塊
描述FANOUT塊有1路輸入和最多8路可初始化的輸出。同時,它還可能有最多8路二次輸出,因為每路可初始化輸出就有一路二次輸出。用戶可以分別指定每路輸出的增益、偏置和輸出率。每個指定值可能是固定值或外部值。固定值依靠手動存儲或程序存儲,而外部值來自另一個功能塊。此塊將分別計算,初始化或模式轉換后的每路輸出的浮動偏置值。這為每路輸出提供了“無擾”轉換。其圖形7如下。
圖7 FANOUT塊
FANOUT塊需要一路輸入,即X1:
·X1必須為來自于另一個塊的可初始化輸入(無法由操作符或程序設置)。
·用戶必須為X1指定一個工程單位范圍(XEUHI和XEULO)。該塊不適合進行范圍檢查。它假定X1在規(guī)定范圍內。
·XEUHI和XEULO定義X1的滿刻度:
-XEUHI表示100%的滿標值。
-XEULO表示0%的滿標值。
注意
FANOUT塊:
·有1路輸入和多達8路可初始化輸出;
·有一個主塊和最多8個次塊。
CAScade模式轉換為MANual模式時,它要求主塊進行初始化。
輸出FANOUT塊最多有8路可初始化輸出,如下:
·OP[1~8]=計算的輸出,以百分數表示。
·OPEU[1~8]=計算的輸出,以工程單位表示。
可初始化的輸入和輸出
“可初始化的輸入”和“可初始化的輸出”與數據類型或訪問級別類似,都是屬性變項。具有“可初始化”屬性的參數有相關的BACKCALC參數,建立可初始化輸入和可初始化輸出之間的連接的同時,用戶還能建立其BACKCALC連接。ControlBuilder自動建立需要的BACKCALC連接,因此用戶不必手動創(chuàng)建。這些“隱式”建立的連接已“隱藏”不可見,有關的參數引腳也不會顯示在控制表中。
例如,若用戶將FANOUT塊的OP連接到AUTOMAN塊或AOCHANNEL塊上,Control Builder將自動創(chuàng)建 BACKCALCOUT與BACKCALCIN的連接。
·對于指定的次塊,可創(chuàng)建至OP或OPEU的連接,但不能同時創(chuàng)建這兩個連接。(顯示默認的OP連接,但有需要時,隱式/隱藏連接功能將自動連接到值/狀態(tài)參數(OPX/OPEUX)上。)
·可分別指定每路輸出的增益和偏置。
·FANOUT塊用于給每路輸出應用單獨的浮動偏置。
·可給增益限值配置負值,以便能使用負增益進行反向輸出。
·FANOUT塊通過BACKCALC向主塊提供X1的輸入范圍(XEUHI/XEULO)。主塊將它用于其輸出范圍(CVEUHI/CVEULO)。
輸出范圍
·CVEUHI[1~8]和 CVEULO[1~8]定義每路指定輸出的CV工程單位滿標度。
-FANOUT塊不會通過保持每路輸出的單獨CV范圍,分離每路輸出的范圍,此類范圍將追蹤相應次塊的輸入范圍。
-每路輸出的CV范圍須與每個次塊的輸入范圍相同。FANOUT塊獲得每個次塊的輸入范圍(通過BACKCALC),并將其存儲為相應的CV范圍。結果,每路輸出可能有一個不同的CV范圍。例如,FANOUT塊使其輸出OP[1]和OP[2]分別與塊PID1和PID2連接。它獲得PID1和PID2的輸入范圍,分別將其OPX[1]和OPX[2]的CV范圍設為此類輸入范圍。
-FANOUT塊獲得次塊的輸入范圍時,不考慮SECINITOPT(即不考慮是否會使用次塊的初始化和被覆蓋數據)。
·OPHILM和OPLOLM將OP的正常上限值和下限值定義為CV范圍的百分數。這些值為用戶指定值。相同的限值適用于所有的輸出。若算法計算出的結果(CV)超過了此類限值,或其他功能塊或用戶程序試圖存儲一個超過它們的OP值,OP將保持在此類限值水平。但是操作符可存儲此類限值范圍以外的OP值。
·OPEXHILM和OPEXLOLM將OP的擴展上限值和下限值定義為CV范圍的百分數。這些值為用戶指定值。相同的限值適用于所有的輸出。操作符無法存儲超過此類限值的OP值。
輸出偏置
把輸出偏置(OPBIAS)加到算法計算出的值(CV)上,結果存儲于CV中。然后根據OP限值檢查CV值,如果沒有超過限值,則復制CV到輸出。由于FANOUT塊最多可有八路輸出,所以每路輸出都有各自的確定輸出偏置。這表示,所述引用參數實際上是指向給定輸出。例如,OPBIAS[1]和CV[1]是指向OP[1],其他7路輸出(2到8號)以此類推。
OPBIAS是用戶指定的固定偏置(OPBIAS.FIX)和算出的浮動偏置值(OPBIAS.FLOAT)之和。只要FANOUT塊是第一個可初始化的塊,初始化功能塊或轉換模式時,浮動偏置用于提供一個無擾切換。
·下列情況下,重新計算OPBIAS,以避免出現輸出擾動。(注意當其為第一個可初始化塊時,在后兩種情況下,功能塊僅輸出OPBIAS.FLOAT。)
-功能塊啟動時(即被激活時)。
-功能塊初始化時(例如,次塊請求初始化時)。
-模式轉換到級聯(lián)時(如適用于指定塊的情況)。
注意
由于計算輸出,手動模式下,不使用OPBIAS。這表示轉換到手動模式時,不重新計算OPBIAS。
·僅在功能塊未激活或手動模式下,方可設置OPBIAS值。這樣做是為了避免,修改偏置時產生輸出擾動。設置OPBIAS值時,將出現以下情況。
給輸入值設置總偏置(OPBIAS)和固定偏置(OPBIAS.FIX)。
浮動偏置(OPBIAS.FLOAT)設為零。
注意
功能塊被激活,或轉換為級聯(lián)模式時(如適用于指定塊的情況),將重新計算OPBIAS和OPBIAS.FLOAT。
·設置OPBIAS值時,沒有限值檢查。但是,給CV加上偏置后,應比較結果與輸出限值,必要時可固定結果值。
·配置固定偏置(OPBIAS.FIX)的值,它不可能被浮動偏置(OPBIAS.FLOAT)覆蓋。這表示,若用戶將OPBIAS.RATE配置為緩慢降低的OPBIAS.FLOAT,總偏置值最終將等于OPBIAS.FIX。
其中:
·若主塊接受該塊的初始化請求,則CV+OPBIAS.FIX應與CVINIT同,而OPBIAS.FLOAT將為零。多數情況下,OPBIAS.FLOAT將為零。但是,若由于主塊是FANOUT塊,或它的配置為忽略初始化,而不接受該塊的初始化請求,則OPBIAS.FLOAT值非零。
若OPBIAS.FLOAT非零,用戶可通過OPBIAS.RATE參數將其配置為緩慢降低到零。
·用戶可通過配置OPBIAS.RATE,給OPBIAS.FLOAT加上斜率。僅在OPBIAS.FLOAT非零時適用。OPBIAS.RATE以每分鐘的工程單位數表示,可能為下列值零:
若OPBIAS.RATE為零,則計算OPBIAS.FLOAT值,并保證無擾切換。但是,若OPBIAS.FLOAT非零,它將不會緩慢降低。
-非零:
若OPBIAS.RATE非零,則計算OPBIAS.FLOAT值,并保證無擾切換。若OPBIAS.FLOAT非零,則按用戶為OPBIAS.RATE參數配置的速率,將其緩慢降低到零。
-功能塊每次執(zhí)行時,通過下面的計算,將OPBIAS.FLOAT緩慢降至零。
其中:
OPBIAS.RATE“非數值”(NaN)時,不計算 OPBIAS.FLOAT。這表示,若主塊不接受該塊的初始化值,將出現輸出擾動。
上位系統(tǒng)設計就是滿足下位系統(tǒng)的要求,主要實現這樣幾個功能1)在畫面中能彈出控制面板,并且控制面板中有手動/自動切換、投用功能按鈕、PV/OP顯示、操作權限等功能。2)所有操作必須有歷史記錄,并且要進事件記錄。3)所有顯示都要有歷史記錄。4)換面整齊美觀。
根據以上要求筆者對畫面進行組態(tài)如圖8,腳本制作圖見圖9。
圖8 畫面組態(tài)圖
圖9 腳本制作圖
在上位包括組態(tài)與腳本制作,筆者通過查找資料獨自完成,在跟需要上位還會繼續(xù)修改。目前上位參數連接就不一一舉例,遵循原則就是用那個管腳就去引用管腳就可以。
在經過一段時間投用,程序運行十分穩(wěn)定。并且達到預期的效果,在波動比較頻繁時,由于操作工不能及時調節(jié)造成工況不穩(wěn)定請況大大消除,并且提高了產品質量。這套系統(tǒng)的投用已經得到預期的成果,在今后的工作中筆者會進一步對程序不斷完善和微調經行修改,來適應更高要求。