此示例显示了如何使用设备计数器输出通道来生成脉冲,以用作获取数字数据的外部时钟。
在此示例中,您可以使用计数器输出通道以一个DataAcquition生成一个时钟,并将时钟导出到获得数字数据的另一个DataAcquisition。计数器输出和数字子系统可以在同一设备或不同设备上。如果使用不在同一机箱中的多个设备,则必须在一个设备的计数器输出之间将物理连接连接到另一个设备的数字时钟输入。
笔记
导入外部时钟不会自动设置DataAcquisition的扫描速率。手动设置DataAcquisition速度
属性值匹配预期的外时钟频率。
使用计数器输出通道创建一个时钟的dataAcquisition,该通道在背景中连续生成频率脉冲。您可以将此频道用作时钟数字采集。
定义用于同步计数器输出的扫描速率以及数字采集速率的时钟频率。
clockfreq = 100;
创建一个dataAcquocition对象,并添加一个计数器输出通道脉电
测量类型。
daqclk = daq(“你”);ch1 = addoutput(daqclk,“ dev1”,,,,“ ctr0”,,,,“脉电”);
提示
确保您添加的计数器通道不会在不同的DataAcquetion中使用,否则会发生终端冲突错误。
将计数器输出终端ID保存到变量,以便您稍后可以使用它来指定同步数字时钟操作的外部时钟。
clkTerminal = ch1.端子;
将计数器通道的频率设置为时钟频率。
ch1.frequency = clockfreq;
创建数字输入的DataAcquetion,并从时钟数据磁库中导入外部时钟。
创建数据速度并从端口添加数字输入行0
线2
在dev1
。
daqdgt = daq(“你”);addInput(daqdgt,“ dev1”,,,,“ port0/line2”,,,,“数字的”)
笔记
并非所有设备都支持使用硬件正时的金宝app时钟数字I/O操作。对于这些设备,您可以使用单个扫描调用的软件定时操作读
和写
。
支持时钟数字I/O操作的设金宝app备可能不会在所有端口上支持它们。检查您的设备规格。
提示
PFI终端资源可能会共享。在Ni Max应用程序中检查您的设备路由。
将DataAcsociencition扫描速率设置为与计数器输出通道速率相同的值。
daqdgt.rate = clockfreq;
从您的时钟dataAcquisition导入时钟,以同步您的采集。
addclock(daqdgt,“ scanclock”,,,,“外部的”,clkternical)
启动计数器输出通道以在后台连续运行。
开始(daqclk,“连续的”)
脉冲生成立即在计数器输出上开始。它不需要数据。
获取和绘制数字输入数据。
datain = read(daqdgt,秒(1),,“输出格式”,,,,“矩阵”);情节(数据(1:100,1))
停止时钟dataAcquisition。
停止(DAQCLK)