趙桂清
(聊城大學(xué) 東昌學(xué)院,聊城 252000)
基于S7-300的工業(yè)鍋爐PID控制
趙桂清
(聊城大學(xué) 東昌學(xué)院,聊城 252000)
鍋爐能夠提供熱源,還可以作為動力源,為達(dá)到要求并保證鍋爐本體的安全、經(jīng)濟(jì)的運(yùn)行,鍋爐的控制系統(tǒng)就應(yīng)具備很好的自動檢測功能、程序控制功能、保護(hù)功能等。考慮鍋爐工作系統(tǒng)是個復(fù)雜的生產(chǎn)系統(tǒng),擾動源又比較多,為了保證供給外界達(dá)標(biāo)的蒸汽并滿足負(fù)荷的運(yùn)轉(zhuǎn),對其工作過程中主要工藝參數(shù)必須實行嚴(yán)格的控制,在此論述基于S7-300的PID控制模塊調(diào)節(jié)設(shè)計。
在各種應(yīng)用場合上,SIMATIC S7-300通用型可編程控制器均能適合自動化工程,它是一種中小型模塊化的PLC控制系統(tǒng)。CPU可以多種性能遞增,并且有豐富的帶有許多方便用戶功能的加擴(kuò)展模塊,用戶就很容易的可以根據(jù)實際應(yīng)用需要選擇合適的功能模塊。如果當(dāng)前的任務(wù)規(guī)模需擴(kuò)大并且變得更加復(fù)雜時,可以隨時調(diào)用附加模塊對PLC進(jìn)行需求擴(kuò)展。在我國,S7-300已經(jīng)成為各種控制任務(wù)方便又經(jīng)濟(jì)的解決方案,這是因為其具有模塊化、無排風(fēng)扇結(jié)構(gòu)、易于實現(xiàn)分布、易于用戶掌握等優(yōu)點,能很好的滿足從小規(guī)模到中等規(guī)模的不同層次的控制需求[2]。
西門子系列PLC的CPU中運(yùn)行有兩個程序,一個操作系統(tǒng)程序另一個是用戶程序。期中的用戶程序是由用戶在STEP7中生成的,然后將其下載到CPU[1]。Step 7是用于SIMATIC可編程邏輯控制器組態(tài)和編程的標(biāo)準(zhǔn)軟件包。通過Step7,用戶能夠進(jìn)行系統(tǒng)配置和程序的編制與調(diào)試,也可以進(jìn)行在線診斷PLC的硬件配置狀態(tài),還可以控制PLC的通道狀態(tài)和PLC的運(yùn)行狀態(tài)等。
其(Step7)用戶程序允許線性化編程、結(jié)構(gòu)化編程和模塊化編程。此處的線性化編程是指整個可調(diào)用程序均都寫在OB1模塊中,這種方法僅在編寫簡單的程序并且只在需要較少存儲區(qū)域時才可以使用。目前普遍應(yīng)用的結(jié)構(gòu)化編程是將復(fù)雜的自動化任務(wù)分解成可以反映過程的工藝、功能或能夠反復(fù)使用的小任務(wù).并且將對應(yīng)的程序分別編在不同的程序模塊(OB,F(xiàn)C或FB中)[2]中。
根據(jù)上述分析及實際編程需要本文采用的是結(jié)構(gòu)化編程模式,能夠?qū)崿F(xiàn)對單一程序部分進(jìn)行標(biāo)準(zhǔn)化,簡化程序組織,使程序修改變得更加容易,這樣,對于大規(guī)模的程序更容易被理解。在該編程模式中所使用的各程序塊的功能敘述為:
OBl:主循環(huán)程序,主要用來調(diào)用每個子程序,每個子程序中的報警操作同時也放在這里。
FC9:主要用來控制整個鍋爐在工作過程中的連鎖動作,其中的FC5功能塊進(jìn)行的星-三角啟動的操作也放在該程序中調(diào)用。
FC2:用于對各模擬信號的轉(zhuǎn)換、修正和比較,各控制量相應(yīng)的上、下限標(biāo)志也在該程序中設(shè)置。
FC8:實現(xiàn)對蒸汽流量的計算,其執(zhí)行過程中在對于飽和蒸汽的密度計算時調(diào)用FC7。
FC4:用于調(diào)節(jié)水位、轉(zhuǎn)速等,其中需要調(diào)用子程序FC3用于模擬量限幅。
FB41(CONT_C):做為PID控制功能塊。
FB43(PULSEGEN):做為脈沖輸出功能塊。
FB50(TUN_EC):做為PID參數(shù)在線整定功能塊和FC1(LP_SCHED)的回路調(diào)度功能[3]。
在整個程序設(shè)計中,對水位、轉(zhuǎn)速等進(jìn)行調(diào)節(jié)時,為FB41分別分配了DBl-DB5和DBl4共六個背景數(shù)據(jù)塊,同時,也為FB43分別分配了DB6和DBl5共兩個背景數(shù)據(jù)塊,同樣的為FB50也分配了DB50一個背景數(shù)據(jù)塊。其中在背景數(shù)據(jù)塊DB7、DB8、DB9中,分別存放著蒸汽流量計的壓力與密度對照表,對于其它的一些參數(shù)也都一一存放在不同的數(shù)據(jù)塊中。
比如,學(xué)完比例的知識后,教師為學(xué)生留下課后作業(yè),將學(xué)校的平面示意圖畫出來。為了將這個作業(yè)完成,不僅要使用到比例的知識,還要學(xué)生自己測量學(xué)校各個部位的長寬,在圖紙上清晰地標(biāo)注出各部位的位置。這種課后作業(yè)緊密聯(lián)系學(xué)生生活實際,囊括課堂所學(xué)的數(shù)學(xué)知識,還富有趣味性,激發(fā)出學(xué)生學(xué)習(xí)數(shù)學(xué)思想的積極性。待學(xué)生將學(xué)校平面圖畫出來后,教師可以讓學(xué)生通過課余時間制作沙盤,再次將平面圖立體展示出來,學(xué)生可以經(jīng)歷思維過渡流程,讓學(xué)生接觸到數(shù)學(xué)的本質(zhì),實現(xiàn)學(xué)生全方位發(fā)展的目的。

