【NI-DAQmx入门】LabVIEW数据采集基础应用程序框架

对于可管理规模的 LabVIEW 程序,分析现有程序或设计新程序的方法通常是从整体到具体,即从高级到低级的分析和设计。从一开始就直接深入细节可能会效率较低。

在设计阶段,开发人员首先将程序垂直划分为几个层级。从最顶层开始,他们考虑如何根据程序的功能以及各部分之间的相互关系将这一最高层划分为各个部分。然后,针对这一最顶层的每个部分,再考虑下一层,根据各自的任务将其进一步划分为更详细的功能模块。这种分层方法一直延续到下方。

根据程序的规模和复杂程度,程序可以分为不同的层次结构。最简单的程序可能只包含一个层次,用一个 VI 实现。中等复杂的程序可能包含两个层次,由一个主 VI 和多个子 VI 组成。对于更复杂的程序,层次数量可能会增加。

数据采集​​参考设计提供了一个框架,您可以在此框架上构建和扩展自定义应用程序。参考设计的核心功能包括配置数据采集、获取数据、将数据记录到磁盘以及显示数据。它建立在其他 LabVIEW 软件组件之上,以最大限度地提高软件重用率。它并非设计为功能齐全的应用程序,而是自定义的起点,而不是空白的框图。为了满足您的需求,需要进行一些自定义。

软件架构

这些框架,执行这样的任务:

  • 用户界面控制循环 和 主要事件处理循环:处理来自前面板的所有的GUI事件,这是因为大部分程序并不是直接运行就开始采集的,比如需要一些用户登录、权限限制、读取配置文件,保存配置等等。
  • 数据采集循环:数据采集模块从配置的数据源获取数据。这通常是硬件数据采集设备,但也可以是来自文件的数据,甚至是模拟数据。此模块必须能够以无损方式获取数据并将其发送到其他进程以记录到磁盘、进行信号处理或显示。
  • 数据流盘循环:数据记录模块将时间域数据保存到磁盘。数据通过队列从数据采集过程接收。队列是一种缓冲机制,可确保数据路径无损,但如果数据记录过程无法足够快地将数据写入磁盘,则队列中的缓冲区将继续增长并占用内存。应该考虑如何处理这种情况,例如限制队列大小、监控队列积压、自动停止采集并通知用户等。
  • 数据显示循环:可以检查数据的连续性以及做数据处理,例如FFT、RMS等。一些数据采集设备的采样率极高,可以在很短的时间内捕获数百万甚至数十亿个数据点。将所有这些数据直接显示在波形图上并不实际。由于要呈现的数据量很大,因此非常耗时。因此可以选择使用重采样,或者截取信号周期的一段进行显示。

假设要编写一个应用程序,该应用程序在接受数据的同时,还要按照接收顺序处理数据。由于这些数据的排队(生产)速度比实际处理(消费)速度高出很多,因此生产者/消费者设计模式最适合此类应用程序。通过这种方法,消费者循环可以按自己的速率处理数据,同时生产者循环也可以让额外的数据排队。

进程之间传递的数据类型有两种:命令和数据。所有命令都通过 AMC 发送。时域数据通过无损机制(队列)和有损机制(通知程序)发送。设计决定是为了保证将数据传送到记录过程,同时可能牺牲向显示模块的传送。如果 PC 有足够的资源,队列和通知程序都将以无损方式运行。如果 PC 无法处理请求的内容,队列将缓冲数据,而通知程序将丢弃数据。

相关推荐
远创智控研发五部12 小时前
跨网段耦合器助汽车零部件线实现PLC与MES跨网段互联
数据采集·工业物联网·工业自动化·跨网段耦合器
远创智控研发五部15 小时前
EtherCAT转EtherNet/IP协议模块打通编码器与工控机系统集成的自动化方案
数据采集·工业物联网·工业自动化·协议转换网关·网关模块
捷米特研发一部1 天前
CCLKIE转Modbus TCP网关让旧仪表接入FX5U新总线
数据采集·工业自动化·工业网关·数据采集器·协议转换网关·网关模块
清风6666662 天前
基于单片机的档案库房漏水检测报警labview上位机系统设计
数据库·单片机·毕业设计·课程设计·labview·期末大作业
远创智控研发五部3 天前
EtherCAT转EtherNet/IP工业数据采集网关:保障编码器与工控机稳定交互的整合案例
数据采集·编码器·工业物联网·工业自动化·ethercat·工控机·协议转换网关
捷米特研发一部4 天前
Profibus DP转Modbus TCP工业数据采集网关:实时监测楼宇设备状态
数据采集·工业自动化·协议转换网关·网关模块·总线协议
远创智控研发五部4 天前
欧姆龙NJ系列PLC借助EtherCAT转CCLink IE协议网关实现与三菱MR-J5伺服无缝对接
数据采集·plc·工业自动化·伺服驱动·网关模块·欧姆龙plc·ethercat通讯
阿Q说代码4 天前
IPIDEA实现数据采集自动化:高效自动化采集方案
运维·python·自动化·数据采集
远创智控研发五部5 天前
EtherCAT转EtherNet/IP工业PLC网关:实现PLC与底层设备的无缝协同控制
数据采集·工业物联网·罗克韦尔plc·工业自动化·协议转换网关·网关模块
斯金5 天前
LabVIEW连接本地部署大模型
labview