干货分享 | TSMaster 中不同总线报文消息过滤的操作方式

TSMaster软件平台支持对不同总线(CAN、LIN、FlexRay)报文和信号的过滤,包括全局接收过滤、数据流过滤、窗口过滤、字符串过滤、可编程过滤,针对不同的总线信号过滤器的使用方法基本相同。今天重点和大家分享一下关于TSMaster中报文消息过滤的多种方式操作。

本文关键字:CAN、LIN、FlexRay、报文消息过滤

目录

Catalog

1.  CAN报文消息过滤

2.  LIN报文消息过滤

3.  FlexRay报文消息过滤

一、CAN报文消息过滤

在CAN报文信息中用到的过滤操作有以下几种:全局接收过滤、数据流过滤、窗口过滤、字符串过滤、可编程过滤;下面将对这几种过滤操作进行详细的讲解。

1、全局接收过滤

全局接收过滤是指在硬件控制器上完成过滤的设置,这种方式仅限支持同星的硬件及同星虚拟通道,其他厂家设备不支持。在操作之前需要将硬件通道选择同星的设备,这里以TC1016为例。

图片

▲ 图一

随后打开总线硬件-CAN硬件配置-过滤ID设置,如图二所示。在这里可以选择对标准帧和扩展帧进行过滤,默认是通过型过滤器,无法修改成阻止型过滤器。过滤条件是对报文ID的每个二进制位识别,每个位对应有三个设置符“0、1、x”,x表示该位可以为0也可以为1。如果只需要过滤一个ID也可以直接指定标识符,完成设置之后下方会显示可以通过的标识符列表,坐下方可以验证期望的标识符是否能通过这个过滤器。

图片

▲ 图二

2、数据流过滤(测量过滤器)

TSMaster软件有测量设置窗口,在这个窗口可以通过组合数据流方向,实现过滤的效果,同时支持在窗口前添加过滤器窗口。

其基本的思路为,数据流经过一个窗口,这个窗口内包含的数据才允许通过,其他数据不允许通过。如下图所示,在测量设置窗口当中将报文信息#2、测量过滤器、图形三个窗口进行拓扑连接,从报文信息窗口可以看到是有EngineData报文下EngSpeed这个信号,但是在图形窗口中是n.a.,表示无效。这是因为在测量设置中添加了个过滤器阻止了通道一的EngineData。

图片

▲ 图三

测量窗口的过滤器是在窗口单击任意窗口所选框右键选择插入过滤器,也可以直接在空白处选择添加然后拖动到另一窗口后面。双击即可打开插入的过滤器,在这里可以选择要过滤的通道,过滤条件这里支持任意报文、单个ID、ID范围、节点筛选、以及错误帧筛选,最后需要注意的是过滤器的类型可以选择通过型或阻止型。

3、报文ID过滤器

该过滤方式直接单击报文信息窗口的漏斗图标即可弹出配置窗口,适用于实时监听总线数据或者进行报文回放的时候操作,在这里支持报文ID过滤和通道过滤,需要注意左下角选择的是通过型还是阻止型。

图片

▲ 图四

4、字符串过滤

字符串过滤跟窗口过滤的使用场景相同,支持模糊查询,过滤的范围包含了报文信息中报文标识符、报文信息名称解析过后的报文名称、物理值(枚举值),解析报文则需要提前加载数据库并绑定相应的通道。这里建议加载DBC数据库。

图片

▲ 图五

5、可编程过滤

编程过滤器是过滤条件最齐全的一种,它过滤的条件包括了报文结构体的全部成员属性,具体可以从TSMaster头文件查看,包括报文帧类型、收发方向、DLC等等。

使用这个过滤器需要先点击报文信息窗口右上角的漏斗图标,选择激活过滤器,然后选择安装默认的过滤器库;安装完成之后会弹出默认库的C小程序,小程序可以看出,分别针对CAN、LIN、FlexRay、Ethernet创建了自定义函数来进行区分,其结构体定义都在TSMaster.h头文件中可以找到。

关键的一点是:return 0表示符合条件的报文是被阻止的,而返回非0则表示该报文是可以窗口通过的

图片

▲ 图六

图片

▲ 图七

以下是对通道一的报文进行通过型过滤的操作,编写完代码后需要编译小程序,最后在可编程过滤器中选择对应的API函数即可。

图片

▲ 图八

图片

▲ 图九

图片

▲ 图十

二、LIN报文消息过滤

LIN报文消息的过滤是有如下几种过滤操作方式。

