畢業設計基于SIEMENS S7300PLC的鍋爐內膽水溫前饋反饋控制系統軟件設計_第1頁
畢業設計基于SIEMENS S7300PLC的鍋爐內膽水溫前饋反饋控制系統軟件設計_第2頁
畢業設計基于SIEMENS S7300PLC的鍋爐內膽水溫前饋反饋控制系統軟件設計_第3頁
畢業設計基于SIEMENS S7300PLC的鍋爐內膽水溫前饋反饋控制系統軟件設計_第4頁
畢業設計基于SIEMENS S7300PLC的鍋爐內膽水溫前饋反饋控制系統軟件設計_第5頁
已閱讀5頁,還剩22頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 本科生畢業設計(論文) 學院(系):電子系與電氣工程系專 業: 自動化 學 生: 指導教師: 完成日期 2012年 5 月 本科生畢業設計(論文)基于siemens s7-300plc的鍋爐流量-溫度 前饋-反饋控制系統設計 control system design of feedforward and feedback for boiler water flow-temperature controlling based on siemens s7-300 plc 總計: 22 頁表 格: 1 個插 圖 : 20 幅 本 科 畢 業 設 計(論文)基于siemens s7-300plc的

2、鍋爐流量-溫度 前饋-反饋控制系統軟件設計control system design of feedforward and feedback for boiler water flow-temperature controlling based on siemens s7-300 plc 學 院 (系): 電子與電氣工程系 專 業: 自動化 學 生 姓 名: 學 號: 104091020006 指 導 教 師(職稱): (副教授) 評 閱 教 師: 完 成 日 期: 南陽理工學院nanyang institute of technology基于siemens s7-300plc的鍋爐流量-溫度

3、前饋-反饋 控制系統設計自動化專業 摘 要:在鍋爐內膽水溫度控制中,水的溫度為控制對象,其本身具有較大的滯后。由于外膽冷卻水是循環的,因此一點少量的流量擾動即會對內膽溫度產生影響。流量擾動在設計中被默認為可測不可控的。正因為流量擾動的這個特性我們可以用前饋補償來消除它的影響。溫度控制我們用一個pid控制器來控制。在程序設計中pid控制器和前饋補償用siemens s7-300 plc中的fb41模塊來實現。再通過fb43將fb41的輸出轉換成時間比例脈沖從而控制加熱絲,實現溫度前饋反饋控制。關鍵詞:過程控制;前饋反饋控制;西門子可編程控制器control system design of fe

4、edforward and feedback for boiler water flow-temperature controlling based on siemens s7-300 plcabstract: in the boiler water temperature control, water temperature is the object of control that have a largar lag. due to the cooling water is circulated,so that a small amount of flow disturbances tha

5、t have an impact on the temperature. the flow disturbance in the design is observability and no controllability. because of the characteristics of flow disturbance, we can use the feed-forward equalization to eliminate its impact. we use a pid controller to control the temperature.in the programmer

6、design,the pid controller and feedforward equalization achieve with the module fb41 of siemens s7-300 plc. through the output of the fb41,the fb43 will convert it into pulses to control the heating wire,in order to achieve the feedforward and feedback control of temperature.key words: process contro

7、l;feedforward and feedback control;siemens s7-300 plc目 錄1引言12任務分析及控制方案的選擇12.1前饋控制系統12.2前饋反饋控制系統32.3鍋爐內膽水溫前饋反饋控制系統分析及控制方案選擇33控制算法實現基礎s7-300plc系統說明及組態43.1plc介紹43.2s7-300plc說明53.2.1s7-300plc基本介紹53.2.2s7-300 模塊說明53.2.3s7-300組織塊說明73.2.4s7-300功能塊說明73.2.5s7-300系統存儲區分類93.2.6i/o模塊的地址分配93.2.7step7簡介103.2.8力控組

