VIPM下载:
访问NI社区,下载cRIO波形参考库。 该工具网络支持您轻松安装程序,并在发布更新时自动通知您。
许多可重配置的I/O (RIO)应用需要从多个同步的NI C系列模块中获取连续的数据包。本教程演示了针对RIO硬件平台优化并融合业界最佳工程实践的CompactRIO数据采集VI,并提供了几个可以帮助您快速着手进行程序开发的范例。
图1. 连续采样范例
cRIO波形库(cRIO Wfm Library)将安装至user.lib目录下并显示在LabVIEW的Addons选板中。
图2: cRIO波形参考库选板
cRIO Wfm Examples.lvproj演示了常见的采样模式以及如何将上位机代码链接到FPGA代码。 本范例安装在LabVIEW环境中的“范例项目”中,可通过启动窗口中的“新建项目(Create Project)”打开。
该项目还可在以下位置找到:
National Instruments\LabVIEW [Version]\ProjectTemplates\Source\cRIOWfm
您可能需要将此范例移至另一个FPGA硬件,然后将所有VI“另存为”,以避免修改源安装程序。 如需了解更多信息,请参考ni.com/info,并输入信息代码fpgaex。
图3.范例项目概览
有限点采样:在有限点采样模式下,FPGA在采集一定数量的样本后,停止采样。在这种模式下, ConfigTiming.vi调用BufferConfig.vi,并将上位机应用程序的数据缓冲区大小设置为等于有限点采样中的样本数。
具有读取部分采样数据功能的有限点采样:有限点采样会分配恰好足够的内存以容纳每个通道的所有请求采样。此外,Read(poly).vi具有一个名为Sam Chan Read per Chan的输入控件,可用于指定每个调用返回的数据块大小,这样您就可以分几次来读取完有限点采样得到的所有采样数据 – 这是数据处理类应用中非常有用的一个功能。
具有软件重触发启动功能的有限点采样:当有限点采样终止时,FPGA会自动重新配置,以准备进行下一次采集。只需调用Start.vi,即可开始执行下一个有限点采样。
连续采样:在连续采样模式下,FPGA无限采集样本,直到接收到停止命令或遇到错误(FIFO溢出、模块下溢等)才会停止。在这种模式下,使用BufferCfg.vi可将上位机应用程序的数据缓冲区大小为每次读取的数据点数的多倍。在随附的范例程序中,默认使用的是十倍。如果上位机应用程序的数据缓冲区被数据填满,那么FPGA将会报送FIFO数据溢出的错误,导致采样进程停止。
具有开始/停止或者暂停功能的连续采样: 如果一个有限采样任务要求的采样点数过大,以至于现有的上位机内存空间无法完成该任务时候,可用状态机的程序架构来执行一段特定时间长度的连续采样。当程序调用Stop.vi的时候, FPGA会停止当前的采集任务,并立刻自行重新配置,等待Start.vi被调用。Stop VI同时会清空上位机应用程序数据缓冲区,以保证接下来的采样不会返回旧的数据。
对于所有列出的控制器,CompactRIO Continuous Acquisition Example将连续采集数据,然后将采样数据流盘至一个本机的技术数据管理流(TDMS)文件、二进制文件,或者通过TCP/IP协议将数据发送到一个远程上位机上。下面表格中带宽的大小表示可以持续进行流盘的数据量(直到硬盘空间耗尽)。
流盘至本机文件[TDMS]:采样率 = 51.2 kS/s
控制器 | 1D Wfm SGL | 2D Array SGL | 交织的SGL |
---|---|---|---|
NI 9074 | 6通道(1.23 MB/s) | 7通道(1.43 MB/s) | 8通道(1.64 MB/s) |
NI 9068 | 8通道(1.64 MB/s) | 8通道(1.64 MB/s) | 9通道(1.84 MB/s) |
NI 9014 | 8通道(1.64 MB/s) | 10通道(2.05 MB/s) | 13通道(2.66 MB/s) |
NI 9076 | 9通道(1.84 MB/s) | 12通道(2.45 MB/s) | 15通道(3.07 MB/s) |
NI 9022 | 10通道(2.05 MB/s) | 13通道(2.66 MB/s) | 19通道(3.89 MB/s) |
NI 9024 | 15通道(3.07 MB/s) | 19通道(3.89 MB/s) | 27通道(5.53 MB/s) |
流盘至本机文件[二进制]:采样率 = 51.2 kS/s
控制器 | 交织的SGL |
---|---|
NI 9074 | 8通道(1.64 MB/s) |
NI 9068 | 9通道(1.84 MB/s) |
NI 9014 | 18通道(3.69 MB/s) |
NI 9076 | 20通道(4.10 MB/s) |
NI 9022 | 25通道(5.12 MB/s) |
NI 9024 | 36通道(7.37 MB/s) |
通过TCP/IP传输:采样率= 51.2 kS/s
控制器 | 1D Wfm SGL | 2D Array SGL | 交织的SGL |
---|---|---|---|
NI 9074 | 12通道(2.46 MB/s) | 13通道(2.66 MB/s) | 18通道(3.69 MB/s) |
NI 9014 | 12通道(2.46 MB/s) | 14通道(2.87 MB/s) | 23通道(4.71 MB/s) |
NI 9022 | 16通道(3.28 MB/s) | 20通道(4.10 MB/s) | 35通道(7.17 MB/s) |
NI 9024 | 29通道(5.94 MB/s) | 32通道(6.55 MB/s) | 45通道(9.22 MB/s) |
NI 9068 | 40通道(8.19 MB/s) | 40通道(8.19 MB/s) | 45通道(9.22 MB/s) |
该参考应用程序由NI系统工程小组创建。
如有任何反馈意见,请发布到CompactRIO波形参考应用程序论坛。