除在“未激活”工作模式下外,输出的值始终介于其标定的输出上限值和标定的输出下限值之间,例如,OutputHeat 始终在 Config.Output.Heat.UpperScaling 和Config.Output.Heat.LowerScaling 之间。如果要限制相关输出的值,因此还必须调整这些标定值。级联PID_Temp 将在您使用级联控制时为您提供支持(请参见:创建程序 (页 153))。替代输出值出现错误时,PID_Temp 可输出您在 SubstituteOutput 变量处定义的替代输出值。替换输出值必须处于 PID 输出值的限值范围内。在应用替代输出值后,相关输出上输出的加热或制冷值取决于输出标定的组态情况。监视信号有效性使用以下参数时,监视其有效性:• Setpoint• SubstituteSetpoint• Input• Input_PER• Disturbance• ManualValue• SubstituteOutput• 具有 Retain.CtrlParams.Heat 和 Retain.CtrlParams.Cool. 结构的 PID 参数监视采样时间 PID_Temp理想情况下,采样时间等于循环中断 OB 的周期时间。PID_Temp 指令测量两次调用之间的时间间隔。这就是当前采样时间。每次切换工作模式以及初始启动期间,平均值由前 10 个采样时间构成。当前采样时间与该平均值之间的差值过大时会触发错误 (Error = 0000800h)。如果存在以下情况,调节期间将发生错误:• 新平均值 >= 1.1 x 原平均值• 新平均值
PID_Temp 的输入参数以下参数的名称既适用于数据块,也适用于通过 Openness API 访问。参数 数据类型 默认值 说明Setpoint REAL 0.0 PID 控制器在自动模式下的设定值数值的有效范围:Config.SetpointUpperLimit ≥ Setpoint ≥ Config.SetpointLowerLimitConfig.InputUpperLimit ≥ Setpoint ≥ Config.InputLowerLimitInput REAL 0.0 用户程序的变量用作过程值的源。如果正在使用 Input 参数,则必须设置 Config.InputPerOn = FALSE。Input_PER INT 0 模拟量输入用作过程值的源。如果正在使用 Input_PER 参数,则必须设置 Config.InputPerOn = TRUE。Disturbance REAL 0.0 扰动变量或预控制值ManualEnable BOOL FALSE • 出现 FALSE -> TRUE 沿时会激活“手动模式”,而 State = 4 和 Mode 保持不变。只要 ManualEnable = TRUE,便无法通过 ModeActivate 的上升沿或使用调试对话框来更改工作模式。• 出现 TRUE -> FALSE 沿时会激活由 Mode 指定的工作模式。建议只使用 Mode 和 ModeActivate 更改工作模式。ManualValue REAL 0.0 手动值该值在手动模式下使用,用作 PID 输出值 (PidOutputSum)。在应用此手动值后,相关输出上输出的加热或制冷值取决于输出标定的组态情况(Config.Output.Heat 和 Config.Output.Cool 结构)。对于具有已激活制冷输出的控制器 (Config.ActivateCooling = TRUE),定义:• 正的手动值以输出加热输出中的值• 负的手动值以输出制冷输出中的值允许的取值范围由组态确定。• 禁用制冷输出 (Config.ActivateCooling = FALSE):Config.Output.Heat.PidUpperLimit ≥ ManualValue ≥Config.Output.Heat.PidLowerLimit• 激活制冷输出 (Config.ActivateCooling = TRUE):Config.Output.Heat.PidUpperLimit ≥ ManualValue ≥Config.Output.Cool.PidLowerLimitErrorAck BOOL FALSE • FALSE -> TRUE 沿将复位 ErrorBits 和 Warning。Reset BOOL FALSE 重新启动控制器。309指令10.3 PID_TempPID 控制功能手册, 11/2022, A5E35300232-AF参数 数据类型 默认值 说明• FALSE -> TRUE 沿– 切换到“未激活”模式– 将复位 ErrorBits 和 Warning。• 只要 Reset = TRUE,– PID_Temp 将保持在“未激活”模式下 (State = 0)。– 无法通过 Mode 和 ModeActivate 或 ManualEnable 更改工作模式。– 无法使用调试对话框。• TRUE -> FALSE 沿– 如果 ManualEnable = FALSE,则 PID_Temp 会切换到保存在 Mode 中的工作模式。– 如果 Mode = 3(自动模式),会将积分作用视为已通过变量IntegralResetMode 进行组态。ModeActivate BOOL FALSE • FALSE -> TRUE 沿PID_Temp 切换到保存在 Mode 输入中的工作模式。 PID_Temp 的输出参数以下参数的名称既适用于数据块,也适用于通过 Openness API 访问。参数 数据类型 默认值 说明ScaledInput REAL 0.0 标定的过程值OutputHeat REAL 0.0 REAL 形式的输出值(加热)PID 输出值 (PidOutputSum) 使用两个值对 Config.Output.Heat.PidUpperLimit、Config.Output.Heat.UpperScaling 和 Config.Output.Heat.PidLowerLimit、Config.Output.Heat.LowerScaling 进行标定,并以 REAL 形式在 OutputHeat 中输出。始终计算 OutputHeat。OutputCool REAL 0.0 REAL 形式的输出值(制冷)PID 输出值 (PidOutputSum) 使用两个值对 Config.Output.Cool.PidUpperLimit、Config.Output.Cool.LowerScaling 和 Config.Output.Cool.PidLowerLimit、Config.Output.Cool.UpperScaling 进行标定,并以 REAL 形式在 OutputCool 中输出。仅在激活制冷输出时 (Config.ActivateCooling = TRUE) 才会计算 OutputCool。OutputHeat_PER INT 0 模拟量输出值(加热)PID 输出值 (PidOutputSum) 使用两个值对 Config.Output.Heat.PidUpperLimit,Config.Output.Heat.PerUpperScaling 和 Config.Output.Heat.PidLowerLimit,Config.Output.Heat.PerLowerScaling 进行标定,并以模拟值形式在OutputHeat_PER 中输出。仅当 Config.Output.Heat.Select = 2 时才会计算 OutputHeat_PER。OutputCool_PER INT 0 模拟量输出值(制冷)PID 输出值 (PidOutputSum) 使用两个值对 Config.Output.Cool.PidUpperLimit、Config.Output.Cool.PerLowerScaling 和 Config.Output.Cool.PidLowerLimit、Config.Output.Cool.PerUpperScaling 进行标定,并以模拟值形式在OutputCool_PER 中输出。仅在激活制冷输出 (Config.ActivateCooling = TRUE) 且Config.Output.Cool.Select = 2 时才会计算 OutputCool_PER。
参数 数据类型 默认值 说明OutputHeat_PWMBOOL FALSE 脉宽调制输出值(加热)PID 输出值 (PidOutputSum) 使用两个值对 Config.Output.Heat.PidUpperLimit、Config.Output.Heat.PwmUpperScaling 和 Config.Output.Heat.PidLowerLimit、Config.Output.Heat.PwmLowerScaling 进行标定,并以脉宽调制值(变量开关时间)形式在 OutputHeat_PWM 中输出。仅当 Config.Output.Heat.Select = 1 时才会计算 OutputHeat_PWM。OutputCool_PWMBOOL FALSE 脉宽调制输出值(制冷)PID 输出值 (PidOutputSum) 使用两个值对 Config.Output.Cool.PidUpperLimit、Config.Output.Cool.PwmLowerScaling 和 Config.Output.Cool.PidLowerLimit、Config.Output.Cool.PwmUpperScaling 进行标定,并以脉宽调制值(变量开关时间)形式在 OutputCool_PWM 中输出。仅在激活制冷输出 (Config.ActivateCooling = TRUE) 且Config.Output.Cool.Select = 1 时才会计算 OutputCool_PWM。SetpointLimit_H BOOL FALSE 如果 SetpointLimit_H = TRUE,则说明达到了设定值的juedui上限(Setpoint ≥ Config.SetpointUpperLimit) 或者Setpoint ≥ Config.InputUpperLimit。设定值上限是 Config.SetpointUpperLimit 和 Config.InputUpperLimit 中的较小值。SetpointLimit_L BOOL FALSE 如果 SetpointLimit_L = TRUE,则说明达到了设定值的juedui下限 (Setpoint ≤Config.SetpointLowerLimit) 或者 Setpoint ≤ Config.InputLowerLimit。设定值下限是 Config.SetpointLowerLimit 和 Config.InputLowerLimit 中的较大值。InputWarning_H BOOL FALSE 如果 InputWarning_H = TRUE,则说明过程值已达到或超出警告上限(ScaledInput ≥ Config.InputUpperWarning)。InputWarning_L BOOL FALSE 如果 InputWarning_L = TRUE,则说明过程值已经达到或低于警告下限(ScaledInput ≤ Config.InputLowerWarning)。State INT 0 PID_Temp 状态和模式参数 (页 332)显示了 PID 控制器的当前工作模式。可使用输入参数 Mode 和 ModeActivate 处的上升沿更改工作模式。对于预调节和jingque调节,通过 Heat.EnableTuning 和 Cool.EnableTuning 指定针对加热还是制冷进行调节。• State = 0:未激活• State = 1:预调节• State = 2:jingque调节• State = 3:自动模式• State = 4:手动模式• State = 5:含错误监视功能的替代输出值Error BOOL FALSE 如果 Error = TRUE,则此周期内至少有一条错误消息处于未决状态。ErrorBits DWORD DW#16#0 PID_Temp ErrorBits 参数 (页 337)显示了未决的错误消息。ErrorBits 具有保持性,在 Reset 或 ErrorAck 出现上升沿时复位。