从NI-DAQmx Python库访问NI MAX任务

更新 Dec 13, 2022

环境

软件

  • Measurement & Automation Explorer (MAX)

驱动

  • NI-DAQmx

我正在使用NI-DAQmx的Python库,并且想访问一个已经在NI MAX数据库创建的任务,但是在NI-DAQmx的Python文档中找不到此方法。这可能实现吗?

是的,NI-DAQmx Python库能够访问NI MAX数据库中已创建的任务。为此,您需要按照以下所示步骤进行操作:
  • 访问Python控制台
  • 通过输入以下命令导入NI-DAQmx库:"import nidaqmx"

  • 为了访问NI MAX数据库,您将必须实例化一个System对象,其中包含有关所连接设备,任务等的信息。这可通过以下命令实现:"<对象名称> = nidaqmx.system.system.System()"

  • 现在,您可以访问存储在系统中的任务集合,以及可视化这些任务的名称。通过输入以下命令实现:"<System对象名称>.tasks.task_names"

  • 为了访问其一任务,您将需要实例化PersistedTask对象。 PersistedTask是将任务信息存储在数据库中的类。您可以通过两种方式执行此操作:
  1. 静态:<PersistedTask对象名称> = nidaqmx.system.storage.persisted_task.PersistedTask('<从上一步获得的集合中的任务名称>')
  2. 以编程方式:<PersistedTask对象名称> = nidaqmx.system.storage.persisted_task.PersistedTask(<System对象名称>.tasks.task_names[<要访问的任务索引>])。切记索引从0开始。

  • 现在您已经访问了数据库中的任务。您将需要加载它,以便系统将知道您当前正在使用并预留它和创建Task对象。为此的命令是:"<Task对象名称> = <PersistedTask对象名称>.load()。

  • 现在您已经创建了一个Task对象,您可以执行在NI-DAQmx的Python库中的所有任务方法。