通过PID算法,为要求有效算法的简单PID应用或高速控制应用实现一个PID控制器。该PID算法功能可通过积分抗饱和算法和无扰控制器输出,控制输出范围限制以用于PID增益改变。单控制循环可通过该VI的DBL实例实现。并行多循环控制可通过DBL数组实例实现。


icon

输入/输出

  • c1dnclst.png 输出范围

    输出范围指定强制转换控制输出的范围。默认值为-100~100,对应于满量程百分比指定的值。

    可修改为控制系统适合的范围。例如,可将工程单位相互关联,而不是百分比。控制器在指定最小值或最大值饱和时,该VI实现积分抗饱和

    输出范围 是一个由以下元素组成的群组阵列。

  • cdbl.png 输出高

    输出上限指定控制器输出的最大值。默认值为100。

  • cdbl.png 输出下限

    输出下限指定控制器输出的最小值。默认值为-100。

  • c1ddbl.png 设定点

    设定值指定被控过程变量的设定值或预期值。该VI重新调整设定值输入数组大小以匹配过程变量输入数组的大小。

  • c1ddbl.png 过程变量

    过程变量指定被控过程变量的测得值。该值等于反馈控制环的反馈值。

  • c1dnclst.png PID增益

    PID增益簇数组包含下列元素。

  • cdbl.png 比例增益(Kc)

    比例增益(Kc)指定控制器的比例增益。默认值为1。

    定义PID控制器的等式中, KC表示比例增益。

  • cdbl.png 积分时间(Ti,分)

    积分时间(Ti, min)指定积分时间(分)。默认值为0.01。

  • cdbl.png 微分时间(Td,分)

    微分时间(Td, min)指定微分时间(分)。默认值为0。

  • cdbl.png dt (s)

    dt (s)指定VI调用的循环周期时间或间隔(单位为秒)。如dt (s)小于等于0,该VI使用内部计时器(1 ms精度)计算自上次调用后的时间。如dt (s)必须小于1 ms,请明确指定该值。默认值为-1。

  • cbool.png 重新初始化?(F)

    重新初始化?指定是否重新初始化控制器内部参数(如集成错误)。如在不重启整个应用的前提下必须停止应用并重启控制循环,请将重新初始化?设为TRUE。默认值为FALSE。

  • i1ddbl.png 输出

    输出返回PID算法的控制输出,用于控制过程。该VI根据过程变量输入数组的大小确定输出数组的长度。

  • idbl.png dt输出(s)

    dt输出(s)返回实际的时间间隔,以秒为单位。dt输出(s)返回dt (s)的值,如果将dt (s)设置为–1,则返回计算的间隔。

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

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

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

    范例

    请参考LabVIEW附带的下列范例文件。

    • labview\examples\control\PID\General PID Simulator.vi