GR5526GUI专题(4)-Lvgl字体的位图数组合并转换为bin文件的说明
2024-02-27
无敌浩克
PyVISA是一个Python包,使您能够独立于接口(例如GPIB、RS232、USB、以太网)控制各种测量设备。
总体概述
测量仪器的编程可能是痛苦的。有许多不同的协议,通过许多不同的接口和总线系统(例如GPIB、RS232、USB、以太网)发送。对于您想要使用的每种编程语言,您必须找到支持您的设备及其总线系统的库。
为了缓解这种情况,虚拟仪器软件架构(VISA)规范在90年代中期被定义。VISA是一种用于对包含GPIB、VXI、PXI、串行、以太网和/或USB接口的仪器系统进行配置、编程和故障排除的标准。
安装
PyVISA是VISA库的前端。它在Python3.6+上运行。
您可以使用pip安装它:
$pipinstall-Upyvisa后端
配置后端
目前有两种可用的后端:一种是pyvisa中包含的后端,它使用IVI库(包括NI-VISA、KeysightVISA、R&SVISA、tekVISA等),另一种是pyvisa-py提供的后端,这是一个纯python实现VISA库。如果未指定后端,并且已安装IVI库,则pyvisa将使用IVI后端。如果失败,它会使用pyvisa-py后端。
您还可以通过将参数传递给ResourceManager来选择所需的后端,如pyvisa-py所示:
pyvisa.ResourceManager('@py')与您的仪器通信
1,1,运行‘NI-MAX’,会自动显示与您的电脑直接连接的可用VISA资源,如下图显示连接了UART口通用设备,USB设备和网络设备信息。
2,2,选择需要测试连接的设备,选择‘打开VISA测试面板’
3,3,若需要连接本地或者远程网络设备,可以手动添加网络设备
点击‘添加网络设备’之后选择‘ManualEntryofLABInstrument’,再点击‘下一步’
输入需要连接的仪器IP地址,注意若是本地网络设备,需要将您电脑的IP网段设置和仪器一致。然后点击‘完成’
如下是成功连接的CMW网络设备,可以选择‘打开VISA测试面板’测试与仪器的连接
如下成功连接的CMW仪器的回复信息:‘Rohde&Schwarz,CMW,1201.0002k75/102630,3.8.13’
在Python环境中查看VISA资源
依据之前‘NI-MAX’管理的VISA资源,可以在Python环境中查看是否能成功链接。
importpyvisarm=pyvisa.ResourceManager()rm_address=rm.list_resources()print(rm_address,type(rm_address))在控制台查看print打印信息如下:
('USB0::0x0957::0x2B07::MY52700860::INSTR','TCPIP0::10.18.8.14::inst0::INSTR','TCPIP0::169.254.219.185::inst0::INSTR','TCPIP0::169.254.5.21::INSTR','TCPIP0::169.254.224.9::inst0::INSTR','ASRL12::INSTR','ASRL17::INSTR','ASRL80::INSTR')
常用的Pyvisa资源操作指令有如下两条:
写指令:write()
询问或者读指令:query()
具体指令内容请查阅对应仪器的编程指导。
SCPI指令也有很多通用的控制指令,比如获取仪器信息(*IDN),复位仪器状态(*RST)等等。
列出所有的VISA资源之后,可以打开您需要连接的仪器,传入需要控制的仪器地址即可:
instrument_address='USB0::0x0957::0x2B07::MY52700860::INSTR'my_instrument=rm.open_resource(instrument_address)print(my_instrument.query('*IDN'))print(my_instrumentSCPIversion:',my_instrument.query(':SYSTem:VERSion'))my_instrument.write('*RST')控制台print打印如下信息:
AgilentTechnologies,33521B,MY52700860,2.09-1.19-2.00-52-00my_instrumentSCPIversion:1994.0