天天看點

PID項目執行個體詳解

作者:煙雨003

一、 PID回路控制概述

PID控制器是應用最廣泛的閉環控制器,它根據給定值與被控實測值之間的偏差;按照PID算法計算出控制器的輸出量,控制執行機構進行調節,使被控量跟随給定量變化,并使系統達到穩定;自動消除各種幹擾對控制過程的影響。其中PID分别表示比例、積分和微分

PID項目執行個體詳解

S7-200 SMART中PID功能實作方式有以下三種:

PID指令塊:通過一個PID回路表交換資料,隻接受0.0 - 1.0之間的實數(實際上就是百分比)作為回報、給定與控制輸出的有效數值。

PID向導:友善地完成輸入/輸出信号轉換/标準化處理。PID指令同時會被自動調用。

根據PID算法自己程式設計

S7-200 SMART CPU最多可以支援8個PID控制回路(8個PID指令功能塊),根據PID算法自己程式設計沒有具體數目的限制,但是我們需要考慮PLC的存儲空間以及掃描周期等影響。

PID控制是負回報閉環控制,能夠抑制系統閉環内的各種因素所引起的擾動,使回報跟随給定變化。

PID控制算法有幾個關鍵的參數Kc(Gain,增益)Ti(積分時間常數),Td(微分時間常數)Ts(采樣時間)

在S7-200 SMART中PID功能是通過PID指令功能塊實作。通過定時(按照采樣時間)執行PID功能塊,按照PID運算規律,根據當時的給定、回報、比例-積分-微分資料,計算出控制量。

由于PID可以控制溫度、壓力等等許多對象,它們各自都是由工程量表示,是以有一種通用的資料表示方法才能被PID功能塊識别。

S7-200 SMART中的PID功能使用占調節範圍的百分比的方法抽象地表示被控對象的數值大小。在實際工程中,這個調節範圍往往被認為與被控對象(回報)的測量範圍(量程)一緻。

PID功能塊隻接受0.0 - 1.0之間的實數(實際上是0%--100%)作為回報、給定與控制輸出的有效數值,如果是直接使用PID功能塊程式設計,必須保證資料在這個範圍之内,否則會出錯。其他如增益、采樣時間、積分時間、微分時間都是實數。是以,必須把外圍實際的實體量與PID功能塊需要的(或者輸出的)資料之間進行轉換。這就是所謂輸入/輸出的轉換與标準化處理

二、PID主要參數

采樣時間:CPU必須按照一定的時間間隔對回報進行采樣,才能進行PID控制的計算。采樣時間就是對回報進行采樣的間隔。短于采樣時間間隔的信号變化是不能測量到的。過短的采樣時間沒有必要,過長的采樣間隔顯然不能滿足擾動變化比較快、或者速度響應要求高的場合。

增益(Gain,放大系數,比例常數)

增益與偏差(給定與回報的內插補點)的乘積作為控制器輸出中的比例部分。提高響應速度,減少誤差,但不能消除穩态誤差,當比例作用過大時,系統的穩定性下降。

積分時間:偏內插補點恒定時,積分時間決定了控制器輸出的變化速率。積分時間越短,偏差得到的修正越快。過短的積分時間有可能造成不穩定。

積分時間的長度相當于在階躍給定下,增益為“1”的時候,輸出的變化量與偏內插補點相等所需要的時間,也就是輸出變化到二倍于初始階躍偏差的時間。

如果将積分時間設為最大值,則相當于沒有積分作用。

微分時間:偏內插補點發生改變時,微分作用将增加一個尖峰到輸出中,随着時間流逝減小。微分時間越長,輸出的變化越大。微分使控制對擾動的敏感度增加,也就是偏差的變化率越大,微分控制作用越強。微分相當于對回報變化趨勢的預測性調整。

如果将微分時間設定為0就不起作用,控制器将作為PI調節器工作。

比例調節 :提高響應速度,減少誤差,但不能消除穩态誤差,當比例作用過大時,系統的穩定性下降。(由小到大單獨調節)

