產(chǎn)品詳情
湖南 西門子 6ES7216-2BD23-0XB0 模塊 PLC
S7-200 PID
關(guān)鍵字
- PID指令塊:參數(shù)地址采樣時間塊使用
- PID向?qū)В?/span>步驟參數(shù)地址量程設(shè)置控制面板沒有輸出例程
- PID指令塊:無擾切換調(diào)節(jié)步驟手動至穩(wěn)定經(jīng)驗數(shù)據(jù)
- PID向?qū)В?/span>條件面板自整定編程自整定整定失敗
- PID指令塊:通過一個PID回路表交換數(shù)據(jù), 只接受0.0 - 1.0之間的實數(shù)(實際上就是百分比)作為反饋、給定與控制輸出的有效數(shù)值。
- PID向?qū)?/strong>:方便地完成輸入/輸出信號轉(zhuǎn)換/標準化處理。PID指令同時會被自動調(diào)用。
- 根據(jù)PID算法自己編程(該文檔不涉及)
-
采樣時間
計算機必須按照一定的時間間隔對反饋進行采樣,才能進行PID控制的計算。采樣時間就是對反饋進行采樣的間隔。短于采樣時間間隔的信號變化是不能測量到的。過短的采樣時間沒有必要,過長的采樣間隔顯然不能滿足擾動變化比較快、或者速度響應(yīng)要求高的場合。
編程時指定的PID控制器采樣時間必須與實際的采樣時間一致。S7-200中PID的采樣時間精度用定時中斷(PID向?qū)в肧MB34)來保證。
-
增益(Gain,放大系數(shù),比例常數(shù))
增益與偏差(給定與反饋的差值)的乘積作為控制器輸出中的比例部分。提高響應(yīng)速度,減少誤差,但不能消除穩(wěn)態(tài)誤差,當比例作用過大時,系統(tǒng)的穩(wěn)定性下降。
-
積分時間(Integral Time)
偏差值恒定時,積分時間決定了控制器輸出的變化速率。
積分時間的長度相當于在階躍給定下,增益為“1”的時候,輸出的變化量與偏差值相等所需要的時間,也就是輸出變化到二倍于初始階躍偏差的時間。
如果將積分時間設(shè)為最大值,則相當于沒有積分作用。
-
微分時間(Derivative Time)
偏差值發(fā)生改變時,微分作用將增加一個尖峰到輸出中,隨著時間流逝減小。微分時間越長,輸出的變化越大。微分使控制對擾動的敏感度增加,也就是偏差的變化率越大,微分控制作用越強。微分相當于對反饋變化趨勢的預(yù)測性調(diào)整。
如果將微分時間設(shè)置為0就不起作用,控制器將作為PI調(diào)節(jié)器工作。
-
比例調(diào)節(jié)
提高響應(yīng)速度,減少誤差,但不能消除穩(wěn)態(tài)誤差,當比例作用過大時,系統(tǒng)的穩(wěn)定性下降。 (由小到大單獨調(diào)節(jié))
-
積分調(diào)節(jié)
消除穩(wěn)態(tài)誤差,使系統(tǒng)的動態(tài)響應(yīng)變慢,積分時間越小,積分作用越大 ,偏差得到的修正越快,過短的積分時間有可能造成不穩(wěn)定。(將調(diào)好的比例增益調(diào)整到50%~80%后,由大到小減小積分時間)
-
微分調(diào)節(jié)
超前調(diào)節(jié),能預(yù)測誤差變化的趨勢,提前抑制誤差的控制作用,從而避免了被控量的嚴重超調(diào)。可以改善系統(tǒng)的響應(yīng)速度和穩(wěn)定性,對噪聲干擾有放大作用,對具有滯后性質(zhì)的被控對象,應(yīng)加入微分環(huán)節(jié)。
- TBL:控制回路表的起始地址 (VB100表示 VB100~VB180地址用于該回路PID,具體地址含義以回路表為準)。
- LOOP: PID控制回路號(0~7)。
-
定義回路設(shè)定值(SP,即給定)的范圍:
在低限(Low Range)和高限(High Range) 輸入域中輸入實數(shù),缺省值為0.0和100.0,表示給定值的取值范圍占過程反饋量程的百分比。 這個范圍是給定值的取值范圍。它也可以用實際的工程單位數(shù)值表示。參見:PID給定-反饋量程設(shè)置
以下定義PID回路參數(shù),這些參數(shù)都應(yīng)當是實數(shù): - Gain(增益): 即比例常數(shù)。
- Integral Time(積分時間):如果不想要積分作用,可以把積分時間設(shè)為無窮大:輸入“INF”。
- Derivative Time(微分時間):如果不想要微分回路,可以把微分時間設(shè)為0 。
- Sample Time(采樣時間):是PID控制回路對反饋采樣和重新計算輸出值的時間間隔。在向?qū)瓿珊?,若想要修改此?shù),則必須返回向?qū)е行薷模豢稍诔绦蛑谢驙顟B(tài)表中修改。
-
指定輸入類型
- Unipolar: 單極性,即輸入的信號為正,如0-10V或0-20mA等
- Bipolar:雙極性,輸入信號在從負到正的范圍內(nèi)變化。如輸入信號為±10V、±5V等時選用
-
20% Offset:使用20%偏移。如果輸入為4-20mA則選單極性及此項,4mA是0-20mA信號的20%,所以選20% 偏移,即4mA對應(yīng)6400,20mA對應(yīng)32000
-
反饋輸入取值范圍
- 在a.設(shè)置為單極性時,缺省值為0 - 32000,對應(yīng)輸入量程范圍0 - 10V或0 - 20mA等,輸入信號為正
- 在a.設(shè)置為雙極性時,缺省的取值為-32000 - +32000,對應(yīng)的輸入范圍根據(jù)量程不同可以是±10V、±5V等
- 在a.使用20%偏移時,取值范圍為6400 - 32000,不可改變
-
Output Type(輸出類型)
可以選擇模擬量輸出或數(shù)字量輸出。模擬量輸出用來控制一些需要模擬量給定的設(shè)備,如比例閥、變頻器等;數(shù)字量輸出實際上是控制輸出點的通、斷狀態(tài)按照一定的占空比變化,可以控制固態(tài)繼電器(加熱棒等) -
選擇模擬量則需設(shè)定回路輸出變量值的范圍,可以選擇:
- Unipolar:單極性輸出,可為0-10V或0-20mA等
- Bipolar:雙極性輸出,可為正負10V或正負5V等
- 20% Offset:如果選中20% 偏移,使輸出為4 - 20mA
-
取值范圍:
- d為Unipolar時,缺省值為 0 到 32000
- d為Bipolar時,取值-32000到32000
- d為20% Offset時,取值6400 - 32000,不可改變
- 使能低值報警并設(shè)定過程值(PV)報警的低值,此值為過程值的百分數(shù),缺省值為0.10,即報警的低值為過程值的10%。此值最低可設(shè)為0.01,即滿量程的1%
- 使能高值報警并設(shè)定過程值(PV)報警的高值,此值為過程值的百分數(shù),缺省值為0.90,即報警的高值為過程值的90%。此值最高可設(shè)為1.00,即滿量程的100%
- 使能過程值(PV)模擬量模塊錯誤報警并設(shè)定模塊于CPU連接時所處的模塊位置?!?”就是第一個擴展模塊的位置
- 指定PID初使化子程序的名字。
-
指定PID中斷子程序的名字
注意:- 如果你的項目中已經(jīng)存在一個PID配置,則中斷程序名為只讀,不可更改。因為一個項目中所有PID共用一個中斷程序,它的名字不會被任何新的PID所更改。
- PID向?qū)е袛嘤玫氖?strong>SMB34定時中斷,在用戶使用了PID向?qū)Ш?,注意在其它編程時不要再用此中斷,也不要向SMB34中寫入新的數(shù)值,否則PID將停止工作。
-
此處可以選擇添加PID 手動控制模式。在PID手動控制模式下,回路輸出由手動輸出設(shè)定控制,此時需要寫入手動控制輸出參數(shù)一個0.0-1.0的實數(shù),代表輸出的0%-100%而不是直接去改變輸出值。
PID調(diào)節(jié)手/自動無擾動切換 - 必須用SM0.0來使能 PIDx_INIT 子程序,SM0.0 后不能串聯(lián)任何其他條件,而且也不能有越過它的跳轉(zhuǎn);如果在子程序中調(diào)用 PIDx_INIT 子程序,則調(diào)用它的子程序也必須僅使用 SM0.0 調(diào)用,以保證它的正常運行
- 此處輸入過程值(反饋)的模擬量輸入地址
- 此處輸入設(shè)定值變量地址(VDxx),或者直接輸入設(shè)定值常數(shù),根據(jù)向?qū)е械脑O(shè)定0.0-100.0,此處應(yīng)輸入一個0.0-100.0的實數(shù),例:若輸入20,即為過程值的20%,假設(shè)過程值A(chǔ)IW0是量程為0-200度的溫度值,則此處的設(shè)定值20代表40度(即200度的20%);如果在向?qū)е性O(shè)定給定范圍為0.0 - 200.0,則此處的20相當于20度
- 此處用I0.0控制PID的手/自動方式,當I0.0為1時,為自動,經(jīng)過PID運算從AQW0輸出;當I0.0為0時,PID將停止計算,AQW0輸出為ManualOutput(VD4)中的設(shè)定值,此時不要另外編程或直接給AQW0賦值。若在向?qū)е袥]有選擇PID手動功能,則此項不會出現(xiàn)
- 定義PID手動狀態(tài)下的輸出,從AQW0輸出一個滿值范圍內(nèi)對應(yīng)此值的輸出量。此處可輸入手動設(shè)定值的變量地址(VDxx),或直接輸入數(shù)。數(shù)值范圍為0.0-1.0之間的一個實數(shù),代表輸出范圍的百分比。例:如輸入0.5,則設(shè)定為輸出的50%。若在向?qū)е袥]有選擇PID手動功能,則此項不會出現(xiàn)
- 此處鍵入控制量的輸出地址
- 當高報警條件滿足時,相應(yīng)的輸出置位為1,若在向?qū)е袥]有使能高報警功能,則此項將不會出現(xiàn)
- 當?shù)蛨缶瘲l件滿足時,相應(yīng)的輸出置位為1,若在向?qū)е袥]有使能低報警功能,則此項將不會出現(xiàn)
- 當模塊出錯時,相應(yīng)的輸出置位為1,若在向?qū)е袥]有使能模塊錯誤報警功能,則此項將不會出現(xiàn)
- 做完P(guān)ID向?qū)Ш罂稍赟ymbol Table(符號表)中,查看PID向?qū)傻姆柋?上例中為PID0_SYM),可看到各參數(shù)所用的詳細地址,及數(shù)值范圍。
- 在Data Block(數(shù)據(jù)塊)中,查看PID指令回路表的相關(guān)參數(shù)。
- PV_I: 過程反饋參數(shù)值的入口
- Setpoint_R: 給定參數(shù)值的入口
- Output: PID調(diào)節(jié)器的輸出值
-
給定與反饋(過程變量)的物理意義一致
這取決于被控制的對象,如果是壓力,則給定也必須對應(yīng)于壓力值;如果是溫度,則給定也必須對應(yīng)于溫度。 -
給定與反饋(過程變量)的的數(shù)值范圍對應(yīng)
如果給定直接是攝氏溫度值,則反饋必須是對應(yīng)的攝氏溫度值;如果反饋直接使用模擬量輸入的對應(yīng)數(shù)值,則給定也必須向反饋的數(shù)值范圍換算。 如果給定與反饋的換算有特定的比例關(guān)系也可以。如給定也可以表示為以反饋的數(shù)值范圍的百分比數(shù)值。 -
過程值指示
顯示過程變量的值及其棒圖 -
當前的輸出值指示
顯示當前使用的設(shè)定值、采樣時間、PID 參數(shù)值及顯示當前的輸出值和棒圖 -
可顯示過程值、設(shè)定值及輸出值的PID趨勢圖
圖3.4.2. 圖形顯示區(qū) - 過程變量和設(shè)定值的取值范圍及刻度
- PID輸出的取值范圍及刻度
- 實際PC時間
- 以不同顏色表示的設(shè)定值、過程變量及輸出的趨勢圖
-
調(diào)節(jié)參數(shù)
這里你可以:
- 選擇PID參數(shù)的顯示:當前參數(shù)(Current)、推薦參數(shù)(Suggested)、手動輸入(Manual)
- 在Manual模式下,可改變PID參數(shù),并按Update PLC按鈕來更新PLC中的參數(shù)
- 啟動PID自整定功能
-
選擇Advanced(高級)按鈕進入高級參數(shù)設(shè)定
-
當前的PID回路號
這里你可以選擇需要監(jiān)視或自整定的PID回路 -
時間選項設(shè)定
這里你可以設(shè)定趨勢圖的時基,時基以分為單位 -
圖例顏色
這里你可以看到趨勢圖中不同的顏色代表不同的值的趨勢 - 幫助按鈕
-
PID信息顯示窗口
- 關(guān)閉PID調(diào)節(jié)面板
- 必須保證用SM0.0無條件調(diào)用PID0_INIT程序
- 在程序的其它部分不要再使用SMB34定時中斷,也不要對SMB34賦值
- 確認當前工作狀態(tài):手動還是自動
- PID 控制處于自動方式時,PID 控制器(S7-200 中的 PID 調(diào)節(jié)功能)會按照 PID 算法,自動通過輸出的作用使過程反饋值跟隨給定值變化,并保持穩(wěn)定。這是一個自動的閉環(huán)控制系統(tǒng)。操作人員可以根據(jù)現(xiàn)場工藝的要求,改變給定(即設(shè)定值)的值。
- PID 控制處于手動方式時,PID 控制器不再起自動計算的作用。這時,控制回路的輸出是由操作人員手動控制、調(diào)整,由操作人員觀察現(xiàn)場的控制效果,從而構(gòu)成人工閉環(huán)控制。
- 使設(shè)定值( SPn) = 當前過程反饋變量(PVn)
- 設(shè)置上次采樣過程變量(PVn-1) = 當前過程反饋變量(PVn)
- 設(shè)置積分偏差和(或所謂積分前項)(Mx) = 當前輸出值(Mn)
- 從自動模式向手動模式切換時,PID 指令的 EN 端不再有能流,計算停止,輸出值 Mn 不再變化。此時如果需要操作人員人工觀察控制的結(jié)果,手動控制輸出量,就可以通過用戶程序直接改變回路表中的輸出值存儲單元內(nèi)容(見數(shù)據(jù)塊或系統(tǒng)手冊的相關(guān)部分內(nèi)容)。如果有必要,操作人員的操作可能要進行一些標準化換算。
- 為保證從手動模式向自動模式的切換無擾動,需要在手動控制時,或在切換過程中,禁止對 PID 回路表中設(shè)定值的更新,以便切換時 PID 指令用當前過程反饋值替代設(shè)定值。切換完成后,操作人員可以調(diào)整設(shè)定值。
- 過程反饋量
- 設(shè)定值,實數(shù)
- 自動/手動控制,“1”=自動,“0”=手動
- 手動控制輸出值,0.0 - 1.0 之間的一個實數(shù)
- PID 控制輸出值
- 在從自動向手動切換時,使手動輸出值(VD2004)等于當前的實際控制輸出值;
- 在從手動向自動切換使,使設(shè)定值相當于當前的過程反饋值。
- 自動/手動切換控制點
- 從自動向手動切換時,使手動輸出值等于實際當前值
- 從手動向自動切換時,把當前反饋量換算為相應(yīng)的給定值
- 增益(Gain)值太高
-
PID掃描時間(sample time)太長(對于快速響應(yīng)PID的回路)
簡介:
在S7-200中PID功能是通過PID指令功能塊實現(xiàn)。通過定時(按照采樣時間)執(zhí)行PID功能塊,按照PID運算規(guī)律,根據(jù)當時的給定、反饋、比例-積分-微分數(shù)據(jù),計算出控制量。本文詳細介紹了S7-200的PID類型和各參數(shù)作用、通過PID指令功能塊和PID向?qū)煞N方式實現(xiàn)PID編程,同時給出了PID的調(diào)節(jié)步驟、手自動無擾切換的實現(xiàn)方式,此外還對通過自整定方式進行PID調(diào)節(jié)給出了控制面板啟動和編程啟動兩種詳細方案。如果想要了解更詳細的PID算法,請參考《S7-200系統(tǒng)手冊》中PID指令部分的相關(guān)內(nèi)容。
1概覽
PID是閉環(huán)控制系統(tǒng)的比例-積分-微分控制算法。控制器根據(jù)設(shè)定值(給定)與被控對象的實際值(反饋)的差值,按照PID算法計算出控制器的輸出量,控制執(zhí)行機構(gòu)去影響被控對象的變化。
S7-200PID控制是負反饋閉環(huán)控制,能夠抑制系統(tǒng)閉環(huán)內(nèi)的各種因素所引起的擾動,使反饋跟隨給定變化。
1.1 PID的實現(xiàn)方式及數(shù)目
1.S7-200中PID功能實現(xiàn)方式有以下三種:
2.S7-200 CPU最多可以支持8個PID控制回路(8個PID指令功能塊),根據(jù)PID算法自己編程沒有具體數(shù)目的限制,但是需要考慮PLC的存儲空間以及掃描周期等影響。
常見問題
同一個程序里既使用PID指令塊又使用向?qū)В琍ID數(shù)目怎樣計算?
使用PID向?qū)r,對應(yīng)回路的指令塊也會調(diào)用,所以PID指令塊與向?qū)б还仓С?個。
指令塊與向?qū)褂玫腜ID回路號是否可以重復(fù)?
不可以重復(fù),使用PID向?qū)r,對應(yīng)回路的指令塊也會調(diào)用,所以指令塊與向?qū)褂玫腜ID回路號不能重復(fù),否則會產(chǎn)生預(yù)想不到的結(jié)果。
S7-200控制變頻器,在變頻器也有PID控制功能時,應(yīng)當使用誰的PID功能?
可以根據(jù)具體情況使用。一般來說,如果需要控制的變量直接與變頻器直接有關(guān),比如變頻水泵控制水壓等,可以優(yōu)先考慮使用變頻器的PID功能。
1.2. PID輸入/輸出支持的信號類型
信號類型 | |
---|---|
輸入 | 電壓、電流、熱電阻、熱電偶或經(jīng)過變換的實際工程量 |
輸出 | 模擬量輸出用來控制一些需要模擬量給定的設(shè)備,如比例閥、變頻器等; |
數(shù)字量輸出實際上是控制輸出點的通、斷狀態(tài)按照一定的占空比變化,可以控制固態(tài)繼電器(加熱棒等) |
表1.2.1. PID輸入/輸出支持的信號類型
S7-200的PID借助相關(guān)庫文件,可以實現(xiàn)三步控制 例如:使用混合閥門實現(xiàn)水溫的三步控制 ,具體參考以下鏈接:
https://support.industry.siemens.com/ cs/document/18748232?dti=0&lc=zh-CN
1.3. PID實現(xiàn)反作用
在有些控制中需要PID反作用調(diào)節(jié)。例如:在夏天控制空調(diào)制冷時,若反饋溫度(過程值)低于設(shè)定溫度,需要關(guān)閥,減小輸出控制(減少冷水流量等),這就是PID反作用調(diào)節(jié)(在PID正作用中若過程值小于設(shè)定值,則需要增大輸出控制)。
若想實現(xiàn)PID反作用調(diào)節(jié),需要把PID回路的增益設(shè)為負數(shù)。對于增益為0的積分或微分控制來說,如果指定積分時間、微分時間為負值,則是反作用回路。
1.4 PID各參數(shù)作用
計算機化的PID控制算法有幾個關(guān)鍵的參數(shù)Ts(采樣時間),Kc(Gain,增益),Ti(積分時間常數(shù)),Td(微分時間常數(shù))。PID參數(shù)的取值,以及它們之間的配合,對PID控制是否穩(wěn)定具有重要的意義:
2PID指令塊實現(xiàn)PID
2.1 介紹PID回路表/T96
在S7-200中PID功能是通過PID指令功能塊實現(xiàn)。通過定時(按照采樣時間)執(zhí)行PID指令塊,按照PID運算規(guī)律,根據(jù)當時的給定、反饋、比例-積分-微分數(shù)據(jù),計算出控制量。
PID指令塊通過一個PID回路表交換數(shù)據(jù),這個表是在V數(shù)據(jù)存儲區(qū)中的開辟,長度為80字節(jié)(Micro/WIN4.0之前老版本,未增加PID自整定時回路表長度為36字節(jié))。只接受0.0 - 1.0之間的實數(shù)(實際上就是百分比)作為反饋、給定與控制輸出的有效數(shù)值。
偏移量 | 域 | 格式 | 類型 | 描述 |
---|---|---|---|---|
0 | 過程變量(PVn) | REAL | 輸入 | 過程變量,必須在0.0~1.0之間 |
4 |
設(shè)定值(SPn) |
REAL | 輸入 | 設(shè)定值,必須在0.0~1.0之間 |
8 | 輸出(Mn) | REAL | 輸入/輸出 | 輸出值,必須在0.0~1.0之間 |
12 | 增益(Kc) | REAL | 輸入 | 增益是比例常數(shù),可正可負 |
16 | 采樣時間(Ts) | REAL | 輸入 | 采樣時間,單位為秒,必須是正數(shù) |
20 | 積分時間或復(fù)位(Ti) | REAL | 輸入 | 積分時間或復(fù)位,單位是分鐘 |
24 | 微分時間或速率(Td) | REAL | 輸入 | 微分時間或速率,單位為分鐘 |
28 | 偏差(MX) | REAL | 輸入/輸出 | 積分項前項,必須在0.0~1.0之間 |
32 | 過程變量前值(PVn-1) | REAL | 輸入/輸出 | 包含最后一次執(zhí)行PID指令時存儲的過程變量值 |
36~79 保留給自整定變量 |
表2.1.1. PID回路表
2.2 通過PID指令塊實現(xiàn)PID/35
通過指令塊實現(xiàn)PID,需要自己編程實現(xiàn)采樣,較復(fù)雜,容易出錯,也不能用PID控制面板進行調(diào)節(jié),不建議使用,如果沒有特殊要求,盡量使用PID向?qū)А?/strong>
由于PID指令塊只接受0.0 - 1.0之間的實數(shù)(實際上就是百分比)作為反饋、給定與控制輸出的有效數(shù)值。因此,必須把外圍實際的物理量與PID功能塊需要的(或者輸出的)數(shù)據(jù)之間進行轉(zhuǎn)換。這就是所謂輸入/輸出的轉(zhuǎn)換與標準化處理。
《S7-200系統(tǒng)手冊》上有詳細的介紹。
下面簡單做一個采樣時間為250ms的PID例程:
第一步,主程序內(nèi)實現(xiàn)250ms的定時中斷,如圖2.2.1
圖2.2.1. 定時中斷
第二步,在定時中斷INT_0內(nèi)調(diào)用PID指令塊。
圖2.2.2. 調(diào)用PID指令塊
圖2.2.2中
第三步,根據(jù)PID回路表,設(shè)置參數(shù),在數(shù)據(jù)塊設(shè)置各參數(shù)的初始值
圖2.2.3. 數(shù)據(jù)塊設(shè)置參數(shù)
第四步,程序下載后根據(jù)反饋VD0與給定VD4觀察輸出VD8(直接通過狀態(tài)表修改給定反饋即可,真正應(yīng)用時需要將外圍物理量做轉(zhuǎn)換)。
模擬量換算可以參考庫文件量程變換指令庫 scale,使用方法:http://support.automation.siemens. com/CN/view/zh/27043396
常見問題
PID指令塊可以在主程序/子程序里調(diào)用嗎?
可以,但是不推薦,主程序/子程序的循環(huán)時間每個周期都可能不同,不能保證精確的采樣,建議用定時中斷,例如SMB34/SMB35。
SMB34定時最大255ms,如果采樣時間是1S怎樣實現(xiàn)?
采樣時間是1S,要求PID指令塊每隔1S調(diào)用一次??梢韵茸鲆粋€250ms的定時中斷,然后編程累加判斷每4次中斷執(zhí)行一次PID指令即可。
PID指令塊怎樣實現(xiàn)手動調(diào)節(jié)?
可以簡單地使用“調(diào)用/不調(diào)用”指令的方式控制自動/手動模式。不調(diào)用PID指令時,可以手動給輸出地址0.0-1.0之間的實數(shù)。
PID指令塊實現(xiàn)數(shù)字量輸出?
1.通過PWM指令,將PID輸出值轉(zhuǎn)換為所需時間基準的整數(shù),送到PWM的Pulse,控制脈寬(該法簡單易用,但是要求輸出點只能是Q0.0或Q0.1)。
2.自己編程實現(xiàn)類似于PWM的輸出。(雖然不限制Q點,但編程較復(fù)雜,不建議使用,可以直接考慮用PID向?qū)В?
3 向?qū)崿F(xiàn)PID
在Micro/WIN中的命令菜單中選擇工具 >指令向?qū)?/strong>,然后在指令向?qū)Т翱谥羞x擇PID指令:
圖3.1. 選擇PID向?qū)?
在使用向?qū)r必須先對項目進行編譯,在隨后彈出的對話框中選擇“是” ,確認編譯。如果已有的程序中存在錯誤,或者有沒有編完的指令,編譯不能通過。
如果你的項目中已經(jīng)配置了一個PID回路,則向?qū)赋鲆呀?jīng)存在的PID回路,并讓你選擇是配置修改已有的回路,還是配置一個新的回路:
圖3.2. 選擇需要配置的回路
3.1. PID向?qū)гO(shè)置步驟
第一步:定義需要配置的PID回路號
圖3.1.1. 選擇PID回路號
第二步:設(shè)定PID回路參數(shù)
圖3.1.2. 設(shè)置PID參數(shù)
圖3.1.2中:
注意:關(guān)于具體的PID參數(shù)值,每一個項目都不一樣,需要現(xiàn)場調(diào)試來定,沒有所謂經(jīng)驗參數(shù)。
第三步:設(shè)定回路輸入輸出值
圖3.1.3. 設(shè)定PID輸入輸出參數(shù)
在圖3.1.3中,首先設(shè)定過程變量的范圍:
如果選擇了開關(guān)量輸出,需要設(shè)定此占空比的周期。
第四步:設(shè)定回路報警選項
圖3.1.4. 設(shè)定回路報警限幅值
向?qū)峁┝巳齻€輸出來反映過程值(PV)的低值報警、高值報警及過程值模擬量模塊錯誤狀態(tài)。當報警條件滿足時,輸出置位為1。這些功能在選中了相應(yīng)的選擇框之后起作用。
第五步:指定PID運算數(shù)據(jù)存儲區(qū)
圖3.1.5. 分配運算數(shù)據(jù)存儲區(qū)
PID指令(功能塊)使用了一個120個字節(jié)的V區(qū)參數(shù)表來進行控制回路的運算工作;除此之外,PID向?qū)傻妮斎?輸出量的標準化程序也需要運算數(shù)據(jù)存儲區(qū)。需要為它們定義一個起始地址,要保證該地址起始的若干字節(jié)在程序的其它地方?jīng)]有被重復(fù)使用。如果點擊“建議地址”,則向?qū)⒆詣訛槟阍O(shè)定當前程序中沒有用過的V區(qū)地址。
自動分配的地址只是在執(zhí)行PID向?qū)r編譯檢測到空閑地址。向?qū)⒆詣訛樵搮?shù)表分配符號名,用戶不要再自己為這些參數(shù)分配符號名,否則將導(dǎo)致PID控制不執(zhí)行。
第六步:定義向?qū)傻腜ID初使化子程序和中斷程序名及手/自動模式
圖3.1.6. 指定子程序、中斷服務(wù)程序名和選擇手動控制
向?qū)б呀?jīng)為初使化子程序和中斷子程序定義了缺省名,你也可以修改成自己起的名字。
第七步:生成PID子程序、中斷程序及符號表等
一旦點擊完成按鈕,將在你的項目中生成上述PID子程序、中斷程序及符號表等。
圖3.1.7. 生成PID子程序、中斷程序和符號表等
第八步:配置完P(guān)ID向?qū)В枰诔绦蛑姓{(diào)用向?qū)傻腜ID子程序(如下圖)
圖3.1.8. PID子程序
圖3.1.9. 調(diào)用PID子程序
在用戶程序中調(diào)用PID子程序時,可在指令樹的Program Block(程序塊)中用鼠標雙擊由向?qū)傻腜ID子程序,在局部變量表中,可以看到有關(guān)形式參數(shù)的解釋和取值范圍。
調(diào)用PID子程序時,不用考慮中斷程序。子程序會自動初始化相關(guān)的定時中斷處理事項,然后中斷程序會自動執(zhí)行。
第九步:實際運行并調(diào)試PID參數(shù)
沒有一個PID項目的參數(shù)不需要修改而能直接運行,因此需要在實際運行時調(diào)試PID參數(shù)。具體調(diào)節(jié)過程可以參考 PID調(diào)節(jié)
為了更好地理解 PID向?qū)У木幊?,可參考下面的例程?/strong>
通過上述向?qū)Р襟E實現(xiàn)PID,為求程序簡單可讀,未設(shè)置回路報警選項,僅簡單常用配置,具體參見例程,關(guān)注程序注釋以及符號表內(nèi)容可幫助更快理解程序。
例程:S7-200 PID
注意:此指令程序的作者和擁有者對于該軟件的功能性和兼容性不負任何責(zé)任。使用該軟件的風(fēng)險完全由用戶自行承擔(dān)。由于它是免費的,所以不提供任何擔(dān)保,錯誤糾正和熱線支持,用戶不必為 此聯(lián)系西門子技術(shù)支持與服務(wù)部門
3.2. PID向?qū)傻慕M件介紹
PID向?qū)瓿珊螅詣由傻某齈ID子程序(上一節(jié)已經(jīng)介紹)以外還有數(shù)據(jù)塊、符號表以及中斷程序等組件。
1.數(shù)據(jù)塊
圖3.2.1. PID向?qū)蓴?shù)據(jù)塊
完成PID Wizard配置后,會為每個PID回路生成一個數(shù)據(jù)塊PIDx_DATA(x=0-7)。圖中可以看出數(shù)據(jù)塊的內(nèi)容實際就是PID回路表以及報警的高/低限位。實際也說明PID向?qū)腔赑ID指令塊編程經(jīng)過調(diào)整后呈現(xiàn)給用戶。
2.符號表
圖3.2.2. PID向?qū)煞柋?
完成PID Wizard配置后,會為每個PID回路生成一個數(shù)據(jù)塊PIDx_SYM(x=0-7)。圖中可以看出符號表內(nèi)容也是回路表相關(guān)參數(shù)。
3.中斷程序 PID向?qū)傻闹袛喑绦騊ID_EXE自動加密,相關(guān)功能已經(jīng)附在向?qū)傻淖映绦騼?nèi),這里不涉及。
查看Data Block(數(shù)據(jù)塊),以及Symbol Table(符號表)相應(yīng)的PID符號標簽的內(nèi)容,可以找到包括PID核心指令所用的控制回路表,包括比例系數(shù)、積分時間等等。將此表的地址復(fù)制到Status Chart(狀態(tài)表)中,可以在監(jiān)控模式下在線修改PID參數(shù),而不必停機再次做配置。
參數(shù)調(diào)試合適后,用戶可以在數(shù)據(jù)塊中寫入,也可以再做一次向?qū)?,或者編程向相?yīng)的數(shù)據(jù)區(qū)傳送參數(shù)。
常見問題
做完P(guān)ID向?qū)Ш螅绾沃老驅(qū)е性O(shè)定值,過程值及PID等參數(shù)所用的地址?
怎樣在上位機或觸摸屏上修改PID參數(shù)?
圖3.2.1/3.2.2中均能查到對應(yīng)參數(shù)地址,在上位機獲觸摸屏中修改即可,注意數(shù)據(jù)類型。
數(shù)據(jù)塊內(nèi)設(shè)定值與過程變量以及輸出的范圍是多少?
數(shù)據(jù)塊內(nèi)的變量范圍完全與回路表內(nèi)變量范圍一致,即都是0.0-1.0之間的浮點數(shù),如果向?qū)Ю镞@些變量是模擬量,或者實際工程量,向?qū)詣訐Q算成0.0-1.0的標準化數(shù)值。通過這些變量也可以確認向?qū)?nèi)設(shè)置的設(shè)定值與過程變量量程是否正確。
3.3. PID設(shè)定值與過程變量 量程設(shè)置
下圖是PID向?qū)傻淖映绦颍?
圖3.3.1. 調(diào)用PID子程序
各參數(shù)在3.1章節(jié)中已經(jīng)介紹,這里對以下幾個參數(shù)著重解釋:
在這里,給定、反饋的入口參數(shù)不是PID指令功能塊所需要的0.0 - 1.0之間的實數(shù),而可以是實際的反饋地址,或是其他變量。例如,PV_I可以是模擬量輸入地址AIW0,也可以是存儲器地址VW100等;Setpoint則往往來自V變量存儲區(qū),這樣可以從人機操作界面(HMI)設(shè)備輸入給定值。
注意:
對于PID控制系統(tǒng)來說,必須保證給定與過程反饋的一致性:
給定與反饋的數(shù)值具體是什么數(shù)值,其取值范圍究竟如何,完全取決于我們在使用“PID向?qū)А本幊虝r指定的給定與反饋的數(shù)值范圍。其中,反饋量的數(shù)值范圍不能隨便自己定義,而要取決于具體應(yīng)用的模擬量輸入模塊。
圖3.3.2. 在圖中a.處設(shè)置給定范圍
圖3.3.3. 在圖中b.處設(shè)置反饋范圍
實例
1. 假定一個PID控制系統(tǒng)的控制對象是壓力,反饋元件的測量范圍為0 - 16MPa。反饋器件的信號經(jīng)過變換,以0 - 20mA(或4 - 20mA)電流信號的形式輸入到EM231模擬量輸入模塊中。據(jù)此,我們可以按下表設(shè)置給定、反饋(過程變量)的的范圍。
反饋(單極性) | 給定 | |||
---|---|---|---|---|
實際物理量 | 模擬量輸入數(shù)值 | 百分比形式(占0 - 16MPa的百分比) | 物理工程單位形式 | |
高限 | 16 MPa | 32000 | 100.0 | n×16.0 |
低限 | 0 MPa | 0 (0 - 20mA) | 0.0 | 0.0 |
6400 (4 - 20mA) |
n 為比例系數(shù),為了精度高些可以設(shè)置n=10等等
2. 一個溫度控制的PID系統(tǒng),溫度值直接由熱電偶測量,輸入到EM231 TC(熱電偶)模塊轉(zhuǎn)換為溫度值。熱電偶為J型,其測量范圍為 -150.0°C - 1200.0 °C。則可按如下設(shè)置給定的范圍。
反饋(雙極性) | 給定 | |||
---|---|---|---|---|
實際物理量 | 模擬量輸入數(shù)值 | 百分比形式(占-150°C - 1200.0°C的百分比) | 物理工程單位形式 | |
高限 | 1200.0 °C | 12000 | 100.0 | 1200 |
低限 | -150.0 °C | -1500 | 0.0 | -150 |
表3.3.2.反饋/給定設(shè)置
在表3.3.2的例子中,給定和反饋可以按照如下方法設(shè)置
圖3.3.4. 給定范圍設(shè)置
圖3.3.5. 反饋范圍設(shè)置
3.4. PID調(diào)節(jié)控制面板使用
STEP 7-Micro/WIN V4.0中提供了一個PID調(diào)節(jié)控制面板,具有圖形化的給定、反饋、調(diào)節(jié)器輸出波形顯示,可以用于手動調(diào)試PID參數(shù)。另外從面板中還可以啟動、停止自整定功能,對于沒有“自整定PID”功能的老版CPU,也能實現(xiàn)PID手動調(diào)節(jié)。
要使用PID調(diào)節(jié)控制面板,PID編程必須使用PID向?qū)瓿伞?
圖3.4.1. PID調(diào)節(jié)控制面板
在圖3.4.1中:
圖中:
常見問題
使用PID調(diào)節(jié)面板手動調(diào)整增益、積分時間、微分時間參數(shù),修改的數(shù)值能否進入到PLC?
可以,但是需要在參數(shù)設(shè)置完以后手動點擊調(diào)節(jié)面板的Update PLC(更新PLC)按鈕,來更新PLC中的參數(shù)。
PID已經(jīng)調(diào)整合適,如何正式確定參數(shù)?
可以在Data Block(數(shù)據(jù)塊)中直接寫入?yún)?shù)。
做完P(guān)ID向?qū)Ш?,能否查看PID生成的子程序,中斷程序?
PID向?qū)傻淖映绦颍袛喑绦蛴脩羰菬o法看到的,也不能對其進行修改。沒有密碼能夠打開這些子程序,一般的應(yīng)用也沒有必要打開查看。
如何根據(jù)工藝要求有選擇地投入PID功能?
可使用“手動/自動”切換的功能。PID向?qū)傻腜ID功能塊只能使用SM0.0的條件調(diào)用。
4PID調(diào)節(jié)
PID控制的效果就是看反饋(也就是控制對象)是否跟隨設(shè)定值(給定),是否響應(yīng)快速、穩(wěn)定,是否能夠抑制閉環(huán)中的各種擾動而回復(fù)穩(wěn)定。要衡量PID參數(shù)是否合適,必須能夠連續(xù)觀察反饋對于給定變化的響應(yīng)曲線;而實際上PID的參數(shù)也是通過觀察反饋波形而調(diào)試的。因此,沒有能夠觀察反饋的連續(xù)變化波形曲線的有效手段,就談不上調(diào)試PID參數(shù)。觀察反饋量的連續(xù)波形,可以使用帶慢掃描記憶功能的示波器(如數(shù)字示波器),波形記錄儀,或者在PC機上做的趨勢曲線監(jiān)控畫面等。
4.1. PID調(diào)節(jié)手/自動無擾動切換
有些工程項目中可能需要根據(jù)工藝要求在不同的時刻投入、或者退出 PID 自動控制;退出 PID 自動控制時,控制器的輸出部分可以由操作人員直接手動控制。這就是所謂的 PID 手動/自動切換。
有些控制系統(tǒng)的執(zhí)行機構(gòu)不能承受較大的沖擊,這就要求在進行 PID 自動/手動切換時,保持控制輸出的穩(wěn)定。這就是要求無擾動切換。
為了達到 PID 自動/手動控制的無擾動切換,需要在編程時注意一些相關(guān)事項。下面分別就直接使用 PID 指令編程,和使用 PID 向?qū)Ь幊虄煞N情況作一介紹。
1.直接使用 PID 指令編程時的 PID 自動/手動無擾切換
直接使用 PID 指令塊編寫 PID 控制程序時,可以簡單地使用“調(diào)用/不調(diào)用”指令的方式控制自動/手動模式。因為 PID 指令本身已經(jīng)具有實現(xiàn)無擾動切換的能力,此時在 PID 指令控制環(huán)節(jié)之外編程沒有多大必要。
PID 指令的 EN 輸入端使能(為“1”)時,我們認為是自動控制模式;EN 輸入端未使能(為“0”)時,我們認為是手動控制模式。
PID 指令本身有一個“能流歷史狀態(tài)位”,以記錄指令的狀態(tài)切換。在 EN 端從“0”變?yōu)椤薄?”時,PID 指令認為這是從“手動”模式向“自動”模式切換。PID 指令此時會自動執(zhí)行一系列動作,以配合無擾動切換:
使設(shè)定值等于當前反饋值可以避免出現(xiàn)偏差,使之不存在調(diào)整的要求;當然如果有工藝要求,也可以后續(xù)調(diào)整設(shè)定值。其他的動作都是為了使 PID 在后續(xù)的操作中不改變輸出的值。
在編程時要注意:
2.使用 PID 向?qū)Ь幊虝r的 PID 自動/手動無擾切換
使用 PID 指令向?qū)Ь幊虝r,指令向?qū)詣诱{(diào)用 PID 指令,并且編寫外圍的控制變量標準化換算、定時采樣等功能。用戶在使用 PID 指令向?qū)r,需要在用戶程序中用 SM0.0 調(diào)用指令向?qū)傻淖映绦颍ㄈ?PIDx_INIT 子程序)。PID 向?qū)Э梢陨蓭ё詣?手動切換功能的子程序,這個子程序使用一個數(shù)字量點為“1”、“0”的狀態(tài)來控制是否投入 PID 自動控制。
到目前為止(STEP 7-Micro/WIN V4.0 SP5),使用 PID 向?qū)傻淖映绦驎r,由于用戶程序不能直接使用 PID 指令,它的無擾切換能力因為隔了外殼子程序,所以受到了局限。如果對無擾切換要求比較嚴格,需要另外編一些程序加以處理。
考察如下 PID 控制子程序。
圖 4.1.1. PID 向?qū)傻闹噶?
圖中:
要實現(xiàn)無擾動切換,必須:
為此,可編寫類似下圖所示的程序,放在 PID 控制子程序之前:
4.1.2. 無擾切換處理程序
圖中:
上述程序中的 Scale_I_to_R 就是量程變換指令庫中的子程序。這是為了解決過程反饋與設(shè)定值之間的換算問題。用戶也可以自己編程換算,或者根據(jù)反饋與給定的取值范圍決定是否需要換算。
此段程序適用于 STEP 7-Micro/WIN V4.0 SP5 及以前版本,僅供參考,如果在實際項目中使用,上述程序未必一定適用。用戶需要根據(jù)實際工藝決定自己的編程思路。
4.2. PID調(diào)節(jié)步驟簡介
建議PID參數(shù)調(diào)節(jié)步驟:
(1)前提條件:反饋信號是否穩(wěn)定,執(zhí)行機構(gòu)是否正常以及控制器的正反作用。(確保PID在自動模式下)
(2)積分時間設(shè)置為無窮大INF(或9999.9),此時積分作用近似為0;將微分時間設(shè)置為0.0,此時微分作用為0 。然后開始調(diào)節(jié)比例作用,逐步增大比例增益
(3)當過程變量達到給定值且在給定值上下波動,將調(diào)好的比例系數(shù)調(diào)整到50%~80%后,由大到小減小積分時間,直到過程值與設(shè)定值相等或無限接近
PID調(diào)節(jié)有很多種方法,以上僅是建議步驟,也并未考慮微分作用,客戶依據(jù)實際情況靈活調(diào)節(jié),同時可以參考反饋與給定的曲線圖
用戶經(jīng)常會遇到這樣的問題:嘗試了很多組PID參數(shù),都無法滿足控制器的要求, 此時需要考慮PID的采樣時間是否適合當前系統(tǒng)。采樣時間就是對反饋進行采樣的間隔。短于采樣時間間隔的信號變化是不能測量到的。采樣時間過短,兩次實測值的變化量太小,也不合適,而且增加PLC的運算負擔(dān);采樣間隔過長,將會引起有用信號的丟失,使系統(tǒng)品質(zhì)變差,不能滿足擾動變化比較快、或者速度響應(yīng)要求高的場合。除此以外,也有可能是系統(tǒng)自身的問題,無法調(diào)節(jié)到穩(wěn)定,例如, 不規(guī)律的干擾,或者反饋信號不穩(wěn)定。
4.3. 手動調(diào)節(jié)PID至穩(wěn)定
問題與解決方法:
1. PID輸出總是輸出很大的值,并在這一區(qū)間內(nèi)調(diào)節(jié)變化圖 4.3.1
2. 過程變量超過設(shè)定值很多(超調(diào)很大)
圖 4.3.2
產(chǎn)生原因:積分時間(Integral time)可能太高
解決方法:降低積分時間 3. 得到一個非常不穩(wěn)定的PID
圖 4.3.3 產(chǎn)生原因:
- 如果用了微分,可能是微分參數(shù)有問題
- 沒有微分,可能是增益(Gain)值太高
解決方法:
- 調(diào)整微分參數(shù)到0-1的范圍內(nèi)
-
根據(jù)回路調(diào)節(jié)特性將增益值降低,最低可從0.x 開始逐漸增大往上調(diào),直到獲得穩(wěn)定的PID。
如何獲取一組合適的參數(shù),實現(xiàn)快速并穩(wěn)定的PID控制?
PID調(diào)節(jié)過程中,用戶通常需要做多次的參數(shù)調(diào)節(jié)才能獲得最優(yōu)的控制效果。從下面反饋(過程變量)與給定之間的曲線圖中,可以看到黃色曲線較理想。用戶可以將調(diào)節(jié)的PID反饋與給定曲線與下圖中對比,并修改相關(guān)參數(shù)(但是因為現(xiàn)場情況不一樣,用戶還需具體問題具體對待,下圖中的建議僅供參考:
圖 4.3.4 反饋與給定曲線
1.超調(diào)過大,減小比例,增大積分時間
2.迅速變化,存在小超調(diào)
3.實際值緩慢接近設(shè)定值,并且無超調(diào)的達到設(shè)定值
4.增益系數(shù)太小和/或微分時間太長
5.益系數(shù)太小和/或積分時間太長
常見問題
沒有采用積分控制時,為何反饋達不到給定?
這是必然的。因為積分控制的作用在于消除純比例調(diào)節(jié)系統(tǒng)固有的“靜差”。沒有積分控制的比例控制系統(tǒng)中,沒有偏差就沒有輸出量,沒有輸出就不能維持反饋值與給定值相等。所以永遠不能做到?jīng)]有偏差。
對于某個具體的PID控制項目,是否可能事先得知比較合適的參數(shù)?有沒有相關(guān)的經(jīng)驗數(shù)據(jù)?
雖然有理論上計算PID參數(shù)的方法,但由于閉環(huán)調(diào)節(jié)的影響因素很多而不能全部在數(shù)學(xué)上精確地描述,計算出的數(shù)值往往沒有什么實際意義。因此,除了實際調(diào)試獲得參數(shù)外,沒有什么可用的經(jīng)驗參數(shù)值存在。甚至對于兩套看似一樣的系統(tǒng),都可能通過實際調(diào)試得到完全不同的參數(shù)值。
PID控制不穩(wěn)定怎么辦?如何調(diào)試PID?
閉環(huán)系統(tǒng)的調(diào)試,首先應(yīng)當做開環(huán)測試。所謂開環(huán),就是在PID調(diào)節(jié)器不投入工作的時候,觀察:
- 反饋通道的信號是否穩(wěn)定
- 輸出通道是否動作正常
可以試著給出一些比較保守的PID參數(shù),比如放大倍數(shù)(增益)不要太大,可以小于1,積分時間不要太短,以免引起振蕩。在這個基礎(chǔ)上,可以直接投入運行觀察反饋的波形變化。給出一個階躍給定,觀察系統(tǒng)的響應(yīng)是最好的方法。
如果反饋達到給定值之后,歷經(jīng)多次振蕩才能穩(wěn)定或者根本不穩(wěn)定,應(yīng)該考慮是否增益過大、積分時間過短;如果反饋遲遲不能跟隨給定,上升速度很慢,應(yīng)該考慮是否增益過小、積分時間過長……
總之,PID參數(shù)的調(diào)試是一個綜合的、互相影響的過程,實際調(diào)試過程中的多次嘗試是非常重要的步驟,也是必須的。
5PID自整定
S7-200 中使用的自整定算法是基于 K.J.?str?m 和 T. H?gglund 在 1984 年提出的延時反饋算法。經(jīng)過這二十年,繼電反饋算法已被應(yīng)用于工業(yè)控制的各個領(lǐng)域??梢允褂貌僮鲉T面板中的用戶程序或者 PID 整定控制面板來啟動自整定功能。在同一時間,不僅僅只有一個 PID 回路可以進行自整定,如果需要的話,所有 8 個 PID 回路可以同時進行自整定。PID自整定算法向您推薦增益值、積分時間值和微分時間值。您也可以為您的調(diào)節(jié)回路選擇快速響應(yīng)、中速響應(yīng)、慢速響應(yīng)或者極慢速響應(yīng)等調(diào)節(jié)類型。
5.1. PID自整定先決條件
啟動自整定先決條件:
- 要進行自整定的回路必須處于自動模式
在開始PID自整定調(diào)整前,整個PID控制回路必須工作在相對穩(wěn)定的狀態(tài)(穩(wěn)定的PID是指過程變量接近設(shè)定值,輸出不會不規(guī)則的變化,且回路的輸出值在控制范圍中心附近變化。)
理想狀態(tài)下,自整定啟動時,回路輸出值應(yīng)該在控制范圍中心附近。 自整定過程在回路的輸出中加入一些小的階躍變化,使得控制過程產(chǎn)生振蕩。 如果回路輸出接近其控制范圍的任一限值,自整定過程引入的階躍變化可能導(dǎo)致輸出值超出最小或最大范圍限值。 如果發(fā)生這種情況,可能會生成自整定錯誤條件,當然也會使推薦值并非最優(yōu)化。
為什么啟動自整定之前,需要PID控制回路工作在相對穩(wěn)定狀態(tài)?
啟動自整定后,回路計算自滯后序列時,不能執(zhí)行正常的 PID 計算,此時回路輸出時一個定值,不會根據(jù)偏差變化。 因此,在啟動自整定序列之前,控制過程應(yīng)處于穩(wěn)定狀態(tài)。 這樣可以得到更好的滯后值結(jié)果,同時也可以保證自滯后序列期間控制過程不會失控。
5.2. PID自整定參數(shù)介紹
S7-200 中的 PID自整定參數(shù)是回路表40-80字節(jié),見下圖:
圖 5.2.1. PID擴展回路表
a. AT控制(ACNTL): 啟動/中止自整定
圖 5.2.2. PID自整定AT控制字節(jié)
b.AT狀態(tài)(ASTAT):自整定的輸出狀態(tài)字節(jié),PID控制面板自整定時的相關(guān)狀態(tài)也是根據(jù)由該字節(jié)判斷。
圖 5.2.3. PID自整定AT狀態(tài)字節(jié)
c.AT結(jié)果(ARES):PID自整定結(jié)果,需要注意,啟動PID自整定之前需要確保該字節(jié)0位為0,尤其是自己編程啟動自整定,可能需要手動設(shè)置為0。
圖 5.2.4. PID自整定AT結(jié)果字節(jié)
d.AT配置(ACNFG): 自整定之前先對響應(yīng)模式、偏差、滯后等做相關(guān)設(shè)置。
圖 5.2.5. PID自整定AT配置字節(jié)
e.偏移(DEV)~ h.看門狗時間(WDOG): 參考PID自整定高級參數(shù)設(shè)置。
i.推薦增益(AT_Kc)~ k.推薦微分時間(AT_Td:PID自整定完成后,整定所得推薦參數(shù)放置在該地址。
l.實際輸出階躍幅度(ASTEP):調(diào)節(jié)開始后,PID計算出的新的輸出階躍值。
m.實際滯后(AHYS): 重新計算得到的實際滯后值。
5.3. 通過PID控制面板啟動自整定
S7-200的PID自整定實現(xiàn)方式有兩種,一種是通過控制面板,另一種是自己編程。
需要注意:
通過控制面板實現(xiàn)PID自整定,PID必須是向?qū)?
自己編程實現(xiàn)PID自整定,向?qū)Щ蛘逷ID指令塊實現(xiàn)PID均可,具體步驟可以查看:如何編程啟動自整定
下面介紹通過PID控制面板實現(xiàn)自整定:
第一步:在PID Wizard (向?qū)В?/a>中完成PID功能配置,正確調(diào)用PID子程序 。
第二步:打開PID調(diào)節(jié)控制面板,設(shè)置PID回路調(diào)節(jié)參數(shù)。
在Micro/WIN V4.0在線的情況下,從主菜單Tools(工具) > PID Tune Control Panel(PID調(diào)節(jié)控制面板)進入PID調(diào)節(jié)控制面板中,如果面板沒有被激活(所有地方都是灰色),可點擊Configure(配置)按鈕運行CPU。
在PID調(diào)節(jié)面板圖3.4.1的e.區(qū)選擇要調(diào)節(jié)的PID回路號,在d.區(qū)選擇Manual(手動),調(diào)節(jié)PID參數(shù)并點擊Update(更新),使新參數(shù)值起作用,監(jiān)視其趨勢圖,根據(jù)調(diào)節(jié)狀況改變PID參數(shù)直至調(diào)節(jié)穩(wěn)定。
為了使PID自整定順利進行,應(yīng)當做到:
- 使PID調(diào)節(jié)器基本穩(wěn)定,輸出、反饋變化平緩,并且使反饋比較接近給定
- 設(shè)置合適的給定值,使PID調(diào)節(jié)器的輸出遠離趨勢圖的上、下坐標軸,以免PID自整定開始后輸出值的變化范圍受限制
第三步:在圖3.4.1的d.區(qū)點擊Advanced(高級)按鈕,設(shè)定PID自整定選項。如果不是很特殊的系統(tǒng),也可以不加理會。
圖5.3.1. 設(shè)置PID自整定高級選項
在此允許你設(shè)定下列參數(shù):
- 你可以選中復(fù)選框,讓自整定來自動計算死區(qū)值和偏移值 對于一般的PID系統(tǒng),建議使用自動選擇。
-
Hysteresis(滯回死區(qū)): 死區(qū)值規(guī)定了允許過程值偏離設(shè)定值的最大(正負)范圍,過程反饋在這個范圍內(nèi)的變化不會引起PID自整定調(diào)節(jié)器改變輸出,或者使PID自整定調(diào)節(jié)器“認為”這個范圍內(nèi)的變化是由于自己改變輸出進行自整定調(diào)節(jié)而引起的。PID自整定開始后,只有過程反饋值超出了該區(qū)域,PID自整定調(diào)節(jié)器才會認為它對輸出的改變發(fā)生了效果。這個值用來減少過程變量的噪聲對自整定的干擾,從而更精確地計算出過程系統(tǒng)的自然振動頻率。如果選用自動計算,則缺省值為2%。
如果過程變量反饋干擾信號較強(噪聲大)自然變化范圍就大,可能需要人為設(shè)置一個較大的值。但這個值的改變要與下面的偏差值保持1:4的關(guān)系。 - Deviation(偏差): 偏差值決定了允許過程變量偏離設(shè)定值的峰峰值。如果選擇自動計算該值,它將是死區(qū)的4倍,即8%。 有些非常敏感的系統(tǒng)不允許過程量偏離給定值很多,也可以人工設(shè)置為比較小的值,但是要和上述“死區(qū)”設(shè)置保持比例關(guān)系。這就是說,一個精度要求高的系統(tǒng),其反饋信號必須足夠穩(wěn)定。
- Initial Output Step(初始步長值):PID調(diào)節(jié)的初始輸出值。 PID自整定開始后,PID自整定調(diào)節(jié)器將主動改變PID的輸出值,以觀察整個系統(tǒng)的反應(yīng)。初始步長值就是輸出的變動第一步變化值,以占實際輸出量程的百分比表示。
- Watchdog Time(看門狗時間):過程變量必須在此時間(時基為秒)內(nèi)達到或穿越給定值,否則會產(chǎn)生看門狗超時錯誤。 PID自整定調(diào)節(jié)器在改變輸出后,如果超過此時間還未觀察到過程反饋(從下至上或從上至下)穿越給定曲線,則超時。如果能夠事先確定實際系統(tǒng)響應(yīng)非常慢,可以加長這個時間。
-
動態(tài)響應(yīng)選項:根據(jù)回路過程(工藝)的要求可選擇不同的響應(yīng)類型:快速、中速、慢速、極慢速。
- 快速:可能產(chǎn)生超調(diào),屬于欠阻尼響應(yīng)
- 中速:在產(chǎn)生超調(diào)的邊緣,屬于臨界阻尼響應(yīng)
- 慢速:不會產(chǎn)生任何超調(diào),屬于過阻尼響應(yīng)
-
極慢速:不會產(chǎn)生任何超調(diào),屬于嚴重過阻尼響應(yīng)
用戶在這里指定需要達到的系統(tǒng)控制效果,而不是對系統(tǒng)本身響應(yīng)快慢的判斷。
- 設(shè)定完參數(shù)點擊OK鍵回到PID調(diào)節(jié)控制面板的主畫面。
第四步:在手動將PID調(diào)節(jié)到穩(wěn)定狀態(tài)后,即過程值與設(shè)定值接近,且輸出沒有不規(guī)律的變化,并最好處于控制范圍中心附近。此時可點擊圖3.4.1的d.區(qū)內(nèi)的Start Auto Tune按鈕啟動PID自整定功能,這時按鈕變?yōu)镾top Auto Tune。這時只需耐心等待,系統(tǒng)完成自整定后會自動將計算出的PID參數(shù)顯示在圖3.4.1的d.區(qū)。當按鈕再次變?yōu)镾tart Auto Tune時,表示系統(tǒng)已經(jīng)完成了PID自整定。
要使用自整定功能,必須保證PID回路處于自動模式。開始自整定后,給定值不能再改變。
第五步:如果用戶想將PID自整定的參數(shù)應(yīng)用到當前PLC中,則只需點擊Update PLC,將整定后推薦參數(shù)更新到PID的增益、積分時間、微分時間內(nèi)。
完成PID調(diào)整后,最好下載一次整個項目(包括數(shù)據(jù)塊),使新參數(shù)保存到CPU的EEPROM中。
控制面板上會顯示當前自整定的狀態(tài)嗎?
可以,在控制面板右下方空白處會顯示當前的自整定所處階段,見下圖:
圖5.3.2. PID自整定狀態(tài)
圖中錯誤是因為在手動狀態(tài)下啟動自整定。
PID自整定具體是怎樣實現(xiàn)的?
圖5.3.3. PID自整定
1. 回路滿足條件,啟動PID自整定。
2. 計算自滯后和自偏移:如果選擇自動確定滯后值/偏移值,PID 自整定器將進入滯后確定序列。該序列包含一段時間內(nèi)的過程變量采樣值(為了得到具有統(tǒng)計意義的采樣數(shù)據(jù),至少要有100個采樣值。如果回路的采樣時間為200毫秒,則采集100個樣本需要20秒。采樣時間較長的回路需要更多時間。即使回路的采樣時間小于 200毫秒,從而采樣100次的時間不需要20秒,滯后確定序列仍然需要至少20秒的采樣時間。計算自滯后序列時,不能執(zhí)行正常的PID計算,輸出保持上一周期PID計算值。),然后根據(jù)采樣結(jié)果計算出標準偏移。滯后參數(shù)指定了相對于設(shè)定值的偏移(正或負),PV(過程變量)在此偏移范圍內(nèi)時,不會導(dǎo)致控制器改變輸出值。 偏移用于減小 PV 信號中噪聲的影響,從而更精確地計算出過程的固有振動頻率。
3. 自整定序列:在得到滯后值和偏移值之后開始執(zhí)行自整定序列(輸出值的上述變化會導(dǎo)致過程變量值產(chǎn)生相應(yīng)的變化。 當輸出的變化使 PV 遠離設(shè)定值以至于超出滯后區(qū)范圍時,自整定器就會檢測到過零事件。 每次發(fā)生過零事件時,自整定器將反方向改變輸出。整定器會繼續(xù)對 PV 進行采樣,并等待下一個過零事件。要完成序列,整定器總共需要12次過零事件。過程變量的PV振動幅度和頻率代表著控制過程增益和自然頻率。),根據(jù)自整定過程期間采集到的過程的頻率和增益的相關(guān)信息,能夠計算出最終增益和頻率值。通過這些值可以計算出增益(回路增益)、復(fù)位(積分時間)和速率(微分時間)的建議值。
4. 自整定序列完成后,回路輸出會恢復(fù)到初始值。 下一次執(zhí)行回路時,將執(zhí)行正常的 PID 計算。
想要了解PID自整定的詳細過程,請查看S7-200系統(tǒng)手冊第15章 PID自整定和PID控制面板 。
5.4. 通過編程啟動自整定
第一步:在數(shù)據(jù)塊定設(shè)置自整定相關(guān)參數(shù):偏差、滯后、初始輸出階躍響應(yīng)、看門狗時間、動態(tài)響應(yīng)。
圖5.4.1. PID自整定參數(shù)設(shè)置
第二步:確認PID自整定的2個先決條件是否滿足:PID指令塊正常調(diào)用,同時被控系統(tǒng)處于相對穩(wěn)定狀態(tài)。
第三步:確認自整定AT結(jié)果字節(jié)0位為0,設(shè)置AT控制字節(jié)為1,(M3.1)啟動自整定。
圖5.4.2. 啟動自整定
第四步:整定過程中如果想要暫停自整定,可以設(shè)AT控制為0,并手動(M3.2) 將AT結(jié)果清零,復(fù)位啟動按鈕。
圖5.4.3. 停止自整定
第四步:自整定成功(VB142=128)后,選擇(M3.3)是否將整定后的推薦參數(shù)送至PID參數(shù)并復(fù)位相關(guān)自整定參數(shù)。
圖5.4.4. 整定后參數(shù)設(shè)置
以上步驟僅供參考,需要根據(jù)實際情況,做不同的變換。
5.5. PID自整定失敗的原因
1. PID輸出在最大值與最小值之間振蕩(曲線接觸到坐標軸)
圖5.5.1. 整定趨勢圖
解決方法:降低PID初始輸出步長值(initial output step)
2. 經(jīng)過一段時間后,PID自整定面板顯示如下信息:“The Auto Tune algorithm was aborted due to a zero-crossing watchdog timeout.” 即自整定計算因為等待反饋穿越給定值的看門狗超時而失敗。
解決方法: 確定在啟動PID自整定前,過程變量和輸出值已經(jīng)穩(wěn)定。并檢查Watchdog Time的值,將其適當增大。
對于其它錯誤,可參考下表或者S7-200系統(tǒng)手冊。
結(jié)果代碼(在AT結(jié)果 ARES中查看) | 情況 |
---|---|
01 由用戶中止
|
EN位在調(diào)諧進行中被清除
|
02 由于過零看門狗超時而中止
|
半循環(huán)持續(xù)時間超過過零看門狗間隔
|
03 由于進程超出范圍而中止
|
PV超出范圍:
-在自動滯后序列過程中 -在第四次過零前兩次 -在第四次過零后 |
04 由于滯后值超出最大值而中止
|
用戶指定的滯后值或自動確定的滯后值 > 最大值 |
05 由于非法配置值而中止
|
下列范圍檢查錯誤:
-初始回路輸出值 < 0.0 或 > 1.0 -用戶指定的偏差值=滯后值或 > 最大值 -初始輸出步長=0.0 或 > 最大偏差 -過零看門狗間隔時間 < 最小值 -回路表中的抽樣時間值為負數(shù) |
06 由于數(shù)字錯誤而中止
|
遇到非法的浮點數(shù)或除數(shù)為零
|
07 執(zhí)行PID指令時無使能位(手動模式
|
當自動調(diào)諧在進行中或被請求時PID指令以無使能位的方式執(zhí)行
|
08 自動調(diào)諧只可用于P、PI、PD或PID等回
|
回路類型不是P、PI、PD或PID
|
湖南 西門子 6ES7216-2BD23-0XB0