西門子PLCsmart200-PID 自動/手動調節的無擾動切換
PID 自動/手動調節的無擾動切換
有些工程項目中可能需要根據工藝要求在不同的時刻投入、或者退出 PID 自動控制;退出 PID 自動控制時,控制器的輸出部分可以由操作人員直接手動控制。這就是所謂的 PID 手動/自動切換。
PID 控制處于自動方式時,PID 控制器(S7-200 SMART 中的 PID 調節功能)會按照 PID 算法,自動通過輸出的作用使過程反饋值跟隨給定值變化,并保持穩定。這是一個自動的閉環控制系統。操作人員可以根據現場工藝的要求,改變給定(即設定值)的值。
PID 控制處于手動方式時,PID 控制器不再起自動計算的作用。這時,控制回路的輸出是由操作人員手動控制、調整,由操作人員觀察現場的控制效果,從而構成人工閉環控制。
所謂 PID 自動/手動控制,就是看控制系統的輸出是由 PID 控制器自動控制,還是由操作人員手動控制。
有些控制系統的執行機構不能承受較大的沖擊,這就要求在進行 PID 自動/手動切換時,保持控制輸出的穩定。這就是要求無擾動切換。
為了達到 PID 自動/手動控制的無擾動切換,需要在編程時注意一些相關事項。下面分別就直接使用 PID 指令編程,和使用 PID 向導編程兩種情況作一介紹。
1.直接使用 PID 指令編程時的 PID 自動/手動無擾切換
直接使用 PID 指令塊編寫 PID 控制程序時,可以簡單地使用“調用/不調用”指令的方式控制自動/手動模式。因為 PID 指令本身已經具有實現無擾動切換的能力,此時在 PID 指令控制環節之外編程沒有多大必要。
PID 指令的 EN 輸入端使能(為“1”)時,我們認為是自動控制模式;EN 輸入端未使能(為“0”)時,我們認為是手動控制模式。
PID 指令本身有一個“能流歷史狀態位”,以記錄指令的狀態切換。在 EN 端從“0”變為”“1”時,PID 指令認為這是從“手動”模式向“自動”模式切換。PID 指令此時會自動執行一系列動作,以配合無擾動切換:
- 使設定值( SPn) = 當前過程反饋變量(PVn)
- 設置上次采樣過程變量(PVn-1) = 當前過程反饋變量(PVn)
- 設置積分偏差和(或所謂積分前項)(Mx) = 當前輸出值(Mn)
使設定值等于當前反饋值可以避免出現偏差,使之不存在調整的要求;當然如果有工藝要求,也可以后續調整設定值。其他的動作都是為了使 PID 在后續的操作中不改變輸出的值。
在編程時要注意:
- 從自動模式向手動模式切換時,PID 指令的 EN 端不再有能流,計算停止,輸出值 Mn 不再變化。此時如果需要操作人員人工觀察控制的結果,手動控制輸出量,就可以通過用戶程序直接改變回路表中的輸出值存儲單元內容(見數據塊或系統手冊的相關部分內容)。如果有必要,操作人員的操作可能要進行一些標準化換算。
- 為保證從手動模式向自動模式的切換無擾動,需要在手動控制時,或在切換過程中,禁止對 PID 回路表中設定值的更新,以便切換時 PID 指令用當前過程反饋值替代設定值。切換完成后,操作人員可以調整設定值。
2.使用 PID 向導編程時的 PID 自動/手動無擾切換
使用 PID 指令向導編程時,指令向導會自動調用 PID 指令,并且編寫外圍的控制變量標準化換算、定時采樣等功能。用戶在使用 PID 指令向導時,需要在用戶程序中用 SM0.0 調用指令向導生成的子程序(如 PIDx_CTRL 子程序)。PID 向導可以生成帶自動/手動切換功能的子程序,這個子程序使用一個數字量點為“1”、“0”的狀態來控制是否投入 PID 自動控制。
到目前為止(STEP 7-Micro/WIN SMART),使用 PID 向導生成的子程序時,由于用戶程序不能直接使用 PID 指令,它的無擾切換能力因為隔了外殼子程序,所以受到了局限。如果對無擾切換要求比較嚴格,需要另外編一些程序加以處理。
考察如下 PID 控制子程序。
圖 1. PID 向導生成的指令
圖中:
- 過程反饋量
- 設定值,實數
- 自動/手動控制,“1”=自動,“0”=手動
- 手動控制輸出值,0.0 - 1.0 之間的一個實數
- PID 控制輸出值
要實現無擾動切換,必須:
- 在從自動向手動切換時,使手動輸出值(VD2004)等于當前的實際控制輸出值;
- 在從手動向自動切換時,使設定值相當于當前的過程反饋值。
為此,可編寫類似下圖所示的程序,放在 PID 控制子程序之前:
圖 2. 無擾切換處理程序
圖中:
- 自動/手動切換控制點
- 從自動向手動切換時,使手動輸出值等于實際當前值
- 從手動向自動切換時,把當前反饋量換算為相應的給定值
上述程序中的 Scale_I_to_R 就是量程變換指令庫中的子程序,如何將該指令庫導入到Micro/WIN SMART 中可參見如何將Micro/WIN 的庫文件導入到Micro/WIN SMART中。這是為了解決過程反饋與設定值之間的換算問題。用戶也可以自己編程換算,或者根據反饋與給定的取值范圍決定是否需要換算。
為了更好地理解 PID向導的自動/手動無擾切換的使用,可參考下面的例程。
使用環境: STEP 7 Micro/WIN SMART V2.3.2
實現功能: PID向導的自動/手動無擾切換
PID向導自動/手動無擾切換 (工程文件下載鏈接):
程序截圖全部如下:
免責聲明
本例程僅供參考,程序中的CPU版本、類型可能與用戶實際使用不同,用戶可能需要先對例子程序做修改和調整,才能將其用于測試。本例程的作者和擁有者對于該例程的功能性和兼容性不負任何責任,使用該例程的風險完全由用戶自行承擔。由于它是免費的,所以不提供任何擔保,錯誤糾正和熱線支持,用戶不必為此聯系西門子技術支持與服務部門。