02.24 西門子200 SMART如何實現PID 自動

所謂手自動勿擾S7-200 SMART PLC切換,是指在將PID迴路從手動模式切換到自動模式,或者是自動模式切換的手動模式時,PID輸出不會發生跳變,也就是不會產生任何波動。本文闡述內容主要以中的PID功能為實例。

一、PID 自動/手動調節的無擾動切換

有些工程項目中可能需要根據工藝要求在不同的時刻投入、或者退出 PID 自動控制;退出 PID 自動控制時,控制器的輸出部分可以由操作人員直接手動控制。這就是所謂的 PID 手動/自動切換。

PID 控制處於自動方式時,PID 控制器(以S7-200 SMART 中的 PID 調節為例)會按照 PID 算法,自動通過輸出的作用使過程反饋值跟隨給定值變化,並保持穩定。這是一個自動的閉環控制系統。操作人員可以根據現場工藝的要求,改變給定(即設定值)的值。

PID 控制處於手動方式時,PID 控制器不再起自動計算的作用。這時,控制迴路的輸出是由操作人員手動控制、調整,由操作人員觀察現場的控制效果,從而構成人工閉環控制。

所謂 PID 自動/手動控制,就是看控制系統的輸出是由 PID 控制器自動控制,還是由操作人員手動控制。

有些控制系統的執行機構不能承受較大的衝擊,這就要求在進行 PID 自動/手動切換時,保持控制輸出的穩定。這就是要求無擾動切換。為了達到 PID 自動/手動控制的無擾動切換,需要在編程時注意一些相關事項。下面分別就直接使用 PID 指令編程,和使用 PID 嚮導編程兩種情況作一介紹。

二、直接使用 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 指令用當前過程反饋值替代設定值。切換完成後,操作人員可以調整設定值。

三、使用 PID 嚮導編程時的 PID 自動/手動無擾切換

使用 PID 指令嚮導編程時,指令嚮導會自動調用 PID 指令,並且編寫外圍的控制變量標準化換算、定時採樣等功能。用戶在使用 PID 指令嚮導時,需要在用戶程序中用 SM0.0 調用指令嚮導生成的子程序(如 PIDx_CTRL 子程序)。PID 嚮導可以生成帶自動/手動切換功能的子程序,這個子程序使用一個數字量點為“1”、“0”的狀態來控制是否投入 PID 自動控制。

到目前為止(STEP 7-Micro/WIN SMART),使用 PID 嚮導生成的子程序時,由於用戶程序不能直接使用 PID 指令,它的無擾切換能力因為隔了外殼子程序,所以受到了侷限。如果對無擾切換要求比較嚴格,需要另外編一些程序加以處理。但在高級一點的PLC中,無擾動切換功能只需打個勾即可。對於SMART來說則不能這麼簡單了。

S7-200SMART中,考察如下 PID 控制子程序:

西門子200 SMART如何實現PID 自動/手動調節切換?

圖 1. PID 嚮導生成的指令

圖中:a、過程反饋量 ;b、設定值,實數 ;c、自動/手動控制,“1”=自動,“0”=手動 ;d、手動控制輸出值,0.0 - 1.0 之間的一個實數;e、PID 控制輸出值。

要實現無擾動切換,必須:

  • 在從自動向手動切換時,使手動輸出值(VD2004)等於當前的實際控制輸出值;
  • 在從手動向自動切換時,使設定值相當於當前的過程反饋值。

為此,可編寫類似下圖所示的程序,放在 PID 控制子程序之前:

西門子200 SMART如何實現PID 自動/手動調節切換?

圖 2. 無擾切換處理程序

圖中:

a、自動/手動切換控制點 ;

b、從自動向手動切換時,使手動輸出值等於實際當前值 ;

c、從手動向自動切換時,把當前反饋量換算為相應的給定值 。

End


分享到:


相關文章: