版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
中北大學(xué)信息商務(wù)學(xué)院2009屆畢業(yè)論文
第
PAGE
80
頁共
NUMPAGES
80
頁
TOC\o"1-3"\h\u
1引言
1.1課題研究背景
PID控制器本身是一種基于對“過去”、“現(xiàn)在”和“未來”信息估計(jì)的簡單但卻有效的控制算法。由于其算法簡單、魯棒性能好、可靠性高等優(yōu)點(diǎn),PID控制策略被廣泛應(yīng)用于工業(yè)過程控制中。
國際上有一些研究文章陳述了當(dāng)前工業(yè)控制的狀況,如日本電子測量儀表制造協(xié)會(huì)的一份調(diào)查報(bào)告表明90%以上的控制回路是采用PID控制策略。王偉等在PD整定方法綜述中也提到在全世界過程控制中用的84%仍是純PD控制器,若改進(jìn)型包括在內(nèi)則超過90%。另外一篇有關(guān)加拿大造紙廠的統(tǒng)計(jì)報(bào)告表明典型的造紙廠一般有多個(gè)控制回路,其中97%以上是PID控制??梢姡趯?shí)際生產(chǎn)過程控制中,常規(guī)PID控制最為常用,因此,可以將PID控制器看成自動(dòng)控制的“面包與黃油”。PID控制能被廣泛應(yīng)用和發(fā)展,根本原因在于這種控制方法滿足實(shí)際控制的應(yīng)用需求和具備應(yīng)用實(shí)現(xiàn)的條件。
在計(jì)算機(jī)技術(shù)沒有發(fā)展的條件下,大量需求的控制對象是一些較為簡單的單輸入單輸出線性系統(tǒng),而且對這些對象的自動(dòng)控制要求是保攀輸出變量為要求的恒值,消除或減少輸出變量與給定值之誤差、誤差速度等。而PID控制的結(jié)構(gòu)正是適合于這種對象的控制要求。另一方面,PID控制結(jié)構(gòu)簡單、調(diào)試方便,用一般電子線路、電氣機(jī)械裝置很容易實(shí)現(xiàn),在無計(jì)算機(jī)條件下,這種PID控制比其他復(fù)雜控制方法具有可實(shí)現(xiàn)的優(yōu)先條件。即使到了計(jì)算機(jī)出現(xiàn)的時(shí)代,由于被控對象輸出信息的獲取目前主要是“位置信息”、“速度信息”和部分“加速度信息”,而更高階的信息無法或很難測量,在此情況下,高維、復(fù)雜控制只能在計(jì)算方法上利用計(jì)算機(jī)的優(yōu)勢,而在實(shí)際應(yīng)用中,在不能或難以獲得高階信息的條件下,PID控制器仍是應(yīng)用的主要方法[1]-[3]。
總而言之,PID控制器歷史悠久,生命力旺盛,并以其獨(dú)特的優(yōu)點(diǎn)在工業(yè)控制中發(fā)揮巨大作用。下面簡單地回顧PID控制器的發(fā)展歷史:
第一個(gè)階段:十七世紀(jì)中葉至二十世紀(jì)二十年代
機(jī)器工業(yè)的發(fā)展,對控制提出了要求。反饋的方法首先被提出,在研究氣動(dòng)和電動(dòng)記錄儀的基礎(chǔ)上發(fā)現(xiàn)了比例和積分作用,它們的主要的調(diào)節(jié)對象是火爐的溫度和蒸汽機(jī)的閥門位置等。調(diào)節(jié)方式類似于Bang-Bang繼電控制,精度比較低控制器的形式是P和PI。
第二個(gè)階段:二十世紀(jì)二十年代至四十年代
1953年,泰勒儀器公司的發(fā)現(xiàn)了微分作用,微分作用的發(fā)現(xiàn)具有重要的意義,
它能直觀地實(shí)現(xiàn)對慢系統(tǒng)的控制,對該系統(tǒng)的動(dòng)態(tài)性能能夠進(jìn)行調(diào)節(jié),與先期提出的比例和積分作用成為主要的調(diào)節(jié)部件。
第三個(gè)階段:1942年以后至現(xiàn)在
在1942年和1943年,泰勒儀器公司的Zeiger和Nichols等人分別在開環(huán)和閉環(huán)的情況下,用實(shí)驗(yàn)的方法分別研究了比例、積分和微分這三部分在控制中的作用,首次提出了PD控制器參數(shù)整定的問題,隨后有許多公司和專家投入到這方面的研究。經(jīng)過50多年的努力,特別是近年來隨著各種現(xiàn)代控制技術(shù)的發(fā)展,PID控制器的應(yīng)用并沒有被削弱,相反,新技術(shù)的出現(xiàn)對于PID控制技術(shù)的發(fā)展起了很大的推動(dòng)作用。一方面,各種新的控制思想不斷被應(yīng)用于PID控制器的設(shè)計(jì)之中或者是使用新的控制思想設(shè)計(jì)出具有PID結(jié)構(gòu)的新控制器,PID控制技術(shù)被注入了新的活力。另一方面,某些新控制技術(shù)的發(fā)展要求更精確的PID控制,從而刺激了PID控制器設(shè)計(jì)與參數(shù)整定技術(shù)的發(fā)展,使PID控制器的調(diào)整方面取得了很多成果。諸如最優(yōu)PID制(OptimalPID)、預(yù)估PID控制(PrectivePID)、自適應(yīng)PID控制(adaptivePID)、自校正PID控制(self-timingPID)、模糊PID控制(FuzzyPID)、神經(jīng)網(wǎng)絡(luò)PID控制(neuralPID)、非線性PID控制(NonlinearPID)等高級控制策略來調(diào)整PID參數(shù)。
隨著現(xiàn)代工業(yè)的發(fā)展,人們面臨的被控對象越來越復(fù)雜,對于控制系統(tǒng)的精度性能和可靠性的要求越來越高,這對PID控制技術(shù)提出了嚴(yán)峻的挑戰(zhàn),但是PID控制技術(shù)并不會(huì)過時(shí),它必將和先進(jìn)控制策略相結(jié)合向高精度、高性能、智能化的方向發(fā)展。
1.2PID控制基礎(chǔ)
PID控制器由于結(jié)構(gòu)簡單、使用方便、魯棒性強(qiáng)等優(yōu)點(diǎn),在工業(yè)控制中得到了廣泛的應(yīng)用,但由于傳統(tǒng)PID控制器的結(jié)構(gòu)還不完美,普遍存在積分飽和、過渡時(shí)間與超調(diào)量之間矛盾大等缺點(diǎn)。所以改進(jìn)傳統(tǒng)PID控制器也就成了人們研究的熱點(diǎn)。本章首先介紹了PID控制器的基本原理,然后介紹了數(shù)字PID控制及算法。
1.2.1PID控制器基本原理
圖1.1PID控制系統(tǒng)原理圖
如圖1.1所示常規(guī)PID調(diào)節(jié)器是一種線性調(diào)節(jié)器,它將給定值r(t)與際輸出值c(t)的偏差的比例(P)、積分(I)、微分(D)通過線性組合構(gòu)成控制量,對控制對象進(jìn)行控制。
1、PID調(diào)節(jié)器的微分方程
(1.1)
式中(1.2)
2、PID調(diào)節(jié)器的傳輸函數(shù)
(1.3)
式中為比例系數(shù),為積分時(shí)間常數(shù),為微分時(shí)間常數(shù),這三個(gè)參數(shù)的取值優(yōu)劣將影響到PID控制系統(tǒng)的控制效果好壞,下面簡要介紹下這三個(gè)參數(shù)對控制性能的影響。
1.2.2對控制性能的影響
(l)比例作用對控制性能的影響
比例作用的引入是為了及時(shí)成比例地反應(yīng)控制系統(tǒng)的偏差信號e(t),系統(tǒng)偏差一旦產(chǎn)生,調(diào)節(jié)器立即產(chǎn)生與其成比例的控制作用,以減小偏差。比例控制反映快,但對某些系統(tǒng),可能存在穩(wěn)態(tài)誤差,加大比例系數(shù),系統(tǒng)的穩(wěn)態(tài)誤差減小,但穩(wěn)定性可能變差。.
(2)積分作用對控制性能的影響
積分作用的引入是為了使系統(tǒng)消除穩(wěn)態(tài)誤差,提高系統(tǒng)的無差度,以保證實(shí)現(xiàn)對設(shè)定值的無靜差跟蹤。
假設(shè)系統(tǒng)己經(jīng)處于閉環(huán)穩(wěn)定狀態(tài),此時(shí)的系統(tǒng)輸出和誤差量保持為常值U。和E0,只有當(dāng)且僅當(dāng)動(dòng)態(tài)誤差e(t)=0時(shí),控制器的輸出才為常數(shù)。因此,從原理上看,只要控制系統(tǒng)存在動(dòng)態(tài)誤差,積分調(diào)節(jié)就產(chǎn)生作用,直至無差,積分作用就停止,此時(shí)積分調(diào)節(jié)輸出為一常值。積分作用的強(qiáng)弱取決于積分時(shí)間常數(shù)的大小,積分時(shí)間常數(shù)越小,積分作用越強(qiáng),反之則積分作用弱。積分作用的引入會(huì)使系統(tǒng)穩(wěn)定性下降,動(dòng)態(tài)響應(yīng)變慢。實(shí)際中,積分作用常與另外兩種調(diào)節(jié)規(guī)律結(jié)合,組成PI控制器或者PID控制器。
(3)微分作用對控制性能的影響
微分作用的引入,主要是為了改善控制系統(tǒng)的響應(yīng)速度和穩(wěn)定性。微分作用能反映系統(tǒng)偏差的變化律,預(yù)見偏差變化的趨勢,因此能產(chǎn)生超前的控制作用。直觀而言,微分作用能在偏差還沒有形成之前,就己經(jīng)消除偏差。因此,微分作用可以改善系統(tǒng)的動(dòng)態(tài)性能。
微分作用的強(qiáng)弱取決于微分時(shí)間的大小,越大,微分作用越強(qiáng),反之則越弱。在微分作用合適的情況下,系統(tǒng)的超調(diào)量和調(diào)節(jié)時(shí)間可以被有效的減小。從濾波器的角度看,微分作用相當(dāng)于一個(gè)高通濾波器,因此它對噪聲干擾有放大作用,而這是我們在設(shè)計(jì)控制系統(tǒng)時(shí)不希望看到的。所以我們不能一味地增加微分調(diào)節(jié),否則會(huì)對控制系統(tǒng)抗干擾產(chǎn)生不利的影響。此外,微分作用反映的是變化率,當(dāng)偏差沒有變化時(shí),微分作用的輸出為零[4]-[10]。
1.2.3控制規(guī)律的選擇
PID控制器參數(shù)整定的目的就是按照己定的控制系統(tǒng),求得控制系統(tǒng)質(zhì)量最佳的調(diào)節(jié)性能。PID參數(shù)的整定直接影響到控制效果,合適的PID參數(shù)整定可以提高自控投用率,增加裝置操作的平穩(wěn)性。對于不同的對象,閉環(huán)系統(tǒng)控制性能的不同要求,通常需要選擇不同的控制方法,控制器結(jié)構(gòu)等;大致上,系統(tǒng)控制規(guī)律的選擇主要有下面幾種情況:
1.對于一階慣性的對象,如果負(fù)荷變化不大,工藝要求不高,可采用比例控制;
2.對于一階慣性加純滯后對象,如果負(fù)荷變化不大,控制要求精度較高,可采用比例積分控制;
3.對于純滯后時(shí)間較大,負(fù)荷變化也較大,控制性能要求較高的場合,可采用比例積分微分控制;
4.對于高階慣性環(huán)節(jié)加純滯后對象,負(fù)荷變化較大,控制性能要求較高時(shí),應(yīng)采用串級控制、前饋一反饋、前饋一串級或純滯后補(bǔ)償控制。
1.3數(shù)字PID控制技術(shù)
隨著微型計(jì)算機(jī)技術(shù)的迅速發(fā)展和可靠性的不斷提高,計(jì)算機(jī)參與工業(yè)控制不僅成為現(xiàn)實(shí),而且日益廣泛地深入到控制技術(shù)的各個(gè)領(lǐng)域。PID控制技術(shù)和微機(jī)技術(shù)的結(jié)合,便形成了數(shù)字PID控制技術(shù)。
1.3.1數(shù)字PID控制器特點(diǎn)
PID控制器是控制系統(tǒng)中應(yīng)用最廣泛的一種控制器,在工業(yè)過程控制史得到了普遍的應(yīng)用。過去PID控制器通過硬件模擬實(shí)現(xiàn),但隨著微型計(jì)算機(jī)的出現(xiàn),特別是現(xiàn)代嵌入式微處理器的大量應(yīng)用,原先PID控制器中由硬件實(shí)現(xiàn)的功能都可以用軟件來代替實(shí)現(xiàn),從而形成了數(shù)字PID算法,實(shí)現(xiàn)了由模擬PID控制器到數(shù)字PID控制器的轉(zhuǎn)變。與模擬PID控制器相比數(shù)字PD控制器有以下優(yōu)點(diǎn):
(l)對于具有純滯后環(huán)節(jié)的控制對象。采用常規(guī)PID調(diào)節(jié)規(guī)律對純滯后環(huán)節(jié)進(jìn)行調(diào)節(jié),其效果很不理想。因此,盡管幾十年前人們就對純滯后補(bǔ)償控制進(jìn)行了研究并找出了控制規(guī)律,但用模擬調(diào)節(jié)器很難實(shí)現(xiàn)復(fù)雜的控制規(guī)律。用數(shù)字PID控制器進(jìn)行純滯后補(bǔ)償控制,則很容易實(shí)現(xiàn)復(fù)雜的控制規(guī)律,從而可保證高精度及其他高性能指標(biāo)。
(2)采用常規(guī)模擬調(diào)節(jié)器與數(shù)字調(diào)節(jié)器可實(shí)現(xiàn)PID調(diào)節(jié),但為了得到滿意的控制效果,有時(shí)需要在控制過程中的一段時(shí)間內(nèi)進(jìn)行H控制,在一段時(shí)間內(nèi)進(jìn)行PD控制,或需要在線改變PID參數(shù)。在此情況下也只有采用數(shù)字PID控制器在線修改控制方案才能輕而易舉的達(dá)到控制要求。
1.3.2數(shù)字PID控制算法
模擬PID控制規(guī)律的離散化如表1.1所示:
表1.1模擬PID離散化
模擬形式
離散化形式
數(shù)字PID控制算法在實(shí)際應(yīng)用中可分為兩種:位置式PID控制算法和增量式PID控制算法[11]-[14]。
位置式PID控制算法
由于計(jì)算機(jī)控制是一種采樣控制,它只能根據(jù)采樣時(shí)刻的偏差值計(jì)算控制量,因
此積分和微分不能直接使用,需要進(jìn)行離散化處理。離散的PID表達(dá)式為:
(1.4)
或(1.5)
其中:k采樣序列號k=1,2,3;
為第k次采樣時(shí)刻的計(jì)算機(jī)輸出值;
氣第k次采樣時(shí)刻的輸入偏差值;
第k-1次采樣時(shí)刻的輸入偏差值;
這種算法的缺點(diǎn)是,由于全量輸出,所以每次輸出均與過去的狀態(tài)有關(guān),計(jì)算時(shí)要對氣進(jìn)行累加,計(jì)算機(jī)運(yùn)算的工作量大。而且,因?yàn)橛?jì)算機(jī)的輸出對應(yīng)的是執(zhí)行機(jī)構(gòu)的實(shí)際位置,如計(jì)算機(jī)出現(xiàn)故障,u(k)的大幅度變化,會(huì)引起執(zhí)行機(jī)構(gòu)的位置的大幅度變化,這種情況往往是生產(chǎn)實(shí)踐中不允許的,在某些場合,還可能造成重大的生產(chǎn)事故,因而產(chǎn)生了增量式PID算法。
增量式PID控制算法
當(dāng)執(zhí)行機(jī)構(gòu)需要的是控制量的增量(如驅(qū)動(dòng)步進(jìn)電機(jī))時(shí),.可由式(1.5)導(dǎo)出提供增量的PID控制算法。根據(jù)遞推原理可得:
(1.6)
可以看出,由于一般計(jì)算機(jī)控制系統(tǒng)采用恒定的采樣周期T,一旦確定了、和,只要使用前后三次測量值的偏差,即可由(1.6)求出控制增量。
采用增量式算法時(shí),計(jì)算機(jī)輸出的控制增量△u(k)對應(yīng)的是本次執(zhí)行機(jī)構(gòu)位置的增量。對應(yīng)閥門實(shí)際位置的控制量,目前采用較多的是利用算式u(k)=u(k-l)+△u(k)通過執(zhí)行軟件來完成。
增量式控制雖然只是在算法上作了一點(diǎn)改進(jìn),但卻帶來了不少優(yōu)點(diǎn):
1.由于計(jì)算機(jī)輸出增量,所以誤動(dòng)作時(shí)影響小,必要時(shí)可用邏輯判斷的方法去除。
2.手枷自動(dòng)切換時(shí)沖擊小,便于實(shí)現(xiàn)無擾動(dòng)切換。此外,當(dāng)計(jì)算機(jī)發(fā)生故障時(shí),由于輸出通道或執(zhí)行裝置具有信號的鎖存作用,故依然能保持原值。
3.算式中不需要累加,控制增量翻(k)的確定僅與最近三次的采樣值有關(guān),所以較容易通過加權(quán)處理而獲得較好的控制效果。但增量式控制也有其不足之處:積分截?cái)嘈?yīng)大,有靜態(tài)誤差;溢出的影響大。因此在選擇時(shí)不可一概而論,一般認(rèn)為在以晶閘管作為執(zhí)行器或在控制精度要求高的系統(tǒng)中,可以采用位置式控制算法,而在以步進(jìn)電機(jī)或電動(dòng)閥門作為執(zhí)行器的系統(tǒng)中,則可采用增量式控制算法。
1.3.3數(shù)字PID控制器采用周期的選擇
在數(shù)字控制系統(tǒng)中,采樣周期T是一個(gè)比較重要的因素,采樣周期的選擇,應(yīng)與PID參數(shù)的整定綜合考慮。選取采樣周期時(shí),一般應(yīng)考慮下列幾個(gè)因素:
1.采樣周期應(yīng)遠(yuǎn)小于對象的擾動(dòng)信號的周期。
2.采樣周期應(yīng)比對象的時(shí)間常數(shù)小很多,否則采樣信號無法反映瞬變過程。
3.對象所與PID參數(shù)的整定綜合考慮“選取采樣周期時(shí),一般應(yīng)考慮下列幾個(gè)因素:要求的調(diào)節(jié)品質(zhì)。在計(jì)算機(jī)運(yùn)算速度允許的情況下,采樣周期短,調(diào)節(jié)品質(zhì)好。
4.性能價(jià)格比。從控制性能來考慮,希望采樣周期短,但計(jì)算機(jī)運(yùn)算速度,以及A/D和D/A的轉(zhuǎn)換速度要相應(yīng)的提高,導(dǎo)致計(jì)算機(jī)的費(fèi)用提高。
5.計(jì)算機(jī)所承擔(dān)的工作量。如果控制的回路數(shù)多、計(jì)算量大,則采樣周期要加長;反之,可以縮短。
由上面分析可以知道,采樣周期受各種因素的影響,有些是相互矛盾的,必須視具體情況和主要的要求作出折中的選擇,在某些控制系統(tǒng)中,PID調(diào)節(jié)控制過程是在定時(shí)中斷狀態(tài)下完成的。因此,采樣周期T的大小必須保證中斷服務(wù)程序的正常運(yùn)行。在不影響中斷服務(wù)程序運(yùn)行的情況下,可取采樣周期T為小于1的純滯后時(shí)間。
1.4課題的研究內(nèi)容和結(jié)構(gòu)安排
首選要針對不同的PID整定方法進(jìn)行理論研究,根據(jù)受控對象的具體特性和對控制系統(tǒng)的性能要求,在選擇數(shù)字PID參數(shù)之前,首先應(yīng)該確定控制器結(jié)構(gòu)。控制器結(jié)構(gòu)確定后,即可開始選擇參數(shù)。參數(shù)的選擇,工程上,一般要求整個(gè)閉環(huán)系統(tǒng)是穩(wěn)定的,對給定量的變化能迅速響應(yīng)并平滑跟蹤,超調(diào)量??;在不同干擾作用下,能保證被控量在給定值;當(dāng)環(huán)境參數(shù)發(fā)生變化時(shí),整個(gè)系統(tǒng)能保持穩(wěn)定等等,然后利用MATLAB進(jìn)行仿真,并能得出相應(yīng)的結(jié)論。下面是論文的結(jié)構(gòu)安排
第一章引言主要介紹了課題的研究背景及PID控制的一些基礎(chǔ)知識與技術(shù)方法。
第二章常規(guī)PID控制器參數(shù)整定方法主要研究了Ziegler-Nichols法、精調(diào)的Ziegler-Nichols法、Haalman法。
第三章基于繼電反饋的PID參數(shù)整定方法及其改進(jìn)主要研究了基于繼電反饋的PID參數(shù)整定方法及其改進(jìn)型,介紹了原理及實(shí)現(xiàn),臨界信息的確定,多點(diǎn)頻率特性的獲取,交點(diǎn)頻率特性的識別和參數(shù)的整定。
第四章仿真研究主要在MATLAB中的simulink里搭構(gòu)出系統(tǒng)結(jié)構(gòu)圖并經(jīng)行仿真。
第五章總結(jié)對本文的研究工作做出總體概括。
2常規(guī)PID控制器參數(shù)整定方法
PID控制器參數(shù)整定是指在控制器形式己經(jīng)確定的情況下,針對一定的控制對象調(diào)整控制器參數(shù)(kp,Ti,Td),以達(dá)到控制要求為目的。同其它控制方法一樣,幾十年來,PID控制的參數(shù)整定方法和技術(shù)也處于不斷發(fā)展中。綜觀各種PID參數(shù)整定方法,可以有如下分類:根據(jù)研究方法的劃分,可分為基于頻域的PID參數(shù)整定方法和基于時(shí)域的PID參數(shù)整定方法;根據(jù)發(fā)展階段的劃分,可分為常規(guī)PID參數(shù)整定方法和智能PID參數(shù)整定方法;按照被控對象個(gè)數(shù)來劃分,可分為單變量PID參數(shù)整定方法和多變量PID參數(shù)整定方法,前者包括現(xiàn)有大多數(shù)整定方法,后者是最近研究的熱點(diǎn)及難點(diǎn);按控制量的組合形式來劃分,可分為線性PID參數(shù)整定方法和非線性PID參數(shù)整定方法,前者適用于經(jīng)典PID調(diào)節(jié)器,后者適用于由非線性跟蹤微分器和非線性組合方式生成的非線性PID控制器[15]-[21]。
目前,在眾多的整定方法中,主要有兩種方法在實(shí)際工業(yè)過程中應(yīng)用較好。一種是基于模式識別的參數(shù)整定方法(基于規(guī)則),另一種是基于繼電器反饋的參數(shù)整定方法(基于模型)。這些技術(shù)極大地簡化了PID控制器的使用,顯著改進(jìn)了它的性能,它們被統(tǒng)稱為自適應(yīng)智能控制技術(shù)。
常規(guī)PID參數(shù)整定方法隨著控制理論的發(fā)展而不斷發(fā)展,其各種整定方法很多,并在實(shí)際中得到很好的應(yīng)用。本章將簡要的介紹現(xiàn)有的常規(guī)PID控制器參數(shù)整定方法。
2.1Ziegler-Nichols參數(shù)整定方法
該方法是為Ziegier和Nichols于1942年提出的開環(huán)動(dòng)態(tài)響應(yīng)中某些特征參數(shù)而進(jìn)行的PID參數(shù)整定,它是基于受控過程的開環(huán)動(dòng)態(tài)響應(yīng)。其整定經(jīng)驗(yàn)公式是基于帶有延遲的一階慣性模型提出的,這種對象模型可表示為:
(2.1)
其中:K是放大系數(shù);T是慣性時(shí)間常數(shù);L是延遲時(shí)間。
在實(shí)際過程控制系統(tǒng)中,有大量的對象模型可以近似地由這樣的一階模型來表示,如果無法建立對象模型,可以由實(shí)驗(yàn)提取其相應(yīng)特征參數(shù)K,T,L或Kc、ωc(Kc為臨界振蕩增益,ωc為臨界振蕩角頻率)。
特征參數(shù)的提取方法有兩種:
1.通過實(shí)驗(yàn)方法測取過程開環(huán)階躍響應(yīng)曲線,也可以通過控制對象的動(dòng)態(tài)仿真
得到,如圖2.1所示。設(shè)u(t)=u01(t)
圖2.1切線法求取特征參數(shù)
其中P點(diǎn)是特征曲線(階躍響應(yīng))的拐點(diǎn),AB為過P點(diǎn)的切線,則可以從圖中直接求取過程的特征參數(shù)K=y(∞)/u0,L,T且a=KL/T。
用切線法求取特征參數(shù)很難自動(dòng)化,且不夠精確,可采用面積法,如圖2.2所示,設(shè)u(t)=u01(t)。
圖2.2面積法求特征參數(shù)
(2.2)
(2.3)
(2.4)
當(dāng)通過實(shí)驗(yàn)得到階躍響應(yīng)后,便可由式(2.2)(2.4)算出過程的特征參數(shù)K,L,T:
,,(2.5)
其中e為自然對數(shù)的底。
在得到過程的特征參數(shù)后,Ziegler和Nichols便給出了PID參數(shù)整定的經(jīng)驗(yàn)公式,
如表2.1所示:
表2.1Ziegler-Nichols整定公式
參數(shù)
控制器
KP
Ti
Td
P
1/a
_
_
PI
0.9a
3L
_
PID
1.2/a
2L
L/2
由于該整定算法取決于開環(huán)實(shí)驗(yàn),因而抗干擾能力差,下面介紹閉環(huán)整定方法。
2.采用頻率響應(yīng)法(Z-N臨界比例度法)
圖2.3通過Nyquist圖求出特征參數(shù)
系統(tǒng)的Nyquist曲線如圖2.3所示。曲線上相位為-1800的點(diǎn)的被稱為極限點(diǎn)。該點(diǎn)的頻率稱為臨界振蕩頻率ωc。如果在閉環(huán)系統(tǒng)中將控制器設(shè)為純比例控制,當(dāng)比例增益達(dá)到足夠高時(shí),系統(tǒng)將不穩(wěn)定。調(diào)節(jié)比例增益使系統(tǒng)達(dá)到臨界狀態(tài)時(shí),這時(shí)控制信號與過程輸出都是正弦信號,相差-1800。簡單起見假設(shè)設(shè)定值ysp=0,則u=-Ky,由于系統(tǒng)等幅振蕩,可知KcG(jωc)=-1,其中臨界增益Kc被稱為臨界比例系數(shù),G(jωc)為過程傳遞函數(shù)。由此方程可知G(jωc)=-l/Kc。這樣,Nyquist曲線上的極限點(diǎn)被確定,系統(tǒng)臨界比例系數(shù)凡可以通過一次調(diào)節(jié)試驗(yàn)辨識。
基于以上原理,Ziegler和Nichols提出了PID參數(shù)整定的第二種方法:即臨界比例度法。將PID控制器接入控制系統(tǒng),選用純比例控制(Ti=∞,Td=0),然后在系統(tǒng)中加入一個(gè)擾動(dòng),如果系統(tǒng)響應(yīng)是衰減的,則需要增大控制器的比例增益稱,重做實(shí)驗(yàn),相反如果系統(tǒng)響應(yīng)的振蕩幅度不斷增大,則需要減小kp。實(shí)驗(yàn)的最終目的,是要使閉環(huán)系統(tǒng)做臨界等幅周期振蕩,此時(shí)的比例增益稱就被稱為臨界增益,記為Kc;而此時(shí)系統(tǒng)的振蕩周期被稱為臨界振蕩周期,記為Tc。臨界比例度法就是利用Kc和Tc由經(jīng)驗(yàn)公式求出P,PI和PID這三種控制器的參數(shù)整定值。表2.2所列Z-N整定公式計(jì)算PID參數(shù)。
表2.2Ziegler-Nichols整定公式(二)
參數(shù)
控制器
KP
Ti
Td
P
0.5Kc
_
_
PI
0.4Kc
0.8Tc
_
PID
0.6Kc
0.5Tc
0.12Tc
Z-N臨界比例度法的缺陷:
雖然Z-N臨界比例度法非常簡單,并且也曾在工程上得到廣泛應(yīng)用,但是該法存在著以下這些不足:
1.通常,為了獲得Kc和Tc要進(jìn)行多次實(shí)驗(yàn),這是比較費(fèi)時(shí)的,特別是對具有大時(shí)間常數(shù)的慢系統(tǒng)而言。
2.由于現(xiàn)場實(shí)驗(yàn)中存在著不確定的影響會(huì)給實(shí)驗(yàn)數(shù)據(jù)帶來一定甚至關(guān)鍵的噪聲,因而會(huì)對最終的控制品質(zhì)帶來很大的影響。
3.當(dāng)?shù)确袷幍姆当容^小時(shí),如果系統(tǒng)內(nèi)部存在滯環(huán)或者較大的閥門摩擦阻力,就容易產(chǎn)生“有限環(huán)”;相反,如控制系統(tǒng)的某個(gè)元素飽和了,則有可能出現(xiàn)大振幅的持續(xù)等幅振蕩。這兩種情況都很容易讓人以為是達(dá)到了臨界振蕩,從而得到錯(cuò)誤的Kc和Tc,進(jìn)而給PID控制器參數(shù)的整定帶來大誤差。
4.對不允許做臨界振蕩實(shí)驗(yàn)的系統(tǒng),該法不能得到運(yùn)用。在很多工業(yè)過程中,不允許系統(tǒng)出現(xiàn)臨界周期振蕩的情況,一旦出現(xiàn)這種現(xiàn)象,就可能會(huì)導(dǎo)致整個(gè)系統(tǒng)的崩潰。Astrom等人提出了用繼電特性的非線性環(huán)節(jié)代替Z-N法中的比例控制器。這種基于繼電反饋的PID控制器參數(shù)整定法保留了Z-N臨界比例度法簡單的特點(diǎn),能夠使系統(tǒng)出現(xiàn)極限環(huán),獲取所需要的臨界信息。
2.2精調(diào)的Ziegler-Nichols參數(shù)整定方法
前述Ziegler-Nichols整定方法,簡單實(shí)用,整定效果較好,是基本的PID參數(shù)整定方法。但其存在一定缺點(diǎn),即經(jīng)常在設(shè)定點(diǎn)附近產(chǎn)生較強(qiáng)的振蕩,并經(jīng)常伴有較大的超調(diào)量。對于Z-N法引起的響應(yīng)超調(diào)量過大的問題,常見的一種簡單解決方法就是減小PID控制器的增益,但是這樣又會(huì)降低響應(yīng)速度。另外一種是濾波設(shè)定值的方法。該方法的優(yōu)點(diǎn)在于沒有改變PID控制器的參數(shù)值,因而不會(huì)對控制品質(zhì)產(chǎn)生不利影響。Hang.C.C提出的精調(diào)的Ziegler-Nichols整定方法即RefinedZiegler-Nichols整定方法,簡記為:R~ZN。就是一種類似于濾波設(shè)定值法的PID控制器參數(shù)整定方法[22]-[26]。
其主要思想就是在設(shè)定值響應(yīng)比例部分加入權(quán)值β,將PID控制器的輸出修正為:
(2.6)
這樣,就可以通過改變設(shè)定值權(quán)值來改變控制系統(tǒng)中比例部分的作用大小,從而解決相應(yīng)的超調(diào)量過大的問題。
一般而言,當(dāng)過程純滯后時(shí)間常數(shù)L較小時(shí),無須通過設(shè)定值權(quán)值對PID控制器參數(shù)進(jìn)行調(diào)整。當(dāng)純滯后時(shí)間常數(shù)L增大時(shí),系統(tǒng)會(huì)出現(xiàn)后期超調(diào)量過大嚴(yán)重的情況,根據(jù)整定經(jīng)驗(yàn),通過增強(qiáng)積分作用,即減小積分時(shí)間,可以克服這類問題,這時(shí)就需要引入設(shè)定值權(quán)值和積分修正系數(shù)u對PID控制器整定公式中的積分常數(shù)部分進(jìn)行修正。
引入一個(gè)歸一化的延遲與一階時(shí)間常數(shù)k,并定義如下:
=KcK,=L/T,且滿足
其中Kc,K,L,T的意義如前所述,精調(diào)的Ziegler-Nichols的PID參數(shù)整定的依據(jù)就是根據(jù)和的取值范圍,采取不同的整定公式,具體整定的經(jīng)驗(yàn)公式如下:
(1)若2.25<<15或0.16<<0.57,保持原有Z-N參數(shù)不變;當(dāng)要求使超調(diào)量分別小于10%或20%時(shí),引入如下系數(shù),按式(2.7)或(2.8)進(jìn)行修正。
(2.7)
(2.8)
(2)1.5<<2.25或0.57<<0.96將Z-N積分系數(shù)按式(2.9)修正,其中參數(shù)如式(2.10)和式(2.11)定義:
(2.9)
(2.10)
(2.11)
當(dāng)1.2<<1.5時(shí),為使系統(tǒng)超調(diào)量小于10%,PID參數(shù)做如下修正:其中=1
(2.12)
(2.13)
2.3Haalman法
Haalman法是基于選擇期望的開環(huán)特性以滿足閉環(huán)系統(tǒng)的控制品質(zhì)要求。有不同的方法獲取合適的開環(huán)傳遞函數(shù),對于時(shí)滯對象,Haalman建議選擇開環(huán)傳遞函數(shù)為:
(2.14)
由(2.14)式可以看出,開環(huán)特性僅受時(shí)滯L的影響,過程的零極點(diǎn)被控制器的零極點(diǎn)對消,系數(shù)2/3保證了閉環(huán)系統(tǒng)的穩(wěn)態(tài)誤差最小和穩(wěn)定性要求。
則控制器為:(2.15)
設(shè)過程對象的傳遞函數(shù)為:
則我們可得:(2.16)
式(2.16)為PI控制器的形式,即:
,Ti=T(2.17)
設(shè)過程對象的傳遞函數(shù)為:
則:(2.18)
式(2.18)為PID控制器的形式,則:
,,(2.19)
Haalman法存在的缺點(diǎn)是過程對象的零極點(diǎn)被完全抵消后,可能導(dǎo)致系統(tǒng)內(nèi)部存在不可控的因素,對于慣性時(shí)間占主導(dǎo)的對象來說,應(yīng)用此方法整定控制器,對負(fù)載干擾的響應(yīng)將變化非常緩慢。
2.4小結(jié)
本章主要闡述了常規(guī)PID控制器的參數(shù)整定方法,并對Ziegler-Nichols法、精調(diào)的Ziegler-Nichols法、Haalman法做了逐一詳細(xì)的介紹。并指出了這三常規(guī)PID參數(shù)整定方法的缺點(diǎn)。
3基于繼電反饋的PID參數(shù)整定方法及其改進(jìn)型
繼電反饋方法是在閉環(huán)控制回路中加入繼電控制,利用繼電控制的非線性特性使被控過程出現(xiàn)極限環(huán)振蕩,從而獲得過程的臨界動(dòng)態(tài)特性參數(shù),再利用Z-N臨界比例度整定公式獲得PID控制器參數(shù)。該方法簡單,可靠,易于使用,相比之前出現(xiàn)的各種PID參數(shù)自整定技術(shù),繼電反饋?zhàn)哉夹g(shù)有許多優(yōu)點(diǎn)。首先,這種方法耗時(shí)較少且易于使用。操作者只需簡單地按下一個(gè)按鍵,即可自動(dòng)整定出PID控制器參數(shù);其次,繼電反饋?zhàn)哉ㄕ{(diào)節(jié)試驗(yàn)是閉環(huán)試驗(yàn)。所以,適當(dāng)選擇繼電參數(shù)可以使過程的頻率響應(yīng)維持在設(shè)定點(diǎn)附近,即使過程處于非線性區(qū)域。因此繼電反饋?zhàn)哉ǚ椒ㄓ锌赡苓m用于高度非線性的過程。第三,這種方法不需要先驗(yàn)知識來選擇采樣率,對于一些復(fù)雜的自適應(yīng)控制器是非常有用的。最后,改進(jìn)的繼電反饋方法可以有效抑制系統(tǒng)中的擾動(dòng)和波動(dòng)。所以該方法己經(jīng)廣泛應(yīng)用于工業(yè)PID控制器的參數(shù)自動(dòng)整定。繼電反饋方法提出以來,相繼出現(xiàn)了許多改進(jìn)和擴(kuò)展的方法。
3.1繼電反饋PID參數(shù)自整定方法
3.1.1繼電反饋的原理與實(shí)現(xiàn)
1984年,Astrom和Hagglund提出了在繼電反饋下觀測過程的極限環(huán)振蕩自整定方法。繼電整定法的基本思想是:在控制系統(tǒng)中設(shè)置兩種模式,測試模式和調(diào)節(jié)模式,在測試模式下由一個(gè)繼電非線性環(huán)節(jié)來測試系統(tǒng)的振蕩頻率和振蕩幅值,而在調(diào)節(jié)模式下由系統(tǒng)的特征參數(shù)首先得出PID控制器參數(shù),然后由控制器對系統(tǒng)的動(dòng)態(tài)性能進(jìn)行調(diào)節(jié)。如果系統(tǒng)的參數(shù)發(fā)生變化,則需要重新進(jìn)入測試模式進(jìn)行測試,測試完畢后再回到調(diào)節(jié)模式進(jìn)行控制[27]-[31]。
繼電型反饋PID自整定的控制結(jié)構(gòu)如圖3.1所示。
圖3.1繼電反饋方法的原理圖
如圖3.1所示,當(dāng)開關(guān)切向T時(shí),得到系統(tǒng)的臨界信息:臨界振蕩增益Kc和振蕩頻率ωc而當(dāng)開關(guān)切向A時(shí),此時(shí)系統(tǒng)按照PID控制方式運(yùn)行,由PID控制器對系統(tǒng)的動(dòng)態(tài)性能進(jìn)行調(diào)節(jié)。開關(guān)由T切換到A時(shí),這中間就需要我們利用得到的系統(tǒng)臨界信息整定出PID控制器參數(shù)值。
這里面包含兩個(gè)步驟:如何確定整定過程中的臨界信息和如何由臨界信息確PID控制器參數(shù)值。
3.1.2繼電整定過程中確定臨界信息
確定系統(tǒng)的臨界振蕩增益KC振蕩頻率ωc有多種辦法,比較常用的有描述函數(shù)方法。該法利用繼電非線性環(huán)節(jié)輸入信號與輸出信號之間的基波分量關(guān)系來進(jìn)行近似分析的一種有效方法。帶有滯環(huán)的繼電非線性環(huán)節(jié)特性的描述函數(shù)可以表述為:
(3.1)
式中:A—振蕩幅值
d—滯環(huán)幅值
—滯環(huán)寬度
使系統(tǒng)的閉環(huán)特征方程發(fā)生振蕩的條件可以寫成:
(3.2)
設(shè)該等式的實(shí)部和虛部均等于零,則可以得出臨界振蕩增益Kc和振蕩頻率ωc。
現(xiàn)在我們考慮一種簡單的情況,假設(shè)繼電非線性環(huán)節(jié)不帶有滯環(huán),即若設(shè)=0,
則描述函數(shù)可簡化為:N(A)=4d/A,這時(shí)我們可以求出振蕩頻率ωc和臨界振蕩增益Kc:
(3.3)
(3.4)
3.1.3多點(diǎn)頻率特性的獲取
標(biāo)準(zhǔn)的繼電反饋方法己廣泛應(yīng)用于工業(yè)過程控制。但是它仍存在著兩方面的問題:一是由于采用了描述函數(shù)進(jìn)行近似,它只包含了方波中一次基波的信息而忽略了高次諧波的影響,因此用標(biāo)準(zhǔn)的繼電反饋方法估計(jì)臨界點(diǎn)的信息不是很準(zhǔn)確,當(dāng)遇到高階或大時(shí)滯對象時(shí)會(huì)產(chǎn)生很大的誤差,并使系統(tǒng)的響應(yīng)惡化;二是上述方法只能獲得一個(gè)頻率點(diǎn)的信息,這對于描述一個(gè)一般的過程并進(jìn)行控制器的設(shè)計(jì)是遠(yuǎn)遠(yuǎn)不夠的。因此十幾年來許多科研工作者對繼電反饋方法進(jìn)行了深入的研究,提出了許多繼電反饋的改進(jìn)方法,這些改進(jìn)方法通過一次或多次繼電調(diào)節(jié)試驗(yàn)可以得到更多的和更準(zhǔn)確的頻率點(diǎn)信息。
使用FFT的改進(jìn)方法
使用快速傅立葉變換(FFT)可以通過一次繼電調(diào)節(jié)試驗(yàn)同時(shí)獲得多個(gè)頻率點(diǎn)的信息。
在圖3.1所示的標(biāo)準(zhǔn)繼電反饋?zhàn)哉ㄏ到y(tǒng)中從起始時(shí)刻開始記錄過程輸入的u(t)和過程輸出y(t)直到系統(tǒng)達(dá)到穩(wěn)定振蕩。由于u(t)和y(t)是不可積的,不能直接進(jìn)行FFT運(yùn)算。所以先乘以衰減系數(shù),即=,=再進(jìn)行傅立葉變換
(3.5)
(3.6)
對于過程G(s)=Y(s)/U(s),s=jω+a有
(3.7)
先對G(jω+a)進(jìn)行逆FFT變換:
(3.8)
即:(3.9)
再對g(kT)進(jìn)行FFT變化,得:
(3.10)
使用寄生繼電器
如圖3.2所示在標(biāo)準(zhǔn)繼電反饋回路中加入一個(gè)寄生繼電器。寄生繼電器的開關(guān)周期設(shè)定為標(biāo)準(zhǔn)繼電器的兩倍,這樣可以獲得1/2穿越點(diǎn)頻率的整數(shù)倍頻率點(diǎn)的信息。使用FFT算法計(jì)算各點(diǎn)頻域傳遞函數(shù)。
其中:,l=0,1,2……(3.11)
圖3.2使用寄生繼電器反饋系統(tǒng)
在這個(gè)方法中,寄生繼電器的幅值不能隨意地選擇,它應(yīng)該足夠大以充分激勵(lì)被控過程,同時(shí)它又應(yīng)足夠小使寄生繼電器不能過多地改變主繼電器的振蕩周期,但當(dāng)推薦的值比較小時(shí),在臨界頻率的1/2處由于很小的信噪比將會(huì)對測量噪聲很敏感。
3.1.4由臨界信息整定PID參數(shù)的算法
繼電自整定過程中由臨界信息整定PID參數(shù)的計(jì)算,我們將介紹幾種常見的方法:Astrom法、PM法。
1.基于Astrom法的繼電整定
利用繼電振蕩的結(jié)果,可以辨識出開環(huán)對象的Nyquist曲線上的臨界點(diǎn),被控對象在PID控制下的開環(huán)傳遞函數(shù)為:
(3.12)
開環(huán)頻率特性為:
(3.13)
從上式可以看出,Nyquist曲線上任意一個(gè)給定點(diǎn),可通過改變控制器的比例增益、積分時(shí)間、微分時(shí)間被移動(dòng)到S左半平面內(nèi)的任意位置處。對于滿足給定幅值裕度的整定,有:
(3.14)
對于滿足給定相位裕度的整定,應(yīng)把臨界點(diǎn)移動(dòng)到單位圓上相位為-點(diǎn)處(3.15)
且:(3.16)
a一般在上業(yè)上的取值為4~10??傻?
(3.17)
(3.18)
式(3.16-3.18)即構(gòu)成了Astrom法的整定公式。Astrom法雖然簡單實(shí)用,但Astrom法仍然有其缺點(diǎn),算法對于純滯后很小的低階系統(tǒng),整定后的參數(shù)往往偏大,這是由于開環(huán)Nyquist曲線與負(fù)實(shí)軸的交點(diǎn)離原點(diǎn)太近所致。
基于PM法的繼電整定
由于此方法以相位裕度作為整定依據(jù),故稱為PM法。在此方法中使用帶有滯環(huán)的繼電器。在繼電自整定運(yùn)行方式下,通過選擇不同的繼電特性:滯環(huán)高度和滯環(huán)寬度,就可以使它與被控對象有不同的交點(diǎn)。但滯環(huán)高度d與滯環(huán)寬度不能隨便選擇,應(yīng)考慮以下因素:
1.滯環(huán)寬度應(yīng)大于系統(tǒng)噪聲帶幅值,避免切換點(diǎn)抖動(dòng);
2.振蕩應(yīng)有一定幅值,但必須在允許范圍內(nèi),振幅是隨和純滯后時(shí)間L的增大而增大,當(dāng)L較小時(shí),振幅接近于;
3.對象存在純滯后時(shí),振幅還隨d的增大而增大。
繼電特性的描述函數(shù)負(fù)倒數(shù)1/N(A)和對象Nyquist曲線的交點(diǎn),如圖3.3所示。
圖3.3Nyquist曲線與繼電環(huán)節(jié)描述函數(shù)負(fù)倒數(shù)
算法如下:Q點(diǎn)是Nyquist曲線與繼電環(huán)節(jié)描述函數(shù)負(fù)倒數(shù)的交點(diǎn),P點(diǎn)是單位圓上具有相位裕度的點(diǎn),PR垂直于OR。為使Q,P在同一自線上,應(yīng)選擇繼電
環(huán)節(jié)的滯環(huán)寬度和輸出高度d,使之滿足下列條件:
(3.19)
設(shè)Q點(diǎn)的坐標(biāo)(-x,-jsin),從式(3.1)得:
(3.20)
由圖3.3得:
(3.21)
(3.22)
(3.23)
由式3.20-3.23得:
(3.24)
(3.25)
取帶入式(5.25)得:
(3.26)
式(3.24-3.26)即構(gòu)成了PM法的自整定公式。
3.2改進(jìn)的繼電反饋控制
3.2.1負(fù)虛軸交點(diǎn)頻率特性的辨識
采用改進(jìn)型繼電反饋控制的系統(tǒng)框圖如圖3.4所示。在繼電特性后加入一積分環(huán)節(jié),這樣過程對象只要在高頻具有至少的相位滯后,可在繼電反饋控制下產(chǎn)生周期為T的等幅振蕩,振蕩的頻率正是使過程對象的相位滯后的頻率,即Nyquist圖與負(fù)虛軸的交點(diǎn)頻率。在繼電特性后面串入積分環(huán)節(jié)主要的作用是:改善描述函數(shù)的描述精度:利用積分環(huán)節(jié)的高頻衰減特性,盡可能地削減高頻諧波分量,增大基波分量的相對比重,相對提高描述函數(shù)對非線性環(huán)節(jié)的描述精度,達(dá)到提高對大滯后過程模型辨識精度的目的。
圖3.4改進(jìn)型繼電反饋控制的系統(tǒng)框圖
采用改進(jìn)的繼電實(shí)驗(yàn),可以獲得精度很高的振蕩點(diǎn)頻域信息,即:,,它們分別是Nyquist圖與負(fù)虛軸交點(diǎn)的頻率和幅值。交點(diǎn)角頻率為:。
其中:T為等幅振蕩的周期。利用處理非線性環(huán)節(jié)的描述函數(shù)法分析系統(tǒng).繼電特性的描述函數(shù)如式(3.1)根據(jù)產(chǎn)生等幅振蕩的條件:
(3.27)
則有:
(3.28)
所以有:
(3.29)
由式(3.29)可以看出,過程輸出的振蕩幅值A(chǔ)與繼電特性的幅值d有關(guān),可以由d來控制A的大小,使之限定在實(shí)際過程允許的范圍內(nèi),而不影響系統(tǒng)正常運(yùn)行,對于不能采用Astrom-Haggland法的二階系統(tǒng),滿足在高頻具有至少相位滯后的要求,同樣可以產(chǎn)生等幅振蕩,則其Nyquist圖與負(fù)虛軸的交點(diǎn)的頻率特性可以通過式(3.27)和式(3.29)得到。
振蕩幅值A(chǔ)可以簡單地通過測量系統(tǒng)輸出的峰一峰值得到,而振蕩周期T可以通過測量系統(tǒng)輸出兩次穿越工作點(diǎn)所用的時(shí)間得到[32]。
3.2.2PID控制器的參數(shù)整定
采用PID控制器可以使得的Nyquist圖上的任意一點(diǎn)A向三個(gè)方向移動(dòng),如圖3.5所示。改變比例系數(shù)可以使A點(diǎn)徑向移動(dòng),改變積分系數(shù)或微分系數(shù)可以使點(diǎn)A垂直與徑向移動(dòng),最大可使A點(diǎn)移動(dòng)的角度范圍為()。
圖3.5PID作用于過程對象Nyquist圖
設(shè)過程對象的傳遞函數(shù)為G(s),控制器的結(jié)構(gòu)形式為:
(3.30)
則有下列等式:
(3.31)
(3.32)
將式子3.32帶入式子3.33和3.34中,得:
(3.33)
(3.34)
(3.35)
其中:a一般取4-10。由式(3.33)和式(3.34)可得PID參數(shù)的表達(dá)式:
(3.36)
3.3小結(jié)
本章主要研究了基于繼電反饋的PID參數(shù)整定方法及其改進(jìn)型,介紹了原理及實(shí)現(xiàn),臨界信息的確定,多點(diǎn)頻率特性的獲取,交點(diǎn)頻率特性的識別和參數(shù)的整定。這樣對基于繼電反饋的PID參數(shù)整定方法就有了全面而詳細(xì)的理解。
4仿真研究
通過上面幾章的理論介紹我們對PID參數(shù)整定方法有了系統(tǒng)而全面的認(rèn)識,但那只是理論上的研究而已。在這一章當(dāng)中我們將采用MATLAB軟件對上面介紹的各種方法做出直觀的仿真研究。
4.1Ziegler-Nichols法參數(shù)整定仿真
考慮下面這個(gè)一階慣性加延遲環(huán)節(jié)的對象:
采用Z-N經(jīng)驗(yàn)法得出的PID控制器參數(shù)為:
Kp=1.5,Ti=2,Td=0.5。
可測得臨界增益Kc=1.85和臨界振蕩頻率Tc=3.89,采用 Z-N臨界比例度法得到的PID控制器參數(shù)為:
Kp=1.11,Ti=1.945,Td=0.486。
Z-N經(jīng)驗(yàn)法和Z-N臨界比例度法系統(tǒng)單位階躍響應(yīng)曲線如圖4.1所示:
圖4.1Z-N經(jīng)驗(yàn)法和Z-N臨界比例度法系統(tǒng)單位階躍響應(yīng)曲線
采用Z-N經(jīng)驗(yàn)法和Z-N臨界比例度法整定的系統(tǒng)的超調(diào)量都比較大,相比較而言,Z-N經(jīng)驗(yàn)法的超調(diào)量更大。這是由于Z-N經(jīng)驗(yàn)法整定出的比例系數(shù)偏大的緣故。臨界比例度法的動(dòng)態(tài)性能比Z-N經(jīng)驗(yàn)法的有所改善,但由于在仿真實(shí)驗(yàn)過程中,臨界增益的獲得是一個(gè)湊試的過程,相當(dāng)費(fèi)時(shí),所以這也限制了本法的應(yīng)用。
4.2精調(diào)的Ziegler-Nichols法參數(shù)整定仿真
考慮對象:
采用Z-N經(jīng)驗(yàn)法PID控制器參數(shù)為:
Kp=1.2,Ti=2,Td=0.5
此時(shí)=1,故需引進(jìn)權(quán)值系數(shù)和積分修正系數(shù)對PID控制器進(jìn)行修正,使用R-ZN法求的PID控制器參數(shù)為:
Kp=1.2,Ti=1.778,Td=0.5
R-ZN法和Z-N經(jīng)驗(yàn)法系統(tǒng)的單位階躍響應(yīng)曲線如圖4.2所示:
圖4.2R-ZN法和Z-N經(jīng)驗(yàn)法系統(tǒng)的單位階躍響應(yīng)曲線
由于R-ZN法在Z-N經(jīng)驗(yàn)法的基礎(chǔ)上引入了權(quán)值系數(shù)和積分修正系數(shù),R-ZN法整定出的積分時(shí)間常數(shù)Ti比Z-N經(jīng)驗(yàn)法的小,即增強(qiáng)了積分的作用,使得過渡過程的超調(diào)量減少,而調(diào)節(jié)時(shí)間同Z-N經(jīng)驗(yàn)法相比變化不大。
4.3Haalman法參數(shù)整定仿真
考慮下面的對象:
采用Z-N經(jīng)驗(yàn)法得出的PID控制器參數(shù)為:
Kp=6,Ti=0.8,Td=0.2
采用Haalman法得到的PI控制器參數(shù)為:
Kp=3.33,Ti=2
Haalman法和Z-N經(jīng)驗(yàn)法系統(tǒng)單位階躍曲線如圖4.3所示:
圖4.3Haalman法和Z-N經(jīng)驗(yàn)法系統(tǒng)單位階躍曲線
由仿真圖4.3,我們可以看到與Z-N經(jīng)驗(yàn)法相比,Haalman法系統(tǒng)的單位階躍響應(yīng)曲線的超調(diào)量和調(diào)節(jié)時(shí)間都得到了改善,尤其是超調(diào)量的改善較大。系統(tǒng)的動(dòng)態(tài)性能得到了改善。
隨著控制理論界對PID控制的日益關(guān)注,各種PID控制器的整定方法層出不窮。不同的整定方法基于不同的整定思想,可能因?yàn)槟承┬阅芏鵂奚渌男阅埽蛘咴诟鞣N性能之間尋找平衡。同時(shí)PID控制器的應(yīng)用范圍非常的廣泛,對于不同的控制對象和不同的使用環(huán)境,同一種設(shè)計(jì)或整定方法取得的效果也不一樣。因此很難說某一種方法就比另外一種方法更好。在實(shí)際應(yīng)用中,應(yīng)該針對具體問題綜合考慮,以選取合適的PID整定方法。
4.4基于繼點(diǎn)反饋參數(shù)整定仿真
為了驗(yàn)證以上幾種繼電整定算法的控制效果,采用代表典型工業(yè)過程控制中的測試對象,對上述幾種繼電整定方法進(jìn)行了仿真研究。以被控對象:為仿真模型,這是一個(gè)大滯后的對象,各算法整定出的參數(shù)如表所示:(各算法都取d=4,)。
表4.1各算法整定參數(shù)表
使用算法
Astrom法
1.0072
3.5397
0.8849
PM法
1.2021
2.8976
0.7244
改進(jìn)型
0.8532
2.231
0.5413
采用各算法系統(tǒng)的單位階躍響應(yīng)曲線如圖4.4-4.6所示:
圖4.4Astrom法繼電整定系統(tǒng)單位階躍響應(yīng)曲線
圖4.5PM法繼電整定系統(tǒng)單位階躍響應(yīng)曲線
圖4.6改進(jìn)型繼電系統(tǒng)單位階躍響應(yīng)曲線
由仿真結(jié)果可以看出:Astrom法,PM法兩種算法的響應(yīng)的振蕩性比較大,而在這方面改進(jìn)型繼電整定法獲得了很好的控制效果。而且整定過程又是在閉環(huán)中進(jìn)行的,系統(tǒng)仍然運(yùn)行在工作點(diǎn)附近,既不影響系統(tǒng)的正常運(yùn)行,又可以克服系統(tǒng)非線性對參數(shù)整定的影響。
4.5小結(jié)
本章我們對傳統(tǒng)的PID整定方法進(jìn)行仿真研究以及繼電整定算法及其改進(jìn)型,可以看出,經(jīng)典的PID參數(shù)整定算法,仿真實(shí)驗(yàn)結(jié)果表明,這些整定方法各自有各自的特點(diǎn)而繼電整定算法不需要較多有關(guān)被控對象的先驗(yàn)知識,即可以整定控制器參數(shù)。一般情況下,整定中所需設(shè)置的僅僅是繼電特性的輸出高度和滯環(huán)寬度。但繼電整定算法同時(shí)也存在不少缺陷,根源正是由于其不試圖了解更多的被控對象的信息。雖然繼電自整定存在缺點(diǎn),但由于它是一個(gè)簡單有效的、易被工業(yè)過程采用的PID整定方法,所以在對象不太復(fù)雜,性能要求不太高的實(shí)際工業(yè)中經(jīng)常被采用。
5總結(jié)
全文對PID的參數(shù)整定方法做了系統(tǒng)而詳盡的闡述與研究,從傳統(tǒng)整定方法與改進(jìn)整定方法入手對這兩大種整定方法分別做了詳細(xì)的介紹研究與對比,指出傳統(tǒng)方法的缺點(diǎn)以及改進(jìn)方法的優(yōu)越所在。那么在豐富的理論基礎(chǔ)之上采用MATLAB軟件對各種參數(shù)整定方法做了直觀的仿真研究,從得出的仿真圖中可以直觀的看到各種整定方法的優(yōu)缺點(diǎn)所在。在針對性的仿真研究中可以做到節(jié)約時(shí)間,減少工作量。
參考文獻(xiàn)
[1]何芝強(qiáng).PD控制器參數(shù)整定方法及其應(yīng)用研究.浙江大學(xué)碩士學(xué)位論文.2005.
[2]陶水華,尹怡欣,葛蘆生.新型PID控制及其應(yīng)用.第二版.北京:機(jī)械工業(yè)出版
社,1998
[3]DattaA,HoMingTzu,BhattacharyyaSP.StructureandSynthesisofPIDcontrollers.London:Springer-Verlag,2000
[4]楊智,朱海鋒,黃以華.PID控制器設(shè)計(jì)與參數(shù)整定方法綜述.化工自動(dòng)化及儀
表.2005,32(5):1-7
[5]歐林林,顧誕英,張衛(wèi)東.線性時(shí)滯系統(tǒng)的P和PI控制器穩(wěn)定參數(shù)集.上海交通大學(xué)學(xué)報(bào).2006,40(7):2012-2016
[6]陳福樣,楊芝雄.PID調(diào)節(jié)器自整定的PM法及其公式推導(dǎo).自動(dòng)化學(xué)報(bào).1993,19(6):56一59
[7]王偉,張晶濤,潘學(xué)軍.基于偏置繼電反饋辨識的改進(jìn)自整定PID控制器.中國控制會(huì)議論文集.2001,遼寧大連
[8]歐林林,張衛(wèi)東,顧誕英.PID控制作用下一階時(shí)滯系統(tǒng)的魯棒穩(wěn)定性分析上海
交通大學(xué)學(xué)報(bào)200640(11):1907-1911
[9]郭彥青,姚竹亭,王楠.非線性PID控制器研究.中北大學(xué)學(xué)報(bào)(自然科學(xué)).2006
27(5):423-425
[10]歐林林,張衛(wèi)東,顧誕英.一類時(shí)滯對象的PID控制器參數(shù)穩(wěn)定域計(jì)算.上海交
通大學(xué)學(xué)報(bào).2006,21(9):1020-1024
[11]張立群,李東海,唐多元,薛亞麗.基于參數(shù)穩(wěn)定空間的PID控制器設(shè)計(jì).清華
大學(xué)學(xué)報(bào)(自然科學(xué)版).2004,44(2):274-277
[12]邱麗,曾貴娥,朱學(xué)峰,孫培強(qiáng).幾種PID控制器參數(shù)整定方法的比較研究.自動(dòng)化技術(shù)與應(yīng)用.2005,24(11):28-31
[13]王偉,張晶濤,柴天佑.PDO參數(shù)先進(jìn)整定方法綜述.自動(dòng)化學(xué)報(bào).2000,26(3):
347-355
[14]李劍,谷俊杰.PID參數(shù)整定方法進(jìn)展.電力情報(bào).2001.(3):11-13
[15]謝元旦,夏淑艷.PID調(diào)節(jié)器參數(shù)的繼電自整定方法.控制與決策.1993,8(l):
77-80
[16]吳宏鑫,沈少萍.PID控制的應(yīng)用與理論依據(jù).控制工程.2003,10(l):37-42
[17]周實(shí)榮.PID調(diào)節(jié)器參數(shù)的自整定方法.河北師范大學(xué)學(xué)報(bào)(自然科學(xué)版).1998,
22(3):352-354
[18]楊智,朱海鋒,黃以華.P刃D控制器設(shè)計(jì)與參數(shù)整定方法綜述.化工自動(dòng)化及儀表.2005,32(5):l-7
[19]李卓,蕭德云,何世忠.基于FUZZY推理的自調(diào)整PID控制器.控制理論與應(yīng)用、
1997(2):238-243
[20]M,T.soylemeza,N.Munrob,H.Bakic.FastcalculationofstabilizingPIDcontrollersAutomatica.2003,39:121-126
[21]劉衛(wèi)國,陳昭平,張穎.MATLAB程序設(shè)計(jì)與應(yīng)用.第1版.北京:高等教育出
版社2002
[22]Ming-TzuHo,AniruddhaDatta,S.P.Bhattacharyya.GeneralizationsoftheHermite-BiehlerTheorem.LinearAlgebraanditsApplications2003:115-120
[23]高元樓,謝克明,林廷析,陳玉成.一種新型的非線性PID控制器及其應(yīng)用.太原理工大學(xué)學(xué)報(bào).1999,30(3):240-243
[24]楊俊蓮.一種非線性PID調(diào)節(jié)器的設(shè)計(jì)方法.基礎(chǔ)自動(dòng)化.2001,8(2):54-57
[25]王正林,郭陽寬.過程控制與Slinulink應(yīng)用.第1版.北京:電子工業(yè)出版社2006
[26]陳福祥,楊芝雄.PH〕調(diào)節(jié)器自整定的PM法及其公式推導(dǎo).自動(dòng)化學(xué)報(bào).1993,9(6):736-740
[27]徐建明.PID控制器及其設(shè)計(jì)方法研究.浙江工業(yè)大學(xué)碩士論文2006
[28]熊志強(qiáng),王煒,邱祖廉.一種新型PID自整定方法.控制工程.2003,10):134-136
[29]韓京清.非線性PID控制.自動(dòng)化學(xué)報(bào).1994,4(20):487-490
[30]董紅生.PID控制器參數(shù)自動(dòng)整定方法研究.甘肅工業(yè)大學(xué)碩士學(xué)位論文.2003
[31]柴天佑,張貴軍.基于給定的相角裕度和幅值裕度PID參數(shù)自整定新方法.自動(dòng)
化學(xué)報(bào).1997,2(23):167-172
[32]韓京清,王偉.非線性跟蹤一微分器.系統(tǒng)科學(xué)與數(shù)學(xué).1995,2(22):136-139
致謝
在論文完成之際,我要特別感謝我的指導(dǎo)老師王建萍老師的熱情關(guān)懷和悉心指導(dǎo)。在我撰寫論文的過程中,王老師傾注了大量的心血和汗水,無論是在論文的選題、構(gòu)思和資料的收集方面,還是在論文的研究方法以及成文定稿方面,我都得到了王老師悉心細(xì)致的教誨和無私的幫助,特別是她廣博的學(xué)識、深厚的學(xué)術(shù)素養(yǎng)、嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神和一絲不茍的工作作風(fēng)使我終生受益,在此表示真誠地感謝和深深的謝意。
在論文的寫作過程中,也得到了許多同學(xué)的寶貴建議,同時(shí)還到許多在工作過程中許多同事的支持和幫助,在此一并致以誠摯的謝意。
感謝所有關(guān)心、支持、幫助過我的良師益友。
最后,向在百忙中抽出時(shí)間對本文進(jìn)行評審并提出寶貴意見的各位專家表示衷心地感謝!
附錄資料:不需要的可以自行刪除
C語言編程規(guī)范(僅供參考)
1.基本要求
1.1程序結(jié)構(gòu)清析,簡單易懂,單個(gè)函數(shù)的程序行數(shù)不得超過100行。
1.2打算干什么,要簡單,直接了當(dāng),代碼精簡,避免垃圾程序。
1.3盡量使用標(biāo)準(zhǔn)庫函數(shù)和公共函數(shù)。
1.4不要隨意定義全局變量,盡量使用局部變量。
1.5使用括號以避免二義性。
2.可讀性要求
2.1可讀性第一,效率第二。
2.2保持注釋與代碼完全一致。
2.3每個(gè)源程序文件,都有文件頭說明,說明規(guī)格見規(guī)范。
2.4每個(gè)函數(shù),都有函數(shù)頭說明,說明規(guī)格見規(guī)范。
2.5主要變量(結(jié)構(gòu)、聯(lián)合、類或?qū)ο螅┒x或引用時(shí),注釋能反映其含義。
2.7常量定義(DEFINE)有相應(yīng)說明。
2.8處理過程的每個(gè)階段都有相關(guān)注釋說明。
2.9在典型算法前都有注釋。
2.10利用縮進(jìn)來顯示程序的邏輯結(jié)構(gòu),縮進(jìn)量一致并以Tab鍵為單位,定義Tab為6個(gè)
字節(jié)。
2.11循環(huán)、分支層次不要超過五層。
2.12注釋可以與語句在同一行,也可以在上行。
2.13空行和空白字符也是一種特殊注釋。
2.14一目了然的語句不加注釋。
2.15注釋的作用范圍可以為:定義、引用、條件分支以及一段代碼。
2.16注釋行數(shù)(不包括程序頭和函數(shù)頭說明部份)應(yīng)占總行數(shù)的1/5到1/3。
3.結(jié)構(gòu)化要求
3.1禁止出現(xiàn)兩條等價(jià)的支路。
3.2禁止GOTO語句。
3.3用IF語句來強(qiáng)調(diào)只執(zhí)行兩組語句中的一組。禁止ELSEGOTO和ELSERETURN。
3.4用CASE實(shí)現(xiàn)多路分支。
3.5避免從循環(huán)引出多個(gè)出口。
3.6函數(shù)只有一個(gè)出口。
3.7不使用條件賦值語句。
3.8避免不必要的分支。
3.9不要輕易用條件分支去替換邏輯表達(dá)式。
4.正確性與容錯(cuò)性要求
4.1程序首先是正確,其次是優(yōu)美
4.2無法證明你的程序沒有錯(cuò)誤,因此在編寫完一段程序后,應(yīng)先回頭檢查。
4.3改一個(gè)錯(cuò)誤時(shí)可能產(chǎn)生新的錯(cuò)誤,因此在修改前首先考慮對其它程序的影響。
4.4所有變量在調(diào)用前必須被初始化。
4.5對所有的用戶輸入,必須進(jìn)行合法性檢查。
4.6不要比較浮點(diǎn)數(shù)的相等,
如:10.0*0.1==1.0,不可靠
4.7程序與環(huán)境或狀態(tài)發(fā)生關(guān)系時(shí),必須主動(dòng)去處理發(fā)生的意外事件,如文件能否
邏輯鎖定、打印機(jī)是否聯(lián)機(jī)等。
4.8單元測試也是編程的一部份,提交聯(lián)調(diào)測試的程序必須通過單元測試。
5.可重用性要求
5.1重復(fù)使用的完成相對獨(dú)立功能的算法或代碼應(yīng)抽象為公共控件或類。
5.2公共控件或類應(yīng)考慮OO思想,減少外界聯(lián)系,考慮獨(dú)立性或封裝性。
5.3公共控件或類應(yīng)建立使用模板。
附:C++編程規(guī)范,delphi作相應(yīng)的參考
1適用范圍
本標(biāo)準(zhǔn)適用于利用VisulC++,BorlandC++進(jìn)行軟件程序開發(fā)的人員.。
.2變量命名
命名必須具有一定的實(shí)際意義,形式為xAbcFgh,x由變量類型確定,Abc、Fgh表示連續(xù)意
義字符串,如果連續(xù)意義字符串僅兩個(gè),可都大寫.如OK.
具體例程:
BOOL類型bEnable;
ch*charchText
c*類對象cMain(對象實(shí)例)
h*Handle(句柄)hWnd
i*int
n*無符號整型
p*指針
sz,str*字符串
wWORD
x,y坐標(biāo)
Char或者TCHAR類型與WindowsAPI有直接聯(lián)系的用szAppName[10]形式否則用
FileName[10]形式,單個(gè)字符也可用小寫字母表示;
Int類型nCmdShow;
LONG類型lParam;
UINT類型uNotify;
DWORD類型dwStart;
PSTR類型pszTip;
LPSTR類型lpCmdLine
LPTSTR類型lpszClassName;
LPVOID類型lpReserved
WPARAM類型wParam,
LPARAM類型lParam
HWND類型hDlg;
HDC類型hDC;
HINSTANCE類型hInstance
HANDLE類型hInstance,
HICON類型hIcon;
intiTmp
floatfTmp
DWORDdw*
String,AnsiStringstr*
m_類成員變量m_nVal,m_bFlag
g_全局變量g_nMsg,g_bFlag
局部變量中可采用如下幾個(gè)通用變量:nTemp,nResult,I,J(一般用于循環(huán)變量)。
其他資源句柄同上
.3常量命名和宏定義
常量和宏定義必須具有一定的實(shí)際意義;
常量和宏定義在#include和函數(shù)定義之間;
常量和宏定義必須全部以大寫字母來撰寫,中間可根據(jù)意義的連續(xù)性用下劃線連接,每一
條定義的右側(cè)必須有一簡單的注釋,說明其作用;
資源名字定義格式:
菜單:IDM_XX或者CM_XX
位圖:IDB_XX
對話框:IDD_XX
字符串:IDS_XX
DLGINIT:DIALOG_XX
ICON:IDR_XX
.4函數(shù)命名
函數(shù)原型說明包括引用外來函數(shù)及內(nèi)部函數(shù),外部引用必須在右側(cè)注明函數(shù)來源:模
塊名及文件名,如是內(nèi)部函數(shù),只要注釋其定義文件名;
第一個(gè)字母必須使用大寫字母,要求用大小寫字母組合規(guī)范函數(shù)命名,必要時(shí)可用下劃線
間隔,示例如下:
voidUpdateDB_Tfgd(TRACK_NAME);file://ModuleName:r01/sdw.c
voidPrintTrackData(TRACK_NAME);file://ModuleName:r04/tern.c
voidImportantPoint(void);file://ModuleName:r01/sdw.c
voidShowChar(int,int,chtype);file://LocalModule
voidScrollUp_V(int,int);file://LocalModule
.5結(jié)構(gòu)體命名
結(jié)構(gòu)體類型命名必須全部用大寫字母,原則上前面以下劃線開始;結(jié)構(gòu)體變量命名必須用
大小寫字母組合,第一個(gè)字母必須使用大寫字母,必要時(shí)可用下劃線間隔。對于私有數(shù)
據(jù)區(qū),必須注明其所屬的進(jìn)程。全局?jǐn)?shù)據(jù)定義只需注意其用途。
示例如下:
typedefstruct
{
charszProductName[20];
charszAuthor[20];
charszReleaseDate[16];
charszVersion[10];
unsignedlongMaxTables;
unsignedlongUsedTables;
}DBS_DATABASE;
DBS_DATABASEGdataBase;
6控件的命名:
用小寫前綴表示類別
用小寫前綴表示類別:
fm窗口
cmd按鈕
cobcombo,下拉式列表框
txt文本輸入框
lablabal,標(biāo)簽
imgimage,圖象
picpicture
grdGrid,網(wǎng)格
scr滾動(dòng)條
lst列表框
frmfram
7注釋
原則上注釋要求使用中文;
文件開始注釋內(nèi)容包括:公司名稱、版權(quán)、作者名稱、時(shí)間、模塊用途、背景介紹等,復(fù)
雜的算法需要加上流程說明;
函數(shù)注釋包括:輸入、輸出、函數(shù)描述、流程處理、全局變量、調(diào)用樣例等,復(fù)雜的函數(shù)
需要加上變量用途說明;
程序中注釋包括:修改時(shí)間和作者、方便理解的注釋等;
引用一:文件開頭的注釋模板
/******************************************************************
**文件名:
**Copyright(c)1998-1999*********公司技術(shù)開發(fā)部
**創(chuàng)建人:
**日期:
**修改人:
**日期:
**描述:
**
**版本:
**
******************************************************************/
引用二:函數(shù)開頭的注釋模板
/*****************************************************************
**函數(shù)名:
**輸入:a,b,c
**a
**b
**c
**輸出:x
**x為1,表示...
**x為0,表示...
**功能描述:
**全局變量:
**調(diào)用模塊:
**作者:
**日期:
**修改:
**日期:
**版本
****************************************************************/
引用三:程序中的注釋模板
/**/
/*注釋內(nèi)容*/
/**/
8程序
a.程序編碼力求簡潔,結(jié)構(gòu)清晰,避免太多的分支結(jié)構(gòu)及太過于技巧性的程序,
盡量不采用遞歸模式。
b.編寫程序時(shí),亦必須想好測試的方法,換句話說,”單元測試”的測試方案應(yīng)
在程序編寫時(shí)一并擬好。
c.注釋一定要與程序一致。
d.版本封存以后的修改一定要將老語句用/**/封閉,不能自行刪除或修改,并要
在文件及函數(shù)的修改記錄中加以記錄。
e.程序中每個(gè)block的開頭”{"及"}”必須對齊,嵌套的block每進(jìn)一套,
縮進(jìn)一個(gè)tab,TAB為4個(gè)空格,block類型包括if、for、while、do等關(guān)鍵字引出的。
f.對于比較大的函數(shù),每個(gè)block和特殊的函數(shù)調(diào)用,都必須注明其功能,舉例如下
:
count.divisor=1193280/freq;//computethepropercount
OutByte((unsignedshort)67,(unsignedchar)182);//tell8253thata
countiscoming
OutByte((unsignedshort)66,count.c[0]);//sendlow-orderbyte
OutByte((unsignedshort)66,count.c[1]);//sendhigh-orderbyte
×××××××××××××××××××××××××××××××××××××××
bcb,delphi中的變量命名:
遵循匈牙利命名法,命
名必須有意義,制定如下規(guī)定
窗體:以大寫的W開始,如About版權(quán)窗體,命名為WAbout
文件:以大寫的F開始,如About版權(quán)窗體,文件命名為FAbout.cpp
按鈕(Button):如退出按鈕,命名為btnExit
……
基類:加base標(biāo)記,如報(bào)表基類,窗體命名為:WBaseRep,文件命名為FBaseRep.cpp
轉(zhuǎn)貼
>1.在.h/.cpp的開頭應(yīng)有一段格式統(tǒng)一的說明,內(nèi)容包括:
>a.文件名(FileName);
>b.創(chuàng)建人(Creater);
>c.文件創(chuàng)建時(shí)間(Date);
>d.簡短說明文件功能、用途(Comment)。
好習(xí)慣
>2.除非極其簡單,否則對函數(shù)應(yīng)有注釋說明。內(nèi)容包括:功能、入口/出口參數(shù),必
要
>時(shí)還可有備注或補(bǔ)充說明。
還是好習(xí)慣
>3.每列代碼的長度推薦為80列,最長不得超過120列;折行以對齊為準(zhǔn)。
太寬了,我的限制是60列,因?yàn)槲谋痉绞较缕聊灰还?0列,如果你用BC這一類的編輯
器,窗口邊框等又要占據(jù)一定空間,所以80列太寬
>4.循環(huán)、分支代碼,判斷條件與執(zhí)行代碼不得在同一行上。
很對
>5.指針的定義,*號既可以緊接類型,也可以在變量名之前。
>
>例:可寫做:int*pnsize;
>
>也可寫做:int*pnsize;
>
>但不得寫做:int*pnsize;
建議采用第二種,除非附加另外一條規(guī)定:一次只聲明一個(gè)變量,否則就會(huì)讓人混淆,
比如:
int*a,b;
看起來b好像也是個(gè)指針,其實(shí)不是。
>6.在類的成員函數(shù)內(nèi)調(diào)用非成員函數(shù)時(shí),在非成員函數(shù)名前必須加上"::"。
這一條我倒覺得并不是必需的,我的看法是決不要讓你的類成員函數(shù)和全局函數(shù)的名稱
相同(或類似)
>7.函數(shù)入口參數(shù)有缺省值時(shí),應(yīng)注釋說明。
>
>例:BOOLCWpsDib::PaintDIB(CDC*pDC,CRect&rc,
>intnBrightness,file://*=0*//
>BOOLbGrayScalefile://*=FALSE*//)
每個(gè)變量寫一行,必要時(shí)加上/*in,out*/注釋
>8.elseif必須寫在一行。
應(yīng)該盡量避免elseif這樣的結(jié)構(gòu)
>9.與‘{’、‘}’有關(guān)的各項(xiàng)規(guī)定:
>
>9.1‘{’、‘}’應(yīng)獨(dú)占一行。在該行內(nèi)可有注釋。
>9.2‘{’必須另起一行,‘{’之后的代碼必須縮進(jìn)一個(gè)T
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年餐廳主管筆試餐廳員工獎(jiǎng)懲制度制定與執(zhí)行實(shí)務(wù)練習(xí)題及答案
- 2026年高危行業(yè)安全生產(chǎn)管理制度考核實(shí)施重難點(diǎn)辦法及解析
- 護(hù)肝知識科普
- 人工智能A股投資機(jī)會(huì)與風(fēng)險(xiǎn)
- 企業(yè)網(wǎng)絡(luò)安全防護(hù)技術(shù)產(chǎn)業(yè)生態(tài)建設(shè)指南
- 2026年口腔醫(yī)療管理公司員工晉升與調(diào)崗管理制度
- 軟環(huán)境集中整治活動(dòng)整改方案
- 2026年劇本殺運(yùn)營公司品牌故事傳播管理制度
- 環(huán)保包裝設(shè)備生產(chǎn)項(xiàng)目2025年智能化環(huán)保包裝機(jī)械技術(shù)創(chuàng)新可行性分析報(bào)告
- 2026年教育行業(yè)智慧校園建設(shè)報(bào)告
- 代建工程安全管理
- 華潤燃?xì)夤芾砟芰y評題庫及答案詳解
- 吳江三小英語題目及答案
- 供水管道搶修知識培訓(xùn)課件
- 司法警察協(xié)助執(zhí)行課件
- 廣東物業(yè)管理辦法
- 業(yè)務(wù)規(guī)劃方案(3篇)
- 雙向晉升通道管理辦法
- 集團(tuán)債權(quán)訴訟管理辦法
- 上海物業(yè)消防改造方案
- 鋼結(jié)構(gòu)施工進(jìn)度計(jì)劃及措施
評論
0/150
提交評論