网络分析仪在射频微波领域应用广泛,本文通过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
欢迎交流、转载、点赞 ~
在全球范围内最知名,也是最受欢迎的博客平台 WordPress 正在考虑放弃对 Interne...
有时因为网络原因,比如公司 NAT,或其它啥的,需要使用代理。Docker 的代理配置...
IE缺省对URL后面的参数是不编码发送的,但是Tomat缺省是按ISO8859-1来进行URL编...
IETF(国际互联网工程任务组)已宣布正式弃用 TLS 1.0 和 TLS 1.1。 公告写道,TLS...
最近你会发现失业的人员不好找工作有的人失业5个月仍然没有找到工作。 这部分人...
本文解法基于性质二叉搜索树的中序遍历为 递增序列 。 将 二叉搜索树 转换成一个...
前言 Twitter 的 snowflake 在分布式生成唯一 UUID 应用还是蛮广泛的,基于 snow...
▌ 问题描述 近期,线上有个重要Mysql客户的表在从5.6升级到5.7后,master上插入...
9月11日,在腾讯2020全球数字生态大会数据库专场上,腾讯云正式发布面向混合云的...
HTML运行原理: 1.本地运行:html文件用浏览器打开 2.远程访问运行:本地浏览器...