8、態軟件簡介104鍋爐內膽水溫前饋反饋控制系統的實現104.1模擬量信號采集104.2s7-300plc程序的實現104.2.1s7-300plc硬件組態104.2.2s7-300plc主程序的實現114.2.3p、i、d參數整定17結束語20參考文獻21致謝.221 引言在經濟科技日益進化的今天自動生產代替單純的手工勞動已是不可逆轉的歷史潮流,于是過程控制這門課程被提上日程在經濟科技日益進化的今天自動生產代替人工已是不可逆轉的歷史潮流過程控制被提上日程。在化工過程控制中溫度控制應用相當廣泛。往往在控制中還存在著多種擾動,例如流量、液位等。溫度控制作為過程控制中的一個很重要的方面,由于其特殊性一

9、直以來都是一個控制難點。溫度控制具有很大的滯后性,在控制中難以得到理想的效果。再加上各種擾動,溫度控制已經不能光靠簡單的pid控制達到目標。在這種情況下我們往往就需要借助別的控制方式。前饋控制做為一種特殊的控制規律就是在這種情況下發展起來的。前饋控制是在擾動影響到被控對象前就將其通過補償消除掉。因此在這次設計中我們用前饋控制方式來克服流量的擾動使得溫度控制精度更加精確。前饋控制等控制算法我們往往用plc來實現。plc是一種專門為在工業環境下應用而設計的數字運算操作的電子裝置。它采用可以編制程序的存儲器,用來在其內部存儲執行邏輯運算、順序運算、計時、計數和算術運算等操作的指令,并能通過數字式或模

10、擬式的輸入和輸出,控制各種類型的機械或生產過程。本次設計綜合和運用計算機、plc、溫度傳感器、流量傳感器等對工業對象的夾套鍋爐、管道進行控制,運用計算機編程、plc編程、控制算法設計、過程控制、工業現場總線技術、電氣線路設計等知識和技術實現前饋反饋控制。首先由變頻器、泵、壓力傳感器組成恒壓供水系統,再由兩個調節閥控制兩個支路分別給鍋爐的夾套和內膽供水,由plc編程、加熱器、溫度傳感器組成鍋爐內膽水溫反饋加熱系統,流量傳感器、plc、加熱絲組成前饋補償系統,從而組成前饋反饋控制系統。2 任務分析及控制方案的選擇2.1 前饋控制系統我們把按照干擾量的變化來補償其對被控變量的影響,從而達到被控量完全

11、不受干擾影響的控制方式稱為前饋控制,簡稱ffc(feed forward control)。很顯然,這種控制是一種開環控制。其系統框圖如圖1所示。圖1前饋控制系統框圖系統傳遞函數如公式(1) (1)式中gpd(s)、gpc(s)分別為對象干擾通道與控制通道的傳遞函數。系統對干擾f實現完全補償的條件是:當f(s)0,而0由上兩式可求得前饋控制器的傳遞函數為公式(2) (2) 由上式可以看出前饋控制器的控制規律為對象的干擾通道與控制通道的特性比,式中的負號表示控制作用與干擾作用的方向相反。單純的前饋控制系統根據對干擾補償的特點,可分為動態前饋控制及靜態前饋控制。 (1)動態前饋控制當前饋控制作用力

12、求在任何時刻均實現對干擾的補償,通過合適的前饋控制規律的選擇,使得干擾經過前饋控制器至被控量這一通道的動態特性與對象干擾通道的動態特性完全一致,并使它們的符號相反,便可達到控制作用完全補償干擾對被控變量的影響。此時前饋控制器的gff(s)=gpd(s)gpc(s)。 (2)靜態前饋控制在有些實際生產過程中,并沒有動態前饋控制那樣高的補償要求,而只需要在穩定工況下實現對干擾量的補償。此時,前饋控制器的輸出量與輸入兩呈一定比例關系,而與時間因子t無關,前饋控制就成為靜態前饋控制。則此時的gff為一靜態系數kf。以下列出前饋控制與反饋控制的一些不同: (1)前饋控制克服干擾比反饋控制及時。前饋控制時

