Measurement Studio for VC++

cancel
Showing results for 
Search instead for 
Did you mean: 

如何在接收一个连续的模拟信号的同时,把这个接受的信号实时发射

我用的是BNC-2110的接线卡和PCI-6115的数据采集卡。

我希望由AI0输入通道连续接收一个模拟信号,同时把接受到的信号立即从AO0输出通道发出去。

我用C语言。

不知道这个程序要怎么写。

Message 1 of 2
(6,260 Views)

这里“同时”是允许延时多长时间?这将决定连续采样的一个片段是多长时间。此外,采样率大概是多少呢?模拟采集的程序您可以参考

C:\Documents and Settings\All Users\Documents\National Instruments\NI-DAQ\Examples\DAQmx ANSI C\Analog In\Measure Voltage\Cont Acq-Int Clk中的范例,

而模拟输出的程序可以参考

C:\Documents and Settings\All Users\Documents\National Instruments\NI-DAQ\Examples\DAQmx ANSI C\Analog Out\Generate Voltage\Cont Gen Volt Wfm-Int Clk。

 

不过,个人觉得,如果对延时要求苛刻的话,不如直接把这个模拟信号分为两路,一路进入AI0通道进行采集或者存储,另一路直接接到原本AO0的输出对象。事实上用多功能数据采集卡的AO实现任意波形的连续发送是不好做的。一般来说把数据写到内存中,然后重复来发送这段数据,这是很容易实现的。带要求不断刷新这个内存中的数据并把他们不断发送出去,这就要求定时非常准确,不致于写入速度过快,导致数据没有来得及发送就被覆盖,也不致于写入速度太慢,导致内存中没有数据可发。

帖子被xuzheng在 09-01-2009 01:43 AM
时编辑过了
0 Kudos
Message 2 of 2
(6,236 Views)