LabVIEW数据采集卡

优快云话题挑战赛第2期
参赛话题:学习笔记

博客写作背景----项目中解决的问题

最近遇到一个使用stm32单片机多路采集信号的项目,还需要在上位机进行波形的查看,信号算法的处理,初步定为使用labview编写上位机程序进行处理。为啥用labview呢,因为LabVIEW是NI的数据采集创新软件产品,其全称是实验室虚拟仪器工程平台(Laboratory Virtual Instrument Engineering Workbench),是一种基于图形语言(Graphics Language,图形化编程语言)的测试系统软件开发平台。LabVIEW并不局限于虚拟仪器的开发,它的作用是为大型复杂测试系统提供通用的软件开发平台。目前,LabVIEW已经成为测试领域应用最广泛和最有前途的软件开发平台之一。

下面是我最近写程序的一些知识,进行了部分的整理,发出来和大家一起分享,也方便我以后查找自己的编程过程。

(1)编程知识点–LabVIEW数据采集卡
利用LIAT中的模拟采样函数库,通过Arduino Uno控制板上的模拟输入端口采集模拟信号,并上传至LabVIEW界面上显示波形,实现一个数据采集的功能。

(2)硬件连接
将需测量信号的正负两端分别接至Arduino Uno控制板上的模拟输入端口和GND引脚上,并在LabVIEW软件上选择所连接的端口号。

(3)程序设计
本例修改自LabVIEW Interface for Arduino函数库中的示例,位于函数选板“函数”→"Arduino"→"Example"→"Finite Analog Samp-ling Example",修改后的LabVIEW前面板和程序框图如图1、图2和图3所示。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在软件运行前设置Arduino Uno控制板的串口号、采集端口、采样速率(Hz)和采样时间(s)。

LabVIEW程序首先通过设置的串口号与Arduino Uno控制板建立连接,然后等待事件结构,若采集键被按下,则点亮“采集中”LED灯,再调用模拟采样函数库中的Get Finite Analog Sample函数节点以设置好的采集端口、采样速率和采样点数来实现有限采样并送入波形显示控件,完成之后熄灭“采集中”LED灯,采样点数通过采样速率和采样时间计算得到;若清除键被按下,则清除波形显示。最后,断开与Arduino Uno控制板的连接。

(4)实验与演示
在采样速率1000Hz的情况下,将Arduino Uno控制板上的3.3V电压输出接至模拟输入端口A0
在这里插入图片描述

### LabVIEW 中配置和使用数据采集卡的方法 #### 配置数据采集卡LabVIEW环境中,为了使数据采集卡能够正常工作并完成预期的任务,需利用DAQmx函数库进行必要的初始化设置。这包括但不限于选择合适的硬件型号(如NI PCI6221),设定恰当的采样频率以及指定具体的数据传输路径等参数[^2]。 对于不同类型的传感器连接,应调整对应的输入范围、终端模式以及其他属性选项以匹配实际需求,从而保障所获取的信息既精确又及时[^1]。 ```labview // 初始化DAQ设备 daqmxCreateTask("", &taskHandle); daqmxCreateAIVoltageChan(taskHandle, "Dev1/ai0", "", DAQmx_Val_Cfg_Default, -10.0, 10.0, DAQmx_Val_Volts, NULL); ``` #### 实现数据读取与处理 一旦完成了上述准备工作之后,则可以编写VI程序片段用于周期性的从选定通道中提取数值,并将其可视化呈现在前面板上供操作者查看分析;也可以进一步设计算法逻辑来进行更复杂的运算处理或是存储记录等功能扩展。 当涉及到较为特殊的场景比如ArduinoUno这样的外部控制器时,还可以借助于特定接口协议(例如串行通信)把来自这些装置上的测量结果导入进来,在此基础上构建更为灵活多样的应用案例[^3]。 ```labview // 启动任务并读取单次样本 daqmxStartTask(taskHandle); int32 samplesRead; float64 data[1]; daqmxReadAnalogF64(taskHandle, 1, 10.0, DAQmx_Val_GroupByChannel, data, 1, &samplesRead, NULL); // 显示数据到前面板控件 FrontPanelControl->SetValue(data[0]); ``` #### 使用开源解决方案降低成本 除了官方提供的高质量但价格较高的产品线之外,市场上也存在一些基于开放标准打造而成的选择方案可供考虑——它们往往具备相似甚至更好的性能表现的同时还能显著减少开支开销。例如MakerHub所提供的那一款自定义型USB转接适配器就是这样一个例子,它允许开发者轻松接入各类第三方软件平台而不受制于专有技术壁垒的影响[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr Robot

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值