如何在NI 6602 计数器/定时器板卡上在开始和停止触发间进行数字边沿的计数?



硬件: Counter/Timers (TIO)>>Devices>>PCI-6601

问题: 我想对在开始触发和停止触发间的数字边沿进行计数,但是NI 6602 计数/定时板卡不能够配置一个停止触发(参考触发)。我该如何实现这样的功能?

解答:

带有NI-TIO的计数/定时板卡(如NI 660x 板卡)并不直接支持停止触发(或参考触发)但是,通过使用两个边沿分开任务使在开始和结束触发(不同的端线)间进行数字边沿的计数成为可能。进行下面的步骤可以实现这样的功能。范例程序(6602CountEdgesStartStop.vi)附在下面。

  1. DAQmx 创建虚拟通道VI放入程序框图。这个VI可以在函数面板下测量I/O»NI-DAQmx»DAQ创建虚拟通道。使用这个多态选择VI,在图表的底端选择计数器输入»两个边沿分开。
  2. 接着,右键点击DAQmx 创建虚拟通道VI的单位输入,选择创建»常数。改变枚举为Ticks 来对在开始和停止脉冲(替代脉冲间的时间)之间的数字边沿进行计数。

  3. 第三,使用在函数面板下的测量I/O»DAQmx»DAQmx 通道节点。对计数器输入»两个边沿分开»第一个»输入节点»第二个»输入节点分别设为开始和停止脉冲线路。计数器输入»通用特性»计数器时基»源设为物理线路来测试数字边缘(在开始和停止脉冲之间)
  4. 接着,把DAQmx 定时VI放在程序框图。这个VI在函数面板下测量I/O»NI-DAQmx»DAQmx 定时。 在图标的底端选择这个多态VI为Implicit。在DAQmx 定时VI的顶部,可以使用采样模式输入,可配置为缓冲连续采集,或有限采集。

    注意:如果只需要对单个开始和停止触发间的脉冲进行计数,可以跳过此步并可不要把DAQmx定时VI放进程序框图。

  5. 最后,使用DAQmx 开始任务DAQmx 读VI ,它在函数面板下的测量I/O»NI-DAQmx»DAQ 读。取决于如上选择的采样模式(连续) 可能需要将DAQmx 读VI放入一个While循环中。确保把DAQmx 清除任务VI(在NI-DAQmx 面板里)放入程序框图,当VI停止运行时可释放计数器资源。

一些两边沿分开任务的范例放在NI范例查找器(帮助>>查找范例)下硬件输入输出»DAQmx»计数器测量»两个信号边沿分开。注意这些范例对在开始和停止脉冲间的时间进行计数(而不是ticks),因此它们必须对边沿计数应用进行更改。

在开始和停止脉冲间进行数字边沿计数的例子,请看附件中的6602CountEdgesStartStop.vi



相关链接: KnowledgeBase 2D9G49EV: Background Explanation of Two Edge Separation Measurements with NI-TIO Based Devices

Developer Zone Tutorial: Measuring the Time Between Two Pulses On Separate Lines


附件:


6602CountEdgesStartStop.vi - 6602CountEdgesStartStop.vi



报告日期: 02/21/2002
最近更新: 09/17/2008
文档编号: 2IK8FRXA