VBA,Vehicle Bus Analyser,恒润公司开发的一款汽车总线工具,具备对总线数据的监控与分析、节点仿真、报文发送、总线负载统计、离线回放、故障诊断、多媒体数据监控等功能,目前支持的总线类型包含CAN、CANFD、LIN,优势是价格便宜,由于功能较少所以容易上手,缺点嘛,也是功能较少,且不稳定,目前还不支持Ethernet
环境搭建
和Vector的CANoe类似,VBA工具也是由软件和硬件组成
硬件VCI,Vehicle Communication Interface,一般有4个通信接口,支持8路通道,也就是每个接口有2路
软件VBA,也就是我们所说的上位机,打开后需要新建工程
文件-新建-VBA工程
创建工程成功后,自动进入工程界面
device.config是设备配置项,可以把硬件通道和创建的软件channel映射到一起,类似于CANoe中的Hardware-Network Hardware-Driver
功能介绍
再来看下此工程下的其他功能
Sources下展示了创建工程时配置的通道数,也可以在CANNetworks或LINNetworks上右击创建新的channel
每个通道下还可以
- 导入DBC文件
- 导入诊断ODX文件
- 创建仿真节点
- 创建Generator,类似于CANoe里的IG面板
- 创建回放节点
可以看出Sources类似于CANoe里的Simulation Setup
这里先提一句,在Nodes上右击创建节点时,会自动打开该节点对应的脚本,类似于CANoe里创建节点时导入的capl文件,只是VBA用的编程语言不是capl,而是开源的python,具体的接口函数后面再聊
而Monitors下可以
- 创建trace窗口
- 创建波形图
- 创建信号监控窗口
- 创建Logger节点
- 创建面板
可以看出这些功能也和CANoe里的类似
这里重点说一下面板,创建的面板也提供各种控件,可以和信号或系统变量相关联,可以在脚本中通过回调函数触发使用
对于面板还需要注意的是,如果未运行VBA,打开的面板是编辑模式,如果运行VBA,打开的面板是运行状态
接口函数
VBA软件内部内置了一些函数供用户使用
事件函数
提供的事件函数类似于capl里的事件型函数
其他函数
比如创建CAN报文的CANMessage
发送单条报文的sendMsg
发送周期报文的sendPeriodMsg
诊断相关的函数
处理数据的函数
操作文件的函数
其他的函数可以在帮助文档中查看
当然VBA也支持第三方库的引用,具体用法请咨询技术支持
总结
在使用过程中,也遇到了一些问题,比如经常性的软件卡死,write窗口如果打印过于频繁会很难停止,面板里的控件偶尔会丢失
总的来说,如果你只是想抓取总线上的报文,或做一些仿真的功能,VBA完全可以满足
即使是从来没有接触过的新手,花半天到一天时间,浏览VBA里的帮助文档,就可以熟练使用
但是如果想用它来做大型的测试用例设计,个人不建议使用