CANoe入门(四) :全真实节点阶段和真实节点和部分仿真节点共存阶段,读取和模拟数据

本文主要是介绍CANoe入门(四) :全真实节点阶段和真实节点和部分仿真节点共存阶段,读取和模拟数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 前言

前篇文章我们在CANoe全仿真阶段,模拟数据和信号。这篇文章,我们来看下全真实节点阶段和真实节点和部分仿真节点共存阶段,怎么读取数据信号,和模拟发送数据信号。

2. 全真实节点阶段

全真实节点阶段,所有的 ECU 都是真实的,也就是要去实车上。

这时CANoe 主要用于监测和分析总线通信。可以在出现问题时读取信号,进行故障诊断和排除。

2.1 新建项目

新建一个CANoe FlexRay 总线的项目,此时,使用的是Real Bus

在这里插入图片描述

同样,要导入XXXXXXX.xml这个数据库

2.2 查看接哪个接口

点击Hardware > Network Haardware > Diver,可以查看设备信息

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

我们可以看到这个CANoe设备

  • FlexRay 的通道是Channel 1,对应FRpiggyC 1082cap
  • CAN的通道是Channel 2Channel 3,对应CANpiggy 1057Gcap [Highspeed)
  • LIN的通道是Channel 4,对应LINpiggy 7269mag

我们这里要接的是FlexRay,所以接的是CH1

在这里插入图片描述
车上的FlexRay口和Canoe CH1口连接好后,就可以运行项目了

2.3 运行项目

运行项目,可以在Trace窗口中看到好多报文了
在这里插入图片描述

2.4 查找HmiXXXXXXXX信号

接着,查找HmiXXXXXXXX信号 (风量等级信号) ,可以看到目前的风量等级是9
在这里插入图片描述

2.5 添加到Graphics窗口中

HmiXXXXXXXX信号添加到Graphics窗口中,并在车机DHU上,操作空调分量,可以发现都,Graphics窗口HmiXXXXXXXX信号也随之发生改变
在这里插入图片描述

2.6 导出日志

Trace窗口中,我们可以右击,选择Export,导出日志。这会导出一个.blf格式的日志文件。

在这里插入图片描述

2.7 注意点

全仿真阶段,无法模拟修改某个信号值,因为所有ECU都是真实的,如果我们去模拟一个信号,会导致冲突。

3. 真实节点和部分仿真节点共存阶段

真实节点和部分仿真节点共存阶段,部分 ECU 是真实的,而其他 ECU 则是通过 CANoe 进行仿真。这种混合模式可以更真实地模拟实际系统的行为,同时也可以对真实 ECU 进行测试和验证。

3.1 拆除实车ECU来实现

我们可以通过拆除实车的某个ECU,然后来实现模拟该ECU的功能。

3.2 直接接入某个ECU

可以直接将某个单独的ECU接入到CANoe设备中,然后单独发信号来控制这个ECU

这涉及到CANoe IG功能,这个功能可以实现发送自定义的报文或者是数据库里的报文,到总线上来。

3.2.1 添加CAN IG模块

通过总线处右击选择 Insert CAN Interactive Generator,添加CANoe IG模块
在这里插入图片描述

3.2.2 发送自定义报文

点击Add CAN Frame : 报文的发送列表中,就出现一栏报文配置行,我们需要设置CAN报文的几个关键属性,包括报文的ID、发送通道、数据类型、DLC长度,然后运行项目后就可以点击在这里插入图片描述Send按钮了

在这里插入图片描述

4. CAPL

CAPLCANoe软件自有的一种类C的编程语言,封装有丰富的函数库,能够很好的帮助使用者实现CANoe的仿真和测试功能,CAPL脚本需要和软件中的节点关联在一起。

CANoe启动时,CAPL中的程序才能伴随工程的运行工作。

使用CANoe的仿真和测量功能时,可以在两个地方添加与CAPL脚本关联的节点。

4.1 方式1

Simulation setup窗口中的网络拓扑图内,我们可以通过右击新建一个网络节点 Insert Network Node,然后右击节点,选择配置选项。

在这里插入图片描述

在打开的节点配置选项里,我们可以配置与节点关联的CAPL文件。

在这里插入图片描述

点击File,打开选择现有的CAPL文件,或者创建一个新的CAPL文件。

