当前位置: 首页 > news >正文

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

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

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

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

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

软件架构

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

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

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

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

        

相关文章:

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

对于可管理规模的 LabVIEW 程序,分析现有程序或设计新程序的方法通常是从整体到具体,即从高级到低级的分析和设计。从一开始就直接深入细节可能会效率较低。 在设计阶段,开发人员首先将程序垂直划分为几个层级。从最顶层开始,他们…...

海山数据库(He3DB)源码详解:CommitTransaction函数源码详解

文章目录 海山数据库(He3DB)源码详解:CommitTransaction函数1. 执行条件2. 执行过程2.1 获取当前节点状态:2.2 检查当前状态:2.3 预提交处理:2.4 提交处理:2.5 释放资源:2.6 提交事务: 作者介绍…...

【网络】传输层TCP协议的报头和传输机制

目录 引言 报头和有效载荷 确认应答机制 捎带应答机制 超时重传机制 排序和去重 连接管理机制 个人主页:东洛的克莱斯韦克-CSDN博客 引言 TCP是传输层协议,全称传输控制协议。TCP报头中有丰富的字段以及协议本身会制定完善的策略来保证网络传输的…...

【活动报名】打造编程学习“知识宝库”:高效笔记记录与整理指南

如何高效记录并整理编程学习笔记? 在编程学习的旅程中,拥有一套高效的笔记记录和整理方法至关重要。以下将从三个方向为您详细介绍如何打造属于自己的编程学习“知识宝库”。 方向一:笔记工具选择 选择合适的笔记工具是高效记录编程学习笔记…...

使用Arduino IDE生成带有bootloader的烧录文件

使用Arduino IDE生成bin(烧录)文件 1、在“项目”中,选择“导出已编译的二进制文件” 2、在工程目录中,会出现“build”文件夹 3、在build文件夹中,有hex文件,以及包含bootloader的bin和hex文件 bin和h…...

搭建高可用OpenStack(Queen版)集群(九)之部署nova计算节点

一、搭建高可用OpenStack(Queen版)集群之部署计算节点 一、部署nova 1、安装nova-compute 在全部计算节点安装nova-compute服务 yum install python-openstackclient openstack-utils openstack-selinux -y yum install openstack-nova-compute -y 若yu…...

C# 字符串扩展方法

功能 1.判断一个字符串是否为null或者空字符串 2.判断一个字符串是否为null或者空白字符 3.判断一个字符串是否为数字 4.判断一个字符串是否为邮件 5.判断一个字符串是否为字母加数字 6.判断一个字符串是否为手机号码 7.判断一个字符串是否为电话号码 8.判断一个字符串是否为网…...

JookDB和MobaXterm下载安装使用

文章目录 1.使用背景2.MobaXterm的下载安装使用3.JooKDB的下载安装使用 1.使用背景 由于xshell和xftp等工具都是收费的,即使有破解版但是有的公司里不让用盗版的软件。可以使用MobaXterm来替代。 同理可使用JooKDB来代替收费的navicat 来连接数据库。 2.MobaXterm…...

Docker安装Nacos(详细教程)

Docker安装Nacos的步骤相对直接,但需要注意一些细节以确保安装成功。以下是一个详细的安装步骤指南: 1. 安装Docker 首先,确保你的系统中已经安装了Docker。如果尚未安装,你可以通过访问Docker的官方网站或使用包管理器&#xf…...

Pandas:提供了快速、灵活和表达式丰富的数据结构。

引言 Pandas是Python中最为广泛使用的数据分析和操作库之一,特别适用于处理结构化数据。该库的名称源自“Panel Data”的缩写,意为面板数据或多维数据。Pandas基于NumPy构建,继承了其高效的数组计算能力,并在此基础上进一步扩展&…...

强!小目标检测全新突破!检测速度快10倍,GPU使用减少73.4%

强!小目标检测全新突破,提出Mamba-in-Mamba结构,通过内外两层Mamba模块,同时提取全局和局部特征,实现了检测速度快10倍,GPU使用减少73.4%的显著效果! 【小目标检测】是近年来在深度…...

重修设计模式-创建型-原型模式

重修设计模式-创建型-原型模式 原型模式就是利用已有对象(原型)通过拷贝方式来创建对象的模式,达到节省对象创建时间的目的。适用于对象创建成本较大,且同一类的不同对象之间差别不大的场景。 比如一个对象中的数据需要经过复杂…...

S71200 - 编程 - 笔记

1 DEMO 1.1气阀控制 1.2 红绿灯 基于PLC红绿灯控制_哔哩哔哩_bilibili 2 介绍变量DB,M,I,Q的使用 在PLC编程中,通常会使用多种类型的变量来实现逻辑控制、数据存储和输入输出操作。以下是常见的PLC变量类型及其用途&#xff…...

【项目】畅聊天地博客测试报告

项目简介:本项目采用 SSM框架结合 Websocket 技术构建。用户通过简单的注册和登录即可进入聊天室,与其他在线用户实时交流。系统支持文字消息的快速发送和接收、消息实时推送,确保交流的及时性和流畅性。SSM 框架为项目提供了稳定的架构和高效…...

【Next】全局样式和局部样式

不同于 nuxt ,next 的样式绝大部分都需要手动导入。 全局样式 使用 sass 先安装 npm i sass -D 。 我们可以定义一个 styles 文件,存放全局样式。 variables.scss $fs30: 30px;mixin border() {border: 1px solid red; }main.scss use ./variables …...

关于Docker的详细介绍

