LabVIEW编程使用PCI-6602产生一个可重触发的有限点数字脉冲序列
是否能够使用PCI-6602上的一个计数器,在DAQmx下编程实现创建一个有限点的数字脉冲序列?
解答:
是的,有一种方法可以只用一个计数器来输出一个有限点的数字脉冲序列。一般地,再进行一个有限点的计数器输出的操作的时候,必须要使用两个计数器。其中的一个用来实际地输出脉冲,另一个用来作为第一个计数器的门(gate),所以能够输出一个有限点的脉冲序列。用一个计数器来实现上述功能的方法就是设置一个开始触发和一个暂停触发。暂停触发的信号替代了原先用作门信号的第二个计数器的作用,所以这个计数器可以用作别的应用。所以只需要提供外部的信号源来创建一个理想宽度的脉冲,就能够使用PCI-6602山的一个计数器来实现有限点的脉冲序列了。
暂停触发仅仅在采用implicit定时方式下进行连续采集的时候才有效,您可以通过以下途径找到属性节点中的属性:
Properties » More » Pause » Trigger Type
Properties » More » Pause » Digital Level » Source
Properties » More » Pause » Digital Level » Pause When
在每个属性的输入端口,可以右击接线端,在快捷菜单中选择创建 »常量 。
在PCI-660x板卡上有8条线专门用来数字输入/输出的。但是手册上说通过配置一些计数器的PFI线,我可以得到额外的24条数字线。从软件上我如何实现呢?
解答:
如果您正在使用数字输入,您不需要区分计数器线和数字线。通过使用数字读的VI,直接读取数据(Data Acquisition >> Digital I/O)。如果您想要使用PFI线作为数字输出,那么您可以以线为单位,把它们配置为数字输出。您也可以参考 用户手册 ,获取您的计数器板卡用于数字I/O应用时针脚信息。
在LabVIEW中,您可以调用DIO Port Config.vi (Data Acquisition >> Digital I/O >> Advanced Digital I/O)以及给出线方向映射把每一根线配置为输出(线的方向映射定义如下)。您也可以调用DIO Port Write.vi (Data Acquisition >> Digital I/O >> Advanced Digital I/O)加上适当的线掩码对那些特定的线输出(线掩码定义如下)。
在C的API函数中,您可以使用DIG_Line_Config函数来对每一根线单独配置为输出,您也可以使用DIG_Out_Line函数进行输出。
对于计数器应用来说,您可以使用Select_Signal 函数(在LabVIEW为 Route Signal.vi)来使能一个计数器的输出。
定义(见LabVIEW 数据采集基础手册或者NI-DAQ 函数参考手册来获取更多信息):
线方向映射(DIO Port Config.vi)
线方向映射指明了在一个口中的每条线的方向。如果在线映射中一个位是0,那么这条线是一条输入线。如果这位为1,那么就是输出线。设置线方向映射为-1,那么这个口中的每一条线都是输出线。设置线方向映射为0,那么这个口中的每一条线都是输入线。线方向映射参数的默认值为0。
线掩码(DIO Port Write.vi)
线掩码是确定哪些线是写状态。线掩码的默认设置是-1,表明您将写整个口,这个口中所有的线的状态由模式输入中位的值决定。模式输入是1和0组成的位模式。如果在线掩码中您只设置第n位,那么VI只会改变相应的第n根线的状态,这个状态由模式中第n位的值决定。
程序的部分截图如下所示。
程序如下附件所示。
LabVIEW、LabVIEW开发、LabVIEW编程、LabVIEW程序
文字内容均在附件Word中,同时上文中提到的例子和资料,均在word中的附件里,可点击下载。登录www.bjcyck.com可以查看更多详细信息。这里只是简略的介绍,有任何关于LabVIEW、LabVIEW开发、LabVIEW编程、LabVIEW程序相关问题,请与我们联系。
链接地址为:http://www.bjcyck.com/nd.jsp?id=326#_np=2_358
楼主最近还看过