主要内容

使用计数器输出通道作为外部时钟获取数字数据

本例展示了如何使用设备计数器输出通道来生成脉冲,以用作获取数字数据的外部时钟。

共享计数器脉冲作为外部时钟

在本例中,您使用计数器输出通道在一个DataAcquisition中生成时钟,并将时钟导出到另一个获取数字数据的DataAcquisition。计数器输出和数字子系统可以在同一个设备上,也可以在不同的设备上。如果使用不在同一机箱中的多个设备,则必须在一个设备的计数器输出到另一个设备的数字时钟输入之间布线物理连接。

请注意

导入外部时钟不会自动设置数据采集的扫描速率。手动设置数据采集属性值以匹配预期的外部时钟频率。

使用计数器输出通道生成时钟

创建带有计数器输出通道的时钟数据采集,在后台连续产生频率脉冲。你可以使用这个通道作为一个外部时钟时钟的数字采集。

定义用于同步计数器输出的扫描速率以及数字采集速率的时钟频率。

clockFreq = 100;

创建DataAcquisition对象并为其添加计数器输出通道PulseGeneration测量类型。

达克(“倪”);ch1 = addoutput(daqClk,“Dev1”“ctr0”“PulseGeneration”);

提示

请确保您添加的计数器通道没有在不同的数据采集中使用,否则会出现终端冲突错误。

将计数器输出终端标识保存到一个变量中,以便稍后使用它来指定与数字时钟操作同步的外部时钟。

clkTerminal = ch1.Terminal;

将计数器通道的频率设置为时钟频率。

ch1。频率= clockFreq;

使用计数器获取时钟数字数据

创建一个用于数字输入的数据采集,并从时钟数据采集中导入外部时钟。

创建一个数据采集,并从端口添加一个数字输入行02Dev1

daqDgt = daq(“倪”);addinput (daqDgt“Dev1”“Port0 /么”“数字”

请注意

并非所有设备都支持具有硬件定时的数字I/O操作。对于这些设备,您可以使用软件定时操作单扫描调用而且

支持时钟数字I/O操作的设备可能不会在所有端口上都支持这些操作。检查您的设备规格。

提示

PFI终端资源可能被共享。在NI MAX应用程序中检查设备路由。

将“数据采集”扫描速率设置为与计数器输出通道速率相同的值。

daqDgt。率= clockFreq;

从您的时钟数据采集导入时钟以同步您的采集。

addclock (daqDgt“ScanClock”“外部”clkTerminal)

启动计数器输出通道以在后台连续运行。

开始(daqClk“连续”

脉冲产生立即开始计数器输出。它不需要数据。

获取并绘制数字输入数据。

dataIn = read(daqDgt,seconds(1),“OutputFormat”“矩阵”);情节(dataIn (1:10 0,1))

停止时钟数据采集。

停止(daqClk)

相关的话题

Baidu
map