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