ActivateRecoverMode描述如果发生下列错误,PID_Compact 将切换到“带错误监视的替代输出值”模式,并将执行器移至Config.OutputLowerLimit:• 20000h:变量 SubstituteOutput 的值无效。值的数字格式无效。此特性与 SetSubstituteOutput 无关。当错误不再处于未决状态时,PID_Compact 切换回自动模式。预调节和jingque调节ActivateRecoverMode描述FALSE PID_Compact 将在出现错误时自动切换到“未激活”模式。只能通过 Reset 的下降沿或 ModeActivate 的上升沿激活控制器。TRUE 如果发生下列错误,PID_Compact 将保持在激活模式:• 0020h:jingque调节期间不允许预调节。以下错误将被忽略:• 10000h:ManualValue 参数的值无效。• 20000h:变量 SubstituteOutput 的值无效。出现其它错误时,PID_Compact 将取消调节并切换到调节开始时的模式。
版本 V2 及更高版本的 IntegralResetMode 变量IntegralResetMode 变量用于确定如何预分配积分作用 PIDCtrl.IntegralSum:• 从“未激活”工作模式切换到“自动模式”时• 参数 Reset 出现 TRUE -> FALSE 沿并且参数 Mode = 3 时只有在激活了积分作用时,该设置才会在一个周期内有效(Retain.CtrlParams.Ti > 0.0 变量)。
IntegralResetMode描述0 平滑已经预分配了 PIDCtrl.IntegralSum 的值,因此可以实现无扰动切换,即通过输出值 = 0.0(参数 Output)启动“自动模式”,并且无论是否存在控制偏差(设定值 – 实际值),输出值都不会发生跳变。1 删除如果使用该选项,我们建议将比例作用的权重 (Retain.CtrlParams.PWeighting) 设为 1.0。PIDCtrl.IntegralSum 的值已删除。任何控制偏差都将导致输出值跳变。输出值的跳变方向取决于组态的比例作用权重(Retain.CtrlParams.PWeighting 变量)以及控制偏差:• 比例作用权重 = 1.0:输出值跳变与控制偏差的符号相同。示例:如果实际值小于设定值(正控制偏差),则输出值会跳变至正值。• 比例作用权重 < 1.0:对于较大的控制偏差,输出值跳变与控制偏差的符号相同。示例:如果实际值远远小于设定值(正控制偏差),则输出值会跳变至正值。对于较小的控制偏差,输出值跳变与控制偏差的符号不同。示例:如果实际值略小于设定值(正控制偏差),则输出值会跳变至负值。通常不希望出现这种情况,因为这会导致控制偏差暂时增大。组态的比例作用权重越小,控制偏差就越大,以便接收具有相同符号的输出值跳变。如果使用该选项,我们建议将比例作用的权重 (Retain.CtrlParams.PWeighting) 设为 1.0。否则,可能会出现针对小控制偏差所说明的不良行为。您还可以使用 IntegralResetMode = 4。该选项确保输出值跳变与控制偏差的符号相同,无论组态的比例作用权重和控制偏差为何值。2 保持PIDCtrl.IntegralSum 的值未更改。您可以使用用户程序定义一个新值。3 预分配自动预分配 PIDCtrl.IntegralSum 的值,如同在上一周期中 Output = OverwriteInitialOutputValue。4 类似于设定值更改(仅适用于版本 2.3 及更高版本的 PID_Compact)自动预分配 PIDCtrl.IntegralSum 的值,以便使输出值跳变与自动模式下设定值从当前实际值更改为当前设定值时的 PI 控制器的行为类似。任何控制偏差都会导致输出值跳变。输出值跳变与控制偏差的符号相同。示例:如果实际值小于设定值(正控制偏差),则输出值会跳变至正值。这与组态的比例作用权重和控制偏差无关。如果为 IntegralResetMode 分配的值不在有效值范围内,PID_Compact 的行为将与IntegralResetMode 预分配时的情况相同:• PID_Compact V2.2 及之前的版本:IntegralResetMode = 1• PID_Compact 版本 V2.3 及更高版本:IntegralResetMode = 4上述与输出值跳变的符号相关的所有说明均基于正常控制逻辑(Config.InvertControl = FALSE变量)。对于反转的控制逻辑 (Config.InvertControl = TRUE),输出值跳变的符号将相反。PID_Compact 版本 V2 示例程序在以下示例中,通过指令“PID_Compact”的工艺对象来控制温度值。基于一个用于仿真三阶延时元件(PT3 元件)的块对温度值进行仿真。工艺对象的 PID 参数可通过预调节自动设置。工艺对象通过指令“PID_Compact”的属性或使用路径“工艺对象 > 组态”(Technology object >Configuration) 对工艺对象进行组态。对于本示例,控制器类型和输入/输出参数至关重要。借助控制器类型,您可以预先选择要控制值的单位。在本示例中,将单位为“°C”的“温度”(Temperature) 用作控制器类型。“PID_Compact”的参数已经与全局变量互连。因此,有关参数 Input 和 Output 的使用信息十分充分。启动控制的步骤下载到 CPU 后,PID_Compact 处于手动模式,手动值为 0.0。要启动控制,请按照以下步骤进行操作:1. 打开工艺对象“SLI_Tech_PID_Compact”的“调试”(Commissioning) 对话框。2. 单击“测量”(Measurement) 区域中的“启动”(Start) 按钮。测量过程将启动并且可激活 PID_Compact。3. 选择预调节。单击“调节模式”(Tuning mode) 区域中的“启动”(Start) 按钮。执行了预调节。PID 参数根据过程自动调整。完成预调节后,PID_Compact 切换到自动模式。说明选择启动 PID_Compact还可以不进行预调节,在“控制器的在线状态”(Online status of controller) 区域中通过“停止PID_Compact”(Stop PID_Compact)/“启动 PID_Compact”(Start PID_Compact) 来将PID_Compact 切换到自动模式。这种情况下,控制器使用 PID 参数的默认值并显示了该应用情况下不良的控制器表现。242PID 控制功能手册, 11/2023, A5E35300232-AG指令10.1 PID_Compact停止控制的步骤要停止并退出 PID_Compact 和程序,请按照以下步骤进行操作:1. 单击工艺对象“SLI_Tech_PID_Compact”中“控制器的在线状态”(Online status of controller)区域中的“Stop PID_Compact”按钮。指令“PID_Compact”将退出控制并将值“0.0”作为调节变量输出。2. 单击“测量”(Measurement) 区域中的“停止”(Stop) 按钮。3. 要将过程值立即设为“0.0”,请按下列步骤操作:在“SLI_OB_PID_Compact”块中,将“resetAll”变量设为值“TRUE”,然后再设为值“FALSE”。“PID_Compact”指令在参数 Setpoint(“setpoint”)处指定要控制的温度的设定值。通过工艺对象启动指令“PID_Compact”时启动控制。指令“PID_Compact”将在输出参数 Output(“outputValue”)处输出一个调节变量。通过输入参数 Input(“inputValue”)将温度的过程值传送给指令“PID_Compact”。指令“PID_Compact”可根据设定值(“setpoint”)和过程值(“inputValue”)之间的历史偏差调整操作变量(“outputValue”)。重复进行该过程,通过操作变量(“outputValue”)使过程值(“inputValue”)接近设定值(“setpoint”)。输出参数 State(“state”)处显示了指令“PID_Compact”的当前工作模式。在完成预调节后(“state”的值为“1”),PID_Compact 将切换至自动模式(值为“3”)。243指令10.1 PID_CompactPID 控制功能手册, 11/2023, A5E35300232-AG当前的输出参数 Error(“error”)显示无错误待决。发生错误时,输出参数ErrorBits(“errorBits”)提供关于错误类型的信息。如果发生错误,可在工艺对象中的优化状态区域通过“ErrorAck”按钮确认。“SLI_PROC_C”块“SLI_PROC_C”块用于对不断上升的设备温度的过程值(“inputValue”)进行仿真。“SLI_PROC_C”块包含控制器的操作变量(“outputValue”),可对过程的温度特性进行仿真。该温度作为过程值(“inputValue”)反馈到控制器中。“resetAll”变量(comRst 参数)值的变化 () 会产生以下影响:参数comRst(“resetAll”)指令“PID_Compact”正在运行 指令“PID_Compact”已停止运行comRst(“resetAll”)仍设置为值“FALSE”“SLI_PROC_C”块基于操作变量(“outputValue”)输出一个新的过程值(“inputValue”)。“SLI_PROC_C”块不会接收大于“0.0”的操作变量,但仍会输出一个新的过程值 >“0.0”。comRst(“resetAll”):从“FALSE”变为值“TRUE”操作变量(“outputValue”)和输出过程值(“inputValue”)均复位为“0.0”。“SLI_PROC_C”块的过程值(“inputValue”)/温度复位为“0.0”。comRst(“resetAll”):从“TRUE”变为值“FALSE”再次启动温度控制。 输出过程值/温度(“inputValue”)保持“0.0”。
PID_Compact V1 说明描述PID_Compact 指令提供了一种可在自动和手动模式下进行调节的 PID 控制器。调用以调用 OB 的循环时间的恒定间隔(zuihao在循环中断 OB 中)调用 PID_Compact。下载到设备仅当完全下载 PID_Compact 后,才能更新保持性变量的实际值。将工艺对象下载到设备 (页 43)启动CPU 启动时,PID_Compact 以上次激活的操作模式启动。要将 PID_ Compact 保留在“未激活”模式下,应设置 sb_RunModeByStartup = FALSE。PID_Compact 采样时间的监视理想情况下,采样时间等于调用 OB 的周期时间。PID_Compact 指令测量两次调用之间的时间间隔。这就是当前采样时间。每次切换工作模式以及初始启动期间,平均值由前 10 个采样时间构成。如果当前采样时间严重偏离该平均值,则将出现 Error = 0800 hex,并且PID_Compact 将切换到“未激活”模式。在下列条件下,PID_Compact 版本 V1.1 及更高版本在控制器调节期间将设置为“未激活”模式:• 新平均值 >= 1.1 x 原平均值• 新平均值