LabVIEW 和LabVIEW FPGA 模块为工业控制硬件增加了重要的灵活性和专用化。因为许多PAC是已经使用LabVIEW编程的,所以用LabVIEW为FPGA编程很容易,因为它也使用相同LabVIEW开发环境。当你把目标定为在NI的RIO(实时输入输出),LabVIEW就只显示可以在FPGA中实现的功能,这样进一步使得用LabVIEW为FPGA编程变简单LabVIEW FPGA 模块功能版上包含典型的LabVIEW结构与功能,比如while循环、for循环、case结构、sequence结构、一系列专业的LabVIEW 中FPGA专属的数学函数、信号产生于分析、线性与非线性控制、对比逻辑、数组和簇操作、Occurrence(意思是事件发生,Occurrence技术也用于控制相互独立的程序同步运行)、信号输入与输出和定时,可以用这些功能的组合往NI RIO设备上定义逻辑和嵌入信息。
图二展示了在NI的RIO硬件上实现PID(比例积分微分)控制算法的FPGA应用和一组在Windows机器或RT对象和NI的RIO硬件通信的应用。这种应用读取模拟输入操作(AIO),运行PID计算,并将结果数据输出到模拟输出操作上(AOO)。当FPGA时钟运行在40MHz时,这个例子中的循环运行的就很慢,因为每一组件需要长于一个时钟循环的时间来执行。模拟控制循环在FPGA上能运行在频率大约200kHz左右,可以指定时钟频率为编译的时间。这个例子只展示了PID的循环,然而,在NI的RIO设备上创造额外功能仅仅是增加另外一个while循环。不像传统的PC处理器,FPGA是并行处理器。在应用上增加额外循环不会影响PID循环的表现。
LabVIEW FPGA 模块为PAC平台带来了FPGA的灵活性、性能及专业化。利用NI RIO设备和LabVIEW 图形编程,就可以利用在工业控制应用中经常用到的COTS硬件开发灵活及专业的硬件。因为正在使用LabVIEW,一种在很多工业控制应用中用到的语言,来定义你的NI RIO硬件,所以没有必要学习VHDL或其他低端硬件设计工具来开发专业硬件。将LabVIEW FPGA 模块和NI RIO硬件作为NI PAC能为需要超高速控制、自定义数字平台界面、自定义数字模拟信号混合、计时器的应用增加重要的灵活性和功能。