4.2 方式2

我们在分析窗口的左侧,右击蓝色方块,然后选择添加一个编程节点 Insert Program Node

同样的,我们对这个编程节点做配置,右击节点,选择Configuration

在这里插入图片描述

在配置中选择或创建CAPL文件,进行关联。

4.3 编写CAPL代码

创建好CAPL节点后,接下来就是对CAPL节点的访问和编辑工作。

我们可以直接双击CAPL节点,打开CAPL文件,进行代码的编写。

4.3.1 CAPL语法
  • 类似于C语言的过程性语言,又相比于C语言较为简单,非常容易上手和熟悉
  • CAPL程序的开发和编辑工作,在CAPL Browser中进行的
    • CAPL Broser是CANoe自带的开发环境,可以从工程直接进入访问
  • 作为CANoe自带的编程语言,可以更容易地访问CANoe工程中的数据
    • 包括数据库中的报文,信号以及系统变量等等
  • 此外,CAPL还支持CANoe预定义的一些函数
  • CAPL程序的执行,是由事件控制的 (Event driven)
    • 运行过程中,CAPL程序由事件触发,从进行执行
4.3.2 CAPL的操作
  • Event : 当事件触发的时候
  • Send Message : 发送消息
  • Access Signal : 当信号改变的时候 / 当信号发送到总线时

5. CANoe入门系列

CANoe入门(一) :相关概念知识
CANoe入门(二) :CANoe环境搭建
CANoe入门(三) :CANoe全仿真阶段,模拟数据和信号
CANoe入门(四) :CANoe入门(四) : 全真实节点阶段和真实节点和部分仿真节点共存阶段,读取和模拟数据

这篇关于CANoe入门(四) :全真实节点阶段和真实节点和部分仿真节点共存阶段,读取和模拟数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1121099

相关文章

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

MySQL大表数据的分区与分库分表的实现

《MySQL大表数据的分区与分库分表的实现》数据库的分区和分库分表是两种常用的技术方案,本文主要介绍了MySQL大表数据的分区与分库分表的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. mysql大表数据的分区1.1 什么是分区?1.2 分区的类型1.3 分区的优点1.4 分

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Redis 中的热点键和数据倾斜示例详解

《Redis中的热点键和数据倾斜示例详解》热点键是指在Redis中被频繁访问的特定键,这些键由于其高访问频率,可能导致Redis服务器的性能问题,尤其是在高并发场景下,本文给大家介绍Redis中的热... 目录Redis 中的热点键和数据倾斜热点键(Hot Key)定义特点应对策略示例数据倾斜(Data S

Python实现将MySQL中所有表的数据都导出为CSV文件并压缩

《Python实现将MySQL中所有表的数据都导出为CSV文件并压缩》这篇文章主要为大家详细介绍了如何使用Python将MySQL数据库中所有表的数据都导出为CSV文件到一个目录,并压缩为zip文件到... python将mysql数据库中所有表的数据都导出为CSV文件到一个目录,并压缩为zip文件到另一个

SpringBoot整合jasypt实现重要数据加密

《SpringBoot整合jasypt实现重要数据加密》Jasypt是一个专注于简化Java加密操作的开源工具,:本文主要介绍详细介绍了如何使用jasypt实现重要数据加密,感兴趣的小伙伴可... 目录jasypt简介 jasypt的优点SpringBoot使用jasypt创建mapper接口配置文件加密

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解

解决Java中基于GeoTools的Shapefile读取乱码的问题

《解决Java中基于GeoTools的Shapefile读取乱码的问题》本文主要讨论了在使用Java编程语言进行地理信息数据解析时遇到的Shapefile属性信息乱码问题,以及根据不同的编码设置进行属... 目录前言1、Shapefile属性字段编码的情况:一、Shp文件常见的字符集编码1、System编码

Oracle存储过程里操作BLOB的字节数据的办法

《Oracle存储过程里操作BLOB的字节数据的办法》该篇文章介绍了如何在Oracle存储过程中操作BLOB的字节数据,作者研究了如何获取BLOB的字节长度、如何使用DBMS_LOB包进行BLOB操作... 目录一、缘由二、办法2.1 基本操作2.2 DBMS_LOB包2.3 字节级操作与RAW数据类型2.