來源:昌昇自動化時間:2022-03-24
FB41稱為連續控制的PID用于控制連續變化的模擬量,與FB42的差別在于后者是離散型的,用于控制開關量,其他二者的使用方法和許多參數都相同或相似。
PID的初始化可以通過在OB100中調用一次,將參數COM-RST置位,當然也可在別的地方初始化它,關鍵的是要控制COM-RST;
PID的調用可以在OB35中完成,一般設置時間為200MS,
一定要結合幫助文檔中的PID框圖研究以下的參數,可以起到事半功倍的效果
以下將重要參數用黑體標明.如果你比較懶一點,只需重點關注黑體字的參數就可以了。其他的可以使用默認參數。
A:所有的輸入參數:
COM_RST: BOOL: 重新啟動PID:當該位TURE時:PID執行重啟動功能,復位PID內部參數到默認值;通常在系統重啟動時執行一個掃描周期,或在PID進入飽和狀態需要退出時用這個位;
MAN_ON: BOOL:手動值ON;當該位為TURE時,PID功能塊直接將MAN的值輸出到LMN,這可以在PID框圖中看到;也就是說,這個位是PID的手動/自動切換位;
PEPER_ON: BOOL:過程變量外圍值ON:過程變量即反饋量,此PID可直接使用過程變量PIW(不推薦),也可使用 PIW規格化后的值(常用),因此,這個位為FALSE;
P_SEL: BOOL:比例選擇位:該位ON時,選擇P(比例)控制有效;一般選擇有效;
I_SEL: BOOL:積分選擇位;該位ON時,選擇I(積分)控制有效;一般選擇有效;
INT_HOLD BOOL:積分保持,不去設置它;
I_ITL_ON BOOL:積分初值有效,I-ITLVAL(積分初值)變量和這個位對應,當此位ON時,則使用I-ITLVAL變量積分初值。一般當發現PID功能的積分值增長比較慢或系統反應不夠時可以考慮使用積分初值;
D_SEL : BOOL:微分選擇位,該位ON時,選擇D(微分)控制有效;一般的控制系統不用;
CYCLE : TIME:PID采樣周期,一般設為200MS;
SP_INT: REAL:PID的給定值;
PV_IN : REAL:PID的反饋值(也稱過程變量);
PV_PER: WORD:未經規格化的反饋值,由PEPER-ON選擇有效;(不推薦)
MAN : REAL:手動值,由MAN-ON選擇有效;
GAIN : REAL:比例增益;
TI : TIME:積分時間;
TD : TIME:微分時間;
TM_LAG: TIME:我也不知道,沒用過它,和微分有關;
DEADB_W: REAL:死區寬度;如果輸出在平衡點附近微小幅度振蕩,可以考慮用死區來降低靈敏度;
LMN_HLM: REAL:PID上極限,一般是100%;
LMN_LLM: REAL:PID下極限;一般為0%,如果需要雙極性調節,則需設置為-100%;(正負10V輸出就是典型的雙極性輸出,此時需要設置-100%);
PV_FAC: REAL:過程變量比例因子
PV_OFF: REAL:過程變量偏置值(OFFSET)
LMN_FAC: REAL:PID輸出值比例因子;
LMN_OFF: REAL:PID輸出值偏置值(OFFSET);
I_ITLVAL:REAL:PID的積分初值;有I-ITL-ON選擇有效;
DISV :REAL:允許的擾動量,前饋控制加入,一般不設置;
B:部分輸出參數說明:
LMN :REAL:PID輸出;
LMN_P :REAL:PID輸出中P的分量;(可用于在調試過程中觀察效果)
LMN_I :REAL:PID輸出中I的分量;(可用于在調試過程中觀察效果)
LMN_D :REAL:PID輸出中D的分量;(可用于在調試過程中觀察效果)
C:規格化概念及方法:
PID參數中重要的幾個變量,給定值,反饋值和輸出值都是用0.0~1.0之間的實數表示,
而這幾個變量在實際中都是來自與模擬輸入,或者輸出控制模擬量的
因此,需要將模擬輸出轉換為0.0~1.0的數據,或將0.0~1.0的數據轉換為模擬輸出,這個過程稱為規格化
規格化的方法:(即變量相對所占整個值域范圍內的百分比 對應與27648數字量范圍內的量)
對于輸入和反饋,執行:變量*100/27648,然后將結果傳送到PV-IN和SP-INT
對于輸出變量 ,執行:LMN*27648/100,然后將結果取整傳送給PQW即可;
D:PID的調整方法:
一般不用D,除非一些大功率加熱控制等慣大的系統;僅使用PI即可,
一般先使I等于0,P從0開始往上加,直到系統出現等幅振蕩為止,記下此時振蕩
的周期,然后設置I為振蕩周期的0.48倍,應該就可以滿足大多數的需求。我記得網絡上有許多調整PID的方法,但不記得那么多了,先試試吧。
附錄:PID的調整可以通過“開始―>SIMATIC->STEP7->PID調整”打開PID調整的控制面板,通過選擇不同的PID背景數據塊,調整不同回路的PID參數。