13、按照干擾作用的大小進行控制的,如控制作用恰到好處,一般比反饋控制要及時。 (2)前饋控制屬于“開環”控制系統。前饋控制系統是一個開環控制系統,這一點從某種意義上來說是前饋的不足之處。反饋控制由于是閉環系統,控制結果能夠通過反饋獲得檢驗,而前饋控制的效果并不通過反饋加以檢驗,因此前饋控制對被控對象的特性掌握必須比反饋控制清楚,才能得到一個較合適的前饋控制作用。 (3)前饋控制使用的是對象特性而定的“專用”控制器。一般的反饋控制系統均采用通用類型的pid控制器,而前饋控制器是專用的控制器,對于不同的對象特性,前饋控制器的形式將是不同的。 (4)一種前饋控制作用只能克服一種干擾。由于前饋控制作用是按

14、干擾進行工作的,而且整個系統是開環的,因此根據一種干擾設置的前饋控制只能克服這一干擾,而對于其他干擾,由于這個前饋控制器無法感受到,也就無能為力了。而反饋控制只能用一個控制回路就可克服多個干擾,所以說這一點也是前饋控制系統的一個弱點。2.2 前饋反饋控制系統單純的前饋往往不能很好的補償干擾,存在著不少局限性,主要是單純前饋不存在被控變量的反饋,即對于補償的效果沒有檢驗的手段。這樣在前饋作用的控制結果并沒有最后消除被控變量偏差時,系統無法得到這一信息而做進一步的校正。其次,由于實際工業對象存在著多個干擾,為了補償他們對被控變量的影響,勢必要設計多個前饋通道,這就增加了投資費用和維護工作量。因此,

15、一個固定的前饋模型難以獲得良好的控制品質。為了解決這一局限性,使得我們的控制系統能達到控制要求,可以將前饋與反饋結合起來使用,構成所謂前饋反饋控制系統。在該系統中可綜合兩者的優點,將反饋控制不易克服的主要干擾進行反饋控制,這樣,既發揮了前饋校正及時的特點,又保持了反饋控制能克服多種干擾并對被控變量始終給與檢驗的優點,因而這種控制方式是過程控制中較有發展前途的控制方式。綜上所述,前饋反饋控制系統的有點在于: (1)由于增加了反饋控制回路,大大簡化了原有前饋控制系統。只需對主要的干擾進行前饋補償,其他干擾可由反饋控制予以校正。 (2)反饋回路的存在,降低了前饋控制模型的精度要求,為工程上實現比較簡

16、單的通用型模型創造了條件。 (3)負荷或工況變化時,模型特性也要變化,可由反饋控制加以補償,因此具有一定的自適應能力。2.3 鍋爐內膽水溫前饋反饋控制系統分析及控制方案選擇本次設計針對的是鍋爐內膽水溫的控制。在設計中我們需要在內膽內注滿水,水的溫度做為我們的控制對象。鍋爐外膽的循環水做為冷卻水,并且使冷卻水流量做為一個主要擾動信號,用前饋控制器來補償其對對象的影響。在以往的實驗中我們發現溫度對象的控制滯后比較大。并且由于實驗條件有限外膽冷卻水也不能保證溫度恒定不變,所以我們在設計系統時也可以使內膽水流動保持一個動態平衡。這樣使得對象的熱慣性減小并使控制的滯后更小。很明顯,在這個系統中外膽流量的

17、變化將做為系統的主要擾動。我們默認為它是可測而不可控的,因此為了在流量擾動影響到內膽溫度之前就將其消除就可以采取前饋補償。而整個溫度控制我們直接可以做成一個溫度單回路系統。前饋反饋控制環節可由電磁流量傳感器、計算機、接觸器、加熱器、組成前饋補償系統,計算機、接觸器、加熱器、溫度傳感器組成反饋加熱系統,即主要由計算機、接觸器、加熱器、電磁流量傳感器、溫度傳感器組成前饋反饋控制系統。圖2為前饋反饋控制系統方框圖。圖2 前饋反饋控制框圖其中前饋補償和pid控制都由s7-300plc編程實現。由于對系統控制補償要求不高,同時溫度對象的傳遞函數難以求得,所以在實現前饋補償時我們用的是靜態前饋補償。3 控