1、数据流过滤

在测量设置中配置测量过滤器、LIN报文信息#2、图形三个窗口的拓扑,结果可以看到经过过滤器只有0x15的这帧报文通过到达了报文信息窗口,同时图形窗口的SteeringLampState信号值为n.a.无效值。从报文信息窗口可以看到原本的数据流是有这个信号数据的。

图片

▲ 图十一

2、报文ID窗口过滤

窗口过滤与前面不同的是,此处的通道过滤设置移到了过滤器设置窗口的右下角,在激活使能过滤器之后选择只显示通道1或者其他,就会立即生效;另外所增加的标识符的通道是跟右下角配置的通道对应上的,这点跟前面讲到CAN的窗口过滤有所不同。

图片

▲ 图十二

3、字符串过滤

字符串过滤的作用域也是报文信息中报文标识符、报文信息名称解析过后的报文名称、物理值(枚举值)。建议加载DBC数据库。

图片

▲ 图十三

4、可编程过滤

如下图,通过可编程过滤通过通道一且第一个报文数据字节为0x00的报文。

图片

▲ 图十四

图片

▲ 图十五

三、FlexRay报文消息过滤

FlexRay的报文消息过滤只有窗口过滤、字符串过滤和可编程过滤。

1、窗口过滤

FlexRay窗口过滤支持添加通道过滤和从数据库中添加对应的报文。

图片

▲ 图十六

2、字符串过滤

字符串过滤与CAN、LIN的使用相同,进行信号关键词的搜索。

图片

▲ 图十七

3、可编程过滤

可编程过滤也是通过对FR结构体成员进行条件判断来完成,以下以Slot Id为例,可以实现Slot id的范围过滤。

图片

▲ 图十八

图片

▲ 图十九

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构】线性表之《队列》超详细实现

队列 一.队列的概念及结构二.顺序队列与链队列1.顺序队列2.链队列 三.链队列的实现1.创建队列2.初始化队列3.入队4.出队5.获取队头元素6.获取队尾元素7.队列的大小8.队列的判空9.清空队列10.销毁队列 四.队列的盲区五.模块化源代码1.Queue.h2.Queue.c3.test.c 六.栈和队列必做O…

FlinkCDC介绍及使用

CDC简介 什么是CDC? cdc是Change Data Capture(变更数据获取)的简称。核心思想是,监测并捕获数据库的 变动(包括数据或数据表的插入,更新以及删除等),将这些变更按发生的顺序完整记录下来,写入到消息中间件以供其它服…

Flutter 像素编辑器#05 | 缩放与平移

theme: cyanosis 本系列,将通过 Flutter 实现一个全平台的像素编辑器应用。源码见开源项目 【pix_editor】。在前三篇中,我们已经完成了一个简易的图像编辑器,并且简单引入了图层的概念,支持切换图层显示不同的像素画面。 《Flutt…

【工具测评】ONLYOFFICE——你的下一款桌面编辑器

文章目录 前言一、安装1.1 跳转官网下载安装包1.2 安装步骤 二、功能介绍2.1 功能全面的 PDF 编辑器2.2 PDF 表单2.3 文本文档编辑器的更新2.4 电子表格编辑器的更新2.5 演示文稿编辑器有哪些更新2.6 所有编辑器中的改进内容2.7 从右至左显示 & 新的本地化选项2.8 可用性提…

基于Java超市库存管理系统设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码数据库🌟感兴趣的可以先收藏起来,还…

10.2 JavaEE——Spring MVC入门程序

要求在浏览器发起请求,由Spring MVC接收请求并响应,具体实现步骤如下。 一、创建项目 在IDEA中,创建一个名称为chapter10的Maven Web项目。 (一)手动设置webapp文件夹 1、单击IDEA工具栏中的File→“Project Structu…

学校校园考场电子钟,同步授时,助力考场公平公正-讯鹏科技

随着教育技术的不断发展,学校对于考场管理的需求也日益提高。传统的考场时钟往往存在时间误差、维护不便等问题,这在一定程度上影响了考试的公平性和公正性。为了解决这些问题,越来越多的学校开始引入考场电子钟,通过同步授时技术…

Nginx实现动静分离

目录 静态资源 动态资源 区别和应用场景 1. 准备环境 2. 配置代理 3. 静态资源主机配置 4. 动态资源主机配置 5. 访问静态和动态资源测试 测试1:访问静态资源 测试2:访问动态资源 动态资源和静态资源是在网络和Web开发中常用的两个概念&#…

