LabVIEW PID and Fuzzy Logic Toolkit API Reference

PID高级 VI

  • 更新时间2023-02-21
  • 阅读时长11分钟

PID高级 VI

所属选板:PID VI

必需:完整版开发系统

使用PID算法实现带高级可选功能的PID控制器。高级PID算法包含以下功能:PID VI使用的算法,以及带手动无扰至自动切换的手动模式控制、非线性积分操作、二自由度控制和误差平方控制。单控制循环可通过该VI的DBL实例实现。并行多循环控制可通过DBL数组实例实现。

详细信息  范例

 添加至程序框图  在选板中定位

PID高级(DBL)

alpha指定微分过滤时间常量。增加该值会相应增加微分操作衰减。 alpha的值可为0和1之间的值或NaN(指定不应用微分过滤)。
gamma指定应用至微分操作的误差加权大小。默认值0可避免设定值改变带来的微分冲击或控制器输出的突然改变。

某些级联控制操作中无需考虑微分冲击,增加gamma值可能会改进第一个PID控制器的速度。
手动控制指定自动?为FALSE时控制输出的值。
自动?指定是否使用自动/手动控制。某些情况下,可能需要关闭PID控制器并在手动/开环模式中对系统进行操作。默认值为TRUE。 自动?值为TRUE时,该VI使用自动控制。自动?值为FALSE时,该VI使用手动控制。该VI手动到自动控制使用无扰转换。
输出范围指定强制转换控制输出的范围。默认值为–100~100,对应于满量程百分比指定的值。 可修改为控制系统适合的范围。例如,可将工程单位相互关联,而不是百分比。控制器在指定最小值或最大值饱和时,该VI实现积分抗饱和
输出上限指定控制器输出的最大值。默认值为100。
输出下限指定控制器输出的最小值。默认值为-100。
设定值指定被控过程变量的设定值或预期值。
过程变量指定被控过程变量的测得值。该值等于反馈控制循环的反馈值。
设定值范围指定设定值/过程变量范围的最大值和最小值。该VI使用设定值范围计算非线性积分操作。默认值为0~100,对应于满量程百分比指定的值。可修改为控制系统适合的范围。例如,可将工程单位相互关联,而不是百分比。 该VI在非线性积分操作计算和非线性误差计算中使用设定值范围
设定值下限指定设定值/过程变量范围的最小值。
设定值上限指定设定值/过程变量范围的最大值。
PID增益指定控制器的比例增益、积分时间和微分时间参数。
比例增益(Kc)-指定控制器的比例增益。默认值为1。 定义PID控制器的等式中, KC表示比例增益。
积分时间(Ti, min)指定积分时间,单位为分钟。默认值为0.01。
微分时间(Td, min)指定微分时间,单位为分钟。默认值为0。
dt (s)指定VI调用的循环周期时间或间隔(单位为秒)。如dt (s)小于等于0,该VI使用内部计时器(1 ms精度)计算自上次调用后的时间。如dt (s)必须小于1 ms,请明确指定该值。默认值为-1。
重新初始化?指定是否重新初始化控制器内部参数(如集成错误)。如在不重启整个应用的前提下必须停止应用并重启控制循环,请将重新初始化?设为TRUE。默认值为FALSE。
beta指定对于设定值追踪的抗干扰相对强度。默认值1适用于大多数应用。也可使用0和1之间较小的值指定抗干扰的强度,如过程负载变化。 VI在二自由度算法中使用该值。
线性度指定误差响应的线性度。线性度的有效范围是0~1。值为1时提供正常线性响应,值为0.1时提供逼近抛物线响应。 VI在非线性误差计算和非线性增益因子计算中使用该值。
输出返回PID算法的控制输出,用于控制过程。如该VI接收到无效输入,则输出返回NaN
dt输出(s)返回实际时间间隔(单位为秒)。dt输出(s)或者返回dt (s)的值,或者在dt (s)值设为–1时返回计算的间隔。

PID高级(DBL数组)

gamma指定应用至微分操作的误差加权大小。默认值0可避免设定值改变带来的微分冲击或控制器输出的突然改变。