18、制算法實現基礎s7-300plc系統說明及組態3.1 plc介紹plc即可編程控制器,英文全稱是programmable logic controller。是一種數字運算操作的電子系統,專為在工業環境應用而設計的。它采用一類可編程的存儲器,用于其內部存儲程序,執行邏輯運算,順序控制,定時,計數與算術操作等面向用戶的指令,并通過數字或模擬式輸入/輸出控制各種類型的機械或生產過程.plc是可編程邏輯電路,也是一種和硬件結合很緊密的語言。模塊式plc由:cpu模塊、信號模塊、功能模塊、接口模塊、通信處理器、電源模塊、編程設備等幾個部分組成。3.2 s7-300plc說明3.2.1 s7-300plc

19、基本介紹本次設計我們用的是德國西門子公司的s7-300 plc。西門子的plc以極高的性能價格比,在國際、國內市場占有很大的份額,在我國的各行各業得到了廣泛的應用。s7-300/400屬于模塊式plc,主要由機架、cpu模塊、信號模塊(sm)、功能模塊(fm)、接口模塊(im)、通信處理器(cp)、電源模塊(ps)和編程設備組成。3.2.2 s7-300 模塊說明本次設計主要是涉及到溫度、流量等模擬信號的采集,因此主要用到的是西門子的sm331和sm332模塊。西門子的sm331和sm332模塊有很多的型號,在選擇時要考慮到需要用到的模擬量通道的數量,模擬量采集需要的精度等一系列因素。但是因為

20、本次設計所用到的設備是往年已經準備好的所以這些我們不需要考慮。這次設計用到的sm331模塊訂貨號為:6es7 331-7rd00-0ab0。這個模塊有4路模擬量輸入通道。可以接收020ma和420ma的電流信號,精度為15位。所用到的sm332模塊訂貨號為:6es7 332-5hd01-0ab0。這個模塊有4路模擬量輸出通道。可以輸出020ma和420ma的電流信號,精度為12位。 (1) sm331介紹模擬量輸入模塊用于將模擬信號轉換為cpu內部處理用的數字信號,其主要組成部分是a/d轉換器。模擬量輸入模塊的輸入信號一般是模擬量變送器輸出的標準量程的直流電壓、直流電流信號。為了防止電磁干擾,

21、模擬量模塊可以分為帶隔離和不帶隔離的。在設置模擬量輸入模塊時先要從硬件上設置各個通道對應的量程卡。然后在組態時在屬性對話框內設置測量范圍和型號。圖3為sm331屬性設置。模擬量輸入/輸出模塊中模擬量對應的數字稱為模擬值,模擬值用16位二進制補碼(整數)來表示。模擬量輸入模塊的模擬值與以百分數表示的模擬量之間的對應關系為雙極性模擬量量程(100%到-100%)分別對應于模擬值27648到-27648。單極性對應于0到27648。(2)sm332介紹模擬量輸出模塊sm332用于將cpu傳送給它的數字轉換為成比例的電流信號或電壓信號,對執行機構進行調節或控制,其主要組成部分是d/a轉換器。在模擬量輸

22、出組態時也需要選擇輸出類型和范圍,如果不選擇正確會使得執行器出現一些與控制信號不符的錯誤。如圖4所示在輸出類型和輸出范圍兩個選項上應該對應執行器選擇。例如我們設計中用到的調節閥應該用電流型420ma電流信號在選擇時應該按圖4所示來選擇,否則會出現執行器輸入信號錯誤從而影響控制系統運行。圖4為sm332屬性設置。圖3 sm331屬性設置圖4 sm332屬性設置3.2.3 s7-300組織塊說明在設計中我們主要用到兩個組織塊:ob1和ob35。ob1用于循環處理,是用戶程序中的主程序。操作系統在每一次循環中運行一次ob1。ob35是定時循環中斷組織塊,在cpu屬性設置中可以設置它的中斷周期如圖5所