圖1 FB41(CONT_C)控制框圖
在STEP7的標(biāo)準(zhǔn)程序庫中提供了PID控制功能塊。以誤差e和誤差變化量ec作為控制器的輸入變量,以滿足不同e和ec對控制器參數(shù)的不同要求而產(chǎn)生的。在鍋爐汽包水位控制系統(tǒng)中,輸入變量選擇為汽包水位的偏差值和偏差值的變化量ec,輸出變量選擇為PID參數(shù)的校正值 ,即Δkp,Δki和Δkdd。
利用STEP7進(jìn)行項目的組態(tài)與編程,通過采用語句表編程方式編程實現(xiàn)PID控制算法。采集誤差信號和誤差變化量信號,將其轉(zhuǎn)化到語言變量的區(qū)域,采用離線計算的方式將算法規(guī)則制成數(shù)據(jù)查詢表,通過在線的方式查詢控制量輸出,將校正的PID參數(shù)值與基準(zhǔn)值相加,獲得瞬時的PID參數(shù)值,最后進(jìn)行相應(yīng)的PID控制運(yùn)算,運(yùn)算所得控制量輸入到控制對象執(zhí)行器。在PLC中,使用FB功能塊和DB數(shù)據(jù)塊來實現(xiàn)PID控制算法。只要在程序中調(diào)用PID功能塊,它相當(dāng)于程序中的一個子程序。PID功能塊使用的一些數(shù)據(jù)和參數(shù),可以在它的背景數(shù)據(jù)塊中進(jìn)行設(shè)置或修改,只要對PID功能塊正確組態(tài),就可完成一個回路的PID控制。在單閉環(huán)PID控制的基礎(chǔ)上,可以組合實現(xiàn)串級控制和前饋控制等復(fù)雜回路控制算法。
在Step7中集成了PID調(diào)節(jié)功能塊FB41、FB42和脈沖轉(zhuǎn)換功能塊FB43。FB41稱為連續(xù)控制的PID,用于控制連續(xù)變化的模擬量,與FB42的差別在于后者是離散型的,同時還提供了功能塊FB50(連續(xù)量)和FB51(開關(guān)量)以及調(diào)度功能塊FCl,主要是用于這些PID功能塊參數(shù)的在線整定,這樣也方便用戶調(diào)用其調(diào)節(jié)功能。接下來,在這里將對程序中所要用到的功能模塊作簡單介紹。
FB41(CONT_C)在S7 PLC中用于控制連續(xù)輸入和輸出變量的工藝參數(shù),參數(shù)在分配期間,用戶可以對PID控制器的子功能進(jìn)行激活或者取消激活,以使控制器適合實際的工藝過程[4]。可以將控制器用作PID固定設(shè)定值控制器,或者在多回路中作級聯(lián)、混合或比率控制器。控制器的基本功能居于采樣PID控制算法,采樣控制器帶有一個模擬信號;如果需要的還可以擴(kuò)展控制器的功能,增加一個脈沖生成器環(huán)節(jié),以產(chǎn)生脈寬調(diào)制的輸出信號,用于帶有比例執(zhí)行器的兩步或三步控制器。其控制框圖如圖1所示。
框圖中的SP、PV是指經(jīng)過線性處理后的設(shè)定值與過程值,在“誤差信號處理”中經(jīng)由控制死區(qū)來限定,交給“PID算法”來處理,其過程的輸出值經(jīng)過和限幅和再次線性處理,以模擬量模板認(rèn)可的字形式 (LMN_PER)或者實數(shù)的形式 (LMN)輸出。當(dāng)然在處理過程中,也可以選擇手動模式,把設(shè)定的手動值作為控制器的輸出。
利用FB41實現(xiàn)串級PID控制的部分程序如圖2所示。
使用連續(xù)控制器FB41(CONT_C)與脈沖發(fā)生器FB43 (PULSEGEN),可以實現(xiàn)一個固定設(shè)定值控制器,以產(chǎn)生開關(guān)量輸出,用于比例執(zhí)行器,圖3說明了控制回路的基本信號順序。連續(xù)PID控制器CONT_C產(chǎn)生調(diào)節(jié)值LMN,它被脈沖發(fā)生器PULSEGEN轉(zhuǎn)換成脈沖-中斷信號QPOS_P或QNEG_P。在Step 7中的具體操作如圖4所示。

