PID_Temp 说明说明PID_Temp 指令提供了一种可对温度过程进行集成调节的 PID 控制器。PID_Temp 可用于纯加热或加热/制冷应用。存在下列工作模式:• 未激活• 预调节• jingque调节• 自动模式• 手动模式• 含错误监视功能的替代输出值有关工作模式的详细信息,请参见 State 参数。PID 算法PID_Temp 是一种具有抗积分饱和功能并且能够对比例作用和微分作用进行加权的 PIDT1 控制器。PID 算法根据以下等式工作(控制区和死区已禁用下表给出了公式和后续图形中所使用图标的含义。图标 说明 PID_Temp 指令的关联参数y PID 算法的输出值 -Kp 比例增益 Retain.CtrlParams.Heat.GainRetain.CtrlParams.Cool.GainCoolFactors 拉普拉斯运算符 -b 比例作用权重 Retain.CtrlParams.Heat.PWeightingRetain.CtrlParams.Cool.PWeightingw 设定值 CurrentSetpointx 过程值 ScaledInputTI 积分作用时间 Retain.CtrlParams.Heat.TiRetain.CtrlParams.Cool.TiTD 微分作用时间 Retain.CtrlParams.Heat.TdRetain.CtrlParams.Cool.Tda 微分延迟系数(微分延迟 T1 = a × TD) Retain.CtrlParams.Heat.TdFiltRatioRetain.CtrlParams.Cool.TdFiltRatio,图标 说明 PID_Temp 指令的关联参数c 微分作用权重 Retain.CtrlParams.Heat.DWeightingRetain.CtrlParams.Cool.DWeightingDeadZone 死区宽度 Retain.CtrlParams.Heat.DeadZoneRetain.CtrlParams.Cool.DeadZoneControlZone 控制区宽度 Retain.CtrlParams.Heat.ControlZoneRetain.CtrlParams.Cool.ControlZone
带抗积分饱和的 PIDT1 的方框图调用在周期中断 OB 的恒定时间范围内调用 PID_Temp。下载到设备仅当完整下载 PID_Temp 后,才能更新保持性变量的过程值。将工艺对象下载到设备 (页 42)启动CPU 启动时,PID_Temp 以保存在 Mode 输入/输出参数中的工作模式启动。要在启动期间切换到“未激活”工作模式,应设置 RunModeByStartup = FALSE。对错误的响应发生错误时的行为由变量 SetSubstituteOutput 和 ActivateRecoverMode 确定。如果ActivateRecoverMode = TRUE,则行为还取决于所发生的错误。SetSubstituteOutputActivateRecoverMode组态编辑器> 输出的基本设置> 将 PidOutputSum 设置为响应不相关 FALSE 零(未激活) 切换到“未激活”(State = 0) 模式PID 算法的输出值以及所有加热和制冷输出均设置为 0。加热和制冷输出的标定未激活。FALSE TRUE 发生错误时(错误未决时)的当前值 切换到“含错误监视功能的替代输出值”模式(State = 5)当错误未决时,当前输出值会传送到执行器。TRUE TRUE 错误未决时的替代输出值 切换到“含错误监视功能的替代输出值”模式(State = 5)当错误未决时,SubstituteOutput 中的值会传送到执行器。在手动模式下,PID_Temp 使用 ManualValue 作为输出值,除非 ManualValue 无效。• 如果 ManualValue 无效,将使用 SubstituteOutput。• 如果 ManualValue 和 SubstituteOutput 无效,将使用 Config.Output.Heat.PidLowerLimit。Error 参数指示是否存在错误处于未决状态。当错误不再处于未决状态时,Error = FALSE。ErrorBits 参数显示了已发生的错误。通过 Reset 或 ErrorAck 的上升沿来复位 ErrorBits。PID_Temp 的工作模式监视过程值的限值在 Config.InputUpperLimit 和 Config.InputLowerLimit 变量中指定过程值的上限和下限。如果过程值超出这些限值,将出现错误 (ErrorBits = 0000001h)。在 Config.InputUpperWarning 和 Config.InputLowerWarning 变量中指定过程值的警告上限和警告下限。如果过程值超出这些警告限值,将发生警告 (Warning = 0000040h),并且InputWarning_H 或 InputWarning_L 输出参数会更改为 TRUE。限制设定值在 Config.SetpointUpperLimit 变量和 Config.SetpointLowerLimit 变量中指定设定值的上限和下限。PID_Temp 会将设定值自动限制在过程值限值内。用户可以将设定值限制在更小范围内。PID_Temp 会检查该范围是否处于过程值限值内。如果设定值超出这些限值,上限和下限将用作设定值,并且输出参数 SetpointLimit_H 或 SetpointLimit_L 将设置为 TRUE。在所有操作模式下均限制设定值。替代设定值用户可以在 SubstituteSetpoint 变量中指定替代设定值并通过 SubstituteSetpointOn = TRUE 将其激活。例如,通过这种方式可以直接为级联中的从控制器暂时指定设定值,而无需更改用户程序。为设定值设置的限值也适用于替代设定值。304PID 控制功能手册, 11/2022, A5E35300232-AF指令10.3 PID_Temp加热和制冷默认设置下,PID_Temp 仅使用加热输出(OutputHeat、OutputHeat_PWM、OutputHeat_PER)。PID 算法的输出值 (PidOutputSum) 经过标定在加热输出中输出。如果要计算 OutputHeat_PWM 或 OutputHeat_PER,需通过 Config.Output.Heat.Select 进行指定。始终会计算 OutputHeat。还可以通过 Config.ActivateCooling = TRUE 激活制冷输出 (OutputCool, OutputCool_PWM,OutputCool_PER)。PID 算法的正输出值 (PidOutputSum) 将在标定后在加热输出中输出。PID算法的负输出值则在标定后在制冷输出中输出。如果要计算 OutputCool_PWM 或OutputCool_PER,需通过 Config.Output.Cool.Select 进行指定。始终会计算 OutputCool。可通过两种方法计算已激活制冷的 PID 输出值:• 制冷系数 (Config.AdvancedCooling = FALSE):通过控制加热过程的 PID 参数并考虑可组态的制冷系数 Config.CoolFactor 来计算用于制冷的输出值。此方法适用于加热执行器和制冷执行器的时间响应相似但增益不同的情况。选择该方法时,无法对制冷进行预调节和jingque调节并且控制制冷的 PID 参数集不可用。只能执行加热调节。• PID 参数切换 (Config.AdvancedCooling = TRUE):通过单独的 PID 参数集来计算制冷的输出值。PID 算法将根据计算出的输出值和控制偏差确定使用加热过程还是制冷过程的 PID 参数。此方法适用于加热执行器和制冷执行器的时间响应和增益都不同的情况。仅在选择该方法后才可对制冷进行预调节和jingque调节。输出值限值和标定根据具体的工作模式,PID 输出值 (PidOutputSum) 将通过 PID 算法自动计算或者由手动值(ManualValue)/已组态的替换输出值 (SubstituteOutput) 定义。根据组态限制 PID 输出值:• 如果禁用制冷 (Config.ActivateCooling = FALSE),则 Config.Output.Heat.PidUpperLimit 作为上限值,Config.Output.Heat.PidLowerLimit 作为下限值。• 如果激活制冷 (Config.ActivateCooling = TRUE),则 Config.Output.Heat.PidUpperLimit 作为上限值,Config.Output.Cool.PidLowerLimit 作为下限值。PID 输出值经过标定在加热和制冷输出中输出。可以单独为每个输出定义标定,并以带 2 个值对的 Config.Output.Heat 或 Config.Output.Cool 结构指定各个标定:输出 值对 参数值对 1 PID 输出值上限(加热)Config.Output.Heat.PidUpperLimit,标定的输出上限值(加热)Config.Output.Heat.UpperScalingOutputHeat值对 2 PID 输出值下限(加热)Config.Output.Heat.PidLowerLimit,标定的输出下限值(加热)Config.Output.Heat.LowerScaling如果激活制冷 (Config.ActivateCooling = TRUE),则 Config.Output.Heat.PidLowerLimit 的值必须为0.0。Config.Output.Cool.PidUpperLimit 的值必须为 0.0。输出 值对 参数值对 1 PID 输出值上限(加热)Config.Output.Heat.PidUpperLimit,标定的 PWM 输出上限值(加热)Config.Output.Heat.PwmUpperScalingOutputHeat_PWM值对 2 PID 输出值下限(加热)Config.Output.Heat.PidLowerLimit,标定的 PWM 输出下限值(加热)Config.Output.Heat.PwmLowerScaling值对 1 PID 输出值上限(加热)Config.Output.Heat.PidUpperLimit,标定的模拟量输出上限值(加热)Config.Output.Heat.PerUpperScalingOutputHeat_PER值对 2 PID 输出值下限(加热)Config.Output.Heat.PidLowerLimit,标定的模拟量输出下限值(加热)Config.Output.Heat.PerLowerScaling值对 1 PID 输出值下限(制冷)Config.Output.Cool.PidLowerLimit,标定的输出上限值(制冷)Config.Output.Cool.UpperScalingOutputCool值对 2 PID 输出值上限(制冷)Config.Output.Cool.PidUpperLimit,标定的输出下限值(制冷)Config.Output.Cool.LowerScaling值对 1 PID 输出值下限(制冷)Config.Output.Cool.PidLowerLimit,标定的 PWM 输出上限值(制冷)Config.Output.Cool.PwmUpperScalingOutputCool_PWM值对 2 PID 输出值上限(制冷)Config.Output.Cool.PidUpperLimit,标定的 PWM 输出下限值(制冷)Config.Output.Cool.PwmLowerScaling值对 1 PID 输出值下限(制冷)Config.Output.Cool.PidLowerLimit,标定的模拟量输出上限值(制冷)Config.Output.Cool.PerUpperScalingOutputCool_PER值对 2 PID 输出值上限(制冷)Config.Output.Cool.PidUpperLimit,标定的模拟量输出下限值(制冷)Config.Output.Cool.PerLowerScaling如果激活制冷 (Config.ActivateCooling = TRUE),则 Config.Output.Heat.PidLowerLimit 的值必须为0.0。Config.Output.Cool.PidUpperLimit 的值必须为 0.0。