23、示。圖5 cpu屬性設置3.2.4 s7-300功能塊說明 這次設計中需要用到pid調節功能以及控制加熱絲,即pid的輸出要控制開關量。因此我們需要用到fb41和fb43模塊。s7-300的模擬量閉環控制功能主要涉及到fb41、fb42、fb43三個功能塊。其中fb41用于連續控制,fb42用于步進控制,fb43用于脈沖寬度調制。 (1)fb41模塊說明。fb41模塊的輸出為連續變量。可以作為單獨的pid恒值控制器,或者在多閉環控制中實現級聯控制、混合控制器和比例控制器。控制器的功能基于模擬信號采樣控制器的pid控制算法,如果需要的話,fb41可以用脈沖發生器fb43進行擴展(本次設計就用到f

24、b43做為擴展),產生脈沖寬度調制的輸出信號,來控制比例執行機構的二級或三級控制器。下面簡單介紹一下fb41的幾個常用參數。man_on:為1時控制循環將被中斷,手動值被設置為操作值。pv_in:輸入浮點格式的過程變量,此時數字量輸入pvper_on應為0。sp_int:內部設定值輸入,取值范圍100.0%或物理值。p_sel:為1時激活比例作用,反之禁止比例作用,默認值為1。i_sel:為1時激活積分作用,反之禁止積分作用,默認值為1。d_sel:為1時激活微分作用,反之禁止微分作用,默認值為1。disv:擾動輸入變量。lmn:浮點格式的控制器輸出值。lmn_hlm:控制器輸出上限值。lmn

25、_llm:控制器輸出下限值。 (2)fb43模塊說明。fb43模塊為一個脈沖發生器通常與pid控制器配合使用,用脈沖輸出來控制比例執行機構。該功能一般與連續控制器fb41一起使用,fb43可以構建脈沖寬度調制的二級或三級pid控制。fb43通過調制脈沖寬度,將輸入變量inv(即pid控制器的輸出量lmn)轉換為具有恒定周期的脈沖序列,該恒定周期時間per_tm來設置,per_tm應與cont_c的采樣周期cycle相同。在這個模塊中涉及到一個“采樣比率”的問題,這個通過修改p_b_tm來設置采樣比。在per_tm周期內的p_b_tm越小則采樣頻率越高,即控制精度越高。下面介紹fb43幾個常用的

26、參數:man_on:手動模式打開,可以手動設置輸出信號。inv:輸入變量,即fb41輸出的模擬量控制值lmn。per_tm:周期時間,脈沖寬度調制的恒定周期,對應于pid控制器的采樣時間。p_b_tm:最小脈沖時間或最小斷開時間,應不小于參數cycle。cycle:采樣時間,規定了相鄰兩次塊調用之間間隔的時間。 (3)fc105,fc106功能的介紹。在處理模擬量時,從變送器送過來的模擬信號經過sm331轉換成027648之間的數值。但是fb41處理這些數值之前需要經過一個量程轉換將027648的數值轉換成一個浮點數方能輸入fb41進行處理。在處理后的數值輸出給sm332之前也要經過一個變換。

27、在step7中我們可以用fc105和fc106來實現上述功能。下面介紹一下這兩個塊的幾個重要參數:in:輸入參數,fc105可以是piw,也可以是整數格式的存儲單元。fc106的可以是pid運算的輸出,也可以是浮點數格式的存儲單元。hi_lim:輸入參數,實數,工程單位量程上限。lo_lim:輸入參數,實數,工程單位量程下限。bipolar:bool量,輸入值為0表示單極性,為1表示雙極性。ret_val:輸出參數,返回值。如果框中功能執行正常,輸出值為0,反之為1.out:輸出參數,fc105的為浮點數,輸出工程單位實數值。fc106的為整數,可直 接傳送至pqw中。當然,除去用以上兩個模塊

