首页 > 其他分享 >车载测试之-CANoe创建仿真工程

车载测试之-CANoe创建仿真工程

时间:2024-07-03 19:59:07浏览次数:25  
标签:仿真 sSwitch 单击 CANoe 创建 报文 车载

在现代汽车工业中,车载测试是确保车辆电子系统可靠性和功能性的关键环节。而使用CANoe创建仿真工程,不仅能够模拟真实的车辆环境,还能大大提升测试效率和准确性。那么,CANoe是如何实现这些的呢?

车载测试中,为什么选择使用CANoe创建仿真工程?它具备哪些独特的功能和优势,能够在复杂的车载系统测试中脱颖而出?

CANoe是由Vector Informatik公司开发的一款功能强大的仿真和测试工具,广泛应用于汽车电子系统的开发与测试。以下是CANoe在创建仿真工程中的几个关键优势

一、创建仿真工程

1、在某盘符下创建一个文件夹,命名为testpanel(自定义,与项目相关),在文件夹testpanel下面分别创建CANdb、Panels和Nodes文件目录

图片

2、打开CANoe,单击File→New,双击选择模板CAN 500kBaud 1ch,命名为testpanel.cfg,并保存到文件夹testpanel下

图片

 

二、添加CAN数据库

1、新建CAN数据库

(1)单击Tools功能区的CANdb++ Editor(CAN数据库编辑器)

(2)在CANdb++ Editor界面中单击File→Create database并选择CANoe Template.dbc作为模板

图片

(3)保存名字为testpanel.dbc到工程testpanel下面的文件夹CANdb中

图片

2、添加报文和信号

(1)在Messages下面创建一条报文Msg1,DLC更正为1

图片

(2)在Signals下面创建一个信号sSwitch

图片

(3)将信号sSwitch拖拽到报文Msg1下面

3、添加数据库到工程中

进入Simulation Setup窗口,单击Networks→CAN Networks→CAN→Databases,右键add,将testpanel.dbc文件加入仿真工程

图片

图片

 

三、定义系统变量

单击Environment→System Variables(系统变量)→鼠标右键new

创建一个系统变量svSwitch,设置最大值和最小值

图片

再创建一个系统变量svLight,设置最大值和最小值

四、创建面板

1、创建开关面板

(1)单击Tools→Panel Designer(面板设计器)

(2)新建一个Panel,命名为SWITCH,并保存在文件夹Panels下

(3)Panel Designer→Toolbox→Switch/Indicator

(4)Properties(属性)中设置相关参数

图片

图片

2、创建指示灯面板

创建开关面板

图片

图片

创建指示灯

(1)单击Tools→Panel Designer(面板设计器)

(2)新建一个Panel,命名为LIGHT,并保存在文件夹Panels下

(3)Panel Designer→Toolbox→LED Control

(4)Properties(属性)中设置相关参数

图片

图片

五、创建网络节点

1、添加网络节点

(1)在CAN1的连接线上右击,选择Insert Network Node,分别创建两个节点ECU1和ECU2

图片

(2)右击ECU1→Configuration→File,为该节点创建一个Switch.can文件,并将Title改为Switch

图片

(3)右击ECU2→Configuration→File,为该节点创建一个Light.can文件,并将Title改为Light

图片

2、添加CAPL代码

双击节点Switch或者点击节点上铅笔图样,进入CAPL Browser(CAPL浏览器),展示一个空白的CAPL模板

3、添加Switch代码

(1)单击CAPL Functions浏览框,拖拽Value Objects→On sysvar 到代码行,添加如下内容

on sysvar MyNamespace::svSwitch{

// 声明一个CAN报文变量,用于报文发送

message Msg1 msg;

// 读取当前的系统变量svSwich的值,并赋值给报文的信号sSwitch

msg.sSwitch = @this;

// 将报文输出到总线上

output(msg);

//在write窗口显示系统变量svSwitch

write("%d is switch", @this);

}

这段代码使得节点Switch根据系统变量svSwitch的变化,修改sSwitch信号值,并将更新的报文发送到总线上。

(2)单击Compile,完成编译,并退出CAPL Browser

4、添加Light代码

(1)单击CAPL Functions浏览框,拖拽CAN→On message 到代码行,添加如下内容

//以下为接收到Msg1报文的响应

on message Msg1

{

//将当前报文的信号sSwitch赋给系统变量svLight

@MyNameSpace::svLight = this.sSwitch;

}

这段代码将在Light节点中处理收到的CAN报文Msg1,根据报文中信号sSwitch修改系统变量svLight的值,从而实现LED指示灯的点亮或熄灭。

六、运行代码,实现仿真