積分調節:消除穩态誤差,使系統的動态響應變慢,積分時間越小,積分作用越大 ,偏差得到的修正越快,過短的積分時間有可能造成不穩定。(将調好的比例增益調整到50%~80%後,由大到小減小積分時間)

微分調節:超前調節,能預測誤差變化的趨勢,提前抑制誤差的控制作用,進而避免了被控量的嚴重超調。可以改善系統的響應速度和穩定性,對噪聲幹擾有放大作用,對具有滞後性質的被控對象,應加入微分環節。

三、PID向導

PID項目執行個體詳解

1、在Micro/WIN SMART中的工具菜單中選擇PID向導

3、S7-200 SMART CPU最多可以支援8個PID控制回路(8個PID指令功能塊)

6、增益:即比例常數

積分時間:如果不想要積分作用可以将該值設定很大(比如10000.0)

微分時間:如果不想要微分回路,可以把微分時間設為0

采樣時間:是PID控制回路對回報采樣和重新計算輸出值的時間間隔

PID項目執行個體詳解

8、單極性:0-27648

雙極性-27648到27648

溫度x10°是PT100的熱電阻或熱電偶 的溫度值 °C表示攝氏度 °F表示華氏度

選用20%偏移:如果輸入為4-20mA則選此項,4mA是0-20mA信号的20%,是以選20% 偏移,即4mA對應5530,20mA對應27648

11、輸出類型:可以選擇模拟量輸出或數字量輸出。

模拟量輸出用來控制一些需要模拟量給定的裝置,如比例閥、變頻器等

數字量輸出實際上是控制輸出點的通、斷狀态按照一定的占空比變化,可以控制固态繼電器(加熱棒等)

12、範圍:

為單極時,預設值為 0 到 27648

為雙極時,取值-27648 到27648

為20%偏移量時,取值5530 - 27648 ,不可改變

14、回報值下限的10%時報警

15、回報值高于上限的90%時報警

16、模拟量子產品錯誤報警 。“EM0”就是第一個擴充子產品的位置

PID項目執行個體詳解

18、可以選擇添加PID 手動控制模式

20、PID功能塊使用了一個120個位元組的V區位址來進行控制回路的運算工作;并且PID向導生成的輸入/輸出量的标準化程式也需要運算資料存儲區。要保證該位址起始的若幹位元組在程式的其它地方沒有被重複使用。

24、向導完成生成的子程式

25、向導生成的資料塊

PID項目執行個體詳解

資料塊的位址需要組态斷電保持

四、PID指令

PID項目執行個體詳解

五、程式編寫

利用PID向導編寫程式、使溫度保持在給定值,并對PID參數進行整定

PID項目執行個體詳解

六、下載下傳并調試

下載下傳操作在這不做闡述

1、調試說明:

(1) 比例增益:提高調節速度,減小誤差,但不能消除穩态誤差;

參考方法可由小到大單獨調節

(2)積分作用:消除穩态誤差,使系統的動态相應的變慢,積分過大會影響系統的穩定性。調節參考方法:将調節好的比例系數調整到50%--80%;由大到小,增加積分影響

(3)微分作用:超前控制,減少調節時間,對幹擾有放大作用

調節方法參考:由小到大單獨調節,并相應調整比例和積分,追求調節偏差的變化率

(4)PID調節方法:先将積分和微分關閉,先調比例,在比例差不多時加上積分,一般情況,比例值越大輸出結果越快;積分越大,輸出結果越慢;微分在調節溫控時使用,一般情況可不用

2、可通過狀态圖表監控并修改給定值、手自動狀态、PWM輸出設定等。

但也可通過PID控制台進行調試,如下圖所示:

PID項目執行個體詳解

1、給定值和過程值共用圖形左側的縱軸,輸出使用圖形右側的縱軸

2、采樣時間是PID控制回路對回報采樣和重新計算輸出值的時間間隔(在PID向導配置中更改)

3、速率:設定圖形顯示區所有顯示值的采樣更新速率時間

