S7-1200 PID Compact V1 指令介紹
PID指令塊的參數(shù)分為兩部分,輸入?yún)?shù)與輸出參數(shù),指令塊的視圖分為擴展視圖與集成視圖,在不同的視圖下所能看見的參數(shù)是不一樣的,在集成視圖中可看到的參數(shù)為最基本的默認參數(shù),如給定值,反饋值,輸出值等定義這些參數(shù)可實現(xiàn)控制器最基本的控制功能,而在擴展視圖中,可看到更多的相關參數(shù),如手自動切換,高低限報警等,使用這些參數(shù)可使控制器具有更豐富的功能。如圖 1
圖1 PID指令塊
表1 輸入?yún)?shù)
參數(shù) | 數(shù)據(jù)類型 | 描述 |
Setpoint | REAL | 自動模式下的給定值 |
Input | REAL | 實數(shù)類型反饋值 |
Input_PER | WORD | 整數(shù)類型反饋值,可用于連接模擬量外設輸入 |
ManualEnable | BOOL | 0到1 上升沿 = "手動模式" |
ManualValue | REAL | 手動模式下的輸出值 |
Reset | BOOL | 復位控制器與錯誤 |
表2 輸出參數(shù)
參數(shù) | 數(shù)據(jù)類型 | 描述 |
ScaledInput | REAL | 當前的輸入值 |
Output | REAL | 實數(shù)類型輸出值 |
Output_PER | WORD | 整數(shù)類型輸出值 |
Output_PWM | BOOL | PWM輸出 |
SetpointLimit_H | BOOL | 當給定值大于高限時置 |
SetpointLimit_L | BOOL | 當給定值小于低限時置 |
InputWarning_H | BOOL | 當反饋值超過高限報警時置 |
InputWarning_L | BOOL | 當反饋值低于低限報警時置 |
State | INT | 控制器狀態(tài)0=Inactive,1=SUT,2=TIR,3=Automatic,4=Manual |
表3 State狀態(tài)
State狀態(tài) | 描述 |
0 := Inactive(未激活) | - 第一次下載 |
1 :Start Up整定方式 | - 相對應的調(diào)試過程進行中 |
3 := Automatic Mode自動模式 | 0 到1 上升沿 使能 "Manual mode"(手動模式) |
表4 錯誤代碼
錯誤代號(W#32#...) | 描述 |
0000 0000 | 無錯誤. |
0000 0001 | 實際值超過組態(tài)限制 |
0000 0002 | 參數(shù) "Input_PER" 端有非法值 |
0000 0004 | “運行自整定”模式中發(fā)生錯誤.反饋值的震蕩無法被保持 |
0000 0008 | “啟動自整定”模式發(fā)生錯誤. 反饋值太接近與給定值 |
0000 0010 | 自整定時設定值改變 |
0000 0020 | 在運行啟動自整定模式時,PID控制器處于自動狀態(tài),此狀態(tài)無法運行啟動自整定 |
0000 0040 | “運行自整定”發(fā)生錯誤. |
0000 0080 | 輸出的設定值限制未正確組態(tài) |
0000 0100 | 非法參數(shù)導致自整定錯誤 |
0000 0200 | 反饋參數(shù)數(shù)據(jù)值非法 |
0000 0400 | 輸出參數(shù)數(shù)據(jù)值非法 |
0000 0800 | 采樣時間錯誤指令塊被OB1調(diào)用或循環(huán)中斷塊的中斷時間被修改了 |
0000 1000 | 設定值參數(shù)數(shù)據(jù)非法,數(shù)據(jù)值超出表示范圍(數(shù)據(jù)值小于 -1e12 或大于 1e12) |
工藝對象背景數(shù)據(jù)塊
工藝對象數(shù)據(jù)塊存儲了控制器所有相關的參數(shù)
添加工藝對象數(shù)據(jù)塊:
Project tree→Technological Objects→Add new object,在彈出的對話框中定義如圖 2
圖2 添加工藝對象數(shù)據(jù)塊
打開工藝對象數(shù)據(jù)塊:
選擇Project tree→Technological Objects→PID_Compact_DB。如圖2
圖2 打開工藝對象數(shù)據(jù)塊
工藝對象數(shù)據(jù)塊主要分5部分:1 static 2 sBackUp 3 sPid_Calc 4 sPid_Cmpt 5 sRet
1 Static參數(shù)
表5 Static 參數(shù)
Static | 名稱 | 數(shù)據(jù)類型 | 描述 |
sd_VersionID | DWORD | 控制器版本(eg. 1.0.0.9) | |
sb_GetCycleTime | BOOL | 開始自動預估采樣時間 | |
sb_EnCyclEstimation | BOOL | 使能預估采樣時間 | |
sb_EnCyclMonitoring | BOOL | 使能監(jiān)視采樣時間 | |
sb_RunModeByStartup | BOOL | 在復位或上電后保持上一次狀態(tài)或保持Inactive未激活狀態(tài) | |
si_Unit | INT | 反饋量單位 | |
si_Type | INT | 控制器類型 | |
sd_Warning | DWORD | 警示信息 | |
2 sBackUp參數(shù)
表6 sBackUp
sBackUp | 名稱 | 數(shù)據(jù)類型 | 從上一次整定開始已保存的參數(shù) |
r_Gain | REAL | 已保存的增益 | |
r_Ti | REAL | 已保存的積分時間 | |
r_Td | REAL | 已保存的微分時間 | |
r_A | REAL | 已保存存的微分濾波系數(shù) | |
r_B | REAL | 已保存的比例部分在直接/反饋路徑的權(quán)重 | |
r_C | REAL | 已保存的微分部分在直接/反饋路徑的權(quán)重 | |
r_Cycle | REAL | 已保存的控制器采樣時間 |
3 sPid_Calc參數(shù)
表7 sPid_Calc
sPid_Calc | 名稱 | 數(shù)據(jù)類型 | 描述 |
r_Cycle | REAL | 采樣時間 | |
b_RunIn | BOOL | 強制在設定點運行 | |
b_CalcParamSUT | BOOL | 重新計算啟動整定參數(shù) | |
b_CalcParamTIR | BOOL | 重新計算運行整定參數(shù) | |
i_CtrlTypeSUT | INT | 起始整定模式(0-CHR PID,1-CHR PI) | |
i_CtrlTypeTIR | INT | 運行整定模式 (0-2-A PID auto/fast/slow,3-ZN PID,4-ZN PI,5-ZN P) |
4 sPid_Cmpt參數(shù)
表8 sPid_Cmpt
sPid_Cmpt | 名稱 | 數(shù)據(jù)類型 | 描述 |
r_Sp_Hlm | REAL | 設定值高限 | |
r_Sp_Llm | REAL | 設定值低限 | |
r_Pv_Norm_IN_1 | REAL | 輸入量程化低限 | |
r_Pv_Norm_IN_2 | REAL | 輸入量程化高限 | |
r_Pv_Norm_OUT_1 | REAL | 輸出量程化低限 | |
r_Pv_Norm_OUT_2 | REAL | 輸出量程化高限 | |
r_Lmn_Hlm | REAL | 輸出高限 | |
r_Lmn_Llm | REAL | 輸出低限 | |
b_Input_PER_On | BOOL | 激活從外設輸入的反饋值 | |
b_LoadBackUp | BOOL | 回復上一次的參數(shù)備份PID參數(shù) | |
b_InvCtrl | BOOL | 使能反向 | |
r_Lmn_Pwm_PPTm | REAL | PWM 最小開時間 | |
r_Lmn_Pwm_PBTm | REAL | PWM 最小關時間 | |
r_Pv_Hlm | REAL | 反饋高限 | |
r_Pv_Llm | REAL | 反饋低限 | |
r_Pv_HWrn | REAL | 反饋報警高限 | |
r_Pv_LWrn | REAL | 反饋報警低限 |
5 sRet參數(shù)
表9 sRet
sRet | 名稱 | 數(shù)據(jù)類型 | 描述 |
i_Mode | INT | 設置控制器模式 (0=Inactive(未激活),1=SUT(啟動整定模式),2=TIR(運行整定模式),3=Automatic(自動模式),4=Hand(手動模式) | |
r_Ctrl_Gain | REAL | 當前增益 | |
r_Ctrl_Ti | REAL | 當前積分時間 | |
r_Ctrl_Td | REAL | 當前微分時間 | |
r_Ctrl_A | REAL | 當前微分部分濾波系數(shù) | |
r_Ctrl_B | REAL | 在直接反饋路徑中的比例加權(quán) | |
r_Ctrl_C | REAL | 在直接反饋路徑中的微分加權(quán) | |
r_Ctrl_Cycle | REAL | 當前采樣時間 |