使用python远程控制GPIB接口的设备(pyvisa实现)


首先要感谢写pyvisa库的大哥们,解决了我的大问题。

实验室到了一个IV测试的设备,是keithley 237,性能看起来不错。电流最低可以测到10fA,电压最高可以到1100V。反正各种功能强大。唯一的不足就是操作起来很麻烦。它长得是这样的:

 完全不方便测试,而且数据也没办法保存。因此我们需要用电脑去控制。老师给我提供的思路是用labview+NIvisa+keithleyvisa的方法。奈何上课学到的labview知识早就忘完了。按照那边的工程师指挥+自己百度查资料。弄了很久终于可以和设备通信了,但是我感觉配置起来很麻烦,而且labview编程我也不熟悉,这个思路很依赖各种软件驱动的版本,可移植性不好。

于是乎,我选择了python的pyvisa库(花了很长时间才找到的解决方案)。

具体实现步骤是:使用GPIB转USB线连接电脑和设备(淘宝上有,我买的安捷伦的82357,花了450大洋)。接上后电脑会自动安装驱动,很方便。百度下载一个NIvisa软件,它是NI公司提供的一个编程接口,可以通过这个接口与各种不同通信协议的一起通信。然后就是pip install pyvisa。很快就搭建好了环境,比老师提供的方案方便很多。

 450元的转接线

 

接下来就是简单的编程了

import pyvisa as visa

visa.log_to_screen()

rm = visa.ResourceManager()
print(rm.list_resources())

my_ins = rm.open_resource('GPIB0::16::INSTR')

my_ins.write(‘J0X’)

 log_to_screen方法可以显示通信日志,方便调试

 list_resources()方法可以列出所有和电脑连接的设备,然后打开你需要的那个就可以了。最后就是write()和read()方法和设备进行通信了。代码里的‘J0X’是我用的设备手册里提供的复位指令,不同设备时不一样的。具体怎么操作设备就要参考手册了。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM