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

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

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

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

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

软件架构

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

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

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

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

相关推荐
远创智控研发五部11 小时前
EtherCAT转EtherCAT协议转换网关助力欧姆龙与汇川 PLC 通讯的配置实操案例
数据采集·工业物联网·工业自动化·协议转换网关·欧姆龙plc
鲁邦通物联网2 天前
罗克韦尔PLC数据采集:从CIP到MQTT的边缘实现 (Debian+Docker实战)
数据采集·工业数据采集·边缘网关·边缘计算网关·plc数据采集·5g数采
葛小白13 天前
Labview实用04:Labview调用.net中的事件
.net·labview
葛小白13 天前
Labview实用03:Labview中事件回调注册与使用
labview·事件回调注册
秣厉科技4 天前
【秣厉科技】LabVIEW工具包——HIKRobot(海康机器人系列)
labview·工业相机·海康·hikrobot·秣厉科技
xixixi777774 天前
了解一下APM工具——就像给软件系统装的“全身CT”,能实时透视从用户点击到后端数据库的每个环节性能,精准定位哪里慢、为什么慢
数据库·安全·数据采集·apm·日志监控
青云交6 天前
Java 大视界 -- 基于 Java 的大数据可视化在企业生产运营监控与决策支持中的应用
java·echarts·数据采集·实时监控·大数据可视化·智能决策·企业生产运营
远创智控研发五部7 天前
ProfiNet转EtherNet/IP边缘计算网关实现 ABPLC 与西门子煤炭储运通讯
数据采集·西门子plc·工业自动化·协议转换网关·总线协议·profinet通讯
MinitabUG8 天前
冲压和模具制造案例丨通过Prolink实现车间数据收集和分析自动化
数据采集·minitab·冲压模具·产线异常报警·实时spc·统计过程控制
LabVIEW开发10 天前
LabVIEW图像处理致温异常
图像处理·labview·labview功能·labview程序