CANoe控件改变信号值

本文介绍了如何在CANoe中通过面板控件操作DBC定义的ABS节点报文,以及利用环境变量和CAPL编程实现报文周期性发送的方法,强调了DBC配置的重要性。
摘要由CSDN通过智能技术生成

目的

        在CANoe上制作面板控件,用于改变0x311报文的发送内容(车速值大小);该报文是ABS这个网络节点的发送报文,报文中的信号定义如下:


直接将面板控件关联上DBC中的报文信号
       

1、创建控件,并将控件关联上要操作的报文信号。
       

在控件属性的”Symbol Fliter”选择为”Signal”;在”Symbol”中选择具体要关联的报文信号(例子中即关联上0x311这个报文中表示车速值的信号;注意CANoe工程要先关联上DBC文件)。如下:

2、创建节点

在CANoe工程的”Simulation Setup”界面,右击”Node”,选择”Insert Network Node”。如下:

3、将节点关联上DBC文件中的节点及添加dll文件。

右击我们前面创建的节点,选择”Configuration”,在”Common”界面下的”Network node”中设置其对应的是DBC文件中的哪个节点(例子中我们选择的是DBC中的ABS节点,注意CANoe工程中要先关联上DBC文件)。

在”Components”中添加来自C:\Program Files\Vector CANoe 12.0\Exec32的CANoeILNLVector.dll

     经过前面三个步骤,当我们运行工程时;ABS这个节点(我们在第3步选择关联的节点)上的发送报文就会自动按照其在DBC上定义的进行发送了;不需像接下来要介绍的那种方法再去通过CAPL编程去进行报文的发送操作。且其发送类型(周期/事件)、周期发送的时间等都完全由DBC文件中定义,即我们只需配置好DBC文件即可。此时,当我们通过控件改变关联上的报文信号时,则对应发送出来的报文也会跟着对应改变。
        另外,若我们想要发送的报文处于多个DBC的节点中,则只需在”Simulation Setup”界面多创建几个网络节点(第2步的操作);再添加dll文件和对应关联上不同的DBC节点即可(第3步的操作)。
        

利用环境变量和CAPL编程完成
       

通过关联环境变量,当操作面板时对应改变该环境变量;再在CAPL编程中获取该环境变量值,赋给对应报文信号;再将报文发送出去。


1、在DBC文件上创建要用于关联的环境变量。
       

通过”CANdb++ Editor”软件打开DBC文件,右击”Environment variables”进行环境变量的新建;对应输入环境变量名和数据类型;设置其范围、初始值。如下:

2、创建控件,并将控件关联上要操作的环境变量。
        

在控件属性的”Symbol Fliter”选择为” Environment variable”;在”Symbol”中选择具体要关联的环境变量。如下:

3、创建节点
        

在CANoe工程的”Simulation Setup”界面,右击”Node”,选择”Insert Network Node”。如下:

 4、在节点上新建CAPL工程
        

在上一步新建的节点处,点击铅笔形状的图标;输入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)   /*车速信息发送,0x311,20ms周期*/
{
	  message ABS1_ESP1 msg;
      msg.ABS_ESP_VehicleSpeedVSOSig = (@VehicleSpdData)/0.05625;
      msg.ABS_ESP_VehSOSigValidData = @VehicleSignelValid;  
      output(msg);
}


————————————————
版权声明:本文为CSDN博主「第55号小白鸭」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44536482/article/details/97956621

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值