关于数字脉冲输出的问题(其中包含很牛B的DAQ代码转换思路)
标签:
脉冲输出杂谈 |
分类: Labview |
关于labview数字脉冲的输出摸索了好一段时间啊!现在记录一下:
我想在以后得脉冲输出中主要采用以下的方式
DAQ定时设置为隐式
连续采样
在虚拟通道建立上将输出延迟设为3s
这样当运行到任务开始3s后,就会开始输出脉冲,其属性就为设置到write上的属性。这样就会一直发送脉冲
当延时时间结束后,会将新的属性设置到脉冲发送上,我们可以通过程序修改这个脉冲的属性来改变脉冲波形。
http://s1/middle/0414b736nbb56941e7440&690
在这种结构下,如果将连续采样改为有限采样,那么将弹出错误。如下图
http://s15/middle/0414b736nbb56c90cbcee&690
我不知道是为什么,于是继续摸索。
后来 发现,要想实现连续的脉冲发送 根本不需要添加 write函数,只要在虚拟通道函数中设置好了脉冲的属性,将会一直不断的发送该属性的脉冲,正如下图程序所示。因为将任务结束等待设置为-1,所以程序用就运行,并一直发送脉冲波形。
http://s5/middle/0414b736nbb5694344df4&690
在这种思路下,测试了发送有限个脉冲。正如下图所示,一样不适用write函数,而直接在虚拟通道创建的函数中设置脉冲属性。
http://s5/middle/0414b736nbb56945baa14&690
重头戏:
在这里发现一个牛B的方法!
这样,从开开始,我并不知道怎么去创建一个产生有限个脉冲输出的方法。而且是百思不得其解,终日抑郁寡欢。
突然我想到一个绝妙的办法!——利用DAQ助手!
我首先根据我自己的要求创建一个DAQ助手向导!如图:
http://s9/middle/0414b736nbb57d5ece7b8&690
我要的就是这样的一个!
那么我把这个助手放到程序框图里
然后右键,生成NI-DAQmx代码
那程序的形状基本就出来了!
如下图:
http://s14/middle/0414b736nbb57dbc4719d&690
这还不是最终的程序图!因为它的第一个方块-创建任务 乃是一个子VI。我把它打开
http://s12/middle/0414b736nbb57e00f376b&690
然后把这两块连在一起 不就是一个比较典型的 脉冲输出的程序了吗?
那以后 关于DAQ的程序 我还有什么不会写的呢?!
可以用来分析和设计很多很多的程序!通过转换代码!

加载中…