28、外,我們也可以通過編程來實現量程之間的變換。但為了方便起見我們在這次設計中直接用fc105和fc106直接運算。3.2.5 s7-300系統存儲區分類s7-300系統存儲區可分為一下幾類。(1)過程映像輸入/輸出(i/q)。過程映像輸入在用戶程序中的標識符為i,過程映像輸出在用戶程序中的標識符為q。在每次執行ob1掃描循環程序之前,cpu將輸入模塊的輸入輸入數值復制到過程映像輸入表中。在程序循環掃描過程中,將程序運算得到的輸出值寫入過程映像輸出表。在下一ob1循環掃描開始時,cpu將這些數值傳送到輸出模塊。(2)內部存儲器標志位(m)存儲器。內部存儲器標志位用來保存控制邏輯的中間操作狀態或其他

29、控制信息。(3)定時器(t)存儲器區。 定時器相當于繼電器系統的時間繼電器。給定時器分配的字用于存儲時間基準和時間值(0999)。時間值可以用二進制或bcd碼方式讀取。(4)計數器(c)存儲器區。計數器用來累計其計數脈沖上升沿的次數,有加計數器、減計數器和加減計數器。給計數器分配的字用于存儲計數當前值(0999)。計數值可以用二進制或bcd碼方式讀取。(5)數據塊(db)與背景數據塊(di)。 db為數據塊,dbx是數據塊中的數據位,dbb、dbw和dbd分別是數據塊中的數據字節、數據字和數據雙字。(6)外設i/o區(pi/pq)。外設輸入(pi)和外設輸出(pq)區允許直接訪問本地的和分布式

30、的輸入輸出模塊。可以按字節(pib或pqb)、字(piw或pqw)或雙字(pid或pqd)訪問,不能以位為單位訪問pi和pq。低端的s7-300cpu的過程映像輸入、輸出區分別只有128b,如果組態的模塊地址超出這一范圍,可以通過外設輸入區來訪問。3.2.6 i/o模塊的地址分配s7-300的數字量(或稱開關量)地址標識符、地址的字節部分和位部分組成,一個字節由07這8個位組成。地址標識符i表示輸入,q表示輸出,m表示位存儲器。例如i3.2是一個數字量輸入的地址,小數點前面的3是地址的字節部分,小數點后面的2表示這個輸入點是3號字節中的第2位。數字量出來按位尋址外,還可以按字節、字和雙字尋址。

31、表1為i/o模塊的起始地址字節地址。表1 i/o分配表機架號模塊類型槽號45678910110數字量034781112151619202324272831模擬量2562712722872883033043193203353363513523673683831數字量32353639404344474851525556596063模擬量3843994004154164314324474484634644794804954965112數字量64676871727576798083848788919295模擬量5125275285435445595605755765915926076086236246

32、393數字量9699100103104107108111112115116119120123124127模擬量6406556566716726876887037047197207357367517527673.2.7 step7簡介西門子step7是用于simatic s7-300/400站創建可編程邏輯控制程序的標準軟件,可使用梯形圖邏輯、功能塊圖和語句表進行編程操作。在使用step7給plc下程序時要先設置好pc/pg接口。3.2.8 力控forcecontrol 6.1簡介力控forcecontrol 6.1是使用最新的32位技術的過程監視系統,具有良好的開放性和靈活性。做為一款組態軟件

33、,我們在這次設計中將用它來監控控制系統,并得到實時曲線。4 鍋爐內膽水溫前饋反饋控制系統的實現4.1 模擬量信號采集在設計中我們需要采集的模擬量信號有內膽水溫度和外膽冷去水的流量信號。溫度傳感采集的溫度模擬信號經過變送器變送成420ma的電流信號送入s7-300plc的sm331模塊。同樣流量信號也轉換成420ma的電流信號送入s7-300plc的sm331模塊。4.2 s7-300plc程序的實現4.2.1 s7-300plc硬件組態本次設計使用s7-300plc來實現前饋反饋控制。因此這次設計的重點就在與用對s7-300plc的編程來實現前饋反饋控制算法。在設計程序之前我們首先插入sima

