当前位置: 首页 > news >正文

CANOE入门到精通——CANOE系列教程记录1 第一个仿真工程

本系列以初学者角度记录学习CANOE,以《CANoe开发从入门到精通》参考学习,CANoe16 demo版就可以进行学习

概念

CANoe是一种用于开发、测试和分析汽车电子系统的软件工具。它通过在不同层次上模拟汽车电子系统中的不同部件,如ECU、总线和传感器,来评估系统的功能和性能。CANoe也提供了一个环境,用于实验室和车辆之间的交互操作和信息传输,以及对调试信息的记录和分析。
CANoe主要用于以下汽车电子系统的开发和测试:
1 通信系统:CAN、LIN、FlexRay、Ethernet等
2 电子控制单元(ECU) 开发与测试
3 传感器和执行器的功能开发与测试
4 汽车网络安全性开发
5 功能安全性开发
6 车载娱乐系统开发与测试
大部分围绕这三部分:分析 、仿真和诊断。
为什么需要CANoe呢?
CANoe是一种极其重要的汽车电子系统开发工具,因为它允许开发人员在车辆生产之前测试和评估电子系统,从而减少成本和时间,同时提高产品质量和安全性。CANoe还提供强大的数据记录和分析功能,使开发人员可以更快速和精确地识别和解决错误和故障。此外,CANoe还支持多种通信协议和硬件接口,使得开发人员可以灵活地适应不同的汽车电子系统。

软件安装

CANoe下载
在这里插入图片描述
进入注册后,邮箱会收到CANoe的下载链接和demo Lisence
在这里插入图片描述
1、解压安装

我安装时,系统出现 提示disablemsi is enabled。只需将DisableMSI的值设置为 0 即可完成。

解决方法

2、注意安装路径默认是C盘
3、安装Activation key,vector已经通过邮箱发送给你。

创建第一个仿真工程

完成功能:使用一个开关按钮控制LED亮灭。
双击打开
在这里插入图片描述
在这里插入图片描述

1、创建单通道CAN总线仿真工程

在这里插入图片描述
出现界面
在这里插入图片描述
ctrl+S 保存,在一个文件夹FirstDemo,工程名:FirstDemo.cfg

在这里插入图片描述

2、新建CAN数据库

单击点击 Tools
在这里插入图片描述
弹出
在这里插入图片描述

2.1 添加报文

创建Database,并命名:FirstDemo.dbc,保存前面说的文件夹中
在这里插入图片描述
在这里插入图片描述
添加报文message
在这里插入图片描述
在这里插入图片描述

2.2添加信号

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
创建message和signals后,将signals下的bsSwitch拖到Msg1中
在这里插入图片描述
以上数据库已经创建完成。

2.3将Database add project 中

右键 将FirstDemo.dbc
在这里插入图片描述

3、定义系统变量

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
创建两个环境变量(按钮开关状态和灯状态),环境变量的Namespace都为MyNamespace下。

4、创建仿真面板,panel

两个仿真面板:按钮和LED,模拟实物。

4.1 创建 light panel

在这里插入图片描述
LIGHT panel,保存到工程
在这里插入图片描述

在toolbox,找到LED Contrl 拖到编辑框中
在这里插入图片描述
对象说明
在这里插入图片描述

点击LED 配置LED属性
在这里插入图片描述
关于配置 Symbol
以拖拽形式进行配置
在这里插入图片描述

如果没有系统变量
在这里插入图片描述

4.2创建 switch panel

在这里插入图片描述

同样的方法创建 SWITCH panel
在这里插入图片描述

在这里插入图片描述

5、创建网络节点

右键点击 CAN总线
在这里插入图片描述
Insert Network Node,插入两个网络节点。

5.1 设置网络节点,

在这里插入图片描述
修改Tile
在这里插入图片描述

在这里插入图片描述

5.2 添加 CAPL 程序

双击ECU,为SWITCH和LIGHT ECU创建CAPL程序。
在这里插入图片描述

