第二章:开发环境搭建
好,咱们正式开始动手了。这一章我带你把吃饭的家伙装好——INCA、ASCET-DEVELOPER,还有许可证服务器。说实话,环境搭建这块,我见过太多人卡在半路上,一卡就是半天。其实没那么玄乎,就是几个步骤,但顺序和细节确实容易踩坑。
2.1 安装INCA
INCA是ETAS工具链里最常用的测量标定工具。我个人习惯先装它,因为后面很多验证环节都离不开它。
安装前准备:
- Windows 10 或 11,64位系统。我建议用专业版,家庭版有时候会莫名其妙出问题。
- 关闭杀毒软件。嗯,这一步很重要。我遇到过好几次,杀毒软件把INCA的驱动文件当病毒给隔离了。
- 以管理员身份运行安装程序。右键,选“以管理员身份运行”,别偷懒。
安装步骤:
- 双击安装包,选择语言。默认英文就行,中文支持其实一般。
- 接受许可协议。这个没什么好说的。
- 选择安装路径。我个人习惯装在C盘默认路径,省得后面配置环境变量麻烦。
- 选择组件。如果你是新手,全选就行。老手可以按需勾选。
- 等待安装完成。大概5-10分钟,取决于你的电脑性能。
小提示: 安装过程中如果弹出“是否安装此设备软件”,一定要点“安装”。这是INCA的硬件驱动,不装的话后面连不上ECU。
2.2 安装ASCET-DEVELOPER
ASCET-DEVELOPER是建模和代码生成工具。说白了,你写的控制策略最后都要靠它变成C代码。
安装步骤:
- 运行安装程序,选择语言。同样建议英文。
- 选择安装类型。我建议选“Complete”,完整安装。
- 选择安装路径。注意,路径里不要有中文或空格。我曾经因为路径里带了个空格,编译死活过不去,查了半天才发现是这个问题。
- 等待安装完成。ASCET比INCA大一些,大概15分钟左右。
注意: ASCET-DEVELOPER对Java环境有依赖。如果你的电脑没有装JDK,安装程序会提示你。建议装JDK 11或17,太老的版本可能不兼容。
2.3 配置许可证服务器
这一步是很多人头疼的地方。许可证服务器说白了就是一把钥匙,没有它,工具只能看不能用。
为什么需要许可证服务器?
ETAS的工具用的是浮动许可证。你想想看,公司买了10个许可证,10个人都能用,但谁先打开工具谁先用。许可证服务器就是管这个的。
配置步骤:
- 找到许可证管理工具。一般在开始菜单里,叫“ETAS License Manager”。
- 选择“Server Configuration”。
- 输入服务器地址。格式是:
27000@your-server-ip。27000是默认端口,如果你的IT改了端口,记得问清楚。 - 点击“Test Connection”。如果显示“Success”,说明连上了。
- 保存配置,重启工具。
重要: 如果你在公司内网,许可证服务器通常由IT部门维护。直接找他们要地址和端口就行。别自己瞎猜,我见过有人猜了一天都没猜对。
2.4 验证安装是否成功
装完了,怎么知道好不好使?别急,我教你几招。
验证INCA:
- 打开INCA,看能不能正常启动。如果卡在启动画面,多半是许可证问题。
- 新建一个工程,随便拖几个测量变量进去。能拖进去,说明基本功能正常。
- 连接一个硬件设备(比如ES590或ES910)。能识别到设备,说明驱动装好了。
验证ASCET-DEVELOPER:
- 打开ASCET,新建一个项目。
- 随便画一个模块,比如一个加法器。
- 点击“Build”,看能不能生成代码。如果能生成,说明工具链是通的。
小技巧: 我第一次装完ASCET,Build的时候报了一堆错。后来发现是环境变量没配好。你可以在系统环境变量里加上
ASCET_HOME,指向你的安装目录。
2.5 常见安装问题排查
这部分是我最想跟你聊的。因为问题总会遇到,关键是怎么快速解决。
问题1:许可证连不上
- 检查网络:ping一下服务器地址,看通不通。
- 检查端口:用telnet命令测试端口是否开放。
telnet your-server-ip 27000 - 检查防火墙:有时候防火墙会拦截许可证通信。把27000端口加进白名单。
问题2:INCA启动闪退
- 多半是显卡驱动问题。更新一下显卡驱动试试。
- 或者以兼容模式运行:右键INCA图标,属性 -> 兼容性 -> 选择Windows 7。
问题3:ASCET编译报错
- 检查代码生成路径是否有中文或空格。
- 检查编译器是否安装。ASCET默认用GCC,但有时候需要自己装。
- 检查环境变量。我建议把
PATH里加上GCC的bin目录。
避坑指南: 我曾经因为许可证服务器时间不同步,导致工具一直报“许可证过期”。后来发现是服务器时间比本地时间快了5分钟。同步一下时间就好了。所以,记得检查时间同步。
好了,环境搭建就这些。别怕,一步一步来,装好了后面就顺了。下一章咱们开始真正上手,写第一个ASCET模型。