第3章:脚本开发环境搭建
做ATE测试脚本,第一步就是把环境搭起来。
别小看这一步。我记得刚入行那会儿,花了一整天装库,最后发现Python版本不对,全部重来。嗯,这里我多说几句,把经验分享给你。
3.1 安装Python
ATE脚本通常用Python 3.8到3.11。我个人习惯用3.10,稳定,第三方库兼容性好。
- 官网下载:python.org → Downloads → 选对应系统版本
- 安装时记得勾选 "Add Python to PATH"
- 建议安装路径不带中文和空格
装完验证一下:
python --version
pip --version
两条命令都正常输出版本号,就算过了。
3.2 安装必要的库
核心库就两个:pyvisa 和 pyvisa-py。前者是VISA通信的Python封装,后者是后端实现。其他库按需装,比如numpy做数据处理,matplotlib画测试图。
安装命令:
pip install pyvisa pyvisa-py numpy matplotlib
如果你用的是公司内部的私有源,记得加 -i 参数指定。我在某半导体公司,他们的机器不让连外网,只能用内网镜像源。
python -m venv test_env 新建一个环境,再 .\test_env\Scripts\activate 激活。这样不同ATE项目之间的库版本不会打架。
3.3 配置与ATE通信
ATE设备通常通过GPIB、USB、LAN(TCP/IP)或串口连接。说白了,我们就是要让Python能找到这些设备,并发送/接收指令。
3.3.1 安装VISA驱动
PC上必须先装VISA驱动。常见的有National Instruments的NI-VISA,或者Keysight的IO Libraries Suite。个人喜欢Keysight的,轻量,支持挺好。
| VISA实现 | 适用场景 | 推荐 |
|---|---|---|
| NI-VISA | 测试机柜大量GPIB设备 | 大型ATE系统 |
| Keysight IO Libraries | Agilent/Keysight仪器为主 | 中小型测试站 |
| pyvisa-py | 纯软件后端,不需安装VISA驱动 | 临时调试或开发环境 |
驱动装好后,用VISA Interactive Control(NI的叫NI MAX,Keysight的叫Connection Expert)检查是否能识别ATE设备。
3.3.2 获取设备资源地址
每个ATE设备都有一个VISA资源地址。比如:
- GPIB:
GPIB0::5::INSTR(板卡号0,地址5) - USB:
USB0::0x2A8D::0x3C::MY43871234::INSTR - TCPIP:
TCPIP0::192.168.1.101::5025::SOCKET
你可以在NI MAX或Connection Expert里扫描出来。我曾经帮一个同事排查,他死活连不上ATE,最后发现是GPIB线松了——这种低级错误,你想想看,排查了俩小时。
3.3.3 用pyvisa测试通信
打开Python交互环境,写几行代码验证:
import pyvisa
rm = pyvisa.ResourceManager()
resources = rm.list_resources()
print(resources)
# 假设第一个设备是我们ATE,打开它
inst = rm.open_resource(resources[0])
print(inst.query('*IDN?')) # 发标准识别指令
inst.close()
如果正常打印出ATE的厂商和型号,说明通信成功。如果报错,多半是驱动没装好或资源地址不对。
libusb。用 sudo apt install libusb-1.0-0-dev 解决。
3.4 环境搭建全流程图
下面这张图能帮你理清每一步的依赖关系:
3.5 常见踩坑与解脱
问题一:list_resources() 返回空
原因:VISA驱动没装或pyvisa-py后端没激活。解决方法:
- 检查设备管理器里是否有驱动(Windows下看“通用串行总线控制器”或“VISA”条目)
- 运行
pyvisa-info命令,查看pyvisa后端列表 - 如果用的是pyvisa-py,确保安装了
libusb(Linux)或 WinUSB(Windows)
问题二:打开设备时提示“VI_ERROR_RSRC_NFOUND”
其实说穿了,就是资源地址写错了。我遇到过有人把GPIB地址写成“GPIB0::5”,漏了“::INSTR”后缀。或者IP地址多写了一个0。用NI MAX复制粘贴最保险。
3.6 开发环境确认清单
最后,给你一个检查表,每一项做完打勾:
| # | 检查项 | 确认方式 |
|---|---|---|
| 1 | Python 3.10 已安装 | python --version |
| 2 | pip 已配置 | pip --version |
| 3 | pyvisa和pyvisa-py已安装 | pip list | findstr visa |
| 4 | VISA驱动运行正常 | ATE在MAX/Connection Expert中可见 |
| 5 | Python能打开设备并返回ID | query('*IDN?') 有输出 |
环境搭完,你就可以放心写脚本了。后面每一章,都会基于这个环境运行。记得把验证通过的步骤记下来,下次换机器能省半小时。