4、調節參數:增益、積分和微分的目前值

5、如果選擇啟用手動調節,可在計算值中修改PID參數

6、在自動模式下,單擊“啟動”按鈕,啟動自整定,自整定完成後,單擊“更新”按鈕,可把參數寫進CPU中

7、單擊“選項”可進入自整定參數設定(如下圖)

PID項目執行個體詳解

七、PID常見問題

1、 PID向導生成的程式為何不執行?

確定用SM0.0無條件調用PID0_CTRL庫

在程式的其它部分不要再使用SMB34定時中斷,也不要對SMB34指派

确認目前工作狀态:手動還是自動

2、如何實作PID反作用調節?

在有些控制中需要PID反作用調節。例如:在夏天控制空調制冷時,若回報溫度(過程值)低于設定溫度,需要關閥,減小輸出控制(減少冷水流量等)這就是PID反作用調節(在PID正作用中若過程值小于設定值,則需要增大輸出控制)

若想實作PID反作用調節,需要把PID回路的增益設為負數。對于增益為0的積分或微分控制來說,如果指定積分時間、微分時間為負值,則是反作用回路。

3、 如何根據工藝要求有選擇地投入PID功能?

可使用"手動/自動"切換的功能。PID向導生成的PID功能塊需要保證每個掃描周期都調用,是以在主程式内使用SM0.0調用。

4、 PID控制不穩定怎麼辦?如何調試PID?

閉環系統的調試,首先應當做開環測試。所謂開環,就是在PID調節器不投入工作的時候,觀察:(1)回報通道的信号是否穩定(2)輸出通道是否動作正常

可以試着給出一些比較保守的PID參數,比如放大倍數(增益)不要太大,可以小于1,積分時間不要太短,以免引起振蕩。在這個基礎上,可以直接投入運作觀察回報的波形變化。給出一個階躍給定,觀察系統的響應是最好的方法。

如果回報達到給定值之後,曆經多次振蕩才能穩定或者根本不穩定,應該考慮是否增益過大、積分時間過短;如果回報遲遲不能跟随給定,上升速度很慢,應該考慮是否增益過小、積分時間過長……PID參數的調試是一個綜合的、互相影響的過程,實際調試過程中的多次嘗試是非常重要的步驟。

5、沒有采用積分控制時,為何回報達不到給定?

因為積分控制的作用在于消除純比例調節系統固有的“靜差”。沒有積分控制的比例控制系統中,沒有偏差就沒有輸出量,沒有輸出就不能維持回報值與給定值相等。是以永遠不能做到沒有偏差。

6、S7-200 SMART控制變頻器,在變頻器也有PID控制功能時,應當使用誰的PID功能?

可以根據具體情況使用。一般來說,如果需要控制的變量直接與變頻器直接有關,比如變頻水泵控制水壓等,可以優先考慮使用變頻器的PID功能。

7、指令塊與向導使用的PID回路号是否可以重複?

不可以重複,使用PID向導時,對應回路的指令塊也會調用,是以指令塊與向導使用的PID回路号不能重複,否則會産生預想不到的結果。

8、同一個程式裡既使用PID指令塊又使用向導,PID數目怎樣計算?

使用PID向導時,對應回路的指令塊也會調用,是以PID指令塊與向導一共支援8個。

9、PID指令塊可以在主程式/子程式裡調用嗎?

可以,但是不推薦,主程式/子程式的循環時間每個周期都可能不同,不能保證精确的采樣,建議用定時中斷,例如SMB34/SMB35。

10、SMB34定時最大255ms,如果采樣時間是1S怎樣實作?

采樣時間是1S,要求PID指令塊每隔1S調用一次。可以先做一個250ms的定時中斷,然後程式設計累加判斷每4次中斷執行一次PID指令即可。

11、 PID指令塊怎樣實作手動調節?

可以簡單地使用"調用/不調用"指令的方式控制自動/手動模式。不調用PID指令時,可以手動給輸出位址0.0-1.0之間的實數。

繼續閱讀