CANoe:.vmodule文件是什么

目录

问题背景

Why:文件有什么用(.vmodule:模块描述文件) (Help文档)

模块类型1:CAPL-DLL

模块类型2:NodeLayer-DLL

 模块类型3:C Library

What:简而言之

有什么:文件内容

HOW-操作:如何为节点添加DLL/vmodule文件

方式1:为单个Node添加

方式2:按通道添加

方式3: 通过DBC定义添加

When: 何时需要添加这个配置文件


问题背景

今天新建一个CANoe简易工程的时候,没有直接在DBC里面添加Network  Node,中间遗漏了添加Node的IL配置文件,导致报文未按照DBC中的定义正常发出。

后来,添加Node的IL配置文件时,发现能找的文件不是dll格式的(以前操作的时候,都是dll文件),而是.vmodule的后缀。搜了下各网站,发现对.vmodule文件的介绍都很少。

CANoe:.vmodule文件是什么_第1张图片

 图1 节点添加DLL文件

但Help文档的介绍还比较清晰。因此在这里记录下,help文档中对.vmodule文件的介绍。

Why:文件有什么用(.vmodule:模块描述文件) (Help文档)

先放结论:主要是为了解耦CANoe工程运行的平台与工程的配置,使得可以在不同平台都能共用同一个工程配置。

下面是help文档中的详细描述。

CANoe:.vmodule文件是什么_第2张图片

中文翻译:

模块描述文件(*.vmodule)包含模块的文件路径和元数据。

支持以下模块类型:
· CAPL DLL :CAPL动态链接库
· Moduling Library: 建模库(节点层DLL)
· C Library: C库

在CANoe的旧版本中,模块的实现(例如CAPL DLL的路径)被直接输入到CANoe的配置文件。

又因为工程实现通常特定于一个平台,这使得在不同平台间交换配置非常困难
(例如:Windows 32位和 64位或Linux 64位)。

因此,从CANoe版本12.0 SP3开始,可以在配置中输入模块描述文件,而不是具体的实施。
这个模块描述文件可以包含不同平台的实现的文件路径。

从CANoe版本13.0开始,还可以指定与应用程序(CANoe)相关的版本。
这使得它可以在不同的版本中使用不同版本的DLL或者定义应用程序的最小版本。

模块类型1:CAPL-DLL

CANoe:.vmodule文件是什么_第3张图片

模块类型2:NodeLayer-DLL

CANoe:.vmodule文件是什么_第4张图片

 模块类型3:C Library

CANoe:.vmodule文件是什么_第5张图片

What:简而言之

也就是说,vmodule文件就是原本的dll文件,而且不止包含dll文件。

vmodule和dll都使用xml文件格式编写内容。

有什么:文件内容

下图是CANoe Sample中附带的vmodule文件,也是简易工程中常用的IL文件:CANoeILNLVetctor.vmodule(C:\ProgramData\Vector\AddOn Packages\Vector AddOn\vModules)

CANoe:.vmodule文件是什么_第6张图片

 可以发现文件中,除了路径、版本等的说明之外,主要功能是对IL层的相关函数做出说明。

HOW-操作:如何为节点添加DLL/vmodule文件

有3种方法,可以分别通过Simulation和DBC文件添加。

前两种是通过Simulation Setup添加,其中

  • 一种是逐个节点添加vmodule文件
  • 另一种是为当前网络通道统一添加vmodule

方式1:为单个Node添加

1.Simulation Setup中对相应节点点击右键,选中Configuration

CANoe:.vmodule文件是什么_第7张图片

2. 在第2个标签页Components中,点击ADD,添加所需要的文件 

CANoe:.vmodule文件是什么_第8张图片

添加完成后,节点的配置显示如下(网络显示为当前网络名,且不可remove?):

CANoe:.vmodule文件是什么_第9张图片

方式2:按通道添加

如果同一通道中的所有节点,使用相同的vmodule文件,那么可以使用此方法统一添加。

如图,在通道节点上右键选择Assign Module to all Network Nodes,选择所需文件即可。

CANoe:.vmodule文件是什么_第10张图片

使用此方法添加完成后,点击单个节点configuration如下:

CANoe:.vmodule文件是什么_第11张图片

方式3: 通过DBC定义添加

如果DBC文件:

  • 是基于IL的DBC模板建立的
  • DBC中定义好了Network Node节点
  • 将DBC文件导入到Simulation Setup时,也把节点同步(Node Synchronization)导入了工程

CANoe:.vmodule文件是什么_第12张图片

 图2 基于IL新建DBC

CANoe:.vmodule文件是什么_第13张图片

图3 DBC中定义完善Network Node与Message Signal的收发关系

CANoe:.vmodule文件是什么_第14张图片

 图4 Node Synchronization

那么node节点不需要再通过上述两种方式添加IL配置,查看配置,可以发现已经具备了IL配置。

CANoe:.vmodule文件是什么_第15张图片

When 何时需要添加这个配置文件

这里所使用的配置文件是IL文件,IL文件是用于定义message、signal的发送方式的。

也就是说,如果需要使用DBC中所定义的信号发送方式来进行仿真或测试,那么就需要添加这个配置文件,

而如果不需要使用DBC中的定义,只是依靠手动发送,比如

  • 通过panel面板点击控制发送,
  • 通过IG节点发送
  • 通过CAPL编程发送

则不添加这个配置,也不会影响报文的收发。

END

你可能感兴趣的:(CANoe,CANoe,IL,vmodule,dll)