34、tic300站點,并對s7-300plc進行硬件組態。將電源模塊,cpu,數字量通訊模塊,模擬量通訊模塊等添加到導軌上。需要注意的是在選擇各個模塊時要注意訂貨號與實物保持一致,否則在下載時會提示出錯。組態如圖6所示。 圖6 s7-300plc硬件組態示意圖由于實驗室沒有用到im模塊,因此第三個槽位 在組態時要將其空出。4.2.2 s7-300plc主程序的實現在編寫程序之前我們先設計一個程序流程圖使得我們的思路更加清晰一些。圖7為ob1主程序控制ob35中的pid控制算法是否運行。圖8為ob35中斷程序。圖7 主程序圖8 ob35定時中斷程序由于本次設計沒有涉及到復雜的數字量處理,而主要的pi

35、d算法實現在ob35定時中斷組織塊里實現,所以在ob1中只需要實現一個控制pid算法是否運行的程序就可以了。程序如圖9圖9 ob1主程序用一個起保停控制電路控制pid控制器。我們在ob35中編寫pid控制程序。在模擬信號進入sm331后,經過其轉換將420ma的模擬信號轉換為027648的整數。需要注意的是,027648是整數不是浮點數,在系統存儲器中是用一個字來存儲。因此經過sm331轉換后是存儲在piw里。如圖10和圖11所示。圖10引入流量信號圖11 引入溫度信號我們將流量信號經sm331的第4個點引入,溫度信號由第3個點引入。由表1可知兩個信號的地址分別為piw294和piw292。而

36、經過fc105轉換后的數值為浮點數,需要用一個雙字來存放。因此轉換后的值分別存放在md20和md24中。接下來我們要做的是實現對流量擾動的前饋補償。首先我們設前饋補償系數kf為1.而在引入前饋補償時要加上一個負號,所以在程序中為-1,如圖12所示。圖12 靜態前饋補償系數接著我們通過運算得到流量的變化量即流量擾動,如圖13所示。圖13流量變化量將md20中存放的流量值減去md32中存放的上一次檢測值即得到流量變化量。并且將md20的值存放到md32中為下次運算做準備,如圖14所示。圖14 流量補償運算將所求得的流量擾動乘以前饋補償系數并存儲在md12中。在編程中我們應該注意使用數學函數時不能將

37、雙精度整數和浮點數搞混,以免發生數值輸出上的錯誤。因為雙精度整數和浮點數都是以雙字的型式存儲。然后我們要編寫pid控制器,并引入前饋擾動。在這里我們需要用到pid運算控制塊fb41,如圖15所示圖15 pid控制和實現前饋補償fb41中由md24輸入做為溫度當前值pv,md12為前饋補償的引入,md28做為pid運算的輸出這個輸出為0100的浮點數。接下來我們要將fb41的輸出接入脈沖發生器fb43轉換成脈沖序列控制繼電器的通斷。繼電器通斷控制接觸器,從而通過接觸器控制加熱絲的通斷。圖16為fb43功能塊。圖16 脈沖發生器md28為fb43的輸入,q4.2為fb43的輸出。在程序中fb41和

38、fb43的各個參數在db41和db43中設置。db41和db43作為兩個數據塊伴隨著fb41和fb43生成。在db41和db43中每個變量都有各自在數據塊存儲區的地址,如dbb、dbw、dbd等。根據這些個地址我們在組態軟件中也可以通過這些地址檢測到控制過程中各個值得變化情況。圖17為db43中的主要設置。首先將man_on設置為false避免手動輸出。由于只是控制加熱絲的通斷,所以我們只需要用到單極性兩級控制,將man_on,step3_on,st2bi_on設置為false即可。并通過設置p_b_tm為10ms使得在1s內(per_tm設置為1s)調用fb43100次,即控制精度為1%。圖

