PID_Compact V1 的输出参数 (S7-1200) Parameter 数据类型 默认值 说明ScaledInput REAL 0.0 标定的过程值的输出可使用输出“Output”、“Output_PER”和“Output_PWM”。 Output REAL 0.0 REAL形式的输出值 Output_PER WORD W#16#0 模拟量输出值 Output_PWM BOOL FALSE 脉宽调制输出值输出值由Zui短开关时间形成。参数 数据类型 默认值 说明 ManualEnable BOOL FALSE • 出现 FALSE-> TRUE 沿时会选择“手动模式”,而 State = 4,sRet.i_Mode 保持不变。 • 出现 TRUE-> FALSE 沿时会选择Zui近激活的操作模式,State =sRet.i_Mode。 sRet.i_Mode 的变化在ManualEnable = TRUE 期间不会生效。仅 在 ManualEnable 处出现 TRUE -> FALSE 沿时sRet.i_Mode 的变 化才会生效。 PID_Compact V1.2 和 PID_Compact V1.0 如果 CPU启动时 ManualEnable = TRUE,PID_Compact 将在手 动模式下启动。并非一定需要 ManualEnable出现上升沿 (FALSE -> TRUE) 时,才会执行上述操作。 PID_Compact V1.1 CPU启动时,PID_Compact 仅在 ManualEnable 出现上升沿 (FALSE->TRUE)时才切换到手动模式。没有上升沿时, PID_Compact 在 ManualEnable 为 FALSE 的上一个工作模式下 启动。ManualValue REAL 0.0 手动值 该值用作手动模式下的输出值。 Reset BOOL FALSE Reset 参数(页 5134)可重启控制器。
Parameter数据类型 默认值 说明 SetpointLimit_H BOOL FALSE 如果 SetpointLimit_H =TRUE,则说明达到了设定值的juedui上 限。 在 CPU 中,该设定值被限制为所组态的设定值的juedui上 限。设定值的上限默认设置为所组态的过程值的juedui上限。 如果设置的 sPid_Cmpt.r_Sp_Hlm 值位于过程值的限值范围内,则该值将用作设定值的上限。 SetpointLimit_L BOOL FALSE 如果 SetpointLimit_L =TRUE,则说明已达到设定值的juedui下 限。 在 CPU 中,该设定值被限制为所组态的设定值的juedui下 限。设定值的下限将默认设置为所组态的过程值的juedui下限。 如果设置的 sPid_Cmpt.r_Sp_Llm 值位于过程值的限值范围内,则该值将用作设定值的下限。 InputWarning_H BOOL FALSE 如果 InputWarning_H =TRUE,则说明过程值已达到或超出警 告上限。 InputWarning_L BOOL FALSE 如果 InputWarning_L= TRUE,则说明过程值已经达到或低于 警告下限。 State INT 0 State 参数 (页 5129)显示 PID控制器的当前操作模式。 要更 改操作模式,请使用变量 sRet.i_Mode。 • State = 0:未激活 •State = 1:预调节 • State = 2:jingque调节 •State = 3:自动模式 • State = 4:手动模式 Error DWORDW#16#0 Error 参数 (页 5134)指示错误消息。Error = 0000:没有待决的错误。 PID_Compact V1 的静态变量 (S7-1200) 说明不得更改未列出的变量。这些变量仅供内部使用。 请仅在“未激活”模式下更改使用 (1) 标识的变量,以防 PID 控制器出现故障。通过将“sRet.i_Mode”变量设置为“0”强制切换为“未激活”模式。变量 数据类型 默认值 说明 sb_GetCycleTimeBOOL TRUE 如果 sb_GetCycleTime = TRUE,则开始自动确定 周期时间。完成测量后,CycleTime.StartEstimation = FALSE。 sb_EnCyclEstimation BOOL TRUE 如果sb_EnCyclEstimation = TRUE,则计算 PID_Compact 采样时间。sb_EnCyclMonitoring BOOL TRUE 如果 sb_EnCyclMonitoring = FALSE,则不会监 视PID_Compact 采样时间。如果不能在采样时 间内执行 PID_Compact,则不会输出 0800 错误,PID_Compact 也不会切换到“未激活”模 式。 sb_RunModeByStartup BOOL TRUE 在 CPU重启后激活模式 如果 sb_RunModeByStartup = FALSE,则控制器 在 CPU 启动后仍保持未激活状态。 如果sb_RunModeByStartup = TRUE,则控制器 在 CPU 重启后返回到上一个活动工作模式。 si_Unit INT0 过程值和设定值的测量单位,例如 ºC 或 ºF。 si_Type INT 0 过程值和设定值的物理量,如温度。sd_Warning DWORD DW#16#0 变量 sd_warning (页5136) 显示自复位或上一次更改操作模式以来所生成的警告。 sBackUp.r_Gain REAL 1.0 保存的比例增益sPid_Cmpt.b_LoadBackUp = TRUE 时,可以从 sBackUp 结构中重新加载值。sBackUp.r_Ti REAL 20.0 保存的积分作时间 [s] sBackUp.r_Td REAL 0.0 保存的微分作时间[s] sBackUp.r_A REAL 0.0 保存的微分延时系数 sBackUp.r_B REAL 0.0 保存的比例作用权重因子sBackUp.r_C REAL 0.0 保存的微分作用权重因子 sBackUp.r_Cycle REAL 1.0 保存的 PID算法的采样时间 sPid_Calc.r_Cycle(1) REAL 0.1 PID_Compact 指令采样时间 r_Cycle会自动确定,通常等于调用 OB 的周期时 间。变量 数据类型 默认值 说明 sPid_Calc.b_RunIn BOOL FALSE• b_RunIn = FALSE 在未激活模式或手动模式下启动jingque调节 时,将启动预调节。如果不满足预调节的要 求,则PID_Compact 的响应将类似于 b_RunIn = TRUE 时的响应。如果jingque调节在自动模式下启动,系统将使 用现有的 PID 参数来控制设定值。之后才会启动jingque调节。如果无法实现预调 节,PID_Compact 将切换到“未激活”模式。 •b_RunIn = TRUE 将跳过预调节。PID_3Compact 将尝试利用Zui小或Zui大输出值来达到设定值。这可能会增 加超调量。随后将自动启动jingque调节。 jingque调节后,b_RunIn 将被设置为FALSE。 sPid_Calc.b_CalcParamSUT BOOL FALSE 如果 b_CalcParamSUT =TRUE,将重新计算用于 预调节的参数。这样无需重复进行控制器调节, 就可以更改参数计算方法。 计算后,b_CalcParamSUT将设置为 FALSE。 sPid_Calc.b_CalcParamTIR BOOL FALSE 如果 b_CalcParamTIR =TRUE,将重新计算用于 jingque调节的参数。这样无需重复进行控制器调 节,就可以更改参数计算方法。计算后,b_CalcParamTIR 将被设置为 FALSE。 sPid_Calc.i_CtrlTypeSUT INT 0预调节期间用于计算参数的方法: • i_CtrlTypeSUT = 0:根据 Chien、Hrones 和 Reswick 计算PID • i_CtrlTypeSUT = 1:根据 Chien、Hrones 和 Reswick 计算 PI变量 数据类型 默认值说明 sPid_Calc.i_CtrlTypeTIR INT 0 jingque调节期间用于计算参数的方法: •i_CtrlTypeTIR = 0:PID 自动 • i_CtrlTypeTIR = 1:PID 快速(与i_CtrlTypeTIR = 2 相比,控制响应速度更快, 输出值的幅度更大) • i_CtrlTypeTIR= 2:PID 慢速(与 i_CtrlTypiTIR = 1 相比,控制响应速度较慢, 输出值的幅度较小) •i_CtrlTypeTIR = 3:Ziegler-Nichols PID • i_CtrlTypeTIR =4:Ziegler-Nichols PI • i_CtrlTypeTIR = 5:Ziegler-Nichols P 要通过b_CalcParamTIR 和 i_CtrlTypeTIR = 0、1 或 2 重复计算 PID 参数,也必须通过i_CtrlTypeTIR = 0、1 或 2 执行了先前的jingque调 节。 否则,将使用i_CtrlTypeTIR = 3。 始终可以通过 b_CalcParamTIR 和i_CtrlTypeTIR = 3、4 或 5 重新计算 PID 参数。 sPid_Calc.r_ProgressREAL 0.0 百分数形式的调节进度 (0.0 - 100.0) sPid_Cmpt.r_Sp_Hlm(1)REAL +3.402822 e+38 设定值的上限 如果组态的 sPid_Cmpt.r_Sp_Hlm 超出了过程值的限值范围,则所组态的过程值的juedui上限将用 作设定值的上限。 如果组态的 sPid_Cmpt.r_Sp_Hlm 值位于过程值的限值范围内,则该值将用作设定值的上限。 sPid_Cmpt.r_Sp_Llm(1) REAL -3.402822e +38设定值的下限 如果设置的 sPid_Cmpt.r_Sp_Llm 超出了过程值 的限值范围,则所组态的过程值的juedui下限将用作设定值的下限。 如果设置的 sPid_Cmpt.r_Sp_Llm 值位于过程值 的限值范围内,则该值将用作设定值的下限。