PID_3Step 與 PID_Compact 的指令參數類似也分為以下主要兩部分:輸入參數與輸出參數。其指令塊的視圖也包含集成視圖與擴展視圖,在不同的視圖下所能看見的參數是不一樣的。在集成視圖中可看到的參數為最基本的默認參數,如給定值,反饋值,輸出值等。定義這些參數可實現控制器最基本的控制功能,而在擴展視圖中,可看到更多的相關參數,如手自動切換,模式切換等,使用這些參數可使控制器具有更豐富的功能。如圖1 所示:
圖1 PID_3Step V2 指令塊的集成視圖和擴展視圖
PID_3Step V2 輸入輸出參數介紹
PID_3StepV2 的輸入參數包括 PID 的設定值,過程值,手自動切換,故障確認,模式切換和 PID 重啟參數,如表1 所示:
表1PID_3StepV2 的輸入參數
參數 | 數據類型 | 說明 |
Setpoint | REAL | PID 控制器在自動模式下的設定值 |
Input | REAL | PID 控制器的過程值(工程量) |
Input_PER | INT | PID 控制器的過程值(模擬量) |
Actuator_H | BOOL | 執行器上限位 |
Actuator_L | BOOL | 執行器下限位 |
Feedback | REAL | 執行器位置反饋(工程量) |
Feedback_PER | INT | 執行器位置反饋 (模擬量) |
Disturbance | REAL | 擾動變量或預控制值 |
ManualEnable | BOOL |
為TRUE時,切換到手動模式; 由TRUE變為FALSE時,將切換到保存在 Mode 參數中的工作模式。 |
ManualValue | REAL | 手動模式下的 PID 輸出值(調節類執行器) |
Manual_UP | BOOL | 執行器打開(開關類執行器) |
Manual_DN | BOOL | 執行器關閉(開關類執行器) |
ErrorAck | BOOL | ErrorAck由FALSE 變為TRUE 時,錯誤確認,清除已經離開的錯誤信息。 |
Reset | BOOL | 重新啟動控制器,PID輸出、積分作用清零、不論錯誤是否離開都會清除錯誤。 |
ModeActivate | BOOL | 由FALSE 變為TRUE 時,PID_3Step 將切換到保存在將切換到保存在 Mode 參數中的工作模式。 |
PID_3StepV2 的輸出參數包括 PID 的輸出值(數字量、模擬量),標定的過程值,限位報警(設定值、過程值),PID 的當前工作模式,錯誤狀態及錯誤代碼,如表2 所示:
表2PID_3StepV2 的輸出參數
參數 | 數據類型 | 說明 |
ScaledInput | REAL | 標定后的過程值 |
ScaledFeedback | REAL | 標定后的位置反饋 |
Output_UP | BOOL | 執行器打開數字量輸出(開關類執行器) |
Output_DN | BOOL | 執行器關閉數字量輸出(開關類執行器) |
Output_PER | INT | PID 控制器的模擬量輸出值(調節類執行器) |
SetpointLimit_H | BOOL |
為TRUE時設定值達到上限 Setpoint≥Config.SetpointUpperLimit |
SetpointLimit_L | BOOL |
為TRUE時設定值達到下限 Setpoint≤Config.SetpointLowerLimit |
InputWarning_H | BOOL | 為TRUE時過程值已達到或超出警告上限 |
InputWarning_L | BOOL | 為TRUE時過程值已達到或超出警告下限 |
State | INT |
PID 控制器的當前工作模式: State= 0:未激活 State= 1:預調節 State= 2:精確調節 State= 3:自動模式 State= 4:手動模式 State= 5:逼近替代輸出值 State= 6:轉換時間測量 State= 7:錯誤監視 State= 8:在監視錯誤的同時逼近替代輸出值 State= 10:無停止位信號的手動模式 |
Error | BOOL | 為TRUE時,表示此周期內至少有一條錯誤消息處于未決狀態。 |
ErrorBits | DWORD | 輸出錯誤代碼 |
PID_3StepV2 的輸入輸出參數 Mode 指定了PID_3Step將轉換到的工作模式,具有斷電保持特性,由沿激活切換工作模式,如表3 所示:
表3 輸入輸出參數
參數 | 數據類型 | 說明 |
Mode | INT |
指定 PID_3Step將轉換到的工作模式: Mode= 0:未激活 Mode= 1:預調節 Mode= 2:精確調節 Mode= 3:自動模式 Mode= 4:手動模式 Mode= 6:轉換時間測量 Mode= 10:無停止位信號的手動模式 工作模式由以下沿激活: ModeActivate 的上升沿 Reset 的下降沿 ManualEnable 的下降沿 |
『注意』 當 ManualEnable = TRUE,無法通過 ModeActivate 的上升沿或使用調試對話框來更改工作模式。
若 RunModeByStartup = TRUE,則 CPU 啟動后以保存在 Mode 參數中的工作模式啟動。若 RunModeByStartup = FALSE,則CPU 啟動后仍保持“未激活”模式下。RunModeByStartup為PID_3Step背景 DB 塊內靜態變量,默認值為TRUE,變量在 DB 塊內具體位置,如圖2 所示。
圖2 PID_3Step V2 背景 DB 塊參數
當PID出現錯誤時,通過捕捉 Error 的上升沿,將 ErrorBits 傳送至全局地址,從而獲得 PID 的錯誤信息,如表4 所示。
表4 參數ErrorBits V2
ErrorBits (DW#16#...) |
說明 |
0000 | 沒有任何錯誤。 |
0001 | 參數“Input”超出了過程值限值的范圍。Input > Config.InputUpperLimit 或 Input < Config.InputLowerLimit |
0002 | 參數“Input_PER”的值無效。請檢查模擬量輸入是否有處于未決狀態的錯誤。 |
0004 | 精確調節期間出錯。過程值無法保持振蕩狀態。 |
0010 | 調節期間設定值發生更改。可在 CancelTuningLevel 變量中設置允許的設定值波動。 |
0020 | 精確調節期間不允許預調節。 |
0080 | 預調節期間出錯。未正確組態輸出值限制或實際值未按預期響應。 |
0100 | 精確調節期間的錯誤導致生成無效參數。 |
0200 | 參數“Input”的值無效:值的數字格式無效。 |
0400 | 輸出值計算失敗。請檢查 PID 參數。 |
0800 | 采樣時間錯誤:未在周期中斷 OB 的采樣時間內調用 PID_3Step。 |
1000 | 參數“Setpoint”的值無效:值的數字格式無效。 |
2000 | Feedback_PER 參數的值無效。 |
4000 | Feedback 參數的值無效。值的數字格式無效。 |
8000 | 數字位置反饋出現錯誤。Actuator_H = TRUE 和 Actuator_L = TRUE。 |
10000 | ManualValue 參數的值無效。值的數字格式無效。 |
20000 | 變量 SavePosition 的值無效。值的數字格式無效。 |
40000 | Disturbance 參數的值無效。值的數字格式無效。 |
『注意』如果多個錯誤同時處于待決狀態,將通過二進制加法顯示 ErrorBits 的值。例如,顯示 ErrorBits = 0003h 表示錯誤 0001h 和 0002h 同時處于待決狀態。
如果存在位置反饋,則 PID_3Step 使用 ManualValue 作為手動模式下的輸出值。Errorbits = 10000h 除外。
-
控制器
+關注
關注
112文章
16406瀏覽量
178653 -
指令
+關注
關注
1文章
608瀏覽量
35767 -
PID
+關注
關注
35文章
1473瀏覽量
85629 -
S7-1200
+關注
關注
11文章
331瀏覽量
18017
原文標題:S7-1200 PID_3Step V2 指令介紹
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論