知識|PLC的PID運(yùn)算及運(yùn)動控制探討(一)
PLC的工作流程
1、系統(tǒng)初始化:一般小型PLC的系統(tǒng)初始化主要是進(jìn)行初始化、設(shè)置、查找擴(kuò)展模塊等;
2、掃描輸入:掃描IO輸入信號;
3、執(zhí)行邏輯:根據(jù)用戶PLC程序執(zhí)行邏輯;
4、家務(wù)管理:PLC診斷、維護(hù)和其它系統(tǒng)程序執(zhí)行;
5、掃描輸出:將邏輯執(zhí)行的結(jié)果輸出;
6、通信管理單元:通信服務(wù)程序,響應(yīng)編程軟件和其它通信任務(wù)。
PLC運(yùn)行方式:
由上面可以看到PLC的運(yùn)行是一種循環(huán)掃描的運(yùn)行方式,實(shí)際上PLC還有定時掃描和中斷掃描共三種掃描方式。
循環(huán)掃描:PLC按上圖循環(huán)執(zhí)行;
定時掃描:PLC根據(jù)用戶設(shè)置的時間定時掃描,比方說50ms掃描一次,使用這種掃描方式,用戶需要保證用戶程序在設(shè)定時間內(nèi)一定能掃描完畢,一般PLC使用定時中斷和子程序結(jié)合起來實(shí)現(xiàn)這個功能(這種情況下與中斷掃描方式并無不同),但在IO掃描方面會有一些細(xì)微的不同,很可能會用到立即刷新IO的功能塊UpData_IO。
中斷掃描:中斷掃描根據(jù)外部或者內(nèi)部中斷的激活中斷掃描程序的運(yùn)行。比方說外部IO中斷、高速計(jì)數(shù)中斷、定時中斷等。
十九、PID——溫控、變頻
PID(Proportional, Integral andDerivative)是閉環(huán)控制中最常用的一種算法,在包括溫控、水泵、張力、伺服閥、運(yùn)控等行業(yè)得到了廣泛的應(yīng)用,但因?yàn)槊總€應(yīng)用的對象特性都不一樣,這就要求調(diào)試工程師允分了解PID的控制原理,只有這樣我們才能把PID的應(yīng)用好。
PID原理:
PID是由比例、微分、積分三個部分組成的,在實(shí)際應(yīng)用中經(jīng)常只使用其中的一項(xiàng)或者兩項(xiàng),如P、PI、PD、PID等。
從控制原理來說,當(dāng)一個控制對象,我們希望控制的輸出達(dá)到我們設(shè)定的值,我們通常會使用開環(huán)或者閉環(huán)控制,如果控制對象的響應(yīng)很穩(wěn)定不會受到其它環(huán)節(jié)的影響,我們可以選用開環(huán)控制。反之如果被控對象受到設(shè)定值、負(fù)載或者源端的影響而產(chǎn)生波動,我們應(yīng)該選用閉環(huán)控制。下圖是一個溫控的原理圖:
PID執(zhí)行周期(1/10秒) 〔范例〕
比例控制(P):
比例控制是最常用的控制手段之一,這也是最符合人的感觀的一種控制,比方說我們控制一個加熱器的恒溫100度,當(dāng)開始加熱時,離目標(biāo)溫度相差比較遠(yuǎn),這時我們通常會加大加熱,使溫度快速上升,當(dāng)溫度超過100度時,我們則關(guān)閉輸出,通常我們會使用這樣一個函數(shù)
e(t) = SP – y(t);
u(t) = e(t)*P
SP——設(shè)定值
e(t)——誤差值
y(t)——反饋值
u(t)——輸出值
P——比例系數(shù)
滯后性不是很大的控制對象使用比例控制方式就可以滿足控制要求,但很多被控對象中因?yàn)橛袦笮浴?/p>
比方說塑膠擠出機(jī),如果設(shè)定溫度是200度,當(dāng)采用比例方式控制時,如果P選擇比較大,則會出現(xiàn)當(dāng)溫度達(dá)到200度輸出為0后,溫度仍然會止不住的向上爬升,比方說升至230度,當(dāng)溫度超過200度太多后又開始回落,盡管這時輸出開始出力加熱,但溫度仍然會向下跌落一定的溫度才會止跌回升,比方說降至170度,最后整個系統(tǒng)會穩(wěn)定在一定的范圍內(nèi)進(jìn)行振蕩。
如果這個振蕩的幅度是允許的比方說家用電器的控制,那則可以選用比例控制,很多傳統(tǒng)的家用空調(diào)和我們常會發(fā)現(xiàn)家用空調(diào)始終是間歇工作的,當(dāng)開始制冷時我們通常會感到越來越冷,當(dāng)空調(diào)停止時又會感到溫度越來越高,它采用的則是比例控制
比例值太小時的控制效果圖:
如果比例值太小,反饋值始終到不了設(shè)定值(靜態(tài)誤差)就達(dá)到了平衡(如果是加熱的話就是說散熱與P*e(t)加熱達(dá)到了一個平衡)
比例值太大時的控制效果圖:
如果比例值太大,則被控對象會出上圖所示的振蕩,當(dāng)然振蕩點(diǎn)不一定是在設(shè)定值,會根據(jù)被控對象的不同或者P值的大小而在某個位置進(jìn)行振蕩。這對于大多數(shù)的控制對旬來說是不允許的。 比例積分控制(PI): 積分的存在是針對比例控制要不就是有差值要不就是振蕩的這種特點(diǎn)提出的改進(jìn),它常與比例一塊進(jìn)行控制,也就是PI控制。 其公式有很多種,但大多差別不大,標(biāo)準(zhǔn)公式如下: u(t) = Kp*e(t) + Ki∑e(t) +u0 u(t)——輸出 Kp——比例放大系數(shù) Ki——積分放大系數(shù) e(t)——誤差 u0——控制量基準(zhǔn)值(基礎(chǔ)偏差) 大家可以看到積分項(xiàng)是一個歷史誤差的累積值,如果光用比例控制時,我們知道要不就是達(dá)不到設(shè)定值要不就是振蕩,在使用了積分項(xiàng)后就可以解決達(dá)不到設(shè)定值的靜態(tài)誤差問題,比方說一個控制中使用了PI控制后,如果存在靜態(tài)誤差,輸出始終達(dá)不到設(shè)定值,這時積分項(xiàng)的誤差累積值會越來越大,這個累積值乘上Ki后會在輸出的比重中越占越多,使輸出u(t)越來越大,最終達(dá)到消除靜態(tài)誤差的目的。
PI兩個結(jié)合使用的情況下,我們的調(diào)整方式如下: 1、先將I值設(shè)為0,將P值放至比較大,當(dāng)出現(xiàn)穩(wěn)定振蕩時,我們再減小P值直到P值不振蕩或者振蕩很小為止(術(shù)語叫臨界振蕩狀態(tài)),在有些情況下,我們還可以在些P值的基礎(chǔ)上再加大一點(diǎn)?! ?、加大I值,直到輸出達(dá)到設(shè)定值為止?! ?、等系統(tǒng)冷卻后,再重上電,看看系統(tǒng)的超調(diào)是否過大,加熱速度是否太慢?! ⊥ㄟ^上面的這個調(diào)試過程,我們可以看到P值主要可以用來調(diào)整系統(tǒng)的響應(yīng)速度,但太大會增大超調(diào)量和穩(wěn)定時間;而I值主要用來減小靜態(tài)誤差?! ?biāo)準(zhǔn)的PID公式在溫控等響應(yīng)較慢的系統(tǒng)中會存在積分項(xiàng)導(dǎo)致過沖的情況,這是因?yàn)樵陂_始加熱后,盡管這時輸出已調(diào)整最大(比方說固態(tài)繼電器的PWM輸出已是100%開了)但這時的溫度仍然只能緩慢上升,這時的積分項(xiàng)會增加得很快,當(dāng)溫度達(dá)到設(shè)定值后,這時盡管比例項(xiàng)已輸出為0,但是積分項(xiàng)仍然會因?yàn)槠淅鄯e值很高而有較大的輸出,導(dǎo)致溫度超調(diào)?! ≡诘戮S森的V80中,通過改進(jìn)的遇限消弱積分法等措施很好的解決了這個問題,使積分項(xiàng)在輸出全開時停止積分,減少了積分對于這種大時延系統(tǒng)的影響。PID控制: 因?yàn)镻I系統(tǒng)中的I的存在會使整個控制系統(tǒng)的響應(yīng)速度受到影響,為了解決這個問題,我們在控制中增加了D微分項(xiàng),微分項(xiàng)主要用來解決系統(tǒng)的響應(yīng)速度問題,其完整的公式如下: u(t) = Kp*e(t) + Ki∑e(t) + Kd[e(t) – e(t-1)]+u0 在模擬電路中的微分常數(shù)是與特征頻率相關(guān)系的,而在數(shù)字離散PID中的微分項(xiàng)實(shí)際上是有一些問題的,因?yàn)槠渲挥?jì)算了兩次誤差的差值,而實(shí)際的模擬PID或者用戶需要的理想微分公式應(yīng)該是要對其進(jìn)行展寬的,只有展寬的D值才能真正的起到很好的效果。微分項(xiàng)在控制系統(tǒng)中起到減少超調(diào)降低振蕩的作用,但因?yàn)槲⒎猪?xiàng)本身對于干擾很敏感,所以在使用微分項(xiàng)時要慎重。
評論排行