一、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 指令,它的無擾切換能力因為隔了外殼子程序,所以受到了局限。
如果對無擾切換要求比較嚴格,需要另外編一些程序加以處理。但在gaoji一點的PLC中,無擾動切換功能只需打個勾即可。
對于SMART來說則不能這么簡單了。
S7-200SMART中,考察如下 PID 控制子程序:
圖 1. PID 向導生成的指令
圖中:a、過程反饋量 ;b、設定值,實數 ;c、自動/手動控制,“1”=自動,“0”=手動 ;d、手動控制輸出值,0.0 - 1.0 之間的一個實數;e、PID 控制輸出值。
要實現無擾動切換,必須:
在從自動向手動切換時,使手動輸出值(VD2004)等于當前的實際控制輸出值;在從手動向自動切換時,使設定值相當于當前的過程反饋值。
為此,可編寫類似下圖所示的程序,放在 PID 控制子程序之前:
圖 2. 無擾切換處理程序
圖中:
a、自動/手動切換控制點 ;
b、從自動向手動切換時,使手動輸出值等于實際當前值 ;
c、從手動向自動切換時,把當前反饋量換算為相應的給定值 。
- 西門子PLC 1214C DC/DC/DC輸入和輸出接線 2024-12-26
- 西門子博途S7-1500 模擬量模塊讀取數據程序編寫 2024-12-26
- 西門子S7-200SMART MODBUS通信介紹與實例編程 2024-12-26
- 西門子S7-200SMART CPU與S7-1500進行S7通信 2024-12-26
- 西門子S7-200 SMART PLC計數器指令 2024-12-26
- 西門子S7-200 SMART PLC定時器指令 2024-12-26
- 西門子S7-200 SMART PLC位邏輯指令 2024-12-26
- 關于觸摸屏與PLC之間連接,我們需要注意的問題 2024-12-26
- 觸摸屏不通過PLC,直接控制變頻器 2024-12-26
- 西門子S7-200 SMART PLC-PID 指令及相關內容說明 2024-12-26
- 巧用西門子CPU時鐘信號,讓定時更精準 2024-12-26
- 如何設置西門子CPU系統執行時間 2024-12-26
- 西門子FC與FB究竟有啥區別 2024-12-26
- S7-1500是如何控制伺服的 2024-12-26
- Modbus RTU轉Profinet網關通訊實例 2024-12-26
聯系方式
- 電 話:18126392341
- 聯系人:梁濤
- 手 機:15267534595
- 微 信:15267534595