39、17 db43塊圖18為db41的設置。同樣首先將man_on設置為false。再將p_sel,i_sel設置為true使fb41成為一個pid控制器。因為我們設定的溫度控制值為50,所以將sp_int設定為50.0。這樣s7-300 plc的主要程序就已基本完成了。接下來的工作就是調試p、i、d三個參數使得系統打達到制要求。圖18 db41塊4.2.3 p、i、d參數整定在說到p、i器參數整定的方法很多,概括起來有兩大類:一是理論計算整定法。它主要是依據系統的數學模型,經過理論計算確定控制器參數。這種方法所得到的計算數據未必可以直接用,還必須通過工程實際進行調整和修改。二是工程整定方法,它主

40、要依賴工程經驗,直接在控制系統的試驗中進行,且方法簡單、易于掌握,在工程實際中被廣泛采用。pid控制器參數的工程整定方法,主要有臨界比例法、反應曲線法和衰減法。二種方法各有其特點,其共同點都是通過試驗,然后按照工程經驗公式對控制器參數進行整定。但無論采用哪一種方法所得到的控制器參數,都需要在實際運行中進行最后調整與完善。在實際調試中,只能先大致設定一個經驗值,然后根據調節效果修改。對于溫度系統:p 20-60, i(分)3-10,d(分)0.5-3對于流量系統:p 40-100,i(分)0.1-1對于壓力系統:p 30-70, i(分)0.4-3對于液位系統:p 20-80, i(分)15pi

41、d參數的調整經驗為:(1)對于比例控制來說,將比例度調到比較大的位置,逐步減小以得到滿意的曲線。(2)對于比例積分來說,先將積分時間無限大,按純比例作用正定比例度。得到滿意曲線后,將比例度放大(1020)%,將積分時間由大到小加入,直到獲得滿意曲線。(3)對于pid控制,先將微分時間置零,按照調比例積分控制方法得到滿意取先后將比例度將到比原值小(1020)%位置,適當減小積分時間后,將微分時間逐漸加大,直到獲得滿意的曲線。pid參數整定的基本判斷: (1)響應曲線震蕩頻繁,系統穩定度不夠,需加大比例度。 (2)系統偏差大,并且趨于非周期過程,需減小比例度。 (3)曲線波動大,增加積分時間以消除

42、余差。 (4)曲線震蕩頻繁,穩定度低且曲線偏離給定值后長時間不回來,需減少積分時間。 (5)曲線最大偏差大且衰減慢,需增加微分時間。 (6)曲線震蕩頻繁,可以適當減少微分時間。在整定pid參數過程中由于加熱絲功率相對鍋爐較大(4.5kw)。因此在加熱時熱慣性很大,一般當加熱絲停止加熱時溫度能超調兩度左右。因此我們在選擇控制器時一定要使用pid控制,使控制器能夠提前調節。根據經驗值,我們首先將p設為60,i設為30s,d設為20s。我們通過觀察fb41的lmn輸出值發現pid控制器響應太慢,使得溫度控制達不到預想的效果。因此我們加大了p,把p設為60,減小i設為10s,加大d為40s。在更改參數之后,控制效果較好。在整定p、i、d參數時我們將d參數設大加強微分作用,一是起到一個提前調節作用;二是使得pid輸出有一定震蕩,使得當溫度接近設定值時通斷頻繁一點。這樣能減小熱慣性對溫度值的影響。圖19是整定后的溫度曲線圖。圖19 溫度曲線圖19中直線表示溫度設定值。初始值是50,而后將設定值改為55。可以看出超調在1左右,穩態誤差在1%左右。圖20 流量溫度曲線圖20中右邊的波形為外膽冷卻水流量值,可一看到在流量波動時對溫度曲線沒有產生太大影響,可見前饋補償起到一定作用。結束語我

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論