SIEMENS西门子 CPU222模块 6ES7 212-1BB23-0XB8
参数 State 和 sRet.i_Mode V1 (S7-1200) 参数的相关性 State 参数指示 PID 控制器的当前操作模式。 您无法修改 State 参数。变量 数据类型 默认值 说明 sPid_Cmpt.r_Pv_Norm_IN_1(1) REAL 0.0 标定的 Input_PER 下限 根据以下两个值对将 Input_PER 转换为百分数: sPid_Cmpt 结构的 r_Pv_Norm_OUT_1、 r_Pv_Norm_IN_1 和 r_Pv_Norm_OUT_2、 r_Pv_Norm_IN_2。 sPid_Cmpt.r_Pv_Norm_IN_2(1) REAL 27648.0 标定的 Input_PER 上限 根据以下两个值对将 Input_PER 转换为百分数: sPid_Cmpt 结构的 r_Pv_Norm_OUT_1、 r_Pv_Norm_IN_1 和 r_Pv_Norm_OUT_2、 r_Pv_Norm_IN_2。 sPid_Cmpt.r_Pv_Norm_OUT_1(1) REAL 0.0 标定的过程值的下限 根据以下两个值对将 Input_PER 转换为百分数: sPid_Cmpt 结构的 r_Pv_Norm_OUT_1、 r_Pv_Norm_IN_1 和 r_Pv_Norm_OUT_2、 r_Pv_Norm_IN_2。 sPid_Cmpt.r_Pv_Norm_OUT_2(1) REAL 100.0 标定的过程值的上限 根据以下两个值对将 Input_PER 转换为百分数: sPid_Cmpt 结构的 r_Pv_Norm_OUT_1、 r_Pv_Norm_IN_1 和 r_Pv_Norm_OUT_2、 r_Pv_Norm_IN_2。 sPid_Cmpt.r_Lmn_Hlm(1) REAL 100.0 输出参数“Output”的输出值上限 sPid_Cmpt.r_Lmn_Llm(1) REAL 0.0 输出参数“Output”的输出值下限 sPid_Cmpt.b_Input_PER_On(1) BOOL TRUE 如果 b_Input_PER_On = TRUE,则使用参数 Input_PER。如果 b_Input_PER_On = FALSE,则 使用参数 Input。 sPid_Cmpt.b_LoadBackUp BOOL FALSE 激活备份参数集。如果优化失败,可通过置位该 位重新激活先前的 PID 参数。 sPid_Cmpt.b_InvCtrl(1) BOOL FALSE 反转控制逻辑 如果 b_InvCtrl = TRUE,则不断增大的控制偏差 将导致输出值减小。 sPid_Cmpt.r_Lmn_Pwm_PPTm(1) REAL 0.0 脉宽调制的Zui小 ON 时间(秒)舍入为 r_Lmn_Pwm_PPTm = r_Cycle 或 r_Lmn_Pwm_PPTm = n*r_Cycle
变量 数据类型 默认值 说明 sPid_Cmpt.r_Lmn_Pwm_PBTm(1) REAL 0.0 脉宽调制的Zui小 OFF 时间(秒)舍入为 r_Lmn_Pwm_PBTm = r_Cycle 或 r_Lmn_Pwm_PBTm = n*r_Cycle sPid_Cmpt.r_Pv_Hlm(1) REAL 120.0 过程值的上限 在 I/O 输入中,过程值Zui大可超出标准范围 18% (过范围)。如果超出“过程值的上限”,将不 再报告错误。仅识别断线和短路,然后 PID_Compact 切换到“未激活”模式。 r_Pv_Hlm > r_Pv_Llm sPid_Cmpt.r_Pv_Llm(1) REAL 0.0 过程值的下限 r_Pv_Llm < r_Pv_Hlm sPid_Cmpt.r_Pv_HWrn(1) REAL +3.402822 e+38 过程值的警告上限 如果设置的 r_Pv_HWrn 超出了过程值的限值范 围,则所组态的过程值的juedui上限将用作警告上 限。 如果组态的 r_Pv_HWrn 值位于过程值的限值范 围内,则该值将用作警告上限。 r_Pv_HWrn > r_Pv_LWrn r_Pv_HWrn ≤ r_Pv_Hlm sPid_Cmpt.r_Pv_LWrn(1) REAL -3.402822e +38 过程值的警告下限 如果设置的 r_Pv_LWrn 超出了过程值的限值范 围,则所组态的过程值的juedui下限将用作警告下 限。 如果组态的 r_Pv_LWrn 值位于过程值的限值范围 内,则该值将用作警告下限。 r_Pv_LWrn < r_Pv_HWrn r_Pv_LWrn ≥ r_Pv_LWrn sPidCalc.i_Ctrl_IOutv(1) REAL 0.0 当前积分作用 sParamCalc.i_Event_SUT INT 0 变量 i_Event_SUT (页 5137) 指示当前的“预调 节”阶段: sParamCalc.i_Event_TIR INT 0 变量 i_Event_TIR (页5138) 指示当前的“jingque调 节”阶段:变量 数据类型 默认值 说明 sRet.i_Mode INT 0 操作模式的更改由沿触发。 变量值发生变化时,将相应启用以下操作模式 • i_Mode = 0:“未激活”模式(控制器停止) • i_Mode = 1:“预调节”模式 • i_Mode = 2:“jingque调节”模式 • i_Mode = 3:“自动”模式 • i_Mode = 4:“手动”模式 保持 i_Mode。 sRet.r_Ctrl_Gain(1) REAL 1.0 有效的比例增益 保持 Gain。 sRet.r_Ctrl_Ti(1) REAL 20.0 • r_Ctrl_Ti > 0.0:有效积分作用时间 • r_Ctrl_Ti = 0.0:积分作用取消激活 保持 r_Ctrl_Ti。 sRet.r_Ctrl_Td(1) REAL 0.0 • r_Ctrl_Td > 0.0:有效的微分作用时间 • r_Ctrl_Td = 0.0:微分作用取消激活 保持 r_Ctrl_Td。 sRet.r_Ctrl_A(1) REAL 0.0 有效的微分延时系数 保持 r_Ctrl_A。 sRet.r_Ctrl_B(1) REAL 0.0 有效的比例作用权重 保持 r_Ctrl_B。 sRet.r_Ctrl_C(1) REAL 0.0 有效的微分作用权重 保持 r_Ctrl_C。 sRet.r_Ctrl_Cycle(1) REAL 1.0 有效的 PID 算法采样时间 在调节期间计算 r_Ctrl_Cycle,并将其舍入为 r_Cycle 的整数倍。 r_Ctrl_Cycle 用作脉宽调制的时间。 保持 r_Ctrl_Cycle。需要修改 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 = TRUE State = 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_Mo de 操作模式说明 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 (页 5137)来指示。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 (页 5138)来指示。