最近在用pyvisa框架写一个电源自动测试的代码
但是在网上找了很多都没有想要的答案
大多是
visa_address = ‘ASRL3::INSTR’ #仪器接口地址
rm = pyvisa.ResourceManager() #资源管理器
temp = rm.list_resources() #可用的设备列表
inst = rm.open_resource(temp[0]) #打开指定可用设备
pyvisa启动三部曲,然后用inst.write()和inst.query(‘’)
来控制写读
但这些并没有能解决我的问题,反正就是嘎嘎连不上,反正就是控制不了电源输入输出
后来通过自己研究发现解决很简单(虽然用了好久才发现)
只需要加入一条语句
print(inst.write(‘SYSTem:Remote’))
就是在你读取接口数据之前加上,就可以顺利连接到仪器并进行控制了
我觉得这东西不同的设备的要求不一样,有的设备不需要进行这个语句的设置
默认就是可以读取
但是我这个需要设置远程模式才可以,总之就是按照不同设备的指导说明书仔细查,总能查到设置方法
后面再说一下关于Qt框架和pyvisa框架联合使用的问题
我之前是找的Qt框架和serial框架的代码,但后来发现并不好用才换成了pyvisa的代码
不过我刚使用的时候发现Qt启动之后进入信号与槽总闪退
提示的是 instrument is valid, but we cannot access it now这种错误
后来发现是因为之前使用的代码serial的部分没有删掉,serial框架会占用仪器的使用权
从而导致pyvisa框架拿不到使用权
就把前面的serial框架的部分删掉就可以了