在CANoe上制作面板控件,用于改变0x311报文的发送内容(车速值大小);该报文是ABS这个网络节点的发送报文,报文中的信号定义如下:
在控件属性的”Symbol Fliter”选择为”Signal”;在”Symbol”中选择具体要关联的报文信号(例子中即关联上0x311这个报文中表示车速值的信号;注意CANoe工程要先关联上DBC文件)。如下:
在CANoe工程的”Simulation Setup”界面,右击”Node”,选择”Insert Network Node”。如下:
3、将节点关联上DBC文件中的节点及添加dll文件。
右击我们前面创建的节点,选择”Configuration”,在”Common”界面下的”Network node”中设置其对应的是DBC文件中的哪个节点(例子中我们选择的是DBC中的ABS节点,注意CANoe工程中要先关联上DBC文件)。
在”Components”中添加来自C:Program FilesVector CANoe 9.0Exec32的CANoeILNLVector.dll(该路径是以Win7为例)
经过前面三个步骤,当我们运行工程时;ABS这个节点(我们在第3步选择关联的节点)上的发送报文就会自动按照其在DBC上定义的进行发送了;不需像接下来要介绍的那种方法再去通过CAPL编程去进行报文的发送操作。且其发送类型(周期/事件)、周期发送的时间等都完全由DBC文件中定义,即我们只需配置好DBC文件即可。此时,当我们通过控件改变关联上的报文信号时,则对应发送出来的报文也会跟着对应改变。
另外,若我们想要发送的报文处于多个DBC的节点中,则只需在”Simulation Setup”界面多创建几个网络节点(第2步的操作);再添加dll文件和对应关联上不同的DBC节点即可(第3步的操作)。
通过关联环境变量,当操作面板时对应改变该环境变量;再在CAPL编程中获取该环境变量值,赋给对应报文信号;再将报文发送出去。
通过”CANdb++ Editor”软件打开DBC文件,右击”Environment variables”进行环境变量的新建;对应输入环境变量名和数据类型;设置其范围、初始值。如下:
在控件属性的”Symbol Fliter”选择为” Environment variable”;在”Symbol”中选择具体要关联的环境变量。如下:
在CANoe工程的”Simulation Setup”界面,右击”Node”,选择”Insert Network Node”。如下:
在上一步新建的节点处,点击铅笔形状的图标;输入CAPL程序名字,保存为.can后缀文件。如下:
5、进行CAPL编程,进行环境变量的获取及报文发送工作
在上一步打开的CAPL编程界面,通过”@”调出我们第一步在DBC文件中定义的环境变量;将该环境变量的值赋给要对应的报文变量;并通过”output()”函数将该报文发送出去。对于报文的发送周期即是我们调用该函数的时间,一般是在CAPL程序中定义一个定时器事件来操作的。代码如下:
variables
{
msTimer Timer1;
}
on start
{
setTimer(Timer1,20);
}
on timer Timer1
{
setTimer(Timer1,20);
TxMsg_ABS1_ESP1();
}
void TxMsg_ABS1_ESP1(void)
{
message ABS1_ESP1 msg;
msg.ABS_ESP_VehicleSpeedVSOSig = (@VehicleSpdData)/0.05625;
msg.ABS_ESP_VehSOSigValidData = @VehicleSignelValid;
output(msg);
}
3、总结
当我们需要制作面板控件进行交互时(通过操作面板去改变报文的信号值);可以直接关联上要操作的报文信号值,但注意需在创建的节点处添加上”CANoeILNLVector.dll”这个文件;也可以通过创建环境变量,并通过CAPL编程去操作实现。但比较这两种方法,前者会方便得多,避免了在DBC上对环境变量的创建及CAPL的编程。
————————————————
版权声明:本文为CSDN博主「第55号小白鸭」的原创文章,遵循CC 4.0 BY-SA版权协议,本文已获作者转载权限。
推荐阅读
关于DTC诊断故障码的获取与清除
沃尔沃:敏捷开发中满足ISO26262的软件安全分析
近万字的NvM学习笔记
特斯拉最新的12V蓄电池有什么不同?
特斯拉最新中央计算模块(CCM)解析
关于对自动驾驶传感器的理解
特斯拉的电池管理系统 (BMS) 相比其他电动车有哪些优势?
2021款特斯拉Model Y ECU接口梳理
详解CANoe之CAPL编程
关于CAN时间同步的理解
dbc文件的格式以及创建详解
大众ID.4 X网络架构详解
学习笔记——NVM数据处理机制
学习笔记——AUTOSAR NVM基础知识
基于UDS的Bootloder详解
关于整车上下电流程的理解
一文详解CAN总线错误帧|附下载
DoIP协议介绍,资料分享!
详解车载网络 OTA系统的开发|文末附下载
一文了解汽车嵌入式AUTOSAR架构|附下载
特斯拉Autopilot系统安全研究|附dbc下载
原文始发于微信公众号(汽车ECU开发):CANoe工程通过控件改变报文信号值的两种方法