「全新升级,性能更强大——ONLYOFFICE 桌面编辑器 8.1 深度评测」

文章目录 一、背景二、界面设计与用户体验三、主要新功能亮点3.1 高效协作处理3.2 共同编辑,毫无压力3.3 批注与提及3.4 追踪更改3.5 比较与合并3.6 管理版本历史 四、性能表现4.1 集成 AI 工具4.2 插件强化 五、用户反馈与使用案例 一、背景 Ascensio System SIA -…

48、基于深度学习的离群值输入向量(matlab)

1、基于深度学习的离群值输入向量原理及流程 基于深度学习的离群值检测的输入向量原理是通过神经网络模型对数据进行学习和表示,在该表示中探测异常样本。其流程大致如下: 数据预处理:将数据进行归一化处理,确保神经网络模型能够…

Java Scanner 类

Java Scanner 类 java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入。 下面是创建 Scanner 对象的基本语法: Scanner s new Scanner(System.in);接下来我们演示一个最简单的数据输入,并通过 Scanner 类的 nex…

如何评估LabVIEW需求中功能的必要性和可行性

评估LabVIEW需求中功能的必要性和可行性涉及多个方面的分析,包括需求的重要性、技术可行性、资源需求以及潜在风险。以下是一个详细的评估方法: ​ 一、功能必要性评估 需求来源和目的: 来源:需求来自哪里?是客户、市…

Windows系统下安装RabbitMQ详细步骤

声明:原文参考链接出自: 如何在Windows系统下安装RabbitMQ_rabbitmq windows安装-CSDN博客 https://zhuanlan.zhihu.com/p/693160757 一、RabbitMQ安装软件资源准备 因为RabbitMQ是Erlang语言开发的,因此安装Erlang环境在进行安装RbbitMQ的…

贺尔碧格流量阀比例放大器PSR2BE10P25、PSR2BE10P30、PSR2BE10P25

PSR2BE04N06、PSR2BE04P10、PSR2BE04P06、PSR2BE04N10、PSR2BE10N12、PSR2BE10P25、PSR2BE10P30、PSR2BE10P25、PSR3BE10N25、PSR3BE10P30、PSR3BE10P12贺尔碧格HOERBIGER液压比例流量阀由比例电磁铁和流量阀组合而成,利用输入的电信号来改变节流阀的开度&#xff0…

深入解析 iOS 应用启动过程:main() 函数前的四大步骤

深入解析 iOS 应用启动过程:main() 函数前的四大步骤 背景描述:使用 Objective-C 开发的 iOS 或者 MacOS 应用 在开发 iOS 应用时,我们通常会关注 main() 函数及其之后的执行逻辑,但在 main() 函数之前,系统已经为我们…

[Django学习]前端+后端两种方式处理图片流数据

方式1:数据库存放图片地址,图片存放在Django项目文件中 1.首先,我们现在models.py文件中定义模型来存放该图片数据,前端传来的数据都会存放在Django项目文件里的images文件夹下 from django.db import modelsclass Image(models.Model):title models.C…

SiLM5350系列SiLM5350SABCA-DG 10A30V提供分离输出 单通道隔离栅极驱动器

SiLM5350系列SiLM5350SABCA-DG是具体有10A峰值输出电流能力,单通道隔离式栅极驱动器。SiLM5350系列SiLM5350SABCA-DG提供分离输出,可分别控制上升和下降时间。驱动电源电压为4V至30V。3V至18V的宽输入VDDI范围使驱动器适合与模拟和数字控制器接口。所有电…

c++网络通信

TCP/IP协议 OSI参考模型采用分层划分原则,将网络中的数据传输划分为7层,其中,物理层居于最下层,是最基础、核心的网络硬件层;应用层居于最上层,负责应用资源的管理。每一层使用下层的服务,并向…

Python爬取中国福彩网彩票数据并以图表形式显示

网页分析 首先打开中国福彩网,点击双色球,选择往期开奖栏目 进入栏目后,选定往期的奖金数目作为我们想要爬取的目标内容 明确目标后,开始寻找数据所在的位置 鼠标右击页面,打开网页源代码,在源代码中搜索…

<Rust><iced>在iced中显示gif动态图片的一种方法

前言 本文是在rust的GUI库iced中在窗口显示动态图片GIF格式图片的一种方法。 环境配置 系统:window 平台:visual studio code 语言:rust 库:iced、image 概述 在iced中,提供了image部件,从理论上说&…