新功能发布 | TSMaster重大更新,一文了解信号映射操作流程

本文主要是介绍新功能发布 | TSMaster重大更新,一文了解信号映射操作流程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

今天介绍TSMaster新功能—信号映射。这个功能在旧版本里,只能实现从CAN信号到系统变量的映射,软件更新以后可以支持系统变量反向映射到信号,甚至可以实现通过表达方式进行复杂的映射。

下面一起来看看信号映射功能具体的操作流程吧~

一、信号映射简介

Introduction to Signal Mapping /

映射就是CAN信号和系统变量的相互映射。

首先拖入一个dbc,这个dbc来自示例工程的数据库文件夹的第一个文件,随后用rbs引擎仿真一下engine节点,然后我们启动仿真,随即在trace窗口就可以看到仿真报文。

1、建立系统变量

> 如果希望建立一个系统变量来跟踪发动机转速信号,可以打开信号映射管理器。首先需要激活信号映射引擎,点击左上角,在数据库列表中输入engspeed,过滤出这个信号。

> 点击右键,自动创建信号的映射,这样系统首先就会创建一个同名的系统变量。

2、与CAN信号关联

> 打开图形窗口,将这个CAN信号和我们创建的系统变量同时拖入,就得到了两根曲线,设置一下Y轴的显示模式,然后再集体设置他们的显示范围,当前的映射类型是CAN信号到系统变量。

3、修改CAN信号

> 我们尝试修改发送的CAN信号,来观察系统变量的值会不会进行跟踪。打开总线仿真界面,首先找到发动机的转速,将其修改为1,000,那么系统变量也跟随到1,000;再修改为2,000,最后是3,000,可以看到图形窗口中的系统变量实时跟踪了CAN信号。

4、修改系统变量

> 接下来我们试一试反向映射,也就是修改系统变量,使发出的CAN信号来跟随。

> 打开信号映射管理器,选中刚才的映射条目,点击映射方向按钮,然后选择最后一个,也就是系统变量映射到CAN信号,点击确定。

> 为了验证这个功能,我们增加一个信号激励窗口,以对同名的系统变量产生激励。首先,添加这个发动机转速的系统变量到这个列表中,然后我们将其设置为正弦波激励,点击配置,将其幅值改为1,000,然后启动激励,随即我们可以看到发出的CAN信号,同样自动跟随了系统变量的变化。

二、正确使用表达式

Using Expressions Correctly/

我们如何使用表达式来映射具有数学关系的信号,甚至是带逻辑的信号呢?

例如我们可以构造一个信号:它等于发动机转速与发动机温度的乘积加123。

首先打开映射管理器,在空白处点击右键,添加系统变量,然后在选择变量的界面中再点击添加变量,将这个新变量设置为new,它的类型可以设置为double,然后我们选中这个新添的变量,点击确定。然后再在我们的列表中选中刚添加进来的这个信号,由于没有设置他的属性,因此这个信号暂时是无效的。

1、设置表达式映射

> 点击上方工具栏的按钮,会看到左侧的源信号变成了一个表格,可以在表格里编辑表格式,同时,表格中针对表达式的每一个自变量,分别关联其他的变量,那么自变量是以x来开头,后面跟数字来表示。例如我们可以设定x1表示发动机转速,x2表示发动机温度,那么发动机转速和温度的乘积加上123,表达式就可以写成x1*x2+123。

> 写好之后按回车,以确认表达式,随后需要点击表达式右侧的加减号来构造相同的自变量。在这里有x1和x2与表达式中的自变量进行对应。

> 接着,将x1与发动机转速的系统变量关联,点击右侧的箭头,选择系统变量,接着选中发动机转速的变量,点击确定。然后将x2与发动机温度的CAN信号关联,也是一样点击右侧的箭头,选择CAN信号。

> 接着选中发动机的温度,点击确定之后,我们就实现了表达式的设计,点击右上角的检查映射,就会提示映射合法。

2、实时信号曲线

> 接下来将这个变量添加到图形窗口一探究竟,可以看到,这个值固定是123,因为当前的发动机的温度是0,我们试着来到rbs窗口中,将温度改为5度、10度,以及20度,就可以看到经过表达式实时计算的信号曲线。

