【NI-RIO入门】NI CompactRIO waveform library

于NI KB摘录

         此库集成了host、fgpa、rt在RIO硬件上采集波形的范例项目,其中​所有​数据和​采集​VI​和​都​针对​NI RIO​平台​进行​了​优​化,​融合了业界最佳的工程实践。​​您​也可以​在这些​范​例​的基础进行修改,从而​快速开发​自己​的​应用​程序​。

1.下载工具包

        打开 VI Package Manager,搜索waveform 找到并安装此库。

2.简介

        许多可重配置的I/O (RIO)应用需要从多个同步的NI C系列模块中获取连续的数据包。本​教程​演示​了​针对​RIO​硬件​平台​优​化​并融合业界最佳工程实践的​CompactRIO数据​采集​VI,​并​提供​了​几个​可以​帮助​您​快速​着手​进行​程序​开发​的​范​例。

功能

  • VI将常见的采集功能组合到逻辑块中,可支持许多不同的采样模式。范例程序演示了不同情况的连续采样和有限点采样。
  • VI​可以​用​NI LabVIEW​的​波形​数据​类型​来​显示​相关​数据,​以​方便​地​与​其它​常用​LabVIEW​软件​组​件​集成。而且波形​数据​类型会​将​采集​到​的​数据、​采样​周期、​时间​戳​和​通道​属性​(比如​通道​名称)​都​捆绑​在一起。
  • VI​将​校准​和​缩​放​操作​​放置​在​现场​可​编​程​逻辑​门​阵​列 (FPGA)​上,​以​节约​上位​机​资源。 
  • VI提供​了​一套​完备​的​错误​检验​机制,​包括​DMA FIFO​数据​溢出​(采样​数据​将​FIFO​空间​全部​填满​导致​数据​丢失),​硬件​模​块​采样​下​溢出 (FPGA​代码​执行​时间​过​长,​导致​硬件​模​块​实际​采样​率​低于​设定​采样​率)​以及​开始/​读/​停止​操作​超​时​错误。
  • 其中读取函数​采用​轮​询​机制​,​以便​用户​控制​数据​采集​过程​中的​CPU​占用​率。
  • 这些示例非常灵活,可以适应许多不同的硬件组合。​在​大​多数​应用​场合,​只要​对​FPGA VI​进行​相应​修改​即可​满足​需求。

 函数选板

函数在此路径下面

3.范例项目概述 

        cRIO Wfm Examples.lvproj演示了常见的采样模式以及如何将上位机代码链接到FPGA代码。 本范例安装在LabVIEW环境中的“范例项目”中,可通过启动窗口中的“新建项目(Create Project)”打开。

该项目还可在以下位置找到: 

National Instruments\LabVIEW [Version]\ProjectTemplates\Source\cRIOWfm

注意,修改代码需要把当前VI另存为新的再进行修改。

  1. 上位机范例演示了连续采样和有限点采样的各种场景。
  2. FPGA模板部分包含一个适用于基于Delta Sigma的模块的模板和一个适用于基于SAR的模块的模板。 在FPGA硬件下,您还将找到DMA通道,以及一个PDF文档,该文档描述了如何针对您的硬件配置自定义FPGA 

4.程序范例架构

有限点采样:在有限点采样模式下,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同时​会​清​空​上位​机​应用​程序​数据​缓冲​区​,以​保证​接​下来​的​采样​不会​返回​旧​的​数据。

 5.连续采样基准性能测试

        对于​所有​列出​的​控制器,​CompactRIO Continuous Acquisition Example将​连续​采集​​数据​,​然后​将​采样​数据​流​盘​至​一个​本​机​的​技术​数据​管理​流​(TDMS)​文件、​二​进制​文件,​或者​通过​TCP/​IP​协议​将​数据​发送​到​一个​远程​上位机​上。​下面​表格​中​带​宽的​大小​表示​可以​持续​进行​流​盘​的​数据​量​(直到​硬盘​空间​耗​尽)。

流​盘​至​本​机​文件​[TDMS]:​采样​率 = 51.2 kS/s

控制器1D Wfm SGL2D Array SGL交织的SGL
NI 90746通道(1.23 MB/s)7通道(1.43 MB/s)8通道(1.64 MB/s)
NI 90688通道(1.64 MB/s)8通道(1.64 MB/s)9通道(1.84 MB/s)
NI 90148通道(1.64 MB/s)10通道(2.05 MB/s)13通道(2.66 MB/s)
NI 90769通道(1.84 MB/s)12通道(2.45 MB/s)15通道(3.07 MB/s)
NI 902210通道(2.05 MB/s)13通道(2.66 MB/s)19通道(3.89 MB/s)
NI 902415通道(3.07 MB/s)19通道(3.89 MB/s)27通道(5.53 MB/s)

流​盘​至​本​机​文件[二进制]:采样率 = 51.2 kS/s

控制器交织的SGL
NI 90748通道(1.64 MB/s)
NI 90689通道(1.84 MB/s)
NI 901418通道(3.69 MB/s)
NI 907620通道(4.10 MB/s)
NI 902225通道(5.12 MB/s)
NI 902436通道(7.37 MB/s)

通过TCP/IP传输:采样率= 51.2 kS/s

2D Array SGL

控制器1D Wfm SGL2D Array SGL交织的SGL
NI 907412通道(2.46 MB/s)13通道(2.66 MB/s)18通道(3.69 MB/s)
NI 901412通道(2.46 MB/s)14通道(2.87 MB/s)23通道(4.71 MB/s)
NI 902216通道(3.28 MB/s)20通道(4.10 MB/s)35通道(7.17 MB/s)
NI 902429通道(5.94 MB/s)32通道(6.55 MB/s)45通道(9.22 MB/s)
NI 906840通道(8.19 MB/s)40通道(8.19 MB/s)45通道(9.22 MB/s)

  

  • 18
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值