在这里插入图片描述
代码:

//Switch.can
/*@!Encoding:936*/
on sysvar sysvar::MyNamespace::svSwitch
{message Msg1 msg;msg.bsSwitch = sysGetVariableInt(sysvar::MyNamespace::svSwitch);output(msg);
}//Light.can
/*@!Encoding:936*/on preStart
{write("关注 小昭debug");
}
on message Msg1
{SysSetVariableInt(sysvar::MyNamespace::svLight,this.bsSwitch);
}

compile

在这里插入图片描述

6 工程运行仿真

在这里插入图片描述
显示Trace
在这里插入图片描述

右键打开按钮,灯亮,Trace显示报文信息。
在这里插入图片描述
待更新,敬请期待。

相关文章:

CANOE入门到精通——CANOE系列教程记录1 第一个仿真工程

本系列以初学者角度记录学习CANOE,以《CANoe开发从入门到精通》参考学习,CANoe16 demo版就可以进行学习 概念 CANoe是一种用于开发、测试和分析汽车电子系统的软件工具。它通过在不同层次上模拟汽车电子系统中的不同部件,如ECU、总线和传感…...

JavaEE——单例模式

文章目录 一、介绍什么是单例模式二、饿汉模式三、懒汉模式四、讨论两种模式的线程安全问题 一、介绍什么是单例模式 在介绍单例模式之前,我们得先明确一个名词设计模式。 所谓设计模式其实不难理解,就是在计算机这个圈子中,呢些大佬们为了…...

关于数据倾斜

1、数据倾斜表现 1.1 hadoop中的数据倾斜表现 有一个多几个Reduce卡住,卡在99.99%,一直不能结束。各种container报错OOM异常的Reducer读写的数据量极大,至少远远超过其它正常的Reducer伴随着数据倾斜,会出现任务被kill等各种诡异…...

Shell第一次作业

要求: 1、判断当前磁盘剩余空间是否有20G,如果小于20G,则将报警邮件发送给管理员,每天检查一次磁盘剩余空间。 ​2、判断web服务是否运行(1、查看进程的方式判断该程序是否运行,2、通过查看端口的方式判断…...

实例解读nn.AdaptiveAvgPool2d((1, 1))

nn.AdaptiveAvgPool2d((1, 1))在PyTorch中创建一个AdaptiveAvgPool2d类的实例。该类在输入张量上执行2D自适应平均池化。 自适应平均池化是一种池化操作,它计算每个输入子区域的平均值并产生一个指定大小的输出张量。子区域的大小是根据输入张量的大小和输出张量的…...

泛型编程 之模板(template)

C另一种编程思想称为 泛型编程,主要利用的技术就是模板 目录 C另一种编程思想称为 泛型编程,主要利用的技术就是模板 一、概念 二、函数模板 1、语法与使用: 2、函数模板注意事项 3、普通函数与函数模板的区别 4、普通函数与函数模板的调用规…...

用ChatGPT问DotNet的相关问题,发现DotNet工程师的前景还不错

本人最近费了九牛二虎之力注册了一个ChatGPT账号,现在就给大家分享一下,问一下关于.NET的问题,看看ChatGPT的AI功能具体如何? 一、C#跟其它语言比较的优势 回答: C#是一门编程语言,它是为 Microsoft 的 …...

LeetCode_字符串_简单_415.字符串相加

目录 1.题目2.思路3.代码实现(Java) 1.题目 给定两个字符串形式的非负整数 num1 和num2,计算它们的和并同样以字符串形式返回。 你不能使用任何內建的用于处理大整数的库(比如 BigInteger), 也不能直接将…...

Insix:面向真实的生成数据增强,用于Nuclei实例分割

文章目录 InsMix: Towards Realistic Generative Data Augmentation for Nuclei Instance Segmentation摘要本文方法数据增强方法具有形态学约束的前景增强提高鲁棒性的背景扰动 实验结果 InsMix: Towards Realistic Generative Data Augmentation for Nuclei Instance Segment…...

CleanMyMac X4.13.2最新版下载

现在cleanmymac x4.13.2中文版是大家首选的优秀mac清理软件。CleanMyMac集合了多种功能,几乎可以满足用户所有的清洁需求。它不仅包含各种清理功能,还具有卸载、维护、扩展、碎纸机等实用功能,可同时替代多种工具。它可以清理、优化、维护和监…...

机器学习算法原理:详细介绍各种机器学习算法的原理、优缺点和适用场景

目录 引言 二、线性回归 三、逻辑回归 四、支持向量机 五、决策树 六、随机森林 七、K-均值聚类 八、主成分分析(PCA) 九、K近邻算法 十、朴素贝叶斯分类器 十一、神经网络 十二、AdaBoost 十三、梯度提升树(Gradient Boosting T…...

Spring Security 6.0系列【32】授权服务器篇之默认过滤器

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 3.0.4 本系列Spring Security 版本 6.0.2 本系列Spring Authorization Server 版本 1.0.2 源码地址:https://gitee.com/pearl-organization/study-spring-security-demo 文章目录 前言1. OAuth2Authorizati…...

.NET中比肩System.Text.Json序列化反序列化组件MessagePack

简介 官方定义:MessagePack是一种高效的二进制序列化格式。它允许您像JSON一样在多个语言之间交换数据。但是它更快并且更小。 MessagePack是一种开源的序列化反序列化组件,可支持JAVA,C#等主流语言。在 C# 中使用 MessagePack&#xff0c…...

Oracle删除列操作:逻辑删除和物理删除

概念 逻辑删除:逻辑删除并不是真正的删除,而是将表中列所对应的状态字段(status)做修改操作,实际上并未删除目标列数据或恢复这些列占用的磁盘空间。比如0是未删除,1是删除。在逻辑上数据是被删除了&#…...

找出字符串中第一个匹配项的下标、求解方程----2023/5/2

找出字符串中第一个匹配项的下标、求解方程----2023/5/2 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1…...

23:宁以non-member、non-friend替换member函数

想象有个class用来表示网页浏览器。这样的class可能提供的众多函数中,有一些用来清除下载元素高速缓存区、清除访问过的URLs的历史记录、以及移除系统中的所有cookies: class WebBrowser{ public:void clearCache();void clearHistory();void removeCoo…...

Centos7安装Redis

一、安装gcc依赖 由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装 [rootlocalhost local]# yum install -y gcc 二、下载并解压安装包 [rootlocalhost l…...

Android 项目必备(四十五)-->2023 年如何构建 Android 应用程序

Android 是什么 Android 是一种基于 Linux 内核并由 Google 开发的开源操作系统。它用于各种设备包括智能手机、平板电脑、电视和智能手表。 目前,Android 是世界上移动设备使用最多的操作系统; 根据 statcounter 的一份最近 12 个月的样本报告;Android 的市场份额…...

改进YOLOv5: | 涨点神器 | 即插即用| ICLR 2022!Intel提出ODConv:即插即用的动态卷积

OMNI-DIMENSIONAL DYNAMIC CONVOLUTION ODConv实验核心代码ODConv代码yaml文件运行:论文链接: https://openreview.net/forum?id=DmpCfq6Mg39 本文介绍了一篇动态卷积的工作:ODConv,其通过并行策略采用多维注意力机制沿核空间的四个维度学习互补性注意力。作为一种“即插…...

( 数组和矩阵) 485. 最大连续 1 的个数 ——【Leetcode每日一题】

❓485. 最大连续 1 的个数 难度:简单 给定一个二进制数组 nums , 计算其中最大连续 1 的个数。 示例 1: 输入:nums [1,1,0,1,1,1] 输出:3 解释:开头的两位和最后的三位都是连续 1 ,所以最大…...

【Feign】⭐️ 混合编码实战:SpringFormEncoder 同时支持 MultipartFile 与 @RequestBody 参数传递

1. 混合编码场景下的Feign实战痛点 最近在重构微服务项目时,遇到个特别典型的场景:服务A需要调用服务B的接口,其中有些接口要上传Excel文件(MultipartFile类型),另一些接口又要传递复杂的JSON对象&#xf…...

Ceph存储集群搭建:如何选择RAID卡模式(HBA vs IT vs non-RAID)

Ceph存储集群搭建:RAID卡模式选择与性能优化实战指南 在构建企业级Ceph存储集群时,硬件配置的每一个细节都可能成为性能瓶颈或稳定性隐患。其中,RAID控制器的工作模式选择——HBA、IT与non-RAID之间的差异,往往被许多初次部署Ceph…...

AI写专著必备攻略:专业工具推荐,轻松开启学术专著创作之旅

学术专著写作困境与AI工具解决方案 学术专著的严谨性,离不开大量资料和数据的支持。资料的搜集和数据整合,往往是写作过程中最为繁琐和耗时的环节。研究者必须全面检索国内外的前沿文献,以确保这些文献的权威性和相关性,同时还要…...

优化算法中的‘0.618’魔法:黄金分割法为何是工程优化的首选入门工具?

黄金分割法:从古希腊美学到现代工程优化的优雅解决方案 在工程优化领域,算法选择往往让初学者感到困惑。面对梯度下降、牛顿法等复杂方法,有一种源自公元前300年的数学比例——黄金分割比(0.618),却成为了…...

FlexASIO:打破专业音频门槛,让普通设备也能拥有专业级ASIO体验

FlexASIO:打破专业音频门槛,让普通设备也能拥有专业级ASIO体验 【免费下载链接】FlexASIO A flexible universal ASIO driver that uses the PortAudio sound I/O library. Supports WASAPI (shared and exclusive), KS, DirectSound and MME. 项目地址…...

35AE92 GJR5137200R0005电子模块

35AE92 GJR5137200R0005 电子模块是一款工业控制系统用的电子控制模块,通常用于西门子或ABB等自动化设备中,承担信号处理、控制逻辑执行及系统接口功能。开头:35AE92 GJR5137200R0005电子模块是工业自动化控制系统的重要组成部分,…...

Ostrakon-VL终端实战:从扫码识别到生成抖音短视频脚本的创意延伸

Ostrakon-VL终端实战:从扫码识别到生成抖音短视频脚本的创意延伸 1. 像素特工终端介绍 想象你是一名零售侦探,手持的不是笨重的扫描枪,而是一个充满复古游戏风格的AI终端。这就是基于Ostrakon-VL-8B模型开发的像素风格交互界面,…...

京东抢购自动化全攻略:从入门到精通的技术实践指南

京东抢购自动化全攻略:从入门到精通的技术实践指南 【免费下载链接】JDspyder 京东预约&抢购脚本,可以自定义商品链接 项目地址: https://gitcode.com/gh_mirrors/jd/JDspyder 30秒快速评估:你是否需要JDspyder? 在决…...

USB251xB集线器I²C控制库:嵌入式USB设备扩展实战指南

1. 项目概述SparkFun USB Hub Qwiic USB251x 是一款面向嵌入式原型开发与量产过渡阶段的轻量级 USB 2.0 集线器控制库,专为 SparkFun 自研的 Qwiic 兼容 USB251xB 系列 Hub 模块(SPX-18014)设计。该库并非通用 USB 协议栈,而是聚焦…...

三步掌握开源资源处理工具:让RPG Maker MV资源处理效率提升90%

三步掌握开源资源处理工具:让RPG Maker MV资源处理效率提升90% 【免费下载链接】RPG-Maker-MV-Decrypter You can decrypt RPG-Maker-MV Resource Files with this project ~ If you dont wanna download it, you can use the Script on my HP: 项目地址: https:/…...