Python控制仪器【2 ,控制矢量网络分析仪】

   日期:2021-04-10     浏览:111    评论:0    
核心提示:引言网络分析仪在射频微波领域应用广泛,本文通过Python语言控制仪器实现自动化测试并保存相应数据,帮助工程师实现自己的自动化测试系统。代码功能使用Python控制并设置网络分析仪测试状态和参数,完成S参数测试的整个过程,并将测试数据保存为S2P文件。话不多说,直接上代码:import pyvisa as visarm = visa.ResourceManager()# visa地址需自行添加vna = rm.open_resource("visa地址")vna.write_termi

引言

网络分析仪在射频微波领域应用广泛,本文通过Python语言控制仪器实现自动化测试并保存相应数据,帮助工程师实现自己的自动化测试系统。

代码功能

使用Python控制并设置网络分析仪测试状态和参数,完成S参数测试的整个过程,并将测试数据保存为S2P文件。

话不多说,直接上代码:


import pyvisa as visa

rm = visa.ResourceManager()
# visa地址需自行添加
vna = rm.open_resource("visa地址")
vna.write_termination = '\n'
fd = vna.query('*IDN?')# 读取仪器识别码
print(fd)
vna.write('*RST;*CLS') # 仪器复位及清除
vna.write(':SYSTEM:DISPLAY:UPDATE ON')
vna.write('INIT:CONT OFF')# 单次扫描模式
vna.write(':INITIATE:IMMEDIATE:ALL; *WAI')# measure a single sweep group for channels

# -----------------------------------------------------------
# 仪器设置:频率范围、扫描点数
# -----------------------------------------------------------
vna.write(":SENSe:FREQ1:STARt 800MHz; :SENSe:FREQ1:STOP 6000MHz; :SENSe:SWEep:POINts 601")

# -----------------------------------------------------------
# 测量项目和窗口曲线显示(四个S参数显示在一个Channel内)
# -----------------------------------------------------------
vna.write('CALCULATE1:PAR:MEAS "Trc1", "S11"') # 第一条默认曲线测试改为S11,默认测试S21
vna.write('CALCULATE1:PAR:SDEFine "Trc2", "S12"') # 增加第二条曲线测试S12
vna.write('CALCULATE1:PAR:SDEFine "Trc3", "S21"') # 增加第三条曲线测试S21
vna.write('CALCULATE1:PAR:SDEFine "Trc4", "S22"') # 增加第四条曲线测试S22

vna.write('DISPlay:WINDow:TRACe2:FEED "Trc2"') # 第二条曲线显示在窗口内
vna.write('DISPlay:WINDow:TRACe3:FEED "Trc3"')
vna.write('DISPlay:WINDow:TRACe4:FEED "Trc4"')
vna.write('SYSTem:DISPlay:UPDate ONCE')

# -----------------------------------------------------------
# 仪器读写同步设置
# -----------------------------------------------------------
vna.timeout = 30000 # 通信超时限值 ms
vna.write('INIT') # 开始扫描
vna.query('*OPC?') # *OPC?同步

# -----------------------------------------------------------
# 将测试数据保存为S2P文件,该文件保存在仪器内
# -----------------------------------------------------------
vna.write('MMEM:STOR:TRAC "Trc1","C:\\Users\\Instrument\\Sdata\\ceshi.s2p"')
#读取当前所有trace的数据并打印在命令窗口,以下两行代码根据实际需要可注释。
# traceASC = vna.query_ascii_values('FORM ASC;CALCulate:DATA:ALL? SDAT;*WAI')
# print(traceASC)

# -----------------------------------------------------------
# 关闭仪器对象和VISA资源管理器
# -----------------------------------------------------------
vna.close()
rm.close()

参考文章: https://mp.weixin.qq.com/s/srvEBPpnfsCJ-LcGcLqtbQ

相关资源:https://blog.csdn.net/weixin_44783617/article/details/115504880?spm=1001.2014.3001.5502

欢迎交流、转载、点赞 ~

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
更多>相关资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服