某些级联控制操作中无需考虑微分冲击,增加gamma值可能会改进第一个PID控制器的速度。 该VI重新调整gamma输入数组大小以匹配过程变量输入数组的大小。
手动控制指定自动?为FALSE时控制输出的值。该VI重新调整手动控制输入数组大小以匹配过程变量输入数组的大小。
自动?指定是否使用自动/手动控制。自动?值为TRUE时,该VI使用自动控制。自动?值为FALSE时,该VI使用手动控制。该VI手动到自动控制使用无扰转换。默认值为TRUE。

该VI重新调整自动?输入数组大小以匹配过程变量输入数组的大小。
输出范围指定强制转换控制输出的范围。默认范围为-100~100,该范围对应值,单位为满刻度的百分比。 可修改为控制系统适合的范围。例如,可将工程单位相互关联,而不是百分比。控制器输出在指定最小值或最大值饱和时,该VI实现积分抗饱和

输出范围簇数组包含下列元素。
输出上限指定控制器输出的最大值。默认值为100。
输出下限指定控制器输出的最小值。默认值为-100。
设定值指定被控过程变量的设定值或预期值。该VI重新调整设定值输入数组大小以匹配过程变量输入数组的大小。
过程变量指定被控过程变量的测得值。该值等于反馈控制循环的反馈值。
设定值范围指定设定值/过程变量范围的最大值和最小值。该VI使用设定值范围计算非线性积分操作。默认值为0~100,对应于满量程百分比指定的值。可修改为控制系统适合的范围。例如,可将工程单位相互关联,而不是百分比。 该VI在非线性积分操作计算和非线性误差计算中使用设定值范围
设定值下限指定设定值/过程变量范围的最小值。
设定值上限指定设定值/过程变量范围的最大值。
PID增益簇数组包含下列元素。
比例增益(Kc)-指定控制器的比例增益。默认值为1。 定义PID控制器的等式中, KC表示比例增益。
积分时间(Ti, min)指定积分时间,单位为分钟。默认值为0.01。
微分时间(Td, min)指定微分时间,单位为分钟。默认值为0。
dt (s)指定VI调用的循环周期时间或间隔(单位为秒)。如dt (s)小于等于0,该VI使用内部计时器(1 ms精度)计算自上次调用后的时间。如dt (s)必须小于1 ms,请明确指定该值。默认值为-1。
重新初始化?指定是否重新初始化控制器内部参数(如集成错误)。如在不重启整个应用的前提下必须停止应用并重启控制循环,请将重新初始化?设为TRUE。默认值为FALSE。
beta指定对于设定值追踪的抗干扰相对强度。默认值1适用于大多数应用。也可使用0和1之间较小的值指定抗干扰的强度,如过程负载变化。该VI重新调整beta输入数组大小以匹配过程变量输入数组的大小。
线性度指定误差响应的线性度。线性度的有效范围是0~1。值为1时提供正常线性响应,值为0.1时提供逼近抛物线响应。 VI在非线性误差计算和非线性增益因子计算中使用该值。
输出返回PID算法的控制输出,用于控制过程。该VI根据过程变量输入数组的大小确定输出数组的长度。
dt输出(s)返回实际时间间隔(单位为秒)。dt输出(s)或者返回dt (s)的值,或者在dt (s)值设为–1时返回计算的间隔。

PID高级详细信息

该多态VI的DBL数组实例可用于多环PID控制应用。本例中过程变量输入的长度确定输出数组的长度。其他输入数组的长度无需与过程变量相同。该VI按如下方式将其他输入数组重新调整为过程变量的长度:

  • 如输入数组大于过程变量输入,则将输入数组截断为过程变量输入的长度。不使用数组中的其他值。
  • 如输入数组小于过程变量输入,则一直重复输入数组的最后一个值,直至与过程变量输入的大小匹配。

这样,每个输出计算中必须使用的输入值无需在传递至该VI的数组中重复指定。相反,数组可仅包含一个用于输出计算的值。

无扰手动至自动切换

本VI支持无扰手动至自动切换,从而确保手动切换至自动控制模式过程中平滑的控制器输出。

无扰自动至手动切换

本VI不能实现无扰自动至手动切换。为确保自动至手动控制模式的顺利切换,用户必须设计应用程序,使手动输出值在控制模式由自动切换至手动时与控制输出值匹配。为手动控制使用一个局部变量可实现这一目的,如下列程序框图所示。

范例

关于使用PID高级VI的范例见labview\examples\control\PID中的Manual-Automatic Control VI。

 打开范例  查找相关范例

Log in to get a better experience