概念地圖・PID 積分抗飽和
分類:系統
這一頁不只是把一個概念解釋一遍——一張自己畫的結構圖,加上拿台灣情境從頭走一次的實例演練、這個框架什麼時候會騙你,以及它接回 P.A.I.N. 之後長什麼樣。一頁必須交付的三層 →
PID 積分抗飽和:替累積要求留一條回路
切管機的進給驅動已經碰到輸出上限,控制畫面上的要求值還在往上長;師傅等著它鬆手,準備下一輪空載測試。這段等待可能藏著積分累積:執行器已經做滿,誤差仍持續記帳。PID 積分抗飽和中的回算法,把實際施加量與要求量的差送回積分更新——讓積分器也收到「這段要求做不到」的訊號。下圖追的是那條回路,以及下一筆合理指令進來後,先前累積的要求留下多少尾巴。
實際輸出繞回積分器的那條路
先把訊號名稱對齊。I 在這裡已經包含 Ki 的倍數,與 P、D 相加後共同決定輸出要求。
| 圖中部件 | 數學與訊號 | 讀紀錄時看什麼 |
|---|---|---|
| 飽和前要求 | e=r−y;u_raw=Kp e+I+D | 控制器當下想施加多少輸出。 |
| 飽和後輸出 | u_sat=clip(u_raw) | 依建模的上下限裁切後,送入程序的數值。 |
| 回算差值 | u_sat−u_raw,乘上正的 Kaw 得到 c | 要求超過上限時為負;低於下限時為正;未飽和時為零。 |
| 積分更新 | İ=Ki e+Kaw(u_sat−u_raw) | 誤差積累與輸出落差一起決定 I 的變化;I 的目標值不必為零。 |
| 同一試驗比較 | 第 5 秒,無回算 I 約 5.993;有回算約 −0.520。 | 兩條曲線在切換時都連續;後續走勢保留了切換前的狀態。 |
主圖是歸一化教學模擬:程序 y′=−y+u_sat,Kp=2、Ki=1、Kd=0,輸出限於[0,1],I 與 y 初值皆為 0。參考值 r 在前 5 秒為 2,之後降到 0.5;比較 Kaw=0 與 Kaw=2。以 dt=0.001 秒的顯式 Euler 法,每步用舊 I、y 算完 e、兩種輸出與兩個導數,再同步更新狀態;圖每 0.02 秒取點。到第 12 秒,兩者實際輸出分別為 1 與約 0.489——紅線累積的舊要求仍把輸出留在上限。
回算支路的原理可參考 Åström 與 Rundqwist 的〈Integrator Windup and How to Avoid It〉,以及 MathWorks 的 PID 抗飽和示範。本文曲線依上述參數另行計算,供讀圖與重現用。
哪一段限制沒有被控制器記住
一、沿訊號找到真正的限幅。切管機售服收到的畫面常只留控制器要求。沿著離線模型繼續往下找,驅動輸入前還有沒有一層已設定的裁切?把那個位置、上下限和訊號名稱寫在紀錄旁,才能知道回算拿到的量代表哪一段——中途截走的輸出,每一段都要交代。自問:實際施加的限制在哪一段?
二、檢查回去的方向與尺度。要求已碰上限時,回算應帶回負的差值。售服把兩條輸出疊在同一條時間軸上,再追到積分更新的輸入端;若要求用百分比、限幅後記錄用小數,先統一尺度再相減——一個負號對了,整條支路仍可能接錯比例。自問:積分器收到的是哪個飽和差值?
三、讓下一輪從同一個起點開始。師傅重播降速指令時,要連先前的參考值、持續時間與積分初值一起保存。只截一小段「降了還沒動」的波形,會漏掉前一輪累積的要求。兩次比較若起始 I 不同,差異也可能來自測試履歷——先讓試驗可重播,再解釋曲線。自問:切換情境與初始狀態是否可重現?
切管機售服的離線測試紀錄
底下這家台灣中部的切管機售服商,是為了把這個結構講清楚而編出來的示意情境,沒有指涉任何真實公司。
- 先把限幅那一步抓出來:售服在離線模擬器重播客戶描述的進給要求。其中一步要求為 85%,模型因已建好的上限只施加 60%;同一時間點的差值是 60%−85%=−25 個百分點。時間戳對得上,差值才有意思。
- 順著負差值追積分支路:工程師核對 −25 個百分點經過的比例換算與回算係數,再看它是否進入 I 的更新式。若紀錄只有「輸出限幅已啟用」一格,仍要補上這條支路的數值——限幅開關沒有交代積分收到什麼。畫面亮燈,測試紀錄還缺半段。
- 保存解除限制前後的整段:模擬器切換回原本可用範圍,售服核對 I、要求量與施加量是否仍留下過大的累積,再依設備程序安排後續驗證。這份紀錄只用來追訊號;真機參數另依設備規格與核准流程確認——主圖的增益留在教學試驗裡。交班時可以重播同一次切換。
這張紀錄最有用的接縫,是把「要求太大」與「後來回不來」放在同一段履歷裡。85% 與 60% 讓售服找到一次輸出落差;沿著回算支路往前走,才知道這筆差額是否進了積分更新。接著保留上限解除後的狀態,讓接手的人重跑同一條指令。每個欄位都對得上時間,討論就少一輪猜測——下一位技師可以接著查,而不用重新問客戶「當時到底怎麼按的」。以上為說明結構用的示意情境,僅供理解框架之用。
抗飽和保護之外仍要查什麼
- 下游多一道限幅,回算也可能漏接。模型裡的飽和器只描述已知限制。若驅動器在更下游另有限制,而控制器仍把前一段輸出當成施加量,積分更新看到的落差就會失真。檢查紀錄時先確認取樣點與限制的位置——訊號名稱叫「實際輸出」,仍要追到它實際從哪裡量來。
- 回算增益與取樣週期要一起驗證。Kaw 決定差值回到積分狀態的速度,離散實作又把這個更新切成一拍一拍。直接換成別套程式的係數,可能連單位、更新順序都沒對齊。主圖參數只服務這個簡化模型——設備上的取樣、延遲與切換測試,仍要按既定程序逐項驗證。
- 抗飽和只處理其中一種累積問題。回算修正了飽和造成的狀態偏離,程序本身的延遲、量測雜訊與模型偏差仍會影響反應。看到一段較快回復的曲線,接著要檢查其他操作條件;現場的合格判定還包含設備與工件需求——這張兩條線的圖,沒有包辦整套驗收。
累積要求也需要退場機制
上一輪做不到的要求,可能拖到下一輪才讓人付帳。
師傅已經下了合理指令,還得等舊積分慢慢消退。這段多出來的等待,很容易被記成一次模糊的「反應慢」。沿著《痛點》的 P.A.I.N. 去問,受影響的人、卡住的動作、反覆發生的時機,才會回到同一份紀錄裡。這張圖畫得出積分狀態如何受輸出落差修正,畫不出客戶多等一輪時失去了多少信任。售服可以先把等待定義清楚:從哪次指令切換開始,到哪個可觀察狀態結束;誰需要站在機台旁,誰的下一步跟著停住。數學上的恢復時間才有機會接上人的工作——今晚找一份既有報修紀錄,替那段等待補上開始事件與結束事件,交給同事照著重述一次。
積分回算的疑問與邊界
只把 PID 輸出限制在上下限內,為什麼還會積分飽和?
輸出裁切發生後,積分器仍可能照誤差持續累加。程式限制了送出去的數值,內部 I 卻已經存下更大的要求。等參考值降回可達範圍,這筆累積還得消退,才會讓輸出離開上限——主圖第 12 秒的無回算試驗,施加量就仍為 1。檢查時要把 I 與限幅前後輸出一起看。
有回算的積分值為什麼會先變成負數?
圖的初始誤差為 2,比例輸出為 4,施加量被限制為 1;回算差值為 −3。當 Kaw=2 時,İ=2+2×(−3)=−4,所以 I 從零往下走。這是比例要求過大時,回算在修正積分狀態的結果——負 I 與正的總輸出可以同時存在。I 的數值要與 P、D 合在一起解讀。
回算等於把積分器歸零嗎?
回算持續使用飽和前後的差值修正 I。當輸出回到限制內,差值歸零,積分器照原本的誤差更新;穩態所需的輸出也可能由非零的 I 維持。直接歸零則是額外改動狀態的動作——是否允許、何時執行及如何處理切換,都需要設備自己的控制設計。
抗飽和只有回算法一種嗎?
常見方法還有條件積分,依飽和與誤差方向決定是否暫停累加。遇到額外前饋或複雜執行器,追蹤訊號的構成也會改變。本文只把回算的差值支路拆開,方便閱讀測試紀錄——選擇方法前先確認控制架構,逐項核對限制、尺度與離散更新方式。
若想沿著誤差訊號倒回源頭,PID 迴路圖提供各部件的位置;背壓圖則呈現容量訊號如何往上游傳。背壓另有自己的流量機制;讀完再回到紀錄,沿著那筆飽和差值一路指到積分器。
喜歡這篇文章嗎?
每週幫你拆二本好書,把判斷力、好書金句、好問題,直送你的信箱。
不適合你可隨時退訂 · 每週兩封,陪你把書讀進生活。
送出即表示同意我們依隱私權政策使用你的 email。