圖2 FB41實現(xiàn)PID控制的STL程序

圖3 基本信號控制回路圖

圖4 FB41與FB43的編程應(yīng)用
在調(diào)用多個PID功能塊時FC1( LP_SCHED)顯得尤其重要,在彌補(bǔ)PLC中斷數(shù)量的不足時,它能有效地安排各PID功能模塊的取樣時間。如圖5的PID功能模塊通過LP_SCHED的調(diào)用過程。
FB50(TUN_EC)功能塊是西門子公司提供的,是能夠在線調(diào)節(jié)PID功能塊參數(shù)的功能模塊,它主要應(yīng)用在對流量、液位、溫度等的控制系統(tǒng)中,此功能塊具有以下功能:
1)手動模式功能:能強(qiáng)制把PID控制器設(shè)為手動模式,并且將相關(guān)的手動參數(shù)傳遞給此功能塊。
2)預(yù)設(shè)輸出值功能:在對前期參數(shù)優(yōu)化的基礎(chǔ)上,可以實現(xiàn)手動模式向自動模式穩(wěn)定且快速的切換。
3)優(yōu)化控制器功能:其具有對參數(shù)的初始識別、反向調(diào)節(jié)尋優(yōu)、在線優(yōu)化等功能。
4)跟隨設(shè)定點優(yōu)化功能:包括控制器的結(jié)構(gòu)分割、控制器的結(jié)構(gòu)變更以及設(shè)定誤差的控制區(qū)。如果設(shè)定點變化時,則通過這些參數(shù)的設(shè)置會使控制器的響應(yīng)加速。

