左懷拯
(馬鞍山鋼鐵股份有限公司冷軋總廠,安徽馬鞍山 243000)
本項目采用SIMATIC S7-400PLC 對連續退火鍍鋅生產線的板溫進行控制。SIMATIC S7-400PLC是中高性能的可編程控制器[1],軟件采用西門子DCS(集散控制系統)的控制軟件PCS7[2],其中CFC為PCS7 的過程控制組件。研究背景為計算鋅鍋感應加熱器的最近15 min 內的功率均值,用來建立入鋅鍋帶鋼溫度的熱平衡方程。在CFC 語言環境下,由于沒有堆棧功能,無法直接取得連續的均值,只能通過迭代的方式進行累加替換。解決該問題的設計方案涉及的概念有:累加模塊、延時模塊、系統時鐘、實數選擇模塊構建數據鎖定等。
設計思路:利用系統時鐘進行時間延遲,1 min后計時完成,地址位累加一,用地址位進行比較產生第1 鐘的累加值寫入堆棧1;然后進行第2 鐘的累加寫入堆棧2,對15 min進行劃分產生15個堆棧;當15 min 計時完成后計數器歸零,計算產生的累加值對堆棧1進行覆蓋,從而得到2~16 min的均值,以此類推。此計算方式產生的均值為不連續的動態均值,如果想得到更加連續均勻的數值,可以增加堆棧數量,減少累計時間。當累計時間足夠短且堆棧數量足夠大,則可以產生接近于連續的均值,能夠滿足模型的計算需求。
通用累加模塊如圖1所示。

圖1 CFC中的通用累加模塊
圖1 中,In 為瞬時值,OutHiLim 為累加上限,OutLoLim 為累加下限,TI 為累加時間單位,Out-TrkOn 為累加清零命令,Out 為累加輸出,計算公式為:

其工作時序如圖2所示。

圖2 累加模塊工作時序圖
在程序中,用累加模塊對鋅鍋感應加熱器的功率進行累加,單位為秒,而功率是是以小時為單位,累加時間單位為3 600 s,所以TI=3 600,而實時功率指為82 kW,所以In 值寫入82.0,用累加模塊累加的值并不直接進行計算,而是在累加結束時,對前面的計算值進行覆蓋。
通用延時模塊如圖3所示。

圖3 CFC中通用延時模塊
圖3中Time0為延遲時間,mode為延遲模式,reset 為復位,I0 為延遲觸發信號,Q0 為延遲輸出信號,PTIME 為計時器,而TIMER_P 模塊的功能時序如圖4所示。

圖4 延時模塊模式2中的狀態時序圖
采用的mode2 為延遲導通計時器,當觸發信號為1 時,開始計時,計時至延時時間完成時Q0 導通。在程序中用來將累加器的數值寫入均值計算模塊,對原值進行覆蓋,同時地址位累加1。覆蓋之后,再利用一個延遲計時器延遲2 s,對累加器的數值進行清零。
程序需要對每次采集的累加數據進行保存,參與均值計算,當循環到同一地址時,用新數據進行覆蓋。為實現這一功能,采用實數選擇模塊進行功能構建,如圖5所示。

圖5 由實數選擇模塊構建的數據保持結構
累加數值寫入IN_0,當計時器計時完成觸發CONTROL 進行選擇,把累加值寫入OUT,并將OUT值送回IN_1,形成自鎖,當下一輪掃描完成時,再次寫入新值,對原值進行覆蓋并重新鎖定。
如圖6所示,由計時器累計時間,觸發計數器為I0,每觸發一次計數器加一。采用DI_I 模塊將雙整數轉化為整數,然后使用比較器與數值14 進行比較,當遞增數值大于14時,比較器的GT 管腳觸發復位信號,對計數器產生的數值進行復位,此結構實現了地址位從0到14的循環。

圖6 地址位構建結構
地址位產生后,用來鎖定數據寫入地址,并最終參與均值計算,其結構由比較模塊、與門、實數選擇模塊構建,如圖7所示。

圖7 地址位變化時產生的數據更迭
使用多比較器進行比較,當循環地址與地址位相同時,則此地址被激活,與采樣的周期信號接入與門,產生的結果觸發數據保持模塊,將新的數據寫入對應地址的數據塊中并鎖定,從而產生不同時間內的數據累加值。
將每個地址位所對應周期內的累加值通過實數比較器自鎖存儲,然后取平均值。多個周期進行循環覆蓋,從而產生動態的均值,達到設計要求。
而在此例中,采用0~14 個地址位,每個地址周期為60 s,所以最終會對15 個地址位的數據進行累加,循環覆蓋,再除以時間,最后得到15 min 內的動態均值。如圖8 所示(圖中為從8~14 的7 個累加數值之和,0~8的累加處理方式相同)。

圖8 實數求和模塊
程序總圖如圖9所示。

圖9 程序整體結構
案例中采用了15個地址的計算模型,且采樣周期較長,計算結果較為粗糙,在數據覆蓋時明顯呈現離散化的趨勢,在數據不斷覆蓋中產生數值突變,而鋅鍋加熱功率只有高功率與低功率兩種,更加劇了計算值的突變。為了減少這種現象,將采樣時間改為20 s,采樣地址增加為45 個,突變被有效抑制,連續性明顯增強。但修改過程中,程序量明顯增大。
對兩種采樣時間及采樣次數進行對比,比對結果如圖10所示。

圖10 采用低采樣頻率產生的溫度計算值
圖10中標注部分為計算值,在1 min采樣周期,采樣次數為15的狀態下呈現出明顯的波動,數據粗糙且離散程度高。
圖11 中標注部分為計算值,在20 s 采樣周期,采樣次數為45 的狀態下,數據更細膩,連續性增強且波動大幅降低。

圖11 采用較高采樣頻率產生的溫度計算值
由于增加采樣頻次,每個周期采樣的功率累加值更連續,即使在功率突變的情況下,仍然可以計算出較為連續的值。
圖11中紅色曲線不是功率均值,而是使用功率均值通過線性計算得到的帶鋼溫度計算值,雖然不是直接值,但是線性計算不會改變曲線的連續性,故可作為功率值連續性的參考比照。
采用CFC 模塊構建“堆棧”,應用在計算動態均值和“堆棧”結構進行數據處理可以得到較好的效果。利用計數模塊實現地址累加,利用實數選擇模塊實現數據鎖定,利用計時模塊實現數據推入,完美的模擬了計算機堆棧工作的過程,其推入及讀取的方式,可以通過程序進行微調,這取決于實際要求,本文只是提供了一種思路,程序結構的改變可以產生無窮的變化形式。當然,其結構過于復雜,程序量較大也是一個明顯的缺點,值得進一步研究。