您的当前位置:首页正文

使用LabVIEWFPGA模块开发可编程自动化控制器

来源:爱站旅游
导读使用LabVIEWFPGA模块开发可编程自动化控制器
使用 LabVIEW FPGA 模块开发可编程自动化控制器

综述

工业控制上的应用要求高度集成的模拟和数字输入输出、 浮点运算和多重处理节点 的无缝连接。因为它对这些应用的理想解决方案,在工业控制市场上,可编程自动化控 制器(PAC)正逐渐被接受。通过一种普通的软件开发环境

NI LabVIEW,国家仪器公

司提供各种可编程自动化控制器的解决方案。 有了 La bV I EW ,你可以用像 NI LabVIEW FPGA模块一样的附加软件为工业应用开发自定义输入输出界面。

为将FPGA技术的灵活性和可定制性并入工业 PAC系统,国家仪器公司利用 LabVIEW FPGA模块和实时输入输出(RIO)硬件提供了一种直观、容易理解的解决方 法。无须了解低级的硬件描述语言(HDL )或广泛的硬件设计细节,你可以定义嵌入含 有RIO硬件对象家族的FPGA芯片里的逻辑,也可以快速地为超高速控制、定制的定时 和同步、低级的信号处理、用模拟或数字定制的输入输出、一个单独设备的计数器来定 义硬件。你也可以将得到的图像、分析、运动控制、比如

CAN和RS232 —样的工业协

议集成到你的定制NI RIO(实时输入输出)硬件,这样就可以快速地事先并标准一个完 整的 PAC 系统。

目录

1. 简介

2. PAC (可编程自动化控制器)的 NI RIO (实时输入输出)硬件

3. 使用LabVIEW和LabVIEW FPGA模块开发PAC (可编程自动化控制器) 4. FGPA开发流程

5. 利用 NI SoftMotion 来开发自定义运动控制器 6. 应用 7. 结束

简介

你可以使用 LavVIEW 和 LavVIEW FPGA 模块的图形编程功能在 NI RIO 器件上配 置FPGA (现场可编程门阵列)。将 LabVIEW图形编程功能和FPGA融合在NIRIO硬 件上的

就是RIO技术。它为开发复杂的测量和操作系统提供了灵活的平台,而这些你以 前只能用定制设计的硬件来做

FPGA是一种包含许多未配置逻辑门的芯片。不像那些

ASIC (专用集成电路)的

芯片只有固定的厂家定制好的功能,你可以为你的特殊的应用配置或重新配置 FPGA上 的逻辑关系。无论是开发制作 ASIC (专用集成电路)的成本有限还是一大硬件投入使 用就要重新配置都可以使用FPGA。由于FPGA的灵活和可软件编程的架构,使得定制 算法的高精度实施、精准的定时和同步、快速决策和多功能同时运行更容易。今天,FPGA 正出现在仪器、消费电子产品、汽车、航天器、复印机和专用的计算机硬件上。虽然 FPGA经常用于工业控制产品,它先前的功能在工业控制器械上是不容易应用的。由于 定义FPGA需要使用硬件描述语言和复杂设计工具的专门技术, 师比控制工程师用FPGA的多。

自古就是硬件设计工程

图I.LabVIEW FPGA 的VI (一种文本图形编辑器)方框图和 RIO硬件平台

有了 LabVIEW FPGA模块和NI RIO硬件,你可以用为测量和控制应用特殊设计的 LabVIEW这种高级的图形开发环境来开发 PAC 了,开发具有FPGA的专门化、灵活性 及高精确性的PAC。因为LabVIEW FPGA模块将定制的电路配置到硬件中,所以你的 系统可以快速而精确地处理和产生同步的模拟和数字信号。图 LabVIEW FPGA模块来配置的NI RIO器件。

1列举了许多你可以用

为可编程自动化控制器的 NI RIO硬件

在以前,FPGA编程仅限于熟习VHDL或其他低端设计工具的工程师,也就是说 他需要征服艰难的学习过程。 有了 LabVIEW FPGA模块,NI公司让更多领域的工程师 能使用FPGA技术,他们能用LabVIEW图形开发功能定义FPGA的逻辑。测量和控制 工程师就可以只关注他们所擅长的测试与控制的应用,而不是专注于将逻辑转换成芯片 单元的低级语义。LabVIEW FPGA模块模型之所以有如此有用,是因为它将 LabVIEW FPGA模块与FPGA的商业的未定制(COTS)硬件结构、周围输入输出元件紧密结合 在一起。

