第1章:测试脚本开发环境搭建
大家好,我是老张。做HIL测试这些年,我见过太多人一上来就写脚本,结果环境没配好,折腾半天跑不通。说实话,环境搭建这事儿,看着简单,但坑不少。今天咱们就把Python环境、CAN库、还有Vector那套驱动和COM接口,一次性捋清楚。
1.1 Python环境配置(3.8+)
我个人习惯用Python 3.8或3.9。为什么?因为pyvit和python-can这两个库,在3.10以上版本偶尔会出兼容性问题。我在项目里就遇到过,3.10跑得好好的,换台电脑就报错,查了半天是库版本不匹配。
安装步骤其实很简单,但有几个细节要注意:
- 下载安装包:去python.org下载3.8.x或3.9.x版本。别下最新的,稳字当头。
- 勾选“Add Python to PATH”:这一步很多人会忘。忘了的话,后面命令行里敲python会提示找不到命令。
- 验证安装:打开命令行,输入
python --version,看到版本号就对了。
python -m venv venv,然后激活它。
1.2 pyvit与python-can库安装
这两个库是咱们做CAN测试的核心。pyvit负责解析CAN报文,python-can负责跟硬件通信。说白了,一个管“看懂”,一个管“收发”。
安装命令很简单:
pip install pyvit
pip install python-can
嗯,这里要注意。如果你用的是Python 3.8,直接装就行。但如果是3.9或更高,可能会遇到依赖问题。我曾经在3.9上装pyvit,报了个No module named 'backports'的错误。解决办法是手动装一下:
pip install backports.functools_lru_cache
为什么会这样?因为pyvit有些老代码依赖Python 3.8的内置模块,高版本里移除了。所以,我建议你直接用3.8,省心。
装完之后,验证一下:
python -c "import can; print(can.__version__)"
如果能打印出版本号,说明python-can装好了。pyvit的验证类似:
python -c "import pyvit; print(pyvit.__version__)"
1.3 Vector XL-Driver与CANoe COM接口配置
Vector的硬件,比如VN1640、VN5610,是HIL测试的标配。但驱动装不好,设备就认不出来。我刚开始用Vector时,就犯过这个错——驱动装了一半,重启后设备管理器里还是黄色感叹号。
正确的步骤是这样的:
- 下载XL-Driver:去Vector官网下载最新版。注意,要跟你的CANoe版本匹配。比如CANoe 15就用对应的XL-Driver 15.x。
- 安装驱动:双击安装包,一路Next。安装过程中会提示插入设备,插上你的VN1640或VN5610,系统会自动识别。
- 验证驱动:打开设备管理器,找到“Vector Interfaces”下的设备,没有黄色感叹号就OK了。
接下来是CANoe COM接口配置。说白了,就是让Python脚本能通过COM接口控制CANoe。步骤也不复杂:
- 注册COM组件:在CANoe安装目录下,找到
CANoe.exe,用管理员身份运行一次。它会自动注册COM接口。 - Python中调用:用
win32com.client库。先装一下:pip install pywin32。 - 测试连接:写个简单脚本试试:
import win32com.client
canoe = win32com.client.Dispatch("CANoe.Application")
print(canoe.Version)
如果能打印出版本号,说明COM接口配好了。如果报错,检查一下是不是没以管理员身份运行Python。
1.4 环境验证:跑一个简单的CAN报文收发
环境搭好了,咱们跑个例子验证一下。用python-can发一条CAN报文:
import can
bus = can.interface.Bus(channel='CAN1', bustype='vector', app_name='CANoe')
msg = can.Message(arbitration_id=0x123, data=[0x11, 0x22, 0x33, 0x44], is_extended_id=False)
bus.send(msg)
print("报文发送成功")
这段代码里,bustype='vector'就是告诉python-can用Vector的驱动。如果你用的是其他硬件,比如Kvaser或PCAN,这里要改成对应的类型。
我个人习惯,每次搭好环境后,都会跑一遍这个例子。能发能收,说明环境没问题。如果报错,多半是驱动或COM接口没配好。回头检查一下设备管理器,或者重启一下电脑。
好了,环境搭建就这些。下一章咱们开始写真正的测试脚本。记住,环境搭好了,后面就顺了。别急,慢慢来。