有关DAQmx的例子请参考这里!

https://decibel.ni.com/content/groups/ni-daqmx-examples
Picture
(点击放大图片)
 
 
经常看到许多网友的提问,有些问题自己简单搜索就可以获得有效的解答。

在NI中文主页上搜索

Picture
(点击放大图片)
如果你的英文很好也可以
在开发者社区进行搜索

Picture
(点击放大图片)
养成这个习惯,同时个人能力的提高会更快!

 
 
《Thinking-in-LabVIEW》组成员:在梦晨,提供了一个他自己经常采用的LabVIEW程序结构——组合动作执行模块。

在笔者在LabVIEW应用程序开发中,广泛使用了一种高效的程序结构——组合动作执行模块。该模式由图形化的While循环、Evnet(事件结构)、For循环、Case结构、enum(枚举)等多种结构和数据类型构成。

执行机理:

针对前面板对象所发生的鼠标、键盘动作,利用事件结构接受其响应。将各种事件响应进行分解为基本的动作单元。

对响应的处理过程采用自定义的枚举数组作为执行顺序。该数组作为For循环执行的索引,同时数组元素定义了执行的Case。利用枚举数组定义出若干个由动作单元组合而成的动作序列,顺序完成对应的动作单元。

模型特点:重复利用各基本动作单元,增加代码复用率,程序更加简洁。通过新建事件,可以定义任意组合的动作序列,灵活高效。


该模块 具有很强的模块化设计思想。

Picture
欢迎品读
 
 

2、使用NI提供的例程

使用NI 提供的例程就很简单了,打开"查找范例"
>硬件输入输出
>DAQmx
>计数器测量
>数字频率
>Meas Dig Frequency-Low Freq 1 Ctr.vi

这个vi我们前面用过,直接打开后配置物理通道即可使用。测试结果参见下图。

Picture
cDAQ图11-1 使用例程测量结果
至此,简单的使用方法已经基本介绍完了。供大家在使用中参考。


下面我们再看一个来自NI社区的实例,它使用NI 9401在cDAQ-92715槽,在一个VI中实现了三个DIO输入、四个DIO输出和一个计数器。

Picture
Picture
在一个vi内包含三个DIO输入、四个DIO输出和一个计数器
下面给出该vi。
di-do-ci_with_9401.vi
File Size: 20 kb
File Type: vi
Download File

 
 

四、NI cDAQ-9172与NI 9402配合测频率


1、使用DAQ助手

将DAQ助手拖拽到程序框图中,基本设置应该都一样,这里就不贴图了。

硬件cDAQ-9172 5槽NI 9402选择的是Ctr1计数器进行测量。配置如下图所示。

Picture
cDAQ图10-1 配置DAQ助手
Picture
cDAQ图10-2 配置DAQ助手
Picture

显然,通过上表可以看出:测量使用CTR 1 GATE 它的默认引脚编号是:2(DIO 2),信号名称是:PFI2端口。这样我们通过2端口的BNC插座可以获得脉冲输出。测量结果参见下图。


Picture
cDAQ图10-3 使用DAQ助手测量结果
Picture
 
 
2、使用NI 提供的例程
使用NI 提供的例程就很简单了,打开"查找范例"
>硬件输入输出
>DAQmx
>计数器测量
>数字频率
>Meas Dig Frequency-Low Freq 1 Ctr.vi

参见下图.

Picture
cDAQ图9-1 查找范例
打开该vi,设置测量的物理通道既可以完成测试.因为硬件连接没有发生变化。

Picture
cDAQ图9-2 测量频率
上图中左边是发生的频率,右边是测量的结果。

硬件连接不变:cDAQ1Mod2-19脚(产生脉冲)连接到cDAQ2Mod6-16(测量频率).
Picture
 
 

三、cDAQ-9172与NI 9401配合测量频率

在cDAQ-9172上配置NI 9401用于频率测量时,必须将NI 9401插在cDAQ-9172的5或6槽。因为其它的槽不支持计数器使用,这个问题在NI 9174和NI 9178中不存在,它们所有槽都支持计数器的使用。

Picture
cDAQ(数字I/O)实现频率测量的基本简化图

所以这里我们将NI 9401插入cDAQ-9172的第6槽。硬件安装即宣告完成。(当然我们需要在另一台在cDAQ-9174上配置NI 9401来发出脉冲).

下面开始程序设计。

1、使用DAQ助手

在程序框图中选择:
编程〉
测量I/O〉
DAQmx_数据采集〉
DAQ助手

将DAQ助手拖放到程序框图上,在对话框中选择:
采集信号〉
计数器输入〉
频率,参见下图。

Picture
cDAQ图8-1 配置DAQ助手
点击:频率后,进入下图所示的内容。

