变量 数据类型 默认值 说明SubstituteOutput REAL 0.0 替代输出值满足以下条件时,使用替代输出值:• 错误发生在自动模式下。• SetSubstituteOutput = TRUE• ActivateRecoverMode = TRUESetSubstituteOutput BOOL TRUE 如果 SetSubstituteOutput = TRUE 且ActivateRecoverMode = TRUE,则只要错误未决,便会输出已组态的替代输出值。如果 SetSubstituteOutput = FALSE 且ActivateRecoverMode = TRUE,则只要错误未决,执行器便会仍保持为当前输出值。如果 ActivateRecoverMode = FALSE,则SetSubstituteOutput 无效。如果 SubstituteOutput 无效 (ErrorBits = 20000h),则不能输出替代输出值。Config.InputPerOn(1) BOOL TRUE 如果 InputPerOn = TRUE,则使用参数 Input_PER。如果InputPerOn = FALSE,则使用参数 Input。Config.InvertControl(1) BOOL FALSE 反转控制逻辑如果 InvertControl = TRUE,则不断增大的控制偏差将导致输出值减小。_Config.OutputSelect INT 0 选择输出值:• OutputSelect = 0: Output_PER(模拟量)• OutputSelect = 1: Output• OutputSelect = 2: Output_PWM_Config.OutputSelect 用于组态 TIA Portal 中的控制器,对 CPU 中输出值的计算无影响。_Config.OutputSelect 在数据块中不可用,只能在组态编辑器中或通过 Openness API 进行组态。通过 Openness API 导入 PID_Compact 时,_Config.OutputSelect 重置为默认值。Config.InputUpperLimit(1) REAL 120.0 过程值的上限监控 Input 和 Input_PER,以确保符合此限值。在 I/O 输入中,过程值Zui大可超出标准范围 18%(过范围)。此预分配可确保因超出“过程值上限”而不再报告错误。仅识别断线和短路,然后 PID_Compact 将根据已组态的错误响应方式进行响应。InputUpperLimit > InputLowerLimitConfig.InputLowerLimit(1) REAL 0.0 过程值的下限监控 Input 和 Input_PER,以确保符合此限值。InputLowerLimit < InputUpperLimitConfig.InputUpperWarning(1) REAL 3.402822e+38 过程值的警告上限如果设置的 InputUpperWarning 超出了过程值的限值范围,则所组态的过程值的juedui上限将用作警告上限。如果组态的 InputUpperWarning 值位于过程值的限值范围内,则该值将用作警告上限。InputUpperWarning > InputLowerWarningInputUpperWarning ≤ InputUpperLimit207指令10.1 PID_CompactPID 控制功能手册, 11/2022, A5E35300232-AF变量 数据类型 默认值 说明Config.InputLowerWarning(1) REAL -3.402822e+38 过程值的警告下限如果设置的 InputLowerWarning 超出了过程值的限值范围,则所组态的过程值的juedui下限将用作警告下限。如果组态的 InputLowerWarning 值位于过程值的限值范围内,则该值将用作警告下限。InputLowerWarning < InputUpperWarningInputLowerWarning ≥ InputLowerLimitConfig.OutputUpperLimit(1) REAL 100.0 输出值的上限有关详细信息,请参见 OutputLowerLimitOutputUpperLimit > OutputLowerLimitConfig.OutputLowerLimit(1) REAL 0.0 输出值的下限对于 Output 和 Output_PER,-100.0 到 +100.0 的值范围有效(包括零)。-100.0 时,Output_PER =-27648;+100.0 时,Output_PER = 27648。对于 Output_PWM,则值范围 0.0 到 +100.0 适用。输出值限值必须与控制逻辑相匹配。OutputLowerLimit < OutputUpperLimitConfig.SetpointUpperLimit(1) REAL 3.402822e+38 设定值的上限如果组态的 SetpointUpperLimit 超出了过程值的限值范围,则所组态的过程值的juedui上限将用作设定值的上限。如果组态的 SetpointUpperLimit 值位于过程值的限值范围内,则该值将用作设定值的上限。Config.SetpointLowerLimit(1) REAL -3.402822e+38 设定值的下限如果设置的 SetpointLowerLimit 超出了过程值的限值范围,则所组态的过程值的juedui下限将用作设定值的下限。如果设置的 SetpointLowerLimit 值位于过程值的限值范围内,则该值将用作设定值的下限。Config.MinimumOnTime(1) REAL 0.0 脉宽调制的Zui小 ON 时间(秒)舍入为MinimumOnTime = n×CycleTime.ValueConfig.MinimumOffTime(1) REAL 0.0 脉宽调制的Zui小 OFF 时间(秒)舍入为MinimumOffTime = n×CycleTime.ValueConfig.InputScaling.UpperPointIn(1) REAL 27648.0 标定的 Input_PER 上限根据以下两个值对将 Input_PER 转换为百分数:UpperPointOut 和 UpperPointIn;LowerPointOut 和LowerPointIn。Config.InputScaling.LowerPointIn(1) REAL 0.0 标定的 Input_PER 下限根据以下两个值对将 Input_PER 转换为百分数:UpperPointOut 和 UpperPointIn;LowerPointOut 和LowerPointIn。Config.InputScaling.UpperPointOut(1) REAL 100.0 标定的过程上限值根据以下两个值对将 Input_PER 转换为百分数:UpperPointOut 和 UpperPointIn;LowerPointOut 和LowerPointIn。Config.InputScaling.LowerPointOut(1) REAL 0.0 标定的过程下限值根据以下两个值对将 Input_PER 转换为百分数:UpperPointOut 和 UpperPointIn;LowerPointOut 和LowerPointIn。208PID 控制功能手册, 11/2022, A5E35300232-AF指令10.1 PID_Compact变量 数据类型 默认值 说明CycleTime.StartEstimation BOOL TRUE 如果 CycleTime.StartEstimation = TRUE,则开始自动确定周期时间。完成测量后,CycleTime.StartEstimation =FALSE。CycleTime.EnEstimation BOOL TRUE 如果 CycleTime.EnEstimation = TRUE,则计算PID_Compact 采样时间。如果 CycleTime.EnEstimation = FALSE,则不计算PID_Compact 采样时间,并且您需要手动更正CycleTime.Value 的组态。CycleTime.EnMonitoring BOOL TRUE 如果 CycleTime.EnMonitoring = FALSE,则不会监视PID_Compact 采样时间。如果不能在采样时间内执行PID_Compact,则不会输出错误 (ErrorBits=0800h),PID_Compact 也不会切换到“未激活”模式。CycleTime.Value(1) REAL 0.1 PID_Compact 采样时间(以秒为单位)CycleTime.Value 会自动确定,通常等于调用 OB 的循环时间。CtrlParamsBackUp.Gain REAL 1.0 保存的比例增益LoadBackUp = TRUE 时,可以从 CtrlParamsBackUp 结构中重新加载值。CtrlParamsBackUp.Ti REAL 20.0 保存的积分作时间 [s]CtrlParamsBackUp.Td REAL 0.0 保存的微分作时间 [s]CtrlParamsBackUp.TdFiltRatio REAL 0.2 保存的微分延时系数CtrlParamsBackUp.PWeighting REAL 1.0 保存的比例作用权重因子CtrlParamsBackUp.DWeighting REAL 1.0 保存的微分作用权重因子CtrlParamsBackUp.Cycle REAL 1.0 保存的 PID 算法的采样时间PIDSelfTune.SUT.CalculateParams BOOL FALSE 受控系统的属性在调节期间保存。如果SUT.CalculateParams = TRUE,则根据这些属性重新计算预调节的参数。这样无需重复进行控制器调节,就可以更改参数计算方法。计算后,SUT.CalculateParams 将设置为 FALSE。PIDSelfTune.SUT.TuneRule INT 0 预调节期间用于计算参数的方法:• SUT.TuneRule = 0:根据 Chien、Hrones 和 Reswick计算 PID• SUT.TuneRule = 1:根据 Chien、Hrones 和 Reswick计算 PIPIDSelfTune.SUT.State INT 0 SUT.State 变量指示当前的预调节阶段:• State = 0:初始化预调节• State = 100:计算标准偏差• State = 200:查找拐点• State = 9900:预调节成功• State = 1:预调节未成功PIDSelfTune.TIR.RunIn BOOL FALSE 利用 RunIn 变量,您可以指定无需预调节也可执行jingque调节。209指令10.1 PID_CompactPID 控制功能手册, 11/2022, A5E35300232-AF变量 数据类型 默认值 说明• RunIn = FALSE在未激活模式或手动模式下启动jingque调节时,将启动预调节。如果不满足预调节的要求,则 PID_Compact的响应将类似于 RunIn = TRUE 时的响应。如果jingque调节在自动模式下启动,系统将使用现有的PID 参数来控制设定值。之后才会启动jingque调节。如果无法实现预调节,PID_Compact 将切换到调节开始时的模式。• RunIn = TRUE将跳过预调节。PID_Compact 尝试利用Zui小或Zui大输出值达到设定值。这可能会增加超调量。随后将自动启动jingque调节。jingque调节后,RunIn 将设置为 FALSE。PIDSelfTune.TIR.CalculateParams BOOL FALSE 受控系统的属性在调节期间保存。如果TIR.CalculateParams = TRUE,则根据这些属性重新计算jingque调节的参数。这样无需重复进行控制器调节,就可以更改参数计算方法。计算后,TIR.CalculateParams 将设置为 FALSE。PIDSelfTune.TIR.TuneRule INT 0 jingque调节期间用于计算参数的方法:• TIR.TuneRule = 0:PID 自动• TIR.TuneRule = 1:PID 快速(与 TIR.TuneRule = 2 相比,控制响应速度更快,输出值的幅度更大)• TIR.TuneRule = 2:PID 慢速(与 TIR.TuneRule = 1 相比,控制响应速度较慢,输出值的幅度较小)• TIR.TuneRule = 3:Ziegler-Nichols PID• TIR.TuneRule = 4:Ziegler-Nichols PI• TIR.TuneRule = 5:Ziegler-Nichols P要通过 TIR.CalculateParams 和 TIR.TuneRule = 0、1 或 2重复计算 PID 参数,也必须通过 TIR.TuneRule = 0、1 或2 执行了先前的jingque调节。否则,将使用 TIR.TuneRule = 3。始终可以通过 TIR.CalculateParams 和TIR.TuneRule = 3、4 或 5 重新计算 PID 参数。PIDSelfTune.TIR.State INT 0 TIR.State 变量指示当前的jingque调节阶段:• State = -100:无法进行jingque调节。将首先执行预调节。• State = 0:初始化jingque调节• State = 200:计算标准偏差• State = 300:尝试达到设定值• State = 400:尝试使用现有 PID 参数达到设定值(如果预调节已成功)• State = 500:确定波动并计算参数• State = 9900:jingque调节已成功• State = 1:jingque调节未成功PIDCtrl.IntegralSum(1) REAL 0.0 当前积分作用PIDCtrl.PIDInit BOOL FALSE 自 PID_Compact 版本 2.3 起 PIDCtrl.PIDInit 可用。如果在“自动模式”下 PIDCtrl.PIDInit = TRUE,则会自动预分配 PIDCtrl.IntegralSum 积分作用,就像上一周期中Output = OverwriteInitialOutputValue 一样。这可用于通过 PID_Compact V2 进行超驰控制 (页 78)。210PID 控制功能手册, 11/2022, A5E35300232-AF指令10.1 PID_Compact变量 数据类型 默认值 说明_Retain.CtrlParams.SetByUser BOOL FALSE 允许手动输入 PID 参数如果 _Retain.CtrlParams.SetByUser = TRUE,则 PID 参数可编辑。_Retain.CtrlParams.SetByUser 用于组态 TIA Portal 中的控制器,对 CPU 中控制算法的行为无影响。_Retain.CtrlParams.SetByUser 在数据块中不可用,只能在组态编辑器中或通过 Openness API 进行组态。通过 Openness API 导入 PID_Compact 时,_Retain.CtrlParams.SetByUser 重置为默认值。Retain.CtrlParams.Gain(1) REAL 1.0 有效的比例增益要反转控制逻辑,使用 Config.InvertControl 变量。Gain上的负值也会反转控制逻辑。我们建议您仅使用InvertControl 设置控制逻辑。如果 InvertControl = TRUE且 Gain < 0.0,则控制逻辑也会反转。Gain 具有保持性。Retain.CtrlParams.Ti(1) REAL 20.0 • CtrlParams.Ti > 0.0:有效积分作用时间• CtrlParams.Ti = 0.0:积分作用取消激活Ti 具有保持性。Retain.CtrlParams.Td(1) REAL 0.0 • CtrlParams.Td > 0.0:有效的微分作用时间• CtrlParams.Td = 0.0:微分作用取消激活Td 具有保持性。Retain.CtrlParams.TdFiltRatio(1) REAL 0.2 有效的微分延时系数微分延迟系数用于延迟微分作用的生效。微分延迟 = 微分作用时间 × 微分延迟系数• 0.0:微分作用仅在一个周期内有效,因此几乎不产生影响。• 0.5:实践证明,该值对具有一个主时间常数的受控系统很有效。• > 1.0:系数越大,微分作用的生效时间延迟越久。TdFiltRatio 具有保持性。Retain.CtrlParams.PWeighting(1) REAL 1.0 有效的比例作用权重比例作用随着设定值的变化而减弱。允许使用 0.0 到 1.0 之间的值。• 1.0:应对设定值变化的比例作用完全有效• 0.0:应对设定值变化的比例作用无效当过程值变化时,比例作用始终完全有效。PWeighting 具有保持性。Retain.CtrlParams.DWeighting(1) REAL 1.0 有效的微分作用权重微分作用随着设定值的变化而减弱。允许使用 0.0 到 1.0 之间的值。• 1.0:设定值变化时微分作用完全有效• 0.0:设定值变化时微分作用不生效当过程值变化时,微分作用始终完全有效。DWeighting 具有保持性。Retain.CtrlParams.Cycle(1) REAL 1.0 有效的 PID 算法采样时间在调节期间计算 CtrlParams.Cycle,并将其舍入为CycleTime.Value 的整数倍。CtrlParams.Cycle 用作脉宽调制的时间。Cycle 具有保持性。