3、表达式映射的目标变量

> 回到rbs窗口,假设我们需要手动发送abs data这帧报文,并且让acceleration force 的值等于之前表达式的new这个变量的结果。那么首先可以取消这个报文的勾选,将其脱离rbs的引擎的掌控。

> 随后,我们打开一个报文发送窗口,添加abs data这帧报文,展开这帧报文,将 acceleration force的信号生成器设置为系统变量,点击配置,并将系统变量名称设置为new,点击应用。

> 随后我们启动信号生成器,然后再在图形窗口中添加这个CAN信号,然后我们要启动报文的发送,那么所发出的CAN信号的acceleration force的值就会等于我们的系统变量的值了。只不过这个值的范围的下限被-10000给限制,所以这个信号有了一些变形。

以上就是我们本章节为大家介绍的TSMaster的信号映射功能,让我么一起期待TSMaster更多的新功能。

这篇关于新功能发布 | TSMaster重大更新,一文了解信号映射操作流程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/409561

相关文章

基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,

springboot下载接口限速功能实现

《springboot下载接口限速功能实现》通过Redis统计并发数动态调整每个用户带宽,核心逻辑为每秒读取并发送限定数据量,防止单用户占用过多资源,确保整体下载均衡且高效,本文给大家介绍spring... 目录 一、整体目标 二、涉及的主要类/方法✅ 三、核心流程图解(简化) 四、关键代码详解1️⃣ 设置

一文深入详解Python的secrets模块

《一文深入详解Python的secrets模块》在构建涉及用户身份认证、权限管理、加密通信等系统时,开发者最不能忽视的一个问题就是“安全性”,Python在3.6版本中引入了专门面向安全用途的secr... 目录引言一、背景与动机:为什么需要 secrets 模块?二、secrets 模块的核心功能1. 基

一文详解MySQL如何设置自动备份任务

《一文详解MySQL如何设置自动备份任务》设置自动备份任务可以确保你的数据库定期备份,防止数据丢失,下面我们就来详细介绍一下如何使用Bash脚本和Cron任务在Linux系统上设置MySQL数据库的自... 目录1. 编写备份脚本1.1 创建并编辑备份脚本1.2 给予脚本执行权限2. 设置 Cron 任务2

SpringBoot整合Flowable实现工作流的详细流程

《SpringBoot整合Flowable实现工作流的详细流程》Flowable是一个使用Java编写的轻量级业务流程引擎,Flowable流程引擎可用于部署BPMN2.0流程定义,创建这些流程定义的... 目录1、流程引擎介绍2、创建项目3、画流程图4、开发接口4.1 Java 类梳理4.2 查看流程图4

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

苹果macOS 26 Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色

《苹果macOS26Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色》在整体系统设计方面,macOS26采用了全新的玻璃质感视觉风格,应用于Dock栏、应用图标以及桌面小部件等多个界面... 科技媒体 MACRumors 昨日(6 月 13 日)发布博文,报道称在 macOS 26 Tahoe 中

Java使用HttpClient实现图片下载与本地保存功能

《Java使用HttpClient实现图片下载与本地保存功能》在当今数字化时代,网络资源的获取与处理已成为软件开发中的常见需求,其中,图片作为网络上最常见的资源之一,其下载与保存功能在许多应用场景中都... 目录引言一、Apache HttpClient简介二、技术栈与环境准备三、实现图片下载与保存功能1.

SQL中JOIN操作的条件使用总结与实践

《SQL中JOIN操作的条件使用总结与实践》在SQL查询中,JOIN操作是多表关联的核心工具,本文将从原理,场景和最佳实践三个方面总结JOIN条件的使用规则,希望可以帮助开发者精准控制查询逻辑... 目录一、ON与WHERE的本质区别二、场景化条件使用规则三、最佳实践建议1.优先使用ON条件2.WHERE用

java Long 与long之间的转换流程

《javaLong与long之间的转换流程》Long类提供了一些方法,用于在long和其他数据类型(如String)之间进行转换,本文将详细介绍如何在Java中实现Long和long之间的转换,感... 目录概述流程步骤1:将long转换为Long对象步骤2:将Longhttp://www.cppcns.c