Picture
cDAQ图8-2 配置DAQ助手
由于我们实际的的硬件使用的是:cDAQ1,第6槽上的NI 9401,所以我们选择:cDAQ1Mod6(NI 9401)的ctr0。
注意:cDAQ-9172仅仅可以提供两个计数器,Ctr0、Ctr1。

然后点击:完成,参见下图。
Picture
cDAQ图8-3 配置DAQ助手
CRT 0 GATE 的默认引脚编号是16,信号名称是:PFI1。参见下表。
连接好连线,既可测量。

Picture
表-1
Picture
cDAQ图8-4 测量结果
硬件连接:cDAQ1Mod2-19脚(产生脉冲)连接到cDAQ2Mod6-16(测量频率).

使用DAQ助手完成了频率测量,下一步我们在通过例程实现频率测量。

Picture
 
 

2、使用NI提供的例子

实现这个例子比较简单,还是使用我们以前查找过的例程。Gen Dig Pulse Train-Continuous.vi
在cDAQ-9172第五槽上插入NI 9402。使用Ctr1计数器,脉冲输出在NI 9402的端口3(cDAQ图6-2中的DIO3)。

前面板如下图。

Picture
cDAQ图7-1 采用NI 提供的例程实现脉冲生成
实测结果参见下图。

Picture
cDAQ图7-2 脉冲信号的测量结果
这里我们是用另一台cDAQ-9174(NI 9401) 实现脉冲测量的。

注意:

大家可能注意到:我们使用两个程序(vi)来验证脉冲发生器,一个用于生成脉冲,这个大家都看到了;另一个用于测量,这个大家还没看到程序框图(只看到了前面板)。
这两个VI是运行在两个cDAQ上,提醒大家的是:这两个vi不可以同时运行在一个cDAQ上。
如果想两个vi都运行在一个cDAQ上,他们应该包含在一个任务中(同一个VI中)。

至此,在NI cDAQ-9172上使用NI 9401和NI 9402产生脉冲的方法以及如何连接都已经介绍完了。由于其他NI cDAQ-917x的用法与上面介绍的相同,所以就不重复了。其他NI cDAQ-917x每个槽都可以用于计数器。

下面要介绍如何测量脉冲。

Picture
 
 

 二、cDAQ-9172生成脉冲(使用NI 9402)

现在我们将NI 9402插到cDAQ-9172的第五槽,用NI 9402来生成脉冲输出。

1、使用DAQ助手生成脉冲输出

DAQ助手的配置与使用NI 9401的情况一样,这里就不重复叙述了。主要还是在硬件输出端的确认上。
参见下图。

Picture
cDAQ图6-1 NI 9402输出端PFI0
这里我们要注意:DAQ助手告诉我们输出端为:PFI0。我们通过和下图来确定。

Picture
cDAQ图6-2 NI 9402的端口和默认的计数器端子
显然,脉冲发生器Ctr0(CTR 0 OUT)的默认输出端是:0(DIO 0)端口(PFI0)。

这样我们通过0端口的BNC插座可以获得脉冲输出。测量结果参见下图。

Picture
cDAQ图6-3 NI 9402 Ctr0脉冲输出的测量结果
下面修改DAQ助手,将脉冲生成改为:Ctr1。
Picture
cDAQ图6-4 选择“详细信息”修改物理通道
Picture
cDAQ图6-5 选择更改物理通道
Picture
cDAQ图6-6 Ctr1的输出端为:PFI3
依据cDAQ图6-2,可以看到CTR 1 OUT的默认端口是:3(信号名称PFI3)也就是是NI 9402的端口3(DIO 3)。

将BNC连接到3端口既可看到脉冲输出。测量结果就不给出了。

完成了DAQ助手的应用,下面还是采用NI例程的应用。

Picture
 
 
回顾我们所做的试验:在cDAQ-9172上,通过NI 9401的Ctro通道发出了连续的数字脉冲。其中分别使用了DAQ助手和NI提供的例程。


如果使用其它通道作为脉冲发生器的输出端,其连接脚的端口可参见下表:

打开DAQmx的帮助文件:
》NI-DAQmx设备注意事项
》计数器
》计数器信号连接
》C系列
可以看到下表。

Picture
cDAQ图5-1 NI 9401 计数器输出端
Picture
cDAQ图5-2 NI 9401 默认的连接端
由于在cDAQ上使用计数器大多数端子(参见cDAQ图3-1)都是默认连接,所以上表给出的是最终脉冲输出的端口。

对于NI 9401,作为脉冲发生器时:
Ctr0——PFI3——19脚
Ctr1——PFI7——25脚
Ctr2——PFI1——16脚
Ctr3——PFI5——22脚



注意:上面只是作为脉冲发生器时NI 9401的连接关系。对于cDAQ-9172仅有CTR 0和CTR 1两个通道。

下面将给出NI 9402在cDAQ-9172中如何实现脉冲发生器。

Picture
 

Google Analytics