圖5 PID功能塊通過LP_SHED的調(diào)用過程
5)恢復(fù)和保存控制器的優(yōu)化參數(shù):當(dāng)對FB41 (CONT_C) 進(jìn)行優(yōu)化的時候,控制器的結(jié)構(gòu)分割功能是不可以用的,只有在使用西門子的標(biāo)準(zhǔn)PID控制以及PID的控制模板時該項功能才可以使用。但是是能夠使用控制器的結(jié)構(gòu)變更功能的,也就是說在參數(shù)調(diào)節(jié)的開始階段就進(jìn)行增加比例值、取消積分功能的具體操作。若是接近了設(shè)定點,將會自動恢復(fù)到正常的PID控制結(jié)構(gòu)上來。
當(dāng)使用FB50 (TUN_EC)優(yōu)化P功能塊的時候,將會有初始識別的一個操作過程。其執(zhí)行過程就像控制器結(jié)構(gòu)變更功能開始的階段一樣,總共經(jīng)過四個操作階段,而獲得控制對象的信息并且優(yōu)化控制器的相關(guān)連的參數(shù)。在此基礎(chǔ)上FB50(TUN_EC)就可以實現(xiàn)對PID功能塊進(jìn)行在線優(yōu)化的功能。在參數(shù)優(yōu)化過程中,部分進(jìn)程信息由FB50 (TUN_EC) 提供,其中包括是否檢測到優(yōu)化曲線的拐點,根據(jù)這些信息用戶可以采取相應(yīng)的措施,確保控制器始終以正確的參數(shù)進(jìn)行系統(tǒng)控制。
至此有關(guān)STEP7標(biāo)準(zhǔn)程序中提供的PID控制模塊的調(diào)用設(shè)計完畢。程序監(jiān)控會在下一階段繼續(xù)論述。
本文對S7-300作了簡單介紹,而后重點介紹了STEP7軟件包,采用了STEP7允許的結(jié)構(gòu)化編程方式,使檢測、調(diào)試與修改變得容易;同時充分利用了Step 7的多個功能塊,重點PID功能塊、PID參數(shù)在線整定功能塊、PID回路調(diào)度功能塊等,對鍋爐的主要控制過程進(jìn)行了設(shè)計,這樣就節(jié)約了硬件PID模塊的費(fèi)用,而且對輸入、輸出信號增加了預(yù)處理與判斷。
[1]陸秀銀.基于S7-300的多電機(jī)神經(jīng)網(wǎng)絡(luò)控制系統(tǒng)的研究[D].江蘇大學(xué),2006,12.
[2]鄭鳳翼,張繼研.圖解S7-300/400系列PLC入門[M].北京:電子工業(yè)出版社 2009:257-260.
[3]高溥,孟建軍.電器控制基礎(chǔ)與可編程控制器應(yīng)用教程[M].西安:西安電子科技大學(xué)出版社,2007:247-248.
[4]黃鴻年.PLC在鍋爐控制系統(tǒng)中的穩(wěn)定性分析[J].民營科技,2009,4:21-22.
[5]莊濤.工業(yè)蒸汽鍋爐的自動化控制研究與實現(xiàn)[D].山東濟(jì)南:山東大學(xué),2008.
Pid control for industrial boilers based on S7-300
ZHAO Gui-qing
介紹S7-300,后重點介紹STEP7軟件包,采用STEP7允許的結(jié)構(gòu)化編程方式,使檢測、調(diào)試與修改變得容易。充分利用Step 7的多個功能塊,重點PID功能塊、PID參數(shù)在線整定功能塊、PID回路調(diào)度功能塊等,對鍋爐控制過程進(jìn)行設(shè)計,事實證明節(jié)約了硬件PID模塊的費(fèi)用。
STEP7;結(jié)構(gòu)化編程;功能塊;PID功能塊
趙桂清(1977 -),女,山東聊城人,講師,碩士,主要從事計算機(jī)控制與仿真研究工作。
TP272
A
1009-0134(2011)5(上)-0024-04
10.3969/j.issn.1009-0134.2011.5(上).09
2011-01-01