计算 PID参数时出错,导致生成无效的参数。 无效参数被丢弃,原始 PID 参数保持不变。 如果在预调节期间发生此错误,请确保: •预调节加热或预调节加热和冷却:PID 输出值在预调节启动之前不受加热上限的限制。 • 预调节制冷:PID输出值在预调节启动之前不受冷却下限的限制。 要在自动模式下启动加热预调节或加热和冷却预调节,建议在 ModeActivate的上升沿执行所需的设定 值更改。这可以防止 PID 输出值在设定值更改和预调节启动之间遇到限制。也可以通过从手动模式或“非活动”模式启动来实现。 以下情况有所区别: • 如果在错误发生前自动模式已激活且 ActivateRecoverMode =TRUE,则 PID_Temp 保持自动模式。 • 如果在错误发生前手动模式已激活且 ActivateRecoverMode =TRUE,则 PID_Temp 保持手动模式。 • 如果在错误发生前预调节或jingque调节模式已激活且ActivateRecoverMode = TRUE,则 PID_Temp 切换到 Mode 参数中保存的工作模式。PID_TempActivateRecoverMode 变量 ActivateRecoverMode 变量决定错误响应方式。 Error参数指示是否存在错误处于未决状态。 当错误不再处于未决状态时,Error = FALSE。 ErrorBits参数显示发生的具体错误。 自动模式和手动模式 注意 您的系统可能已损坏。 如果 ActivateRecoverMode =TRUE,则 PID_Temp 保持自动模式或手动模式,出现错误 或超过过程限值也是如此。 这可能损坏您的系统。必须组态受控系统在出现错误时如何作出响应以避免系统损坏。 ActivateRecoverMode 说明 FALSE PID_Temp将在出现错误时切换到“未激活”模式。只能通过 Reset 的下降沿或 ModeActivate 的上升沿激活 控制器。 TRUE自动模式 如果在自动模式下频繁出现错误,则该设置会对控制响应产生fumian影响,因为每次出错时,PID_Temp 都 会在计算的PID 输出值和替代输出值之间切换。 这种情况下,检查 ErrorBits 参数并消除错误原因。如果发生下列一个或多个错误且在发生错误前自动模式已激活,则 PID_Temp 保持自动模式:ActivateRecoverMode说明 当错误不再处于未决状态时,PID_Temp 切换回自动模式。如果在“含错误监视功能的替代输出值”模式下发生以下错误,则只要错误待决,PID_Temp 就会将 PID 输出 值设为Config.Output.Heat.PidLowerLimit: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.MinimumOffTime Config.Output.Cool.PwmPeriode仅在制冷输出激活 (Config.ActivateCooling =TRUE) 时有效。 使用 PwmPeriode 时,PWM输出信号的精度由 PwmPeriode 与 PID_Temp 采样时间(OB 的周 期时间)的关系决定。PwmPeriode 至少应为PID_Temp 采样时间的 10 倍。 如果 PID 算法的采样时间不是 PwmPeriode 的整数倍,则在 PID算法采样时间内 PWM 的Zui后 一个周期都将相应延长。
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)启动“自动模式”,并且无论是否存在控制偏差(设定值 – 过程值),输出值都不会发生跳 变。 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_Temp V1.0 及之前的版本:IntegralResetMode = 1 • PID_Temp自 V1.1 起的版本:IntegralResetMode = 4 363 指令 10.3 PID_Temp PID 控制 功能手册,11/2023, A5E35300232-AG PID 基本功能 10.4.1 CONT_C CONT_C 说明 在SIMATIC S7 自动化系统中可使用 CONT_C 指令控制具有连续输入和输出变量的工艺过程。 可分配参数来启用或禁用 PID控制器的子功能并使其适应该过程。除了设定值和过程值分支中 的功能外,该指令还实现了一个完整的 PID控制器,该控制器具有连续的输出值输出,并且允 许手动影响输出值。 应用 可以使用该控制器作为 PID固定设定值控制器,或在多回路控制系统中作为级联、混合或比率 控制器。控制器的功能基于带有模拟信号的采样控制器的 PID控制算法,必要时还可按以下方 法进行扩展:增加一个脉冲整形器环节,以便为带有比例执行器的两位或三位控制器生成脉宽 调制的输出信号。调用 CONT_C 指令具有一个初始化例程,在设置输入参数 COM_RST = TRUE 时将运行该例程。初始化过程中,积分作用被设置为初始化值 I_ITVAL。所有信号输出都被设置为零。完成初始化例 程后,必须设置 COM_RST =FALSE。 只有以固定时间间隔调用块时,在控制块中计算的值才是正确的。应在循环中断 OB(OB 30 到 OB38)中调用控制块。在 CYCLE 参数中输入采样时间。 错误信息 错误消息字 RET_VAL 不由块进行评估。CONT_C的工作原理 设定值分支 在输入 SP_INT 中输入浮点格式的设定值。 过程值分支 可以 I/O 或浮点格式输入过程值。 函数CRP_IN 按照以下规则将 I/O 值 PV_PER 转换为浮点格式 的值 -100 到 +100 %: CRP_IN =PV_PER * 100 / 27648 的输出 函数 PV_NORM 根据以下规则标定 CRP_IN 的输出: PV_NORM的输出 = (CRP_IN 的输出) *PV_FAC + PV_OFF PV_FAC 的默认值为 1,PV_OFF 的默认值为 0。364 PID 控制 功能手册, 11/2023, A5E35300232-AG 指令 10.4 PID 基本功能 形成误差信号设定值与过程值之间的差值是误差信号。 要抑制由于调节变量量化而产生的小幅持续振荡 (例如,使用 PULSEGEN进行脉宽调制时),可将误差信号应用于死区 (DEADBAND)。 DEADB_W = 0 时,死区关闭。 PID 算法 PID算法作为位置算法运行。 比例、积分 (INT) 和微分 (DIF) 作用并行连接在一起,可以单独 激活或禁用。 这样便可组态P、PI、PD 和 PID 控制器。 也可以组态纯 I 控制器。 手动值处理 可以在手动模式和自动模式之间切换。在手动模式下,调节变量被修正为手动选择的值。 积分作用 (INT) 内部设置为 LMN - LMN_P - DISV,微分作用(DIF) 内部设置为 0 并同步。 因 此,可以平滑地切换到自动模式。 调节值处理 可以使用 LMNLIMIT函数将调节值限制为所选值。 输入变量超过限值时,报警位会给予指 示。 函数 LMN_NORM 按照以下规则对 LMNLIMIT的输出进行标准化: LMN = (LMNLIMIT 的输出) * LMN_FAC + LMN_OFF LMN_FAC 的默认值为1,LMN_OFF 的默认值为 0。 调节值也可以使用 I/O 格式。 函数 CRP_OUT 按照以下规则将 LMN 浮点值转换为I/O 值: LMN_PER = LMN * 27648 / 100 前馈控制 可在 DISV 输入中添加扰动变量。