Docker是一个开源的应用容器引擎,它允许开发者将应用程序及其依赖项打包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,实现虚拟化。以下是关于Docker的详细介绍: ### 一、Docker的定义 Docker是一…...

一台佳能G3811彩色喷墨打印机打印没颜色报5200的维修记录

一台佳能G3811彩色喷墨打印机,用户送修,称打印没有颜色,加电开机连电脑安驱动打印测试,确实没有颜色,于是清洗喷头结果打印机那个显示屏上 ,上来就报错P08,电脑提示5200; 话不多说,开始维修,仅记录当时的维修方法及步骤,其它未列出。。。 维修方法: 1、进维…...

【LeetCode】452.用最少数量的箭引发气球

能够找到问题的解法与把问题足够简化是天壤之别。比如我知道这题可以用贪心算法来解决,但是代码实现的过程中就走上了复杂的路,但是官方题解给的代码则相当简洁。这说明我思考的不够深入,导致化繁为简的能力不够强。 1. 题目 2. 分析 一道贪…...

网络安全流程规范文件解读(安全专业L1级)

技术能力项编号AQ-AQ-L1-02.01(安全维护作业计划执行能力) 课程目标: 通过学习课程,学员可以: 1.了解ZGYD网络安全流程规范 2.独立执行安全维护作业计划。 流程规范 一、《ZGYD远程接入安全管理办法》 二、《ZGYD网络运维账号口令管理办…...

Java、python、php版的邮件发送与过滤系统的设计与实现 (源码、调试、LW、开题、PPT)

💕💕作者:计算机源码社 💕💕个人简介:本人 八年开发经验,擅长Java、Python、PHP、.NET、Node.js、Android、微信小程序、爬虫、大数据、机器学习等,大家有这一块的问题可以一起交流&…...

信创协同办公价格与成本:这样选,性价比直接拉满!

“一套信创协同办公到底多少钱?”“是按人头收费,还是按项目打包算?”“前期买着便宜,后期维护会不会无底洞?”不管是政企单位采购,还是企业选型,这三个问题几乎是所有人的核心顾虑。毕竟信创办…...

YOLOFuse实战案例:如何利用红外+RGB融合提升森林火情监测精度

YOLOFuse实战案例:如何利用红外RGB融合提升森林火情监测精度 1. 森林火情监测的痛点与挑战 森林火灾是全球性的生态灾难,每年造成巨大经济损失和生态破坏。传统监测手段主要依赖可见光摄像头和人工巡查,存在明显局限性: 夜间失…...

Ubuntu 虚拟机 Python3 + pip 完整安装教程

文章目录一、先检查系统是否自带 Python3二、安装 Python3 和 pip(必装)1. 更新软件源2. 安装 python3 和 pip3. 验证安装成功三、最简单的使用方法1. 运行 Python2. 用 pip 安装第三方库(如 requests、numpy)3. 运行 .py 文件四、…...

OpenCompass本地评测大模型实战指南(2025最新版)

1. 为什么你需要OpenCompass本地评测 最近两年大模型发展太快了,各种新模型层出不穷。作为开发者,你是不是经常遇到这样的困惑:这个新发布的模型到底效果如何?和之前用的模型相比优势在哪里?官方公布的benchmark数据靠…...

Git开源贡献全指南:从入门到精通

开源项目Git贡献全流程拆解 理解开源项目贡献的基本概念 开源项目的定义与意义Git在开源协作中的核心作用常见的开源贡献类型(代码、文档、测试等) 准备开发环境 安装Git并完成基础配置(用户名、邮箱、SSH密钥)注册GitHub/GitLab等…...

告别僵硬数字人:用InfiniteTalk V2的WebUI,让照片开口唱歌(保姆级参数设置指南)

告别僵硬数字人:用InfiniteTalk V2的WebUI,让照片开口唱歌(保姆级参数设置指南) 当一张静态照片突然流畅地唱起你上传的歌曲,嘴角弧度与歌词节奏完美匹配,甚至伴随旋律自然摆动头部——这种魔法般的体验&am…...

你的文件真的‘上传’了吗?聊聊阿里云盘‘秒传’背后的隐私与安全考量

你的文件真的“上传”了吗?揭秘秒传技术背后的隐私博弈 第一次在阿里云盘体验“秒传”功能时,那种近乎魔法的速度确实令人惊叹——几个GB的文件眨眼间就完成了“上传”。但惊喜之余,一个更根本的问题浮现出来:我的文件真的被上传了…...

挖到宝!阿贝云免费云服务太香了,学生党开发者闭眼冲

做个人博客、练技术、部署轻量应用还在找高性价比云服务?阿贝云https://www.abeiyun.com 直接把免费做到极致,免费虚拟主机 免费云服务器双福利,用下来的体验真的远超预期,稳定不卡顿还免备案,新手操作也毫无门槛太省…...

5个技巧掌握DINO注意力可视化:从入门到模型可解释性分析

5个技巧掌握DINO注意力可视化:从入门到模型可解释性分析 【免费下载链接】dino PyTorch code for Vision Transformers training with the Self-Supervised learning method DINO 项目地址: https://gitcode.com/gh_mirrors/di/dino 视觉模型可解释性已成为人…...

GCN在推荐系统中的应用:如何用图神经网络提升电商个性化推荐效果

GCN在电商推荐系统中的实战指南:从二部图构建到A/B测试全流程 当你在电商平台浏览商品时,那些"猜你喜欢"的推荐背后,可能正运行着一套基于图神经网络(GCN)的复杂算法系统。与传统的协同过滤不同,GCN能够捕捉用户-商品交…...