PID_Temp ActivateRecoverMode变量ActivateRecoverMode 变量决定错误响应方式。 Error参数指示是否存在错误处于未决状态。当错误不再处于未决状态时,Error = FALSE。 ErrorBits参数显示发生的具体错误。自动模式和手动模式注意您的系统可能已损坏。如果 ActivateRecoverMode = TRUE,则PID_Temp保持自动模式或手动模式,出现错误或超过过程限值也是如此。这可能损坏您的系统。必须组态受控系统在出现错误时如何作出响应以避免系统损坏。ActivateRecoverMode说明FALSEPID_Temp 将在出现错误时切换到“未激活”模式。只能通过 Reset 的下降沿或 ModeActivate的上升沿激活控制器。TRUE自动模式如果在自动模式下频繁出现错误,则该设置会对控制响应产生fumian影响,因为每次出错时,PID_Temp 都会在计算的 PID输出值和替代输出值之间切换。 这种情况下,检查 ErrorBits参数并消除错误原因。如果发生下列一个或多个错误且在发生错误前自动模式已激活,则 PID_Temp 保持自动模式:• 0000001h:参数“Input”超出了过程值限值的范围。• 0000800h:采样时间错误• 0040000h:Disturbance参数的值无效。• 8000000h: 计算 PID 参数期间出错如果发生下列一个或多个错误且在发生错误前自动模式已激活,则PID_Temp 切换到“含错误监视功能的替代输出值”模式:• 0000002h:Input_PER 参数的值无效。•0000200h:Input 参数的值无效。• 0000400h:输出值计算失败。• 0001000h: Setpoint 参数或SubstituteSetpoint 的值无效。340PID 控制功能手册, 11/2022,A5E35300232-AF指令10.3PID_TempActivateRecoverMode说明当错误不再处于未决状态时,PID_Temp切换回自动模式。如果在“含错误监视功能的替代输出值”模式下发生以下错误,则只要错误待决,PID_Temp 就会将 PID 输出值设为Config.Output.Heat.PidLowerLimit:• 0020000h:变量 SubstituteOutput的值无效。值的数字格式无效。此行为与 SetSubstituteOutput无关。TRUE手动模式如果发生一个或多个错误且在错误发生前手动模式已激活,PID_Temp将保持手动模式。如果在手动模式下发生以下错误,则只要此错误未决,PID_Temp 就会将 PID输出值设为SubstituteOutput:• 0010000h:ManualValue 参数的值无效。 值的数字格式无效。如果错误0010000h 在手动模式未决,又发生以下错误,则只要此错误待决,PID_Temp 就会将 PID 输出值设为Config.Output.Heat.PidLowerLimit:• 0020000h:变量 SubstituteOutput的值无效。值的数字格式无效。此行为与 SetSubstituteOutput无关。预调节和jingque调节ActivateRecoverMode说明FALSE PID_Temp将在出现错误时切换到“未激活”模式。只能通过 Reset 的下降沿或 ModeActivate 的上升沿激活控制器。TRUE如果发生以下错误,PID_Temp 将保持激活模式:• 0000020h: jingque调节期间不允许预调节。以下错误将被忽略:•0010000h: ManualValue 参数的值无效。• 0020000h:变量 SubstituteOutput的值无效。出现其它错误时,PID_Temp 将取消调节并切换到启动调节时的模式。
PID_Temp警告变量如果多个警告处于待决状态,将通过二进制加法显示 Warning 变量值。例如,如果显示警告将处于待决状态。Warning(DW#16#....)说明无警告处于待决状态。预调节期间未发现拐点。设定值被限制为组态的限值。在所选计算方法中未定义所有必要的受控系统属性。PID 参数是使用 TIR.TuneRuleHeat = 3方法或TIR.TuneRuleCool = 3 计算的。由于 Reset = TRUE 或 ManualEnable =TRUE,无法更改工作模式。调用 OB 的循环时间会限制 PID 算法的采样时间。通过缩短 OB循环时间来改进结果。341指令10.3 PID_TempPID 控制功能手册, 11/2022,A5E35300232-AFWarning(DW#16#....)说明过程值超出其警告限值之一。Mode的值无效。工作模式不变。手动值被限定在 PID 输出值的限值范围内。不支持指定的调节规则。不计算任何 PID参数。无法达到替代输出值,因为它超出了输出值限值。不支持选择指定的加热和/或制冷的输出值。仅使用 OutputHeat 或OutputCool 输出。PIDSelfTune.SUT.AdaptDelayTime 的值无效。将使用默认值 0。PIDSelfTune.SUT.CoolingMode 的值无效。将使用默认值0。用作主控制器(Config.Cascade.IsMaster变量)的控制器不支持制冷激活(Config.ActivateCooling 变量)。PID_Temp 用作加热控制器。将变量Config.ActivateCooling 设为 FALSE。Retain.CtrlParams.Heat.Gain、Retain.CtrlParams.Cool.Gain 或Config.CoolFactor 存在无效值。 PID_Temp仅支持比例增益(加热和冷却)和冷却系数使用正值。自动模式保持激活,且 PID 输出值为0.0。积分分量停止。只要消除了警告原因或使用有效参数重复操作后,以下警告就会立即消失PwmPeriode 变量如果使用OutputHeat_PWM 或 OutputCool_PWM 时 PID算法采样时间(Retain.CtrlParams.Heat.Cycle 或 Retain.CtrlParams.Heat.Cycle)和脉宽调制的周期时间过大,则可在 Config.Output.Heat.PwmPeriode 或Config.Output.Cool.PwmPeriode 参数中定义存在偏差的稍短周期时间来改善过程值的平滑度。
OutputHeat_PWM 中的脉宽调制时间OutputHeat_PWM输出中的 PWM 时间取决于 Config.Output.Heat.PwmPeriode:• Heat.PwmPeriode =0.0(默认值)加热的 PID 算法的采样时间 (Retain.CtrlParams.Heat.Cycle) 用作 PWM的周期时间。• Heat.PwmPeriode > 0.0该值将舍入为 PID_Temp 采样时间(CycleTime.Value) 的整数倍并用作 PWM 的周期时间。该值必须满足以下条件:– Heat.PwmPeriode ≤Retain.CtrlParams.Heat.Cycle– Heat.PwmPeriode >Config.Output.Heat.MinimumOnTime– Heat.PwmPeriode >Config.Output.Heat.MinimumOffTime OutputCool_PWM中的脉宽调制时间OutputCool_PWM 输出中的 PWM 的周期时间取决于Config.Output.Cool.PwmPeriode 和加热/制冷的方法:• Cool.PwmPeriode = 0.0且制冷系数 (Config.AdvancedCooling = FALSE):加热的 PID 算法的采样时间(Retain.CtrlParams.Heat.Cycle) 用作 PWM 的周期时间。• Cool.PwmPeriode = 0.0且 PID 参数切换 (Config.AdvancedCooling = TRUE):制冷的 PID 算法的采样时间(Retain.CtrlParams.Cool.Cycle) 用作 PWM 的周期时间。• Cool.PwmPeriode >0.0:该值将舍入为 PID_Temp 采样时间 (CycleTime.Value) 的整数倍并用作 PWM的周期时间。该值必须满足以下条件:– Cool.PwmPeriode ≤ Retain.CtrlParams.Cool.Cycle 或Retain.CtrlParams.Heat.Cycle– Cool.PwmPeriode >Config.Output.Cool.MinimumOnTime– Cool.PwmPeriode >Config.Output.Cool.MinimumOffTimeConfig.Output.Cool.PwmPeriode仅在制冷输出激活 (Config.ActivateCooling =TRUE) 时有效。使用 PwmPeriode 时,PWM输出信号的精度由 PwmPeriode 与 PID_Temp 采样时间(OB 的周期时间)的关系决定。PwmPeriode 至少应为PID_Temp 采样时间的 10 倍。如果 PID 算法的采样时间不是 PwmPeriode 的整数倍,则在 PID 算法采样时间内PWM 的Zui后一个周期都将相应延长。① PID_Temp 采样时间 = 100.0 ms(调用循环中断 OB的周期时间,CycleTime.Value 变量)② PID 算法采样时间 = 2000.0ms(Retain.CtrlParams.Heat.Cycle 变量)③ 加热的 PWM 时间 = 600.0ms(Config.Output.Heat.PwmPeriode 变量)IntegralResetMode变量IntegralResetMode 变量用于确定如何预分配积分作用 PIDCtrl.IOutputOld:•从“未激活”工作模式切换到“自动模式”时• 参数 Reset 出现 TRUE -> FALSE 沿并且参数 Mode = 3时只有在激活了积分作用时,该设置才会在一个周期内有效(Retain.CtrlParams.Heat.Ti和Retain.CtrlParams.Cool.Ti > 0.0 变量)。IntegralResetMode说明0平滑已经预分配了 PIDCtrl.IOutputOld 的值,可以实现无扰动切换,即通过输出值 =0.0(参数PidOutputSum)启动“自动模式”,并且无论是否存在控制偏差(设定值 –过程值),输出值都不会发生跳变。IntegralResetMode说明1shanchu如果使用该选项,我们建议将比例作用的权重(Retain.CtrlParams.Heat.PWeighting和Retain.CtrlParams.Cool.PWeighting 变量)设为 1.0。PIDCtrl.IOutputOld的值已shanchu。任何控制偏差都会导致 PID输出值发生跳变。输出值的跳变方向取决于有效的比例作用权重(Retain.CtrlParams.Heat.PWeighting 和Retain.CtrlParams.Cool.PWeighting 变量)以及控制偏差:• 有效的比例作用权重 =1.0:输出值跳变与控制偏差的符号相同。示例:如果过程值小于设定值(正控制偏差),则 PID 输出值会跳变至正值。•有效的比例作用权重 < 1.0:对于较大的控制偏差,PID输出值跳变与控制偏差的符号相同。示例:如果过程值远远小于设定值(正控制偏差),则 PID输出值会跳变至正值。对于较小的控制偏差,PID 输出值跳变与控制偏差的符号不同。示例:如果过程值略小于设定值(正控制偏差),则 PID输出值会跳变至负值。通常不希望出现这种情况,因为这会导致控制偏差暂时增大。组态的比例作用权重越小,控制偏差就越大,以便接收具有相同符号的PID 输出值跳变。如果使用该选项,我们建议将比例作用的权重(Retain.CtrlParams.Heat.PWeighting和Retain.CtrlParams.Cool.PWeighting 变量)设为1.0。否则,可能会出现针对小控制偏差所说明的不良行为。您还可以使用 IntegralResetMode = 4。该选项确保 PID输出值跳变与控制偏差的符号相同,无论组态的比例作用权重和控制偏差为何值。2 保持PIDCtrl.IOutputOld的值未更改。您可以使用用户程序定义一个新值。3 预分配自动预分配 PIDCtrl.IOutputOld 的值,如同在上一周期中PidOutputSum = OverwriteInitialOutputValue。4 类似于设定值更改(仅适用于版本 1.1及更高版本的 PID_Temp)自动预分配 PIDCtrl.IOutputOld 的值,以便使 PID输出值跳变与自动模式下设定值从当前过程值更改为当前设定值时的 PI 控制器的行为类似。任何控制偏差都会导致 PID输出值发生跳变。PID 输出值跳变与控制偏差的符号相同。示例:如果过程值小于设定值(正控制偏差),则 PID输出值会跳变至正值。这与组态的比例作用权重和控制偏差无关。如果为 IntegralResetMode分配的值不在有效值范围内,PID_Temp 的行为将与IntegralResetMode 预分配时的情况相同:• PID_TempV1.0 及之前的版本:IntegralResetMode = 1• PID_Temp 自 V1.1起的版本:IntegralResetMode = 4