NI 的可编程自动化控制器为你的工业控制应用提供了标准的、未定制的平台。有 了 RIO 在 PCI、PXI 、紧凑型视觉系统平台和基于 RIO 的紧凑的 RIO 引入,工程师们正 受益于一个具有 FPGA 的高性能、灵活性、专用化优势的商业未定制平台,结果是能随 心所欲地开发 PAC。

NI的PCI和PXI的R系列的插件设备提供了模拟和数字数据获取,针对高性能、 用户可配置的定时和同步、在单个设备上的板载决定等功能。利用这些未定制设备,你 可以将你的 NI PXI 或 PCI 工业控制系统,扩展为具有高速离散和模拟信号控制、自定 义传感器接口、精确定时和控制的系统。

NI紧凑RIO — 一个以RIO技术为核心的平台,提供了一个小的,工业上半成品 的标准 PAC 平台。它能在系统定时方面带给你高性能输入输出和空前灵活性。你可以 用NI紧凑的RIO为诸如车载数据采集、汽车 NVH (噪声振动和声振粗糙度 Noise Vibration HarshnesS测试和内置机械控制系统的应用,开发内置系统。半成的紧凑RIO 系统是工业评估与鉴定的,是为在大于 50g震动和在-40到70°C的温度范围内设计的。

NI 紧凑型视觉系统是一个半成的机器视觉包装,他需要经受在机器人技术中常见 的苛刻的环境、 自动化测试和工业检测系统。 NI 的 CVS-145x 设备为分布式的机器视觉 应用提供了空前的输入输出能力和网络连接。NI的CVS-145X系统应用IEEE的1394(火 线)技术, 可以与 40多种有各种各样功能、 性能和价值的照相机兼容。 NI 的 CVS-1455 和NI的CVS-1456设备包含可配置的FPGA,所以你可以在你的机器视觉应用中实现计 数器自定义、定时或电机控制。

利用 LabVIEW 和 LabVIEW FPGA 模块开发可编程自动化控制器

有了 LabVIEW 和 LabVIEW FPGA 模块,你就为你的工业控制硬件增加了重要的 灵活性和专用化。 因为许多 PAC 已经使用 LabVIEW 编程的,所以用 LabVIEW 为 FPGA 编程很容易,因为它也使用相同LabVIEW开发环境。当你把目标定为在NI的RIO (实 时输入输出),LabVIEW就只显示可以在FPGA中实现的功能,这样进一步使得用 LabVIEW 为FPGA编程变简单LabVIEW FPGA 模块功能版上包含典型的 LabVIEW 结 构与功能,比如while循环、for循环、case结构、sequenee结构、一系列专业的LabVIEW 中FPGA专属的数学函数、信号产生于分析、线性与非线性控制、对比逻辑、数组和簇 操作、Occurrenee (意思是事件发生,Occurrenee技术也用于控制相互独立的程序同步运 行)、信号输入与输出和定时。你可以用这些功能的组合往你的 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 VI

LabVIEW Host VI

图二•运用内置 LabVIEW FPGA VI与相应 LabVIEW Host VI 的PID控制

FPGA开发流程

等你创建了 LabVIEW FPGA VI后,应该编译将在 NI的RIO硬件上运行的代码。 根据你的代码的复杂性和开发系统的规格,为一个

FPGA VI的编译时间将从数分钟到

数小时不等。为了是开发效能最大,利用 R系列的RIO设备,你可以用精确到1比特 的仿真模式,那样就可以在开始编译进程之前检验你设计的逻辑。 当你用FPGA仿真设 备是,LabVIEW由该设备进行输入输出,并且在 Windows电脑上执行VI的逻辑。在 这种模式,你可以用LabVIEW里的针对 Windows的相同调试工具,比如重点执行、探 针、断点。

一旦LabVIEW FPGA的代码被编译,你就创建了一个 LabVIEW 主机” V来将你 的NI RIO硬件整合到了 PAC系统。图三阐明了创建 FPGA应用程序的开发过程。

机” V运用在FPGA VI面板的控制器和指示器来在 RIO设备上的FPGA和 主机”处理 机械之间传递数据。这些面板被描述为 FPGA上的数据寄存器。

主机”既可以是运行在

Windows、个人计算机、PXI控制器或紧凑型视觉系统的 PC或PXI控制器,也可以是 运行在实时操作系统(RTOS)上的紧凑RIO控制器。在上面例子中,我们与LabVIEW 主机VI交换了固定点、PID增长、循环速度、AIO、AOO数据。

Create FPGA VI

Emulale Compie to FPGA

Creak HasiVl[3)

图三丄abVIEW FPGA开发流程

NI的RIO设备驱动程序包括一系列为开发 FPGA上通信接口的功能。构建主机 VI的第一步是打开一个对 FPGA VI和RIO设备的引用。打开了 FPGA VI的引用,如图 2,也就在执行时下载并运行了编译过的

FPGA代码。打开引用后,你就能用读写控制

函数对在FPGA上的控制器和指示器寄存器进行读写。一旦你将FPGA引用写到函数内, 你只要选择你想读写的控制器和指示器就可以了。 你可以将FPGA读写函数封装在while 循环内一边持续地对FPGA进行读写。最后,图二中的LabVIEW主机VI的最后一个函 数就是FPGA VI引用的关闭函数。它停止了 FPGA VI并关闭了对设备的引用。现在你 就能通过将其他的已编译FPGA VI下载到设备来更改它的功能了。

LabVIEW 主机VI也能用来进行浮点运算、数据记录、网络及任何不合适

FPGA

构造的计算。因为增强了确定性与可靠性,你可以在一个有LabVIEW实时模块的RTOS (实时操作系统)上运行你的主机应用。LabVIEW实施系统能为与FPGA同时或不同 时的功能提供确切的运算器。例如,浮点算法,包括快速傅里叶变换法、

PID比例积分

微分算法、自定义控制算法,经常在 LabVIEW实时环境想下实现。相关的数据可以存 到LabVIEW实时系统或转移到用来进行离线分析、数据记录、或用户界面显示的 Windows主机。这种结构的构造如图四。每个 NI的提供RIO硬件的PAC平台都能运 行 LabVIEW 实时 VI。

图四利用LabVIEW FPGA、LabVIEW 实时系统和主机的完整 PAC结构

在每个R系列和紧凑RIO设备里都有可利用的闪存来存储已编译的 LabVIEW的

FPGA VI,都能立即在设备的电源下运行应用程序。这种构造,因为 很理想的。

FPGA有电源,它

能运行FPGA VI,甚至在主机崩溃或断电时。当发生意外时这对安全编程的掉电上电序 列是

用NI SoftMotion控制器开发自定义运动控制器

函数NI的SoftMotion开发模块可以包括NI RIO设备、DAQ设备和紧凑FieldPoint。 它为LabVIEW提供VI和帮助你开发自定义运动控制器的函数,

作为NI PAC硬件平台

的一部分。NI的SoftMotion控制器提供各种各样的函数,这些函数以存在运动控制器 DSP上为特色。有了 SoftMotion,你能解决路径设计、产生轨迹、

NI LabVIEW 环境下

的位置和速度循环控制,然后将编码展开在 LabVIEW实时系统或基于LabVIEW FPGA 的硬件。

NI SoftMotion控制包括轨线发生器、样条引擎和利用 PID算法有完整源代码的监 督控制、位置速度控制循环。监督控制和轨线发生器在 LabVIEW实时目标下运行,而 且运行在毫秒级循环速度。样条引擎和控制循环及可以运行在 LabVIEW实施目标毫秒 循环速度下,也可以在LabVIEW FPGA目标微妙循环速度下。

应用

因为LabVIEW FPGA模块可以配置FPGA的低端硬件设计,也能在标准系统里利 用FPGA,所以这对需要自定义硬件的工业控制应用是很理想的。这些自定义应用包 括了数字模拟信号的自定义混合,计时器的

I/O,高达125KHZ的模拟控制,20MHz的

数字控制,及下列控制的自定义数字协议界面:

• * * •

批量控制 离散控制 运动控制 车载数据获取 机器条件检测

• 快速控制原型 • 工业控制及获取

« 分布式数据获取及控制

• 手机手提NVH (噪声振动和声振粗糙度 Noise Vibration HarshnesS分 析

结论

LabVIEW FPGA模块为PAC平台带来了 FPGA的灵活性、性能及专业化。利用

NI RIO设备和LabVIEW 图形编程,你可以利用在工业控制应用中经常用到的 COTS

硬件开发灵活及专业的硬件。因为你在用 LabVIEW,一种在很多工业控制应用中用到 的语言,来定义你的NI RIO硬件,所以没有必要学习 VHDL或其他低端硬件设计工具 来开发专业硬件。将LabVIEW FPGA模块和NI RIO硬件作为你NI PAC能为需要超高 速控制、自定义数字平台界面、自定义数字模拟信号混合、计时器的应用增加重要的灵 活性和功能。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top