触发VI编程笔记

简介: 触发VI编程笔记

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


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

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


编程知识点–做题思路


触发VI为DAQmx Trigger. vi,该VI配置一个触发器使DAQ设备完成一个特定的动作,最为常用的动作是Start Trigger(启动触发)和Reference Trigger(参考触发)。启动触发初始化一个采集或生成,参考触发则在采样集中的位置设置一个参考点,在那里触发前数据采集结束,而触发后数据采集开始。这些触发都可以配置成发生在Digital Edge(数字边沿)、Analog Edge(模拟边沿)或者Analog Window(模拟信号进入或离开窗口)的时候。


下面介绍几个触发VI的常用实例。

(1)Start Digital Edge实例

在数字信号上升沿或下降沿触发任务的采集或生成操作,


c54f14e3717040209ccdf42cc37da56e.png

source输入端口:指定触发源数字信号的端口名。

edge输入端口:指定是在数字信号的上升还是下降沿触发。


(2)Start Analog Edge实例

在指定的模拟信号边沿触发任务的采集或生成操作

source输入端口:指定触发源模拟信号的端口或虚拟通道名。对于E系列设备,触发信号端口只能是PFI0,触发信号通道必须是通道列表中第一个通道。

slope输入端口:指定是在信号的上升还是下降过程触发。

level输入端口:一个用于触发的设定值,当触发信号按照slope指定的方式达到该设定值时,启动任务操作。


(3)Reference Digital Edge实例

当设备检测到数字信号触发边沿时,停止触发前数据采集,并开始触发后数据采集,其图标和端口如图


889d012207f84b86856e0b5f20147760.png


(4)读取VI

读取VI为DAQmx Read. vi,该VI从任务或指定的虚拟通道读取数据样本,实际上也是从缓存中读取数据。它的各个实例指定了返回数据的格式、每次读取单个还是多个样本、从一个还是多个通道读取。


97fb22b906d748b0af45d85876026b0c.png


在应用中,用户应该根据实际测量情况,选择恰当的实例。通过实例名称,用户可以很容易判知返回数据的形式。


以Analog 1D DBL 1Chan NSamp为例,其第一项表示任务操作类型,这里Analog表示模拟操作;第二项表示返回数据结构形式,是单个数据还是数组,若该项不存在,则表示单个数据,这里1D表示是一维数组;第三项表示数据类型,这里DBL表示双精度浮点数;第四项表示从单个还是指定数目的通道读取数据样本,这里1Chan表示从单个通道读取样本;最后一项表示每次读取单个还是指定数目的样本,这里NSamp表示每次读取指定数目样本。


number of samples per channel输入端口:指定读取的数据样本数。若该端口没有赋值或设置为-1时,NI-DAQmx会依据该任务是连续采样还是有限采样而决定每次读取的样本数。当连续采样时,该VI会读取当前缓存中所有可读的样本;当有限采样时,该VI会等待任务获取了所有被请求的样本,然后将这些样本从缓存中全部读出。


(5)启动任务VI

启动任务VI为DAQmx Start Task. vi,如图4-70所示,该VI显式地将一个任务转换至运行状态,在运行状态,这个任务将完成特定的采集或生成。如果程序中没有使用该VI,当“读取”或“写入”VI执行时,任务可以隐式地转换至运行状态,或者自动开始。


6997243b3a624658ad65a782e4263364.png

目录
相关文章
|
3月前
|
Python
【python自动化】Playwright基础教程(五)事件操作②悬停&输入&清除精讲
【python自动化】Playwright基础教程(五)事件操作②悬停&输入&清除精讲
108 0
|
10月前
|
Linux Shell Go
《Linux操作系统编程》第四章 屏幕编程器vi : 了解屏幕编辑器vi的概述和基本操作命令
《Linux操作系统编程》第四章 屏幕编程器vi : 了解屏幕编辑器vi的概述和基本操作命令
76 0
|
9月前
|
Linux Shell
Linux常用命令用法及实现方式
3.查找定位文件 (1)pwd命令:pwd命令用于显示用户当前所处的工作目录,英文全称为“print working directory”,输入该命令后按回车键执行即可。 (2)cd命令:cd命令用于切换当前的工作路径,英文全称为“change directory”,语法格式为“cd [参数] [目录]”。 (3)ls命令:ls命令用于显示目录中的文件信息,英文全称为“list”,语法格式为“ls [参数] [文件名称]”。 (4)tree命令:tree命令用于以树状图的形式列出目录内容及结构,输入该命令后按回车键执行即可。
|
机器学习/深度学习 数据可视化 开发工具
Vim 高级操作一看就会
Vim 高级操作一看就会
Vim 高级操作一看就会
WebApi入门第十一章(定时器作用及语法)
WebApi入门第十一章(定时器作用及语法)
255 0
WebApi入门第十一章(定时器作用及语法)
|
监控 API C++
ROS入门笔记(十二):动作编程 (C++)
ROS入门笔记(十二):动作编程 (C++)
374 0
|
vr&ar 图形学
【Unity3D 灵巧小知识点】☀️ | 在编辑器中手动设置 各个脚本的执行顺序
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。
【Unity3D 灵巧小知识点】☀️ | 在编辑器中手动设置 各个脚本的执行顺序
|
机器学习/深度学习 Java 开发工具
面试/工作必备的vim基础及快捷键操作
面试/工作必备的vim基础及快捷键操作
185 0
面试/工作必备的vim基础及快捷键操作
|
XML 数据采集 关系型数据库
《懒人Shell脚本》之五——一键修改分布式系统配置文件
0. 背景 分布式部署程序的时候,近20台机器部署了同样的环境进行数据采集。 当更换程序时,能否修改好一套,其他机器只需要一步scp,一步执行脚本。 一键修改配置,正是本文的目的。
249 0