如何通过pyvisa自定义PXI背板设置?
How to customize PXI backplane settings via pyvisa?
我想修改National Instruments PXI system via pyvisa的设置。
特别是,我想以编程方式将触发器从背板上的总线 1 路由到总线 2。
National Instruments a documentation 通过 Labview VI 解释了该过程:
这基本上告诉我
- 打开背板的 VISA 会话
- 设置 src 和 dest 触发总线属性
- 使用map_trigger函数
步骤 1) 通过 pyvisa 工作正常,我可以通过 backplane = rm.open_resource('PXI0::2::BACKPLANE')
打开与背板的通信,如 resource names.
中所述
但是在打开到背板的签证会话之后,我在这里找不到任何描述的 src trig bus 和 dest trig bus 属性。只有一堆属性 类,例如 AttrVI_ATTR_RM_SESSION,它们似乎不包含我感兴趣的任何值。但我想我在这里误解了什么。
第 3 步很简单,因为 this functionality is directly implemented in pyvisa。
所以剩下的问题是:如何通过pyvisa修改PXI背板中的源触发总线和目标触发总线?
我找到了所有必需属性的位置:
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)
我想修改National Instruments PXI system via pyvisa的设置。 特别是,我想以编程方式将触发器从背板上的总线 1 路由到总线 2。
National Instruments a documentation 通过 Labview VI 解释了该过程:
这基本上告诉我
- 打开背板的 VISA 会话
- 设置 src 和 dest 触发总线属性
- 使用map_trigger函数
步骤 1) 通过 pyvisa 工作正常,我可以通过 backplane = rm.open_resource('PXI0::2::BACKPLANE')
打开与背板的通信,如 resource names.
但是在打开到背板的签证会话之后,我在这里找不到任何描述的 src trig bus 和 dest trig bus 属性。只有一堆属性 类,例如 AttrVI_ATTR_RM_SESSION,它们似乎不包含我感兴趣的任何值。但我想我在这里误解了什么。
第 3 步很简单,因为 this functionality is directly implemented in pyvisa。
所以剩下的问题是:如何通过pyvisa修改PXI背板中的源触发总线和目标触发总线?
我找到了所有必需属性的位置: 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)