LabVIEW中PID控制的的高级功能

简介: LabVIEW中PID控制的的高级功能

LabVIEW中PID控制的的高级功能


比例-积分-微分(PID)控制占当今控制和自动化应用的90%以上,主要是因为它是一种有效且简单的解决方案。虽然PID算法最初用于线性、时不变系统,但现在已经发展到控制具有复杂动力学的系统。在现实世界中,所有系统都具有非线性组件,因此在使用PID等经典反馈控制时存在一些挑战。借助增益调度和级联PID等方法,能够使用相同的PID算法控制非线性系统。


1.      经典控制


最早反馈控制用于机械系统的控制。系统使用机械手段(例如浮球阀)来控制温度,速度和液位。现代基于计算机的控制系统通过进行传感器测量,将其与所需的设定值进行比较,然后根据该差异调整控制输出来利用反馈。例如,可以通过测量当前温度,将其与所需温度值进行比较,然后使用加热器或风扇将温度移近所需的设定值来完成控制温度。然后,困难在于弄清楚调整多少控制输出以实现最佳响应。加热器应该完全打开还是只打开一部分?基本的PID控制器将单个输入与设定值进行比较,并计算单个输出值以控制系统,并且算法假设响应将是线性的,不会随时间变化。


2.      增益调度


在非线性系统中使用PID的一种方法是通过增益调度技术。人们在PID控制中遇到性能问题的最常见原因是P、I和D的增益参数不正确。对于非线性系统,最佳参数可能会发生变化,具体取决于系统所处的“状态”。例如,许多系统在预热阶段表现出不同的特性,与运行一段时间后特性不同。另一个例子是,一旦达到某个设定点,就使用不同的增益参数,因为一旦处于稳态,系统就会做出不同的响应。增益调度是根据系统状态修改P、I和D增益参数的过程。这些状态可以通过某个持续时间来定义,甚至可以通过使用系统输入来定义。这种方法最适合具有可预测动态变化的系统,以便可以计算和应用预定增益。增益调度能够通过将过程划分为多个近似线性特征的部分来控制。然后,将每个部分调整为一组不同的参数,以最佳方式控制系统。使用LabVIEW中的PID工具包,这非常容易实现。



图1:LabVIEW中的PID增益调度


图1显示了如何使用PID增益Schedule.vi,根据设定值和测量值之间的电流差设置PID增益参数。在本例中,正在测量温度传感器,将温度传感器与用户定义的设定值进行比较。计算两个值之间的差值(也称为误差项),发送到增益调度程序。调度程序本身只是一组PID增益,这些增益根据输入进行索引。当温度接近设定值时,可以使用一组不同的增益参数来实现更好的控制响应。有许多不同的方法可以实现增益调度,一旦输入稳定在接近设定值附近,这种方法有利于通过增加积分增益或I项来减少稳态误差。


3.      避免整体清盘


PID控制器的积分参数连续对系统的误差项求和,这对于减少稳态误差非常有效。不断积分改误差的一个副作用是“清盘”的可能性。这是当累积误差导致测量信号超过基于控制器I项的所需设定值时。这也带来了长时间的延误和其他不稳定的影响。根据应用的不同,由于材料损失或周围硬件损坏,代价可能很昂贵,甚至很危险。尽管如此,当试图达到特定的设定点时,积分项使超调几乎不可避免。减少积分上链影响的一种技术是在系统开始稳定在设定点附近后重置累积误差。通过重置PID功能,仍然可以获得使用积分项减少稳态误差的好处,但不会导致大量过冲。这里是一个如何在LabVIEW中实现的示例。



图2:通过复位PID.避免整体清盘


与增益调度示例类似,图2显示了一个温度传感器被读取,然后与用户定义的设定值进行比较。计算误差项,一旦在某个值(在本例中为0.25)内,PID功能就会复位,然后从该点开始仅积分稳态误差。


4.      非SISO系统


虽然PID算法适用于单输入单输出(SISO)系统,但通过软件定制,在多输入多输出(MIMO)系统中使用此控制器的方法有很多。


o不同输出的条件结构


o并联回路PID


o多个PID



图3:单输入多输出(SIMO)示例


在图3中,有一个来自温度传感器的输入,然后是两个控制器输出或执行器,用于改变温度。PID可以输出正值和负值,因此,示例使用条件结构来决定何时使用每个执行器。假设输出通道1连接到加热器,输出通道2连接到风扇以冷却系统。如果PID输出值为正,那么希望通过将输出值写入加热器,并通过将零写入通道2来关闭风扇,来提高温度。但是,如果PID输出值为负,则假情况结构将输出值写入风扇,将零写入输出通道1。这是实现具有多个输出的PID的一种非常常见的方法。


5.      级联PID



图4:级联PID示例


在本例中,我们将第一个PID函数的输出发送到第二个PID函数的输入中,从而减慢响应时间并使输出平滑到执行器。实现级联PID的更常用方法是使用来自系统的两个输入,例如提供有关位置和速度的信息。这种多输入、单输出(MISO)系统在运动或位置控制应用中非常常见。




图5:位置速度级联PID示例


将位置编码器与所需的设定值进行比较,然后计算出的输出成为速度控制的设定值。当系统具有与速度成比例的固有延迟时,这一点尤其适用。例如,摩擦会导致系统滞后,具体取决于位置变化的速率。


6.      带前馈控制的PID


干扰解耦是基本PID控制的一种变体,有助于对干扰响应缓慢的系统。如果可以测量干扰,则可以立即调整补偿器输出以做出响应。例如,如果风扇将冷空气引入温度室,则可以立即增加加热器输出,而不是首先等待温度传感器附近的温度下降。



图6:带前馈控制的PID


在上图中,测量干扰传感器,乘以一些用户定义的增益值,然后添加到PID输出值中。如果干扰增加,补偿器输出通道将立即增加,以保持对系统的控制。这种方法并不总是必要的,因为增加传统PID补偿器的比例增益也会改善干扰抑制,并且不需要测量干扰。


这是LabVIEW的一个功能介绍,更多的使用方法与开发案例,欢迎登录官网,了解更多信息。有需要LabVIEW项目合作开发,请与我们联系。

相关文章
|
1月前
|
机器学习/深度学习 编解码 人工智能
光遗传学:控制生物体功能的光控技术
【10月更文挑战第12天】光遗传学作为一项革命性的技术,正在生命科学领域掀起一场前所未有的变革。它利用光信号精确操控生物体内的细胞活性,为神经科学、疾病治疗乃至生物技术的研究开辟了全新的路径。随着技术的不断进步和创新,光遗传学技术有望在未来发挥更大的作用,为人类健康和生物技术的发展贡献更多的力量。让我们共同期待光遗传学技术带来的美好未来!
|
6月前
LabVIEW操控应用程序和VI设置
LabVIEW操控应用程序和VI设置
63 1
|
6月前
|
算法 API 数据安全/隐私保护
LabVIEW编程LabVIEW开发 控制雷赛运动控制器SMC604A例程与相关资料
LabVIEW编程LabVIEW开发 控制雷赛运动控制器SMC604A例程与相关资料
48 0
|
6月前
|
算法
LabVIEW开发牵引控制动态仿真器
LabVIEW开发牵引控制动态仿真器
45 2
LabVIEW开发牵引控制动态仿真器
|
6月前
|
数据采集 编解码 芯片
LabVIEW编程LabVIEW开发高级数据采集技术 计数器定时器的操作 例程与相关资料
LabVIEW编程LabVIEW开发高级数据采集技术 计数器定时器的操作 例程与相关资料
72 11
|
6月前
|
机器学习/深度学习 计算机视觉
LabVIEW开发自动读取指针式仪表测试系统
LabVIEW开发自动读取指针式仪表测试系统
59 7
|
6月前
|
数据采集 监控 异构计算
LabVIEW编程LabVIEW开发高级数据采集技术定时与触发 例程与相关资料
LabVIEW编程LabVIEW开发高级数据采集技术定时与触发 例程与相关资料
79 7
|
6月前
|
算法 安全
LabVIEW实现变风量VAV终端干预PID控制
LabVIEW实现变风量VAV终端干预PID控制
41 1
|
6月前
|
数据采集 芯片 异构计算
LabVIEW编程LabVIEW开发高级数据采集技术 同步 例程与相关资料
LabVIEW编程LabVIEW开发高级数据采集技术 同步 例程与相关资料
52 7
|
6月前
|
算法 安全 Linux
LabVIEW编程LabVIEW控制NI cRIO-9066例程与相关资料
LabVIEW编程LabVIEW控制NI cRIO-9066例程与相关资料
42 1