使用python导出PXI 6251的采样时钟
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用python导出PXI 6251的采样时钟相关的知识,希望对你有一定的参考价值。
我想在PXI 1000机箱上同步两个PXI 6251,同时采集32个模拟输入。我正在使用python和nidaqmx库。为此,我想在数字输出上输出一张卡的采样时钟,将其路由到另一张卡的数字输入,并将其用作外部时钟。这是一个好策略吗?
我试过以下代码。模拟输入记录有效,但我看不到终端2.7上的时钟(PFI15)
import nidaqmx
import time
with nidaqmx.Task() as taskAI, nidaqmx.Task() as taskClkExport:
acquisition_time = 10
rateAI=50000
t=time.localtime()
file_path_2 = r'C:/Users/laboratorium/Documents/remi/{}_{}_{}_{}_{}_{}_slot2'.format(t.tm_year, t.tm_mon,t.tm_mday,t.tm_hour,t.tm_min,t.tm_sec)
# configure analog input task
for i in range(16):
taskAI.ai_channels.add_ai_voltage_chan("PXI1Slot2/ai{}".format(i))
taskAI.in_stream.configure_logging(file_path_2,
nidaqmx.constants.LoggingMode.LOG,
'myGroupName',
nidaqmx.constants.LoggingOperation.OPEN_OR_CREATE)
taskAI.timing.cfg_samp_clk_timing(rate=rateAI,
sample_mode=nidaqmx.constants.AcquisitionType.CONTINUOUS,
samps_per_chan=2048)
# configure clock exporting task
taskClkExport.do_channels.add_do_chan("PXI1Slot2/port2/line7")
taskClkExport.export_signals.export_signal(signal_id=nidaqmx.constants.Signal.SAMPLE_CLOCK,
output_terminal="PXI1Slot2/port2/line7")
print('start')
taskClkExport.start()
taskAI.start()
print('running...')
time.sleep(10)
print('stop')
taskAI.stop()
taskClkExport.stop()
我检查了MAX设备路由,任何PFI都适合直接路由采样时钟。我可以从MAX中的DO任务中反转该行。
有人知道解决方案吗?
答案
我无法在此档位上导出采样时钟,我找到的解决方案是使用相同的主时钟,并使用第一张卡的启动触发器作为第二张卡。我开始第二个(等待触发)结束然后第一个结束。
self.task2.timing.ref_clk_src = "PXI_Clk10"
self.task2.timing.ref_clk_rate = 10000000
self.task2.timing.cfg_samp_clk_timing(rate=rate2,
sample_mode=nidaqmx.constants.AcquisitionType.CONTINUOUS,
samps_per_chan=2048)
self.task3.timing.ref_clk_src = "PXI_Clk10"
self.task3.timing.ref_clk_rate = 10000000
self.task3.timing.cfg_samp_clk_timing(rate=rate3,
sample_mode=nidaqmx.constants.AcquisitionType.CONTINUOUS,
samps_per_chan=2048)
self.task2.control(TaskMode.TASK_COMMIT)
self.task3.triggers.start_trigger.cfg_dig_edge_start_trig(
"/PXI1Slot2/ai/StartTrigger")
self.task3.start()
self.task2.start()
以上是关于使用python导出PXI 6251的采样时钟的主要内容,如果未能解决你的问题,请参考以下文章