参数 State 和 sRet.i_Mode V1参数的相关性State 参数指示 PID 控制器的当前操作模式。 您无法修改 State 参数。需要修改 sRet.i_Mode 变量来更改操作模式。 当新操作模式的值已处于 sRet.i_Mode 中时,这同样适用。 首先设置 sRet.i_Mode = 0 ,然后设置 sRet.i_Mode = 3。 如果控制器的当前操作模式支持此更改,则会将 State 设置为 sRet.i_Mode 的值。PID_Compact 自动切换操作模式时,State != sRet.i_Mode。示例:• 成功预调节State = 3 并且 sRet.i_Mode = 1• 出错State = 0 并且 sRet.i_Mode 的值保持不变,例如 sRet.i_Mode = 3• ManualEnalbe = TRUEState = 4,并且 sRet.i_Mode 保持之前的值不变,例如 sRet.i_Mode = 3说明如果希望重复成功的jingque调节而不退出自动模式,则设置 i_Mode = 0。在一个周期内将 sRet.i_Mode 设置为无效值(例如 9999)对 State 没有影响。 在下一个周期中设置 Mode = 2。 这样可以对 sRet.i_Mode 进行更改而无需首先切换到“未激活”模式。值的含义State /sRet.i_Mode操作模式说明0 未激活控制器关闭。执行预调节前控制器处于“未激活”模式。如果发生错误或者在调试窗口中单击“禁用控制器”(Deactivate controller) 图标,则运行中的 PID 控制器将切换为“未激活”模式。1 预调节预调节功能可确定对输出值跳变的过程响应,并搜索拐点。 根据受控系统的Zui大上升速率与死时间的函数计算zuijia的 PID 参数。预调节的要求:• 控制器处于未激活模式或手动模式• ManualEnable = FALSE• 过程值不能过于接近设定值。|Setpoint - Input| > 0.3 * |sPid_Cmpt.r_Pv_Hlm - sPid_Cmpt.r_Pv_Llm| 且|Setpoint - Input| > 0.5 * |Setpoint|• 预调节期间不能更改设定值。过程值的稳定性越高,就越容易计算 PID 参数以及提高结果的精度。 只要过程值的上升速率明显高于噪声,就可以容忍过程值的噪声。重新计算 PID 参数之前将对其进行备份并且可使用 sPid_Cmpt.b_LoadBackUp 重新激活这些参数。预调节成功后自动模式将发生变化,预调节失败后“未激活”模式将发生变化。预调节阶段由变量 i_Event_SUT V1 (页 260)来指示。255指令10.1 PID_CompactPID 控制功能手册, 11/2023, A5E35300232-AGState /sRet.i_Mode操作模式说明2 jingque调节jingque调节将使过程值出现恒定受限的振荡。 根据该振荡的幅度和频率对 PID 参数进行优化。 对预调节期间与jingque调节期间的过程响应之间的差异进行分析。 所有 PID 参数都将根据相应结果进行重新计算。 jingque调节得出的 PID 参数通常比预调节得出的 PID 参数具有更好的主控和扰动特性。PID_Compact 将自动尝试生成大于过程值噪声的振荡。 过程值的稳定性对jingque调节的影响非常小。重新计算 PID 参数之前将对其进行备份并且可使用 sPid_Cmpt.b_LoadBackUp 重新激活这些参数。jingque调节的要求:• 不能被干扰。• 设定值和过程值均在组态的限值范围内。• jingque调节期间不能更改设定值。• ManualEnable = FALSE• 自动模式 (State = 3)、未激活模式 (State = 0) 或手动模式 (State = 4)在以下模式下启动jingque调节时,具体情况如下所述:• 自动模式 (State = 3)如果希望通过控制器调节来改进现有 PID 参数,请在自动模式下启动jingque调节。PID_Comact 将使用现有的 PID 参数进行调节,直到控制回路已稳定并且jingque调节的要求得到满足为止。之后才会启动jingque调节。• 未激活模式 (State = 0) 或手动模式 (State = 4)如果满足预调节的要求,则启动预调节。 建立的 PID 参数将用于进行调节,直到控制回路已稳定并且jingque调节的要求得到满足为止。之后才会启动jingque调节。如果无法实现预调节,PID_Compact 将切换到“未激活”模式。如果预调节的过程值已经十分接近设定值或者 sPid_Calc.b_RunIn = TRUE,则将尝试利用Zui小或Zui大输出值来达到设定值。这可能会增加超调量。控制器将在成功完成“jingque调节”后切换为“自动模式”,如果未成功完成“jingque调节”,则切换为“未激活”模式。“jingque调节”阶段由变量 i_Event_TIR V1 (页 260)来指示。3 自动模式在自动模式下,PID_Compact 会按照指定的参数来更正受控系统。如果满足下列条件之一,控制器将切换到自动模式:• 预调节成功完成• jingque调节成功完成• 变量 sRet.i_Mode 的值变为 3。CPU 启动或从 Stop 模式切换到 RUN 模式后,PID_Compact 会以Zui近激活的操作模式启动。要使 PID_Compact保持在“未激活”模式下,应设置 sb_RunModeByStartup = FALSE。4 手动模式在手动模式下,在 ManualValue 参数中指定手动输出值。如果 sRet.i_Mode = 4 或 ManualEnable 处于上升沿,将启用此操作模式。 如果 ManualEnable 更改为 TRUE,则只有 State 将发生改变。sRet.i_Mode 将保留其当前值。PID_Compact 将在 ManualEnable 处出现下降沿时返回到前一个操作模式。到自动模式的切换是无扰动的。参数 Error V1如果多个错误同时处于待决状态,将通过二进制加法显示错误代码值。例如,显示错误代码0003 表示错误 0001 和 0002 同时处于待决状态。Error(DW#16#...)说明0000 没有任何错误。0001 参数“Input”超出了过程值限值的范围。• Input > sPid_Cmpt.r_Pv_Hlm 或• Input < sPid_Cmpt.r_Pv_Llm在消除错误之前不能再次移动执行器。0002 参数“Input_PER”的值无效。请检查模拟量输入是否有处于未决状态的错误。0004 jingque调节期间出错。过程值无法保持振荡状态。0008 预调节启动时出错。过程值过于接近设定值。开始jingque调节。0010 调节期间设定值发生更改。0020 在自动模式下或调节期间不允许进行预调节。0080 预调节期间出错。未正确组态输出值限制或实际值未按预期响应。检查输出值的限值是否已正确组态及其是否匹配控制逻辑。此外,还要确认实际值在开始预调节前未强烈振荡。0100 调节期间的错误导致生成无效参数。0200 参数“Input”的值无效:值的数字格式无效。0400 输出值计算失败。请检查 PID 参数。0800 采样时间错误:未在周期中断 OB 的采样时间内调用 PID_Compact。如果在使用 PLCSIM 进行仿真期间出现该错误,请参见使用 PLCSIM 仿真 PID_Compact V1 (页 103)下的说明。1000 参数“Setpoint”的值无效:值的数字格式无效。版本 V1 的 Reset 参数对 Reset = TRUE 的响应取决于 PID_Compact 指令的版本。PID_Compact 版本 V1.1 及更高版本的 Reset 响应Reset 出现上升沿时会触发切换到“未激活”模式;复位错误和警告并删除积分作用。Reset 出现下降沿时会触发切换到Zui近激活的操作模式。如果之前自动模式已激活,则会以无扰动切换的方式对积分作用进行预分配。复位响应 PID_Compact V.1.0Reset 出现上升沿时会触发切换到“未激活”模式;复位错误和警告并删除积分作用。在 i_Mode出现下一沿之前,不会重新激活控制器。
PID_3Step 的新特性PID_3Step V2.3• 自 PID_3Step 版本 2.3 起,可以通过 Config.VirtualActuatorLimit = 0.0 取消激活行程时间的监视和限制。PID_3Step V2.2• 与 S7-1200 结合使用自 PID_3Step V2.2 起,固件为 4.0 或更高版本的 S7-1200 上也可以使用具有 V2 功能的指令。PID_3Step V2.0• 对错误的响应对 ActivateRecoverMode = TRUE 的响应已经过全面改进。在默认设置下,PID_3Step 的响应方式具有更强的容错性。注意您的系统可能已损坏。如果使用默认设置,则即使超过过程值的限值,PID_3Step 也将保持自动模式。这可能损坏您的系统。必须组态受控系统在出现错误时如何作出响应以避免系统损坏。可使用 ErrorAck 输入参数在不重启控制器或清除积分作用的情况下确认错误和警告。切换工作模式不会确认处于非未决状态的错误。• 切换工作模式在 Mode 输入/输出参数处指定工作模式,并在 ModeActivate 的上升沿启动该工作模式。Retain.Mode 变量已被忽略。转换时间测量不能再通过 GetTransitTime.Start 进行启动,只能通过 Mode = 6 并在ModeActivate 的上升沿进行启动。• 多重背景功能可将 PID_3Step 作为多重背景数据块进行调用。• 启动特性如果 RunModeByStartup = TRUE,则在 Mode 参数处指定的工作模式也将在 Reset 的下降沿并在 CPU 冷启动期间启动。• ENO 特性ENO 根据工作模式进行设置。如果 State = 0,那么 ENO = FALSE。如果 State ≠ 0,那么 ENO = TRUE。 • 手动模式Manual_UP 和 Manual_DN 输入参数不再用作沿触发参数。使用 ManualUpInternal 和ManualDnInternal 变量仍可实现沿触发手动模式。在“无停止位信号的手动模式”(Mode = 10) 下,停止位信号 Actuator_H 和 Actuator_L 即使激活也被忽略。• PID 参数的默认值下列默认设置已更改:– 比例作用权重 (PWeighting),从 0.0 到 1.0– 微分作用权重 (DWeighting),从 0.0 到 1.0– 微分延迟系数 (TdFiltRatio),从 0.0 到 0.2• 电机转换时间限制在 Config.VirtualActuatorLimit 变量中组态执行器在一个方向上行进的时间占电机转换时间的Zui大百分比。• 在调节期间指定设定值在 CancelTuningLevel 变量中进行调节期间,组态允许的设定值波动。• 启用扰动变量可在 Disturbance 参数中启用扰动变量。• 故障排除如果未激活停止位信号 (ActuatorEndStopOn = FALSE),将在无 Actuator_H 或 Actuator_L的情况下确定 ScaledFeedback。PID_3Step V1.1• CPU 启动时的手动模式如果 CPU 启动时 ManualEnable = TRUE,则 PID_3Step 以手动模式启动。无需在ManualEnable 上升沿启动。• 对错误的响应ActivateRecoverMode 变量在手动模式下不再有效。• 故障排除成功调节或转换时间测量后复位 Progress 变量。PID_3Step V2.x 的 CPU 处理时间和存储器要求CPU 处理时间自版本 V2.0 起 PID_3Step 工艺对象的典型 CPU 处理时间(具体视 CPU 类型以及标准、F、T和 TF CPU 的工作模式而定)。PID_3Step V2 说明描述使用 PID_3Step 指令可对具有阀门自调节的 PID 控制器或具有积分行为的执行器进行组态。存在下列工作模式:• 未激活• 预调节• jingque调节• 自动模式• 手动模式• 逼近替代输出值• 转换时间测量• 错误监视• 在监视错误的同时逼近替代输出值• 无停止位信号的手动模式有关工作模式的详细信息,请参见 State 参数。