有数百种硬件选项可供选择,为控制应用选择合适的数据采集(DAQ)设备时需要考虑多个因素。首先,应了解数据采集应用中要使用的传感器的通道数、数据类型、滤波和信号调理需求。接下来,您需要了解DAQ设备所需的性能:以合适的采样率采集清晰信号所需的精度、分辨率、确定性和延迟。这将告知您应该选择何种DAQ平台。
充分了解I/O后,即可为应用程序选择合适的硬件平台。下列所有系统均可使用NI-DAQmx API进行编程,以快速方便地访问数据并执行控制。
基于
|
CompactDAQ
|
CompactRIO
|
PXI
|
图1.NI DAQ系统,包括USB DAQ(中间)、CompactDAQ(前左)、CompactRIO(右)和PXI(后左)。
NI-DAQmx是与NI DAQ测量设备进行通信的驱动程序软件,包含在200多种NI数据采集设备中。NI-DAQmx支持多种编程语言,包括NI LabVIEW、LabWindows™/CVI、ANSI C/C++、Visual Basic 6.0和C#/Visual Basic .NET。对于控制应用程序,NI-DAQmx具有特定的确定性功能,如硬件定时单点函数调用和对LabVIEW Real-Time操作系统的支持。
本白皮书主要介绍如何在LabVIEW中使用NI-DAQmx驱动程序。LabVIEW图形化编程软件为工程师和科学家提供了一个简单易用的应用程序开发环境。无需任何编程经验,即可配置硬件、进行传感器测量、将测量值与设定值进行比较并更新输出信号。NI-DAQmx驱动程序提供图形化函数来读取和写入值,并直接与硬件I/O交互。LabVIEW实现了软件和硬件的最佳集成,降低了整体编程复杂度并节省了开发时间。
图2.NI-DAQmx读取和写入函数。
NI-DAQmx应用程序编程接口(API)可从简单的ON/OFF控制扩展到PID和其他高级控制算法。下列章节提供了实现各种控制系统所需的图形化编程范例。
反馈控制系统可以很简单地进行测量,将测量值与期望值进行比较,然后打开或关闭执行器以接近期望值。这通常涉及驱动继电器或开关,控制流向执行器的功率。例如,日常空调系统就是这样工作的。温度读数设备(通常是恒温器)监控当前温度,并在温度超出预期值时与继电器或开关接合。继电器打开空调直到温度恢复到舒适的水平。
图3显示了创建基本开/关控制系统的LabVIEW程序框图范例。DAQmx Read.vi函数获取温度读数,并使用大于?函数将温度值与设定值进行比较。如温度大于设定值,将发送TRUE值至使用DAQmx Write.vi函数控制继电器的数字输出通道。
图3.ON/OFF控制系统的范例程序框图。
许多建筑物同时带有空调和加热器,用于调节房间温度。虽然冷却和加热通常独立完成,但可使用基于PC的数据采集系统同时操作。
图4显示了用于控制冷却和加热的LabVIEW程序框图范例。在此程序框图中,将测得的温度值与两个不同的设定值进行比较,每个设定值均连接至空调或加热器。
图4.具有两个输出的ON/OFF控制系统的范例程序框图。
通过额外的逻辑,可进一步自定义控制系统,并增加设定值调度、温度平均和死区配置等功能。也可为基于PC的控制系统添加数据记录和报告生成功能。
简单的开/关控制可能无法提供足够的粒度以所需的速度和精度精确控制特定的系统。比例积分微分(PID)控制是工业领域最常见的控制算法。PID控制器的普及可归功于其在各种操作条件下的稳健性能以及简单明了的操作方式。LabVIEW具有PID控制工具包,可用于安装预生成的图形化函数,从而轻松实现PID控制系统。基本PID.vi函数如图5所示。
图5.LabVIEW PID工具包的图形化PID函数。
顾名思义,PID算法有三个基本要件:比例(proportional)、积分(integral)、微分(derivative)。 通过这三种不同的计算方法可获取最优化结果。PID控制器的基本思想是读取传感器并通过计算比例、积分和微分响应计算所需的执行器输出。控制器将这三个部分的和计算输出。图6显示了一个模拟输入通道和一个模拟输出通道的PID控制循环。
图6.模拟I/O控制应用,PID函数用红色圈出。
除了PID控制,还有基于设备状态空间模型的高级控制系统,以及基于所需系统响应的自定义控制参数。设计这种控制系统需要控制系统理论方面的知识和经验。LabVIEW专业版附带的LabVIEW Control Design and Simulation Module可用于需要这种复杂程度的应用程序。 该软件可帮助用户测试和迭代新设计的控制算法,从而在尝试原型化和验证高级控制系统时节省大量时间和资源。
图7.LabVIEW Control Design and Simulation Module为设计控制器提供了图形化编程环境和带实际硬件I/O的高级API。
NI-DAQmx是数据采集和控制应用程序的强大API,但某些应用程序比DAQmx需要更高的确定性、更低的延迟和更快的控制循环。实时操作系统(RTOS)将所有资源用于已部署的应用程序,为控制系统提供最大程度的软件确定性和可靠性。CompactRIO和PXI控制器可通过LabVIEW附加软件LabVIEW Real-Time Module使用该实时操作系统实现高级确定性。安装该软件后,将编译LabVIEW图形化代码并针对所选实时终端进行优化。使用LabVIEW Real-Time Module,可将应用程序开发和部署至所有NI实时硬件终端,包括标准台式机和PXI系统。使用NI-DAQmx驱动程序软件,可轻松将PCI、PCI Express和PXI平台设备从LabVIEW for Windows迁移到LabVIEW Real-Time on CompactRIO或PXI,并保留相同的函数调用和硬件配置。
对于需要更高性能、硬件定时速度和可靠性的控制循环的应用,可考虑将LabVIEW FPGA Module与CompactRIO或多功能可重配置设备配合使用。 FPGA是可重配置硅芯片,可使用相同的LabVIEW图形化开发环境进行编程。CompactRIO和可重配置设备具有用户定义的板载处理以及完全灵活的I/O定时和触发功能。通过LabVIEW FPGA Module创建LabVIEW程序框图可配置设备功能。程序框图在硬件中执行,可直接控制所有I/O信号,无需与处理器通信。通过CompactRIO和可重配置设备,可创建多个PID控制循环,执行速度可达MHz范围。
图8.RIO的异构架构结合了实时操作系统的确定性和FPGA的高级控制和处理。
LabVIEW Real-Time和LabVIEW FPGA的结合在任何高性能嵌入式控制应用中都具有无可比拟的优势。关于基于FPGA的数据采集设备的更多信息,请参考CompactRIO和R系列多功能RIO。
LabWindows商标经Microsoft公司授权使用。Windows是Microsoft Corporation在美国和其他国家/地区的注册商标。