0

我想通过pyvisa修改National Instruments PXI 系统的设置。特别是,我想以编程方式将触发器从总线 1 路由到背板上的总线 2。

National Instruments有一个文档通过 Labview VI 解释了该过程:

labview 定制 pxi 背板触发总线

这基本上告诉我

  1. 打开到背板的 VISA 会话
  2. 设置 src 和 dest 触发总线属性
  3. 使用 map_trigger 函数

第 1 步)通过 pyvisa 工作正常,我可以通过 与背板打开通信backplane = rm.open_resource('PXI0::2::BACKPLANE'),如资源名称中所述。

但是在打开背板的签证会话后,我在这里找不到任何描述的 src trig bus 和 dest trig bus 属性。只有一堆属性类如 AttrVI_ATTR_RM_SESSION,它们似乎不包含任何我感兴趣的值。但我想我在这里误解了一些东西。

步骤 3) 很简单,因为此功能直接在 pyvisa 中实现

所以剩下的问题是:如何通过 pyvisa 修改 PXI 背板中的源触发总线和目标触发总线?

4

1 回答 1

0

我找到了所有必需属性的位置: pyvisa.constants 列出了所有可能属性的所有地址(对于任何接口)。

要访问特定属性,可以通过 set_visa_attributes 函数实现:

import pyvisa
import pyvisa.constants

address = 'PXI0::2::BACKPLANE'
rm = pyvisa.ResourceManager()
backplane = rm.open_resource(address)

src_bus = 2
dest_bus = 1
trigger = pyvisa.constants.VI_TRIG_TTL0  # i.e. PXI_Trig0

backplane.set_visa_attribute(pyvisa.constants.VI_ATTR_PXI_SRC_TRIG_BUS, src_bus)
backplane.set_visa_attribute(pyvisa.constants.VI_ATTR_PXI_DEST_TRIG_BUS, dest_bus)

# route trigger 0 from source bus to destination bus
backplane.visalib.map_trigger(backplane.session, trigger, trigger, pyvisa.constants.VI_NULL)
于 2020-12-04T08:04:44.607 回答