将Vector的盒子连接到电脑,打开CANoe,菜单栏选择File -> New,在Available Templates中双击LIN,跳出如下界面。
在菜单栏中选择Tools -> LDF Explorer,跳出如下界面,创建New File。
首先点击New Unconditional Frame添加新的无条件帧。
在如下界面中对LIN报文进行配置
点击Create and Map Signal,创建信号矩阵及定义信号,跳出如下界面。
在Signal Properties选项卡内配置
在Physical选项卡内配置
在Publisher/Subscriber Relations选项卡内配置
在Mapping选项卡内配置
在菜单栏如下位置选择Create Schedule Table,添加帧的调度表。
将Unconditional Frames中创建的无条件帧拖动到调度表中,如下图所示。
选择Nodes/Frames,点击左侧方框中的主节点名称,这里是LIN_Master,并选择调度表中的报文。此时右侧方框如下图所示,根据客户需求分别修改Delay(时隙)、Timebase(基时)、Jitter(偏移)。
保存配置,然后在菜单栏如下位置点击LIN Consistency Checker,进入LDF文件的错误检查。
出现如下界面后,选择Start the consistency check开始检查。如果存在错误或者警告,左侧栏中会提示相应的问题。
关闭LDF Explorer,回到主界面。在右侧方框内,右击Databases,选择Add,将保存的LDF文件导入进来,如下图所示。
在菜单栏中选择Tools -> CAPL Browser,跳出如下界面。
编写相关的CAPL代码,并保存。
回到主界面,右击Simulation Setup中的红蓝线,选择Insert Network Node,如下图所示。
CANoe与CANalyzer所不同的是,CANoe可以连接多个从节点,而CANalyzer只能接一个从节点。
这里以一个主节点和一个从节点为例,因此添加两个网络节点(Network Node)。
右击其中一个节点,选择Configuration进行配置,配置界面如下图所示。
在Settings选项卡内配置
在Node specification选项卡内配置
配置界面中其余的选项卡可以不做操作,配置完成后主界面如下图。
在Home菜单栏中点击黄色闪电图标Start,开始运行,如下图所示。
相关报文信息会显示在Trace界面上,若需要其他的显示监控界面,可在Analysis菜单栏中选择添加。
Q1. 向从节点发送VDCM指令需要同时判断按键1和按键2的变量值,而按键事件(即系统变量事件)中只能判断其中一种按键(系统变量)状态,无法同时判断两种按键(系统变量)状态。
A1. CANoe的CAPL是事件触发的,与C语言不同的是,它没有main函数。解决方法是开启1ms或10ms的定时器,在定时器内循环检测多个按键变量(系统变量)的值,模拟C/C++主函数中的while(1)循环。
Q2. 使用CANoe/CANalyzer的Panel Designer设计Panel时,特别是在点击Toolbox中的工具后,会出现死机、无响应的情况。
A2. 使用了有道词典的屏幕取词功能,导致软件冲突。解决方法是关闭取词软件(如金山词霸、有道词典等)。
Q3. 使用message关键字定义LIN报文变量,编译器报警,报文变量无法正常使用。
A3. 在CANoe9.0中CAN报文变量使用message关键字定义,LIN报文变量linmessage关键字定义。在CANoe11.0中CAN报文变量和LIN报文变量均使用message关键字定义,默认为CAN报文变量。解决方法是根据CANoe版本选择相应的报文关键字。