变量 数据类型 默认值 说明允许的取值范围由组态确定。•FeedbackOn = FALSE:UpperPointOut = 100.0• FeedbackOn =TRUE:UpperPointOut = 100.0 或 0.0UpperPointOut ≠LowerPointOutConfig.FeedbackScaling.LowerPointOut(1)REAL 0.0下端停止位根据以下两个值对将 Feedback_PER 转换为百分数:FeedbackScaling结构的UpperPointOut、UpperPointIn 和LowerPointOut、LowerPointIn。允许的取值范围由组态确定。• FeedbackOn =FALSE:LowerPointOut = 0.0• FeedbackOn = TRUE:LowerPointOut = 0.0 或-100.0LowerPointOut ≠ UpperPointOutGetTransitTime.InvertDirectionBOOL FALSE 如果InvertDirection =FALSE,则阀门将完全打开、关闭,再重新打开,以确定阀门转换时间。如果InvertDirection =TRUE,阀门会完全关闭,打开,关闭。GetTransitTime.SelectFeedback BOOL FALSE 如果SelectFeedback = TRUE,则转换时间测量中将考虑Feedback_PER 或 Feedback。如果SelectFeedback = FALSE,则转换时间测量中将考虑 Actuator_H和Actuator_L。GetTransitTime.State INT 0 转换时间测量的当前阶段• State = 0:未激活•State = 1:完全打开阀门• State = 2:完全关闭阀门• State = 3:将阀门移至目标位置(NewOutput)• State = 4:成功完成转换时间测量• State =5:已取消转换时间测量GetTransitTime.NewOutput REAL 0.0使用位置反馈时转换时间测量的目标位置目标位置必须介于“上端停止位”和“下端停止位”之间。NewOutput与ScaledFeedback 之间的差值必须至少是允许控制范围的 50%。CycleTime.StartEstimationBOOL TRUE 如果 StartEstimation = TRUE,则开始测量 PID_3Step采样时间。一旦测量完成,CycleTime.StartEstimation =FALSE。CycleTime.EnEstimation BOOL TRUE 如果 EnEstimation = TRUE,则计算PID_3Step 采样时间。如果 CycleTime.EnEstimation = FALSE,则不计算 PID_3Step采样时间,并且您需要手动更正 CycleTime.Value 的组态。CycleTime.EnMonitoring BOOL TRUE如果 EnMonitoring = TRUE,则监视 PID_3Step 采样时间。如果无法在采样时间内执行PID_3Step,将输出错误 0800h 并且工作模式将发生更改。 ActivateRecoverMode 和ErrorBehaviour 可确定切换为哪种工作模式。如果 EnMonitoring = FALSE,则不会监视 PID_3Step采样时间,不会输出错误 0800h,也不会切换工作模式。CycleTime.Value(1) REAL 0.1 PID_3Step采样时间(以秒为单位)CycleTime.Value 会自动确定,通常等于调用 OB的周期时间。CtrlParamsBackUp.SetByUser BOOL FALSE 保存的Retain.CtrlParams.SetByUser 的值LoadBackUp = TRUE 时,可以从CtrlParamsBackUp 结构中重新加载值。280PID 控制功能手册, 11/2023,A5E35300232-AG指令10.2 PID_3Step变量 数据类型 默认值 说明CtrlParamsBackUp.GainREAL 1.0 保存的比例增益CtrlParamsBackUp.Ti REAL 20.0保存的积分时间(以秒为单位)CtrlParamsBackUp.Td REAL 0.0保存的微分作用时间(以秒为单位)CtrlParamsBackUp.TdFiltRatio REAL 0.2保存的微分延时系数CtrlParamsBackUp.PWeighting REAL 1.0保存的比例作用权重CtrlParamsBackUp.DWeighting REAL 1.0保存的微分作用权重CtrlParamsBackUp.Cycle REAL 1.0 保存的 PID算法的采样时间(以秒为单位)CtrlParamsBackUp.InputDeadBandREAL 0.0保存的控制偏差的死区宽度PIDSelfTune.SUT.CalculateParamsBOOL FALSE受控系统的属性在调节期间保存。如果 CalculateParams = TRUE,PID 参数都将根据这些属性进行重新计算。将使用TuneRule 中设置的方法计算 PID 参数。计算后,CalculateParams 将设置为FALSE。PIDSelfTune.SUT.TuneRule INT 1 预调节期间用于计算参数的方法:• SUT.TuneRule= 0:PID 快速 I(与 SUT.TuneRule =1 相比,控制响应速度更快,输出值的幅度更大)• SUT.TuneRule= 1:PID 慢速 I(与 SUT.TuneRule = 0 相比,控制响应速度较慢,输出值的幅度较小)• SUT.TuneRule= 2:Chien、Hrones 和 Reswick PID• SUT.TuneRule =3:Chien、Hrones、Reswick PI• SUT.TuneRule = 4:PID 快速 II(与SUT.TuneRule = 5 相比,控制响应速度更快,输出值的幅度更大)• SUT.TuneRule = 5:PID 慢速II(与 SUT.TuneRule = 4 相比,控制响应速度较慢,输出值的幅度较小)方法 SUT.TuneRule = 0 和 1与方法 SUT.TuneRule = 4 和 5 的唯一区别在于比例增益的计算:当 SUT.TuneRule = 0 和 1时,会根据过程的补偿时间计算比例增益。当 SUT.TuneRule = 4 和 5 时,会根据过程的延迟时间计算比例增益。与SUT.TuneRule = 0 和 1 相比,SUT.TuneRule = 4 和 5时,返回的比例增益值更大,控制响应速度更快,输出值的幅度更大。PIDSelfTune.SUT.State INT 0SUT.State 变量指示当前的预调节阶段:• State = 0:初始化预调节• State = 50:确定无位置反馈的起始位置•State = 100:计算标准偏差• State = 200:查找拐点• State = 300:确定上升时间• State =9900:预调节成功• State = 1:预调节未成功PIDSelfTune.TIR.RunIn BOOL FALSE 利用RunIn 变量,您可以指定无需预调节也可执行jingque调节。• RunIn =FALSE在未激活模式或手动模式下启动jingque调节时,将启动预调节。如果jingque调节在自动模式下启动,系统将使用现有的PID 参数来控制设定值。之后才会启动jingque调节。如果无法实现预调节,PID_3Step 将切换到调节开始时的模式。•RunIn = TRUE将跳过预调节,PID_3Step会尝试利用Zui小或Zui大输出值达到设定值。这可能会增加超调量。之后才会启动jingque调节。jingque调节后,RunIn 将设置为FALSE。281指令10.2 PID_3StepPID 控制功能手册, 11/2023, A5E35300232-AG变量 数据类型默认值 说明PIDSelfTune.TIR.CalculateParamsBOOL FALSE 受控系统的属性在调节期间保存。如果CalculateParams = TRUE,PID 参数都将根据这些属性进行重新计算。将使用 TuneRule 中设置的方法计算PID 参数。计算后,CalculateParams 将设置为 FALSE。PIDSelfTune.TIR.TuneRule INT0 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 0TIR.State 变量指示当前的jingque调节阶段:• State =-100:无法进行jingque调节。将执行预调节。• State = 0:初始化jingque调节• State =200:计算标准偏差• State = 300:尝试利用Zui大或Zui小输出值达到设定值• State = 400:尝试使用现有 PID参数达到设定值(如果预调节成功)• State = 500:确定波动并计算参数• State = 9900:jingque调节已成功•State = 1:jingque调节未成功Retain.TransitTime(1) REAL 30.0电机转换时间(以秒为单位)起动驱动器将阀门从关闭状态移至开启状态所需的时间(以秒为单位)。TransitTime具有保持性。Retain.CtrlParams.SetByUser(1) BOOL FALSE 如果 SetByUser =FALSE,PID 参数将自动确定并且 PID_3Step将在输出值中存在死区的情况下运行。死区宽度将在调节期间根据输出值的标准差计算得出并保存到Retain.CtrlParams.OutputDeadBand 中。如果 SetByUser = TRUE,PID参数将手动输入并且 PID_3 Step将在输出值中不存在死区的情况下运行。Retain.CtrlParams.OutputDeadBand = 0.0SetByUser具有保持性。Retain.CtrlParams.Gain(1) REAL 1.0 有效的比例增益要反转控制逻辑,使用Config.InvertControl 变量。Gain 上的负值也会反转控制逻辑。我们建议您仅使用 InvertControl设置控制逻辑。如果 InvertControl = TRUE 且 Gain < 0.0,则控制逻辑也会反转。Gain具有保持性。Retain.CtrlParams.Ti(1) REAL 20.0 • Ti >0.0:有效的积分时间(以秒为单位)• Ti = 0.0:积分作用取消激活Ti具有保持性。Retain.CtrlParams.Td(1) REAL 0.0 • Td >0.0:有效的微分作用时间(以秒为单位)• Td = 0.0:微分作用取消激活Td 具有保持性。