干货分享 | 如何在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、字符串过滤
字符串过滤的作用域也是报文信息中报文标识符、报文信息名称解析过后的报文名称、物理值(枚举值)。

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



三、FlexRay报文消息过滤
FlexRay的报文消息过滤只有窗口过滤、字符串过滤和可编程过滤。
1、窗口过滤
FlexRay窗口过滤支持添加通道过滤和从数据库中添加对应的报文。

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

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


相关文章:
干货分享 | 如何在TSMaster中对常用总线报文信号进行过滤?
TSMaster软件平台支持对不同总线(CAN、LIN、FlexRay)的报文和信号过滤,过滤方法一般有全局接收过滤、数据流过滤、窗口过滤、字符串过滤、可编程过滤,针对不同的总线信号过滤器的使用方法也基本相同。今天重点和大家分享一下关于T…...
k8s链接数据库故障Waiting for table metadata lock
场景:早上来发现一个程序,链接mysql数据库有点问题,随后排查,因为容器在k8s里面。所以尝试重启了pod没有效果 一、重启pod: 这里是几种在Kubernetes中重启Pod的方法: 删除Pod,利用Deployment重建 kubectl delete pod mypodDepl…...
数字经济如何驱动企业高质量发展? ——核心机制、模式选择与推进路径
文章目录 每日一句正能量前言核心机制信息化和智能化作为数字经济的核心机制信息化和智能化如何提升企业生产效率和管理水平数据的获取、分析和利用对企业发展的影响 模式选择电子商务模式的选择共享经济模式的选择数据驱动的业务模式选择 推进路径建设数字化基础设施培养数字化…...
机器学习——支持向量机
目录 一、基于最大间隔分隔数据 二、寻找最大间隔 1. 最大间隔 2. 拉格朗日乘子法 3. 对偶问题 三、SMO高效优化算法 四、软间隔 五、SMO算法实现 1. 简化版SMO算法 2. 完整版SMO算法 3. 可视化决策结果 六、核函数 1. 线性不可分——高维可分 2. 核函数 …...
mq的作用
使用mq优点 mq是一种常见的中间件,在项目中经常用到,它具有异步、解耦、削峰填谷的作用。 异步 比如下单流程,A服务—>B服务,总的耗时是A耗时时间B耗时时间,而改为A—>mq---->B后,A发送mq后立刻…...
AUTOSAR组织引入了Rust语言的原因是什么?有哪些好处?与C++相比它有什么优点?并推荐一些入门学习Rust语言链接等
AUTOSAR(汽车开放系统架构)是一个由汽车制造商、供应商和其他来自电子、半导体和软件行业的公司组成的全球发展伙伴关系,自2003年以来一直致力于为汽车行业开发和引入开放、标准化的软件平台。 AUTOSAR 最近宣布成立一个新的工作组,用于探索在汽车软件中使用 Rust 编程语言…...
基于PyCharm实现串口GUI编程
工具效果如下如所示 下面简单介绍一下操作流程 1.打开PyCharm软件 2.创建一个工程 3.给该工程命名 4.在main.py里面黏贴如下的代码 # This is a sample Python script. # Press ShiftF10 to execute it or replace it with your code. # Press Double Shift to search everyw…...
【1.8计算机组成与体系结构】磁盘管理
目录 1.磁盘基本结构与存取过程1.1 磁盘基本结构1.2 磁盘的存取过程 2.磁盘优化分布存储3.磁盘单缓冲区与双缓冲区4.磁盘移臂调度算法 1.磁盘基本结构与存取过程 1.1 磁盘基本结构 磁盘:柱面,磁道,扇区。 1.2 磁盘的存取过程 存取时间寻…...
1663:【 例 1】取石子游戏 1
【题目描述】 有一种有趣的游戏,玩法如下: 玩家: 2 人; 道具: N 颗石子; 规则: 1、游戏双方轮流取石子; 2、每人每次取走若干颗石子(最少取 1 颗,最多取…...
Django去访问web api接口Object of type Session is not JSON serializable
解决方案:settings.py中加入 :SESSION_SERIALIZER django.contrib.sessions.serializers.PickleSerializer 事由:Django去访问一个web api接口,两次连接之间需要通过Session()保持身份验证。 def sendCode(request): mobile jso…...
每日一题,二维平面
给你 二维 平面上两个 由直线构成且边与坐标轴平行/垂直 的矩形,请你计算并返回两个矩形覆盖的总面积。 每个矩形由其 左下 顶点和 右上 顶点坐标表示: 第一个矩形由其左下顶点 (ax1, ay1) 和右上顶点 (ax2, ay2) 定义。 第二个矩形由其左下顶点 (bx1, …...
【jupyter notebook】jupyter notebook 调用另一个jupyter notebook 的函数
总结 使用 %run 魔法命令将 Notebook 转换为py文件使用 nbimporter 库手动复制代码优点notebook最前面加上即可最基本方法就跟导入py文件一样,不会被执行一遍快缺点所有的代码都会执行一遍修改原文件就要重新转换,且 从自定义的 .py 文件中导入函数时&a…...
Linux--学习记录(3)
G重要编译参数 -g(GDB调试) -g选项告诉gcc产生能被GNU调试器GDB使用的调试信息,以调试程序编译带调试信息的可执行文件g -g hello.c -o hello编译过程: -E(预处理) g -E hello.c -o hello.i-S(编…...
自然语言处理阅读第一弹
Transformer架构 encoder和decoder区别 Embeddings from Language Model (ELMO) 一种基于上下文的预训练模型,用于生成具有语境的词向量。原理讲解ELMO中的几个问题 Bidirectional Encoder Representations from Transformers (BERT) BERT就是原生transformer中的Encoder两…...
Spring Boot+Mybatis设置sql日志打印
在全局配置文件添加以下内容:logging.level.com.demo.mapperdebug,com.demo.mapper:src下的mapper路径,debug:设置日志打印级别为debug,亦可设置为:ERROR、WARN、INFO application.properties …...
步进电机电流设置的3种方法
本文介绍步进电机电流设置的3种方法。 步进电机电流设置包括运行电流(IRun)和保持电流(IHold)2种。电机运行时需要有较大电流以保证有足够的力矩使物体运动,而停止的时候,为了减少电机发热及降低功耗&…...
uniapp-使用返回的base64转换成图片
在实际开发的时候 需要后端实时的给我返回二维码 他给我返回的是加密后的base64字符串 我需要利用这个base64转换到canvas画布上展示 或者以图片的形式展示在页面内 在canvas画布上展示 使用官方的uni.getFileSystemManager().writeFile()方法可将base64码转成的二维码显示在…...
有机面条市场分析:到2026 年的复合年增长率为 5.4%
近年来,有机面条因其健康益处和可持续性而广受欢迎。由于消费者对健康和天然食品的需求不断增加,预计 全球有机面条市场将继续以显着速度增长。特别是中国市场,由于健康意识的提高以及对有机和天然产品的兴趣 增加,有机面条消费量…...
广州设计周落幕|值得被歌颂的奥力斯特岩板
12月11日,一年一度的广州设计周,为期四天的展会在广州保利世贸博览馆、广州国际采购中心和南丰国际会展中心三大展馆已落下帷幕。依旧熙攘,依旧热烈,远道而来的专家领导、媒体嘉宾、展商代表、外国友人、设计爱好者,风…...
WTN6系列语音芯片:PWM与DAC音频输出在PCB设计中的优势
随着科技的飞速发展,语音芯片在电子产品中的应用越来越广泛。其中,唯创知音的WTN6系列语音芯片凭借其卓越的性能和多样的功能,受到了市场的热烈欢迎。特别是其支持PWM和DAC两种音频输出方式的特点,使得工程师在PCB设计时能够更加灵…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...
