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 原平均值 • 新平均值
出现错误时的响应如果出现错误,会在参数 Error 中输出,且 PID_Compact 会切换到“未激活”模式。使用 Reset 参数复位错误。控制逻辑 通常,可通过增大输出值来增大过程值。这种做法称为常规控制逻辑。对于制冷和放电控制系统,可能需要反转控制逻辑。PID_Compact 不使用负比例增益。如果InvertControl = TRUE,则不断增大的控制偏差将导致输出值减小。在预调节和jingque调节期间还会考虑控制逻辑。PID_Compact V1 的输入参数 表格 10-4 参数 数据类型 默认值 说明Setpoint REAL 0.0 PID 控制器在自动模式下的设定值 Input REAL 0.0 用户程序的变量用作过程值的源。如果正在使用参数 Input,则必须设置 sPid_Cmpt.b_Input_PER_On = FALSE。Input_PER WORD W#16#0 模拟量输入用作过程值的源 如果正在使用参数 Input_PER,则必须设置sPid_Cmpt.b_Input_PER_On = TRUE。 ManualEnable BOOL FALSE• 出现 FALSE -> TRUE 沿时会选择“手动模式”,而 State = 4, sRet.i_Mode 保持不变。 •出现 TRUE -> FALSE 沿时会选择Zui近激活的操作模式,State =sRet.i_Mode。 sRet.i_Mode的变化在 ManualEnable = TRUE 期间不会生效。仅在 ManualEnable 处出现 TRUE ->FALSE 沿时 sRet.i_Mode 的变化才会生 效。 PID_Compact V1.2 和 PID_Compact V1.0如果 CPU 启动时 ManualEnable = TRUE,PID_Compact 将在手动模式下 启动。并非一定需要ManualEnable 出现上升沿 (FALSE -> TRUE) 时,才 会执行上述操作。PID_Compact V1.1 CPU 启动时,PID_Compact 仅在 ManualEnable 出现上升沿(FALSE->TRUE) 时才切换到手动模式。没有上升沿时,PID_Compact 在 ManualEnable 为FALSE 的上一个工作模式下启动。 ManualValue REAL 0.0 手动值 该值用作手动模式下的输出值。 ResetBOOL FALSE Reset 参数 (页 258)可重启控制器。PID_Compact V1 的输出参数 表格10-5 Parameter 数据类型 默认值 说明 ScaledInput REAL 0.0标定的过程值的输出 可使用输出“Output”、“Output_PER”和“Output_PWM”。 Output REAL0.0 REAL 形式的输出值 Output_PER WORD W#16#0 模拟量输出值 Output_PWM BOOL FALSE脉宽调制输出值 输出值由Zui短开关时间形成。 SetpointLimit_H BOOL FALSE 如果SetpointLimit_H = TRUE,则说明达到了设定值的juedui上限。 在 CPU中,该设定值被限制为所组态的设定值的juedui上限。 设定值的上 限默认设置为所组态的过程值的juedui上限。 如果设置的sPid_Cmpt.r_Sp_Hlm 值位于过程值的限值范围内,则该值 将用作设定值的上限。 SetpointLimit_L BOOLFALSE 如果 SetpointLimit_L = TRUE,则说明已达到设定值的juedui下限。 在 CPU中,该设定值被限制为所组态的设定值的juedui下限。 设定值的下 限将默认设置为所组态的过程值的juedui下限。 如果设置的sPid_Cmpt.r_Sp_Llm 值位于过程值的限值范围内,则该值 将用作设定值的下限。 InputWarning_H BOOLFALSE 如果 InputWarning_H = TRUE,则说明过程值已达到或超出警告上限。InputWarning_L BOOL FALSE 如果InputWarning_L = TRUE,则说明过程值已经达到或低于警告下限。 State INT 0State 参数 (页 255)显示 PID 控制器的当前操作模式。 要更改操作模 式,请使用变量sRet.i_Mode。PID_Compact V1 的静态变量 说明 不得更改未列出的变量。这些变量仅供内部使用。请仅在“未激活”模式下更改使用 (1) 标识的变量,以防 PID 控制器出现故障。通过将“sRet.i_Mode”变量设置为“0”强制切换为“未激活”模式。