孟亞男,張振懷
(吉林化工學院 信息與控制工程學院,吉林 吉林 132022)
液位的控制是非常普遍的,比如酒精精餾塔的液位控制,鍋爐的液位控制以及化工等眾多領域的液位控制[1].在此領域,常用的控制算法是PID.有開環控制和閉環控制,開環控制往往精度較低、無自動糾偏能力;而閉環精度較高,對外部擾動和系統參數變化不敏感,但是也存在一些缺點:存在不穩定、振蕩、超調等問題.因此在閉環的基礎上提出更先進的控制算法,由于液位的高度調節對象通常存在單純滯后、強大慣性,使得液位的高度改變速度較慢,而控制系統也通常呈現非線性,很難找到理想的PID參數[2].比如水箱液位內模PID控制對外部擾動變化不敏感[3];水箱液位模糊控制信息簡單的模糊處理將導致系統控制精度降低和動態品質變差[4];水箱液位神經PID控制不能向用戶提出必要的詢問,而且當數據不充分時,神經網絡就無法進行工作[5];水箱液位多模型自適應預測控制解決優化問題計算量大、耗時長[6].因此在傳統PID的基礎上引進自抗擾控制技術,增強整個閉環系統的魯棒性和抗干擾能力,計算量小、反應調節迅速、耗時短,使控制效果更加理想.
下位機STEP7中的PID控制功能模塊很容易實現建立自抗擾PID控制器,處理設定值和過程反饋值以及滯后控制裝置的輸入輸出值[7].本文中以PLC和WinCC組態技術為基礎,對水箱液位高度控制系統展開了深入研究,建立了液位高度控制系統的PLC控件模塊、控制系統的組態技術,用WinCC完成了現場監測.使用WinCC不但能夠完成對閉環控制流程的監控,同時還能夠利用WinCC的組態用戶界面完成自動設置和調整PID技術參數.系統還具有直觀的圖像顯示,因此,PLC可以與組態技術相結合,在工業控制中應用比較普遍[8].
圖1為水箱液位過程控制系統的現場圖.
液位控制系統的機構主要是利用PLC來調整電動機的控制系統,也就是利用電動調節閥限制閥門的開度(OP)來控制液位的[9].PC機配有STEP7編程軟件和WinCC組態配置管理軟件.該系統是由變頻器、執行器、水箱、壓力變送器(測量液位)、A/D轉換器、自抗擾控制器和D/A變換器等組成的一套液位系統.自抗擾控制器、D/A和A/D變換器用西門子的S7-300來實現,水箱液位的控制系統使用西門子的SIMATIC S7-300,S7-315 2DP作為控制器,子程序OB35循環中斷設為1 000;電源選擇的是PS 307 5A,模擬量輸入模塊選擇AI8×12Bit,模擬量輸出選擇AO4×12Bit.
自抗擾控制器是由PID控制器演變過來,采取了PID誤差反饋控制的核心理念.傳統PID控制直接取參考給定與輸出反饋之差作為控制信號,導致出現響應快速性與超調性的矛盾.自抗擾控制器主要由3部分組成:跟蹤微分器,擴展狀態觀測器和非線性狀態誤差反饋控制器.
為解決PID控制器中響應速度和超調制量之間的矛盾而設計的跟蹤微分器如下.
(1)
a為速度因子,也叫輸出信號的最大加速度;h為步長;r為快速因子;d為穩定參考值;y為輸出信號;fsg(x,d)=(sign(x+d)-sign(x-d))/2.
擴展狀態觀測器將整個系統輸出的擾動作為擴增的系統狀態,利用系統輸入u和輸出y來跟蹤估計系統的狀態和擾動.建立與之對應的擴張狀態觀測器如下:
(2)
狀態誤差反饋控制律的作用是對擴張狀態觀測器中的擾動估計值進行補償,這里采用PID控制形式對誤差進行調節,表達形式如下:
(3)
β1是比例系數;β2是微分系數;δ是區間寬度.fal的函數形式如下:
(4)
對于系統擾動補償過程形式如下:
(5)
自抗擾控制器原理如圖2所示.
在下位機軟件中構建一個項目,接著生成一個S7-300站點.轉到HWConfig頁面,插入機架、PS、CPU、I/O模塊等[10],按照硬件安裝依次進行.進入CPU屬性頁面,MPI ID為2.
對于模擬量輸入模塊,輸入參數為:E.測量范圍:1~5 V;干擾頻段為50 Hz;地址為256-271.
對于模擬量輸出模塊,輸出參數為:I.測量范圍4~20 mA,響應模式OCV,地址為272-279.
控制系統的地址分配如表1所示.

表1 控制系統的地址分配
創建了一組共用的數據信息塊DB3,內容如表2所示.

表2 數據塊DB3的參數分配
用于存儲完成PID控制的所有流程參數.WinCC也可通DB3存取并編輯PID的實時數據.DB3.DBD0主要用于存儲測量的液位(mm);DB3.DBD4用于存儲手動狀況下的液位設定值(mm);DB3.DBD8存儲執行器變頻器的頻率值(Hz);DB3.DBD12可以用來存儲自動情況下的液位設定值(mm);DB3.DBD16存儲增益值,都是REAL類型.DB3.DBD20存儲積分時間的常數;DB3.DBD24主要用于存儲微分時間常數,它們的類型是TIME.
模塊FC105用于將模擬I/O格式的整數值轉換為實數值.PIW256是液位高度的輸入通道.頻率量程為0~50 Hz,壓力變送器的量程為1~5 V,依次對應上限HI_LIM和下限LO_LIM,都是實數類型.當BIPOLAR輸入為零,意味著信號輸入值都是單極性.DB3.DBD0 是存儲實值結果,為實際液位高度測量值(mm).
功能模塊FC106用來將模擬量實型值轉換為I/O格式的整數型值.依次對應上限HI_LIM和下限LO_LIM.BIPOLAR的輸入通常是零,為單極性轉換.PQW272是I/O格式的輸出,范圍為0~27 468,對應4~20 mA,如圖3所示.
功能模塊FB41是一種PID控制器,是一種連續控制器.應將其設置為后臺數據塊,令其為DB10.圖4是FB41程序.M0.0用作置位PID功能;M0.1是用來控制該控制器的啟停;M0.2和M0.3分別為比例和積分的控制開關,由上位機的比例開關和積分開關控制;SP_INT是液位設定值;PV_IN是現場反饋的實際液位;DB3.DBD4為手動情況下的液位設定值;GAIN為增益;TI是積分時間常數;TD是微分時間常數;LMN_HLM上限值為100 Hz,LMN_LLM下限值為0 Hz.LMN 輸出實型數據的信號頻率保存到DB3.DBD8中.液位高度的采用周期取1 000 ms.其他技術參數在DB10中為默認值.
本系統使用WINCC作為上位機進行組態,其主要因素在于WINCC是目前各種組態應用軟件中功能較全的一個;二是充分考慮到下位機使用的是S7-300PLC的程序設計開發工具.它和WINCC都是SIEMENS有限公司的軟件產品,所以WINCC自身增加了S7-300PLC的驅動系統應用軟件,從而使得PLC和上位計算機系統的連接能夠更加直接而且有效簡單[11].
開啟WinCCExplorer窗口,創建名稱為223單個用戶項.在變量管理器中,添加驅動“SIMATIC S7 PROTOCOL SUITE”.在MPI下生成名為“123”的新驅動程序的連接,將站點ID設置為2,機架編號為零,插槽編號為2.上位機和下位機MPI均為2的PLC站點間的通信.通過名為“123”里的信息,按表1和表2建立創建WinCC的所有外部數據變量,與PLC的通訊相連.如5所示.
建立了4種圖像畫面,分別為主圖像畫面、歷史曲線圖像畫面、實時曲線圖像畫面、歷史數據圖像畫面.利用圖像編輯器可以創建一個名為“主圖象畫面”的液位監控過程圖像畫面,可以任意修改畫面窗口,并增加相應的輸入輸出設備顯示和各種功能和操作按鍵.有現場畫面、實時數據、歷史數據,數據報表和參數整定3大部分組成,具體如圖6所示.
傳統的控制方案仿真曲線為黑色線,加入自抗擾控制器仿真曲線為紅色線,兩者進行對比分析,仿真運行當液位穩定到40 mm時給定一個設定值為60 mm的值,然后液位穩定在60 mm左右.由仿真結果可知,加入自抗擾控制器控制使系統調節時間縮短,反應速度加快,震蕩超調特別小,增強整個閉環系統的魯棒性和抗干擾能力,使控制效果更加理想.能達到方便和自動的效果.設計的自抗擾控制器在水箱液位控制系統中具有比較理想的動態性能和穩態性能.
以PLC控制技術和WinCC的組態技術為基礎,對水箱液位高度控制系統展開了研究,構建了液位高度控制系統的PLC控制模型,并建立了控制系統的組態,用WinCC技術完成了現場監測.利用WinCC不但能夠進行對閉環控制流程的監控,同時還能夠利用WinCC的組態界面進行設定和調整PID參數.系統主要是PLC結合自抗擾控制器對液位進行自動控制,可以使被控對象保持在我們所希望位置的一個允許范圍內上下波動,達到一定的自動化控制程度.然后對系統的大部分硬件設備完成方案設計和選型,最后經過試驗結果分析,證明該設計系統實現了對水箱液位的自動監控管理.此控制系統具有智能化、易于控制、操作穩定,設計的控制器能夠無超調、無靜差地對液位進行控制,且抗干擾能力強、魯棒性好等特點.