第3章:脚本开发环境搭建

做ATE测试脚本,第一步就是把环境搭起来。

别小看这一步。我记得刚入行那会儿,花了一整天装库,最后发现Python版本不对,全部重来。嗯,这里我多说几句,把经验分享给你。

3.1 安装Python

ATE脚本通常用Python 3.8到3.11。我个人习惯用3.10,稳定,第三方库兼容性好。

  • 官网下载:python.org → Downloads → 选对应系统版本
  • 安装时记得勾选 "Add Python to PATH"
  • 建议安装路径不带中文和空格
警告: 别装最新的Python 3.12或3.13。我在项目上吃过亏,pyvisa和某些ATE驱动还没完全适配,跑起来各种报错。

装完验证一下:

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的厂商和型号,说明通信成功。如果报错,多半是驱动没装好或资源地址不对。

我自己的一个坑: 有一次在Linux上装pyvisa-py,结果list_resources()返回空列表。折腾半天发现是系统没装libusb。用 sudo apt install libusb-1.0-0-dev 解决。

3.4 环境搭建全流程图

下面这张图能帮你理清每一步的依赖关系:

ATE脚本开发环境搭建流程 安装Python 3.10 配置PATH + 创建虚拟环境 pip install pyvisa pyvisa-py 安装VISA驱动(NI/Keysight) 用MAX/Connection Expert识别设备 运行 query('*IDN?') 验证 每步完成后建议重启Python环境,避免缓存导致识别异常

3.5 常见踩坑与解脱

问题一:list_resources() 返回空

原因:VISA驱动没装或pyvisa-py后端没激活。解决方法:

  1. 检查设备管理器里是否有驱动(Windows下看“通用串行总线控制器”或“VISA”条目)
  2. 运行 pyvisa-info 命令,查看pyvisa后端列表
  3. 如果用的是pyvisa-py,确保安装了 libusb(Linux)或 WinUSB(Windows)

问题二:打开设备时提示“VI_ERROR_RSRC_NFOUND”

其实说穿了,就是资源地址写错了。我遇到过有人把GPIB地址写成“GPIB0::5”,漏了“::INSTR”后缀。或者IP地址多写了一个0。用NI MAX复制粘贴最保险。

个人经验: 调试阶段不要直接写死地址。先让脚本扫描所有设备,打印出来,再选。代码里加一句异常处理,连不上时给出友好提示,省得半夜被叫醒。

3.6 开发环境确认清单

最后,给你一个检查表,每一项做完打勾:

#检查项确认方式
1Python 3.10 已安装python --version
2pip 已配置pip --version
3pyvisa和pyvisa-py已安装pip list | findstr visa
4VISA驱动运行正常ATE在MAX/Connection Expert中可见
5Python能打开设备并返回IDquery('*IDN?') 有输出

环境搭完,你就可以放心写脚本了。后面每一章,都会基于这个环境运行。记得把验证通过的步骤记下来,下次换机器能省半小时。