趙桂清
(聊城大學(xué) 東昌學(xué)院,聊城 252000)
基于S7-300的工業(yè)鍋爐PID控制
趙桂清
(聊城大學(xué) 東昌學(xué)院,聊城 252000)
鍋爐能夠提供熱源,還可以作為動(dòng)力源,為達(dá)到要求并保證鍋爐本體的安全、經(jīng)濟(jì)的運(yùn)行,鍋爐的控制系統(tǒng)就應(yīng)具備很好的自動(dòng)檢測(cè)功能、程序控制功能、保護(hù)功能等。考慮鍋爐工作系統(tǒng)是個(gè)復(fù)雜的生產(chǎn)系統(tǒng),擾動(dòng)源又比較多,為了保證供給外界達(dá)標(biāo)的蒸汽并滿足負(fù)荷的運(yùn)轉(zhuǎn),對(duì)其工作過(guò)程中主要工藝參數(shù)必須實(shí)行嚴(yán)格的控制,在此論述基于S7-300的PID控制模塊調(diào)節(jié)設(shè)計(jì)。
在各種應(yīng)用場(chǎng)合上,SIMATIC S7-300通用型可編程控制器均能適合自動(dòng)化工程,它是一種中小型模塊化的PLC控制系統(tǒng)。CPU可以多種性能遞增,并且有豐富的帶有許多方便用戶功能的加擴(kuò)展模塊,用戶就很容易的可以根據(jù)實(shí)際應(yīng)用需要選擇合適的功能模塊。如果當(dāng)前的任務(wù)規(guī)模需擴(kuò)大并且變得更加復(fù)雜時(shí),可以隨時(shí)調(diào)用附加模塊對(duì)PLC進(jìn)行需求擴(kuò)展。在我國(guó),S7-300已經(jīng)成為各種控制任務(wù)方便又經(jīng)濟(jì)的解決方案,這是因?yàn)槠渚哂心K化、無(wú)排風(fēng)扇結(jié)構(gòu)、易于實(shí)現(xiàn)分布、易于用戶掌握等優(yōu)點(diǎn),能很好的滿足從小規(guī)模到中等規(guī)模的不同層次的控制需求[2]。
西門子系列PLC的CPU中運(yùn)行有兩個(gè)程序,一個(gè)操作系統(tǒng)程序另一個(gè)是用戶程序。期中的用戶程序是由用戶在STEP7中生成的,然后將其下載到CPU[1]。Step 7是用于SIMATIC可編程邏輯控制器組態(tài)和編程的標(biāo)準(zhǔn)軟件包。通過(guò)Step7,用戶能夠進(jìn)行系統(tǒng)配置和程序的編制與調(diào)試,也可以進(jìn)行在線診斷PLC的硬件配置狀態(tài),還可以控制PLC的通道狀態(tài)和PLC的運(yùn)行狀態(tài)等。
其(Step7)用戶程序允許線性化編程、結(jié)構(gòu)化編程和模塊化編程。此處的線性化編程是指整個(gè)可調(diào)用程序均都寫在OB1模塊中,這種方法僅在編寫簡(jiǎn)單的程序并且只在需要較少存儲(chǔ)區(qū)域時(shí)才可以使用。目前普遍應(yīng)用的結(jié)構(gòu)化編程是將復(fù)雜的自動(dòng)化任務(wù)分解成可以反映過(guò)程的工藝、功能或能夠反復(fù)使用的小任務(wù).并且將對(duì)應(yīng)的程序分別編在不同的程序模塊(OB,F(xiàn)C或FB中)[2]中。
根據(jù)上述分析及實(shí)際編程需要本文采用的是結(jié)構(gòu)化編程模式,能夠?qū)崿F(xiàn)對(duì)單一程序部分進(jìn)行標(biāo)準(zhǔn)化,簡(jiǎn)化程序組織,使程序修改變得更加容易,這樣,對(duì)于大規(guī)模的程序更容易被理解。在該編程模式中所使用的各程序塊的功能敘述為:
OBl:主循環(huán)程序,主要用來(lái)調(diào)用每個(gè)子程序,每個(gè)子程序中的報(bào)警操作同時(shí)也放在這里。
FC9:主要用來(lái)控制整個(gè)鍋爐在工作過(guò)程中的連鎖動(dòng)作,其中的FC5功能塊進(jìn)行的星-三角啟動(dòng)的操作也放在該程序中調(diào)用。
FC2:用于對(duì)各模擬信號(hào)的轉(zhuǎn)換、修正和比較,各控制量相應(yīng)的上、下限標(biāo)志也在該程序中設(shè)置。
FC8:實(shí)現(xiàn)對(duì)蒸汽流量的計(jì)算,其執(zhí)行過(guò)程中在對(duì)于飽和蒸汽的密度計(jì)算時(shí)調(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]。
在整個(gè)程序設(shè)計(jì)中,對(duì)水位、轉(zhuǎn)速等進(jìn)行調(diào)節(jié)時(shí),為FB41分別分配了DBl-DB5和DBl4共六個(gè)背景數(shù)據(jù)塊,同時(shí),也為FB43分別分配了DB6和DBl5共兩個(gè)背景數(shù)據(jù)塊,同樣的為FB50也分配了DB50一個(gè)背景數(shù)據(jù)塊。其中在背景數(shù)據(jù)塊DB7、DB8、DB9中,分別存放著蒸汽流量計(jì)的壓力與密度對(duì)照表,對(duì)于其它的一些參數(shù)也都一一存放在不同的數(shù)據(jù)塊中。
比如,學(xué)完比例的知識(shí)后,教師為學(xué)生留下課后作業(yè),將學(xué)校的平面示意圖畫出來(lái)。為了將這個(gè)作業(yè)完成,不僅要使用到比例的知識(shí),還要學(xué)生自己測(cè)量學(xué)校各個(gè)部位的長(zhǎng)寬,在圖紙上清晰地標(biāo)注出各部位的位置。這種課后作業(yè)緊密聯(lián)系學(xué)生生活實(shí)際,囊括課堂所學(xué)的數(shù)學(xué)知識(shí),還富有趣味性,激發(fā)出學(xué)生學(xué)習(xí)數(shù)學(xué)思想的積極性。待學(xué)生將學(xué)校平面圖畫出來(lái)后,教師可以讓學(xué)生通過(guò)課余時(shí)間制作沙盤,再次將平面圖立體展示出來(lái),學(xué)生可以經(jīng)歷思維過(guò)渡流程,讓學(xué)生接觸到數(shù)學(xué)的本質(zhì),實(shí)現(xiàn)學(xué)生全方位發(fā)展的目的。
圖1 FB41(CONT_C)控制框圖
在STEP7的標(biāo)準(zhǔn)程序庫(kù)中提供了PID控制功能塊。以誤差e和誤差變化量ec作為控制器的輸入變量,以滿足不同e和ec對(duì)控制器參數(shù)的不同要求而產(chǎn)生的。在鍋爐汽包水位控制系統(tǒng)中,輸入變量選擇為汽包水位的偏差值和偏差值的變化量ec,輸出變量選擇為PID參數(shù)的校正值 ,即Δkp,Δki和Δkdd。
利用STEP7進(jìn)行項(xiàng)目的組態(tài)與編程,通過(guò)采用語(yǔ)句表編程方式編程實(shí)現(xiàn)PID控制算法。采集誤差信號(hào)和誤差變化量信號(hào),將其轉(zhuǎn)化到語(yǔ)言變量的區(qū)域,采用離線計(jì)算的方式將算法規(guī)則制成數(shù)據(jù)查詢表,通過(guò)在線的方式查詢控制量輸出,將校正的PID參數(shù)值與基準(zhǔn)值相加,獲得瞬時(shí)的PID參數(shù)值,最后進(jìn)行相應(yīng)的PID控制運(yùn)算,運(yùn)算所得控制量輸入到控制對(duì)象執(zhí)行器。在PLC中,使用FB功能塊和DB數(shù)據(jù)塊來(lái)實(shí)現(xiàn)PID控制算法。只要在程序中調(diào)用PID功能塊,它相當(dāng)于程序中的一個(gè)子程序。PID功能塊使用的一些數(shù)據(jù)和參數(shù),可以在它的背景數(shù)據(jù)塊中進(jìn)行設(shè)置或修改,只要對(duì)PID功能塊正確組態(tài),就可完成一個(gè)回路的PID控制。在單閉環(huán)PID控制的基礎(chǔ)上,可以組合實(shí)現(xiàn)串級(jí)控制和前饋控制等復(fù)雜回路控制算法。
在Step7中集成了PID調(diào)節(jié)功能塊FB41、FB42和脈沖轉(zhuǎn)換功能塊FB43。FB41稱為連續(xù)控制的PID,用于控制連續(xù)變化的模擬量,與FB42的差別在于后者是離散型的,同時(shí)還提供了功能塊FB50(連續(xù)量)和FB51(開(kāi)關(guān)量)以及調(diào)度功能塊FCl,主要是用于這些PID功能塊參數(shù)的在線整定,這樣也方便用戶調(diào)用其調(diào)節(jié)功能。接下來(lái),在這里將對(duì)程序中所要用到的功能模塊作簡(jiǎn)單介紹。
FB41(CONT_C)在S7 PLC中用于控制連續(xù)輸入和輸出變量的工藝參數(shù),參數(shù)在分配期間,用戶可以對(duì)PID控制器的子功能進(jìn)行激活或者取消激活,以使控制器適合實(shí)際的工藝過(guò)程[4]??梢詫⒖刂破饔米鱌ID固定設(shè)定值控制器,或者在多回路中作級(jí)聯(lián)、混合或比率控制器??刂破鞯幕竟δ芫佑诓蓸覲ID控制算法,采樣控制器帶有一個(gè)模擬信號(hào);如果需要的還可以擴(kuò)展控制器的功能,增加一個(gè)脈沖生成器環(huán)節(jié),以產(chǎn)生脈寬調(diào)制的輸出信號(hào),用于帶有比例執(zhí)行器的兩步或三步控制器。其控制框圖如圖1所示。
框圖中的SP、PV是指經(jīng)過(guò)線性處理后的設(shè)定值與過(guò)程值,在“誤差信號(hào)處理”中經(jīng)由控制死區(qū)來(lái)限定,交給“PID算法”來(lái)處理,其過(guò)程的輸出值經(jīng)過(guò)和限幅和再次線性處理,以模擬量模板認(rèn)可的字形式 (LMN_PER)或者實(shí)數(shù)的形式 (LMN)輸出。當(dāng)然在處理過(guò)程中,也可以選擇手動(dòng)模式,把設(shè)定的手動(dòng)值作為控制器的輸出。
利用FB41實(shí)現(xiàn)串級(jí)PID控制的部分程序如圖2所示。
使用連續(xù)控制器FB41(CONT_C)與脈沖發(fā)生器FB43 (PULSEGEN),可以實(shí)現(xiàn)一個(gè)固定設(shè)定值控制器,以產(chǎn)生開(kāi)關(guān)量輸出,用于比例執(zhí)行器,圖3說(shuō)明了控制回路的基本信號(hào)順序。連續(xù)PID控制器CONT_C產(chǎn)生調(diào)節(jié)值LMN,它被脈沖發(fā)生器PULSEGEN轉(zhuǎn)換成脈沖-中斷信號(hào)QPOS_P或QNEG_P。在Step 7中的具體操作如圖4所示。
圖2 FB41實(shí)現(xiàn)PID控制的STL程序
圖3 基本信號(hào)控制回路圖
圖4 FB41與FB43的編程應(yīng)用
在調(diào)用多個(gè)PID功能塊時(shí)FC1( LP_SCHED)顯得尤其重要,在彌補(bǔ)PLC中斷數(shù)量的不足時(shí),它能有效地安排各PID功能模塊的取樣時(shí)間。如圖5的PID功能模塊通過(guò)LP_SCHED的調(diào)用過(guò)程。
FB50(TUN_EC)功能塊是西門子公司提供的,是能夠在線調(diào)節(jié)PID功能塊參數(shù)的功能模塊,它主要應(yīng)用在對(duì)流量、液位、溫度等的控制系統(tǒng)中,此功能塊具有以下功能:
1)手動(dòng)模式功能:能強(qiáng)制把PID控制器設(shè)為手動(dòng)模式,并且將相關(guān)的手動(dòng)參數(shù)傳遞給此功能塊。
2)預(yù)設(shè)輸出值功能:在對(duì)前期參數(shù)優(yōu)化的基礎(chǔ)上,可以實(shí)現(xiàn)手動(dòng)模式向自動(dòng)模式穩(wěn)定且快速的切換。
3)優(yōu)化控制器功能:其具有對(duì)參數(shù)的初始識(shí)別、反向調(diào)節(jié)尋優(yōu)、在線優(yōu)化等功能。
4)跟隨設(shè)定點(diǎn)優(yōu)化功能:包括控制器的結(jié)構(gòu)分割、控制器的結(jié)構(gòu)變更以及設(shè)定誤差的控制區(qū)。如果設(shè)定點(diǎn)變化時(shí),則通過(guò)這些參數(shù)的設(shè)置會(huì)使控制器的響應(yīng)加速。
圖5 PID功能塊通過(guò)LP_SHED的調(diào)用過(guò)程
5)恢復(fù)和保存控制器的優(yōu)化參數(shù):當(dāng)對(duì)FB41 (CONT_C) 進(jìn)行優(yōu)化的時(shí)候,控制器的結(jié)構(gòu)分割功能是不可以用的,只有在使用西門子的標(biāo)準(zhǔn)PID控制以及PID的控制模板時(shí)該項(xiàng)功能才可以使用。但是是能夠使用控制器的結(jié)構(gòu)變更功能的,也就是說(shuō)在參數(shù)調(diào)節(jié)的開(kāi)始階段就進(jìn)行增加比例值、取消積分功能的具體操作。若是接近了設(shè)定點(diǎn),將會(huì)自動(dòng)恢復(fù)到正常的PID控制結(jié)構(gòu)上來(lái)。
當(dāng)使用FB50 (TUN_EC)優(yōu)化P功能塊的時(shí)候,將會(huì)有初始識(shí)別的一個(gè)操作過(guò)程。其執(zhí)行過(guò)程就像控制器結(jié)構(gòu)變更功能開(kāi)始的階段一樣,總共經(jīng)過(guò)四個(gè)操作階段,而獲得控制對(duì)象的信息并且優(yōu)化控制器的相關(guān)連的參數(shù)。在此基礎(chǔ)上FB50(TUN_EC)就可以實(shí)現(xiàn)對(duì)PID功能塊進(jìn)行在線優(yōu)化的功能。在參數(shù)優(yōu)化過(guò)程中,部分進(jìn)程信息由FB50 (TUN_EC) 提供,其中包括是否檢測(cè)到優(yōu)化曲線的拐點(diǎn),根據(jù)這些信息用戶可以采取相應(yīng)的措施,確??刂破魇冀K以正確的參數(shù)進(jìn)行系統(tǒng)控制。
至此有關(guān)STEP7標(biāo)準(zhǔn)程序中提供的PID控制模塊的調(diào)用設(shè)計(jì)完畢。程序監(jiān)控會(huì)在下一階段繼續(xù)論述。
本文對(duì)S7-300作了簡(jiǎn)單介紹,而后重點(diǎn)介紹了STEP7軟件包,采用了STEP7允許的結(jié)構(gòu)化編程方式,使檢測(cè)、調(diào)試與修改變得容易;同時(shí)充分利用了Step 7的多個(gè)功能塊,重點(diǎn)PID功能塊、PID參數(shù)在線整定功能塊、PID回路調(diào)度功能塊等,對(duì)鍋爐的主要控制過(guò)程進(jìn)行了設(shè)計(jì),這樣就節(jié)約了硬件PID模塊的費(fèi)用,而且對(duì)輸入、輸出信號(hào)增加了預(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].民營(yíng)科技,2009,4:21-22.
[5]莊濤.工業(yè)蒸汽鍋爐的自動(dòng)化控制研究與實(shí)現(xiàn)[D].山東濟(jì)南:山東大學(xué),2008.
Pid control for industrial boilers based on S7-300
ZHAO Gui-qing
介紹S7-300,后重點(diǎn)介紹STEP7軟件包,采用STEP7允許的結(jié)構(gòu)化編程方式,使檢測(cè)、調(diào)試與修改變得容易。充分利用Step 7的多個(gè)功能塊,重點(diǎn)PID功能塊、PID參數(shù)在線整定功能塊、PID回路調(diào)度功能塊等,對(duì)鍋爐控制過(guò)程進(jìn)行設(shè)計(jì),事實(shí)證明節(jié)約了硬件PID模塊的費(fèi)用。
STEP7;結(jié)構(gòu)化編程;功能塊;PID功能塊
趙桂清(1977 -),女,山東聊城人,講師,碩士,主要從事計(jì)算機(jī)控制與仿真研究工作。
TP272
A
1009-0134(2011)5(上)-0024-04
10.3969/j.issn.1009-0134.2011.5(上).09
2011-01-01