【正文】
,使調(diào)節(jié)盡快穩(wěn)定。 ( 2)應(yīng)用輸出死區(qū) 在定值控溫過(guò)程中,為抵消溫控對(duì)象的慣性所帶來(lái)的超調(diào)量,引入了帶死區(qū)輸出的PID 控制,其控制框圖如圖 26 所示,當(dāng)死區(qū)非線性環(huán)節(jié)的輸入量 (即誤差 ev(n))的絕對(duì)值小于值 0ev 時(shí),這時(shí) PID 調(diào)節(jié)器的輸出為零, PID 調(diào)節(jié)器不起調(diào)節(jié)作用,系統(tǒng)處于開(kāi)環(huán)。當(dāng)誤差的絕對(duì)值超過(guò)設(shè)定值 0ev 時(shí),開(kāi)始正常的 PID 控制。 P I D控 制 器s p ( n ) m v ( n )e v ( n )執(zhí) 行過(guò) 程c ( n )Tc ( n ) 圖 26 帶死區(qū)輸出的 PID 控制框圖 其控制算式為 000 ev |ev(n) | ev |ev(n) |mv(n)mv(n) ?????? (14) 式 14 中,值 0ev 是一個(gè)可調(diào)參數(shù),具體值可以根據(jù)實(shí)際控制對(duì)象由實(shí)驗(yàn)確定。 0ev 值太小,是調(diào)節(jié)過(guò)于頻繁,達(dá)不到穩(wěn)定被調(diào)節(jié)對(duì)象的目的;如果 0ev 取的太大,則系統(tǒng)將產(chǎn)生很大的滯后。在該溫控系統(tǒng)中 0ev =℃ 。區(qū)別于 FB41“CONT_C”中 的死區(qū)寬度DEADB_W,當(dāng)偏差進(jìn)入死區(qū)后,調(diào)節(jié)器仍在進(jìn)行運(yùn)算,當(dāng)系統(tǒng)再次運(yùn)行到死區(qū)外時(shí),使輸出能快速響應(yīng)偏差。同時(shí)系統(tǒng)的采樣周期為 50ms,對(duì)系統(tǒng)應(yīng)用輸出死區(qū)也可以避免執(zhí)行器過(guò)于頻繁動(dòng)作而引起的振蕩和機(jī)械磨損。 ( 3) 變參數(shù)的鈍角拐點(diǎn) PID 控制 如圖 27 所示為程序控溫拐點(diǎn)圖。在進(jìn)行程序控溫時(shí),當(dāng)系統(tǒng)進(jìn)行程序控過(guò)程時(shí),為保證控制效果無(wú)超調(diào)、滯后,在溫變點(diǎn)形成鈍角的拐點(diǎn),在第一溫變拐點(diǎn) B 提前滯后時(shí)間 (E 點(diǎn)的時(shí)間 )就使控制器有值輸出,以抵消滯后時(shí)間 [13]。在第二溫變拐點(diǎn) C 提前一基于語(yǔ)句表編程的溫度控制程序設(shè)計(jì) 21 定時(shí)間 (在 F 點(diǎn)的時(shí)間 )消弱調(diào)節(jié) 器的積分項(xiàng)輸出來(lái)抵消系統(tǒng)的慣性。其 E 點(diǎn)調(diào)節(jié)器的輸出值的大小和 F 點(diǎn)積分清零的條件以及 E、 F 兩點(diǎn)的時(shí)間需在要在具體調(diào)試中進(jìn)一步確定確定。另一方面由于定值控溫過(guò)程和程序控溫過(guò)程的系統(tǒng)達(dá)到穩(wěn)定時(shí),熱絲輸出的率完全不同,使系統(tǒng)慣性不同,為保證控制精確,所以在 PID 控制中相應(yīng)的比例參數(shù) PK 、積分參數(shù) IT 、微分參數(shù) DT 也應(yīng)隨之相應(yīng)變動(dòng)。 第 一 溫 變拐 點(diǎn) B X / TY / CEF加 熱滯 后系 統(tǒng)慣 性第 二 溫 變拐 點(diǎn) CDACB 圖 27 程序控溫拐點(diǎn)圖 另外,為了保證第二溫變拐點(diǎn)溫超調(diào)量,主要為消弱積分作用來(lái)弱化調(diào)節(jié)器的輸出,以抵消系統(tǒng)慣性作用,所以拐點(diǎn)控制的前提是在進(jìn)行溫控時(shí),系統(tǒng)的積分作用較強(qiáng),這又產(chǎn)生另外一個(gè)問(wèn)題是積分作用不可以從初值進(jìn)行累加,因?yàn)殚L(zhǎng)時(shí)間的累加會(huì)給系統(tǒng)帶來(lái)振蕩,這又會(huì)使積分項(xiàng)累加過(guò)強(qiáng),所以要對(duì)積分進(jìn)項(xiàng)進(jìn)行限幅輸出。 綜上所述圖 1 1 21 為傳統(tǒng) PID 控制下的運(yùn)行結(jié)果圖,圖 22 為改進(jìn)后的PID 的控制結(jié)果圖,從各種調(diào)節(jié)規(guī)律的監(jiān)控曲線可知,得到 加入控制帶和輸出死區(qū)輔助算法的定值控溫 PID 調(diào)節(jié)規(guī)律和加入變參數(shù)的拐點(diǎn)控制的程序控溫 PID 調(diào)節(jié)規(guī)律,這兩種改進(jìn)的 PID 控制規(guī)律,有效地克服了傳統(tǒng) PID 控制器在溫控過(guò)程中因溫控慣性和積分飽和而出現(xiàn)的滯后與超調(diào)現(xiàn)象并使系統(tǒng)的調(diào)節(jié)時(shí)間變短,系統(tǒng)完全依靠溫控工藝曲線運(yùn)行,采用程序控溫 PID 調(diào)節(jié)規(guī)律的穿越幅度小于 ℃ ,在溫變點(diǎn)處實(shí)現(xiàn)了即無(wú)超調(diào)又無(wú)欠溫的鈍角拐點(diǎn)的控制效果?;谡Z(yǔ)句表編程的溫度控制程序設(shè)計(jì) 22 結(jié)束語(yǔ) 本課題以鍋爐溫度為研究對(duì)象,經(jīng)過(guò)三個(gè)多月的研究與設(shè)計(jì),取得理想控制效果,現(xiàn)總結(jié)如下: ( 1)對(duì)鍋爐水控制系統(tǒng)進(jìn)行設(shè)計(jì),采用西門(mén)子 S7300 PLC,通過(guò)語(yǔ)句表編寫(xiě)程序?qū)崿F(xiàn)現(xiàn)場(chǎng)數(shù)據(jù)的采集、處理以及對(duì)現(xiàn)場(chǎng)設(shè)備的控制。采用語(yǔ)句表編程,大大提高了編程效率,和梯形圖編程相比,源程序短,程序執(zhí)行效率高。對(duì)累加器和標(biāo)志位的直接操作,提高了程序調(diào)試效率。 ( 2)在 WinCC 進(jìn)行了變量組和 IO 域組態(tài),設(shè)計(jì)了鍋爐溫度的監(jiān)控畫(huà)面。實(shí)現(xiàn)了啟動(dòng)停止、程序控溫過(guò)程與定值控溫過(guò)程的自由切換,并在線修改整定參數(shù)并監(jiān)控溫控曲線的變化。 ( 3)加入控制帶和輸出死區(qū)輔助算法的定值控溫 PID 調(diào)節(jié)規(guī)律,以及加入變參數(shù)的拐點(diǎn)控制的程序控溫 PID 調(diào)節(jié)規(guī)律。這兩種規(guī)律有效地克服了 傳統(tǒng) PID 控制器在溫控過(guò)程中因溫控慣性和積分飽和而出現(xiàn)的滯后與超調(diào)現(xiàn)象并系統(tǒng)的調(diào)節(jié)時(shí)間變短。 現(xiàn)代控制理論中,在經(jīng)典 PID 控制理論的基礎(chǔ)上衍生的控制理論層出不窮,但若要在生產(chǎn)實(shí)踐中選取理想的控制算法,就必須通過(guò)工程實(shí)踐進(jìn)行反復(fù)地調(diào)整和修改,根據(jù)工程經(jīng)驗(yàn)直接在控制系統(tǒng)中進(jìn)行篩選組合出適合實(shí)際的控制規(guī)律,使系統(tǒng)達(dá)到優(yōu)化的運(yùn)行狀態(tài),雖然本項(xiàng)目的改進(jìn)的 PID 取得了很好的控制效果,但在實(shí)際運(yùn)行在各溫度段的PID 參數(shù)在參數(shù)是在調(diào)試中獲取,并針對(duì)各型號(hào)的產(chǎn)品規(guī)格在上位機(jī)中以配方的形式給定,如此則使得前期的調(diào)試頗為繁瑣,因 而,在參量自整定的智能化設(shè)計(jì)方面還有待與進(jìn)一步探索與實(shí)踐。 基于語(yǔ)句表編程的溫度控制程序設(shè)計(jì) 23 參考文獻(xiàn) [1] 俞紅衛(wèi) .一種 PID控制與模糊控制相結(jié)合的智能溫度控制系統(tǒng) [J].上海應(yīng)用技術(shù)學(xué)院學(xué)報(bào) ,2020(7) :106109. [2] 邱道伊 .S7300/400PLC入門(mén)和應(yīng)用分析 [M].北京 :中國(guó)電力出版社 ,2020:116120. [3] 吳勤勤 .控制儀表及裝置 (第三版 )[M].北京 :化學(xué)工業(yè)出版社 ,2020:9899. [4] 陳中平 .西門(mén)子 s7300/400快速入門(mén) [M].北京 :人民郵電出版社 ,2020:25. [5] 甄立東 .西門(mén)子 WinCC V7基礎(chǔ)與應(yīng)用 [M].北京 :機(jī)械工業(yè)出版社 ,2020:130140. [6] 王瑾烽 .用 WinCC進(jìn)行現(xiàn)場(chǎng)數(shù)據(jù)采集實(shí)例 [J].浙江冶金 ,2020(3):4041. [7] 廖常初 .S7300/400PLC應(yīng)用教程 [M].北京 :機(jī)械工業(yè)出版社 ,2020:267276. [8] Siemens PID Control Manual[M].Munich:Siemens AG,2020:444. [9] 殷華文 , 田金云 . 基于 FB41與 FB43的夾套鍋爐溫度控制系統(tǒng)設(shè)計(jì) [N].南陽(yáng)理工學(xué)院學(xué)報(bào) ,2020,(3):5962. [10] 涂植英 ,陳今潤(rùn) .自動(dòng)控制原理 [M].重慶:重慶大學(xué)出版社 ,2020:2224. [11] 王樹(shù)青 ,戴連奎 ,于玲 .過(guò)程控制工程 (第二版 )[M].北京 :化學(xué)工業(yè)出版社 ,2020:8284. [12] Siemens S7300和 S7400的標(biāo)準(zhǔn)軟件 PID控制用戶(hù)手冊(cè) [M].Munich: Siemens AG,1996:23. [13] 李金堂 ,潘潤(rùn)潔 .一種無(wú)超調(diào)鈍角拐點(diǎn)的 PID溫 控設(shè)計(jì) [J].電子設(shè)計(jì)工程 ,2020(8):8285. [14] Siemens S7400編程語(yǔ)句表 (STL)參考手冊(cè) .2020. [15] . Temperature Prediction and control During proceedings of the Ironmaking conference[C].. 基于語(yǔ)句表編程的溫度控制程序設(shè)計(jì) 24 附錄 OB1 主程序 A M S M A M R M R M A M = Q JC _0a0 R M A Q JCN _000 _0a0: A M S M A M R M R M A M = JC _0a1 R M A JCN _001 _0a1: A //觸發(fā)設(shè)定值發(fā)生器 JCN _001 FP M JCN _012 L +005 //對(duì)時(shí)間點(diǎn)進(jìn)行賦值 T MD 76 L +006 T MD 80 L +006 T MD 84 L +001 T MD 96 T MD 100 _012: CALL FB 1 , DB1 START := tm1 :=MD76 tm2 :=MD80 tm3 :=MD84 T1 :=MD88 T2 :=MD92 T3 :=MD96 T4 :=MD100 T_sp :=MD4 T_time:=MD8 x1 := x2 := x3 := L MD 8 //運(yùn)行時(shí)間由分轉(zhuǎn)化為毫秒 L +004 *R T T_T_S L 2 R R M //運(yùn)行時(shí)間大于 tm1 是復(fù)位 JC _002 TAK R T tm2_s 基于語(yǔ)句表編程的溫度控制程序設(shè)計(jì) 25 L +004 =R = M //運(yùn)行時(shí)間小于 tm1 是置位 _002: L T_T_S L 6 R R M //運(yùn)行時(shí)間大于 tm2 是復(fù)位 JC _001 TAK R T tm3_s L +004 =R = M //運(yùn)行時(shí)間小于 tm2 大于 tm1 時(shí)置位 _001: CALL FC 105 //調(diào)用 fc105 IN :=PIW298 HI_LIM :=+002 LO_LIM :=+000 BIPOLAR:= RET_VAL:=MW40 OUT :=MD36 FP M JCN _000 L MD 36 T MD 88 T MD 92 _000: BE 周期性中斷 OB35 程序 A Q JCN _00f FP M //置位 ,初始化 fb41 R Q = A //當(dāng) 為 1 時(shí),用設(shè)定值,否則手動(dòng)賦值。 JCN _001 L MD 4 T MD 68 JC _002 _001: L MD 72 T MD 68 _002: L MW 104 //計(jì)數(shù) 100 次, 5s。 L 1 I T MW 104 L 0 =I = M JCN _004 L 100 T MW 104 _004: L 96 //控制帶的使用 |er|=5 ABS L +000 =R =