点击Home界面最上角的start (闪电图标)按键,就可以执行整个的仿真工程此时点击开关按键,开关可以随着操作实现开关功效,同时LED灯也会根据开关进行灯亮或者灯灭的变化。

随着汽车智能化和电动化的发展,车载系统变得越来越复杂,对测试的要求也越来越高。使用CANoe进行仿真测试,能够在开发阶段提前发现和解决问题,降低后期修改成本,提升产品质量和安全性。这不仅符合汽车行业的趋势,也满足了消费者对高品质车辆的需求。

CANoe作为一款功能强大的车载系统仿真和测试工具,通过其多总线系统支持、强大的仿真能力和灵活的脚本编写,为车载测试提供了全面的解决方案。使用CANoe,开发者能够在虚拟环境中进行详细的测试和验证,确保车载系统的高效性和可靠性。

 

标签:仿真,sSwitch,单击,CANoe,创建,报文,车载
From: https://blog.csdn.net/m0_58552717/article/details/140159848

相关文章

  • CANoe创建仿真工程
    在现代汽车工业中,车载测试是确保车辆电子系统可靠性和功能性的关键环节。而使用CANoe创建仿真工程,不仅能够模拟真实的车辆环境,还能大大提升测试效率和准确性。那么,CANoe是如何实现这些的呢? 车载测试中,为什么选择使用CANoe创建仿真工程?它具备哪些独特的功能和优势,能够在复杂的......
  • 基于虚拟力优化的无线传感器网络覆盖率matlab仿真
    1.程序功能描述      基于虚拟力优化的无线传感器网络覆盖率,仿真输出优化前后的网络覆盖率,覆盖率优化收敛迭代曲线。 2.测试软件版本以及运行结果展示MATLAB2022a版本运行  3.核心程序 fort=1:Iter1Fsvh=sqrt(Fsh^2+Fsv^2);ifFsvh==0Pxy(i......
  • 基于VLC可见光通信的室内光通信信道信噪比分析matlab仿真
    1.算法运行效果图预览     2.算法运行软件版本matlab2022a 3.部分核心程序 Pr=POW_all.*H;%接收功率(毫瓦)POW_r=Pr./1000;%接收功率(瓦)Pr_dbm=10.*log10(POW_r);%接收功率(dBm)%信噪比(SNRIb=202e-6;%背景光子通......
  • 机械臂动力学参数辨识全过程仿真
    文章目录前言一、动力学建模1、MDH坐标系的建立2、动力学方程的建立3、代码二、动力学方程线性化1.惯性参数线性化2.代码三、DH法推导最小惯性参数集1、推导流程2、代码四、通过simulink进行参数辨识1、搭建simulink2、验证最小惯性参数集的正确性3、最小惯性参数集辨......
  • 无人机仿真,键盘操控无人机进行起飞,按键说明
    无人机仿真,键盘操控无人机进行起飞,按键说明w/x:向前增加/减少速度a/d:向左增加/减少方向(或侧移)i/,:增加/减少偏航(yaw,即绕垂直轴旋转的角度)r:返航(回到起飞点或预设的返航点)t/y:启动/停止动力系统(解锁/锁定电机,使无人机可以起飞或安全降落)v/n:起飞/降落b:切换到离机模式(Offboa......
  • 基于自适应波束成形算法的matlab性能仿真,对比SG和RLS两种方法
    1.程序功能描述基于自适应波束成形算法的matlab性能仿真,对比SG和RLS两种方法.            2.测试软件版本以及运行结果展示MATLAB2022a版本运行   3.核心程序forii=1:MTKLifSEL==1fori=1:length(r)......
  • ADS基础教程23 - 有限元电磁仿真(FEM)可视化操作
    EM介绍一、引言二、FEM可视化操作流程1.打开可视化界面2.查看介质的网格3.设置网格颜色4.选择网格5.传感器选择6.编辑传感器7.选择频率8.动画三、总结一、引言在ADS基础教程22中介绍了如何在ADS进行有限元电磁仿真(FEM),本文将继续介绍FEM的可视化操作。二、FEM可视......
  • 仿真数据管理与运维管理,驱动新型电力系统创新
    随着新型电力系统的快速发展,仿真技术在设计和测试的创新与电力系统的日常运行维护,变得越来越重要。管理由此产生的海量数据,确保其安全性、可用性并促进团队协作,成为了研发过程中的一大挑战。SDM仿真数据管理系统,专为新型电力系统研发设计,提供了一个全面的仿真数据管理解决方案,并与......
  • 【实际-有功-无功控制器的动态性能】【两级电压源变流器VSC】【采用电流控制的实际/无
     ......
  • 列车-轨道-桥梁交互仿真研究(Matlab代码实现)
      ......