简体   繁体   English

nidaqmx:访问现有任务

[英]nidaqmx: Access an existing task

I am using the nidaqmx-python library for acquiring data. 我正在使用nidaqmx-python库获取数据。 Is it possible to access an existing task, which is already defined in the NI MAX? 是否可以访问NI MAX中已定义的现有任务?

My solution, thanks to the tip from @nekomatic, is: 由于@nekomatic的提示,我的解决方案是:

import nidaqmx

system = nidaqmx.system.System.local()  # load local system

task_names = system.tasks.task_names  # returns a list of task names

task = system.tasks[0]  # selected the first task
loaded_task = task.load()  # load the task

sent_samples = []  # list for saving acquired data

with loaded_task:
    loaded_task.timing.cfg_samp_clk_timing(
        rate=2560, 
        sample_mode=nidaqmx.constants.AcquisitionType.CONTINUOUS, 
        samps_per_chan=1000)

    def callback(task_handle, every_n_samples_event_type,
                 number_of_samples, callback_data):
        """
        Callback function/
        """
        print('Every N Samples callback invoked.')

        samples = loaded_task.read(number_of_samples_per_channel=2560)
        sent_samples.extend(samples)

        return 0

    loaded_task.register_every_n_samples_acquired_into_buffer_event(
        200, callback)

    loaded_task.start()

    input('Running task. Press Enter to stop.\n')    

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM