首页 > 其他分享 >干货分享 | 如何在TSMaster中对常用总线报文信号进行过滤?

干货分享 | 如何在TSMaster中对常用总线报文信号进行过滤?

时间:2023-12-19 16:07:01浏览次数:28  
标签:TSMaster 窗口 报文 干货 过滤 过滤器 可编程 ID

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

本文关键词:CANLINFlexRay,报文消息过滤


1、CAN报文消息过滤

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

1)全局接收过滤

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

干货分享 | 如何在TSMaster中对常用总线报文信号进行过滤?_字符串


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

干货分享 | 如何在TSMaster中对常用总线报文信号进行过滤?_字符串_02

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

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

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

干货分享 | 如何在TSMaster中对常用总线报文信号进行过滤?_标识符_03

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

3)报文ID过滤器

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

干货分享 | 如何在TSMaster中对常用总线报文信号进行过滤?_数据_04

4)字符串过滤(建议加载DBC数据库)

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

干货分享 | 如何在TSMaster中对常用总线报文信号进行过滤?_标识符_05


5)可编程过滤

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

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

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

干货分享 | 如何在TSMaster中对常用总线报文信号进行过滤?_标识符_06


干货分享 | 如何在TSMaster中对常用总线报文信号进行过滤?_标识符_07


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

干货分享 | 如何在TSMaster中对常用总线报文信号进行过滤?_字符串_08


干货分享 | 如何在TSMaster中对常用总线报文信号进行过滤?_数据_09


干货分享 | 如何在TSMaster中对常用总线报文信号进行过滤?_标识符_10


2、LIN报文消息过滤

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

1)数据流过滤

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

干货分享 | 如何在TSMaster中对常用总线报文信号进行过滤?_标识符_11


2)报文ID窗口过滤

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

干货分享 | 如何在TSMaster中对常用总线报文信号进行过滤?_数据_12


3)字符串过滤(建议加载DBC数据库)

字符串过滤的作用域也是报文信息中报文标识符、报文信息名称解析过后的报文名称、物理值(枚举值)

干货分享 | 如何在TSMaster中对常用总线报文信号进行过滤?_标识符_13


4)可编程过滤

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

干货分享 | 如何在TSMaster中对常用总线报文信号进行过滤?_标识符_14


干货分享 | 如何在TSMaster中对常用总线报文信号进行过滤?_字符串_15


3、FlexRay报文消息过滤

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

1)窗口过滤

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

干货分享 | 如何在TSMaster中对常用总线报文信号进行过滤?_标识符_16


2)字符串过滤

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

干货分享 | 如何在TSMaster中对常用总线报文信号进行过滤?_字符串_17


3)可编程过滤

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

干货分享 | 如何在TSMaster中对常用总线报文信号进行过滤?_数据_18


干货分享 | 如何在TSMaster中对常用总线报文信号进行过滤?_字符串_19



标签:TSMaster,窗口,报文,干货,过滤,过滤器,可编程,ID
From: https://blog.51cto.com/u_15714299/8890193

相关文章

  • 35. 干货系列从零用Rust编写负载均衡及代理,代理服务器的源码升级改造
    wmproxywmproxy已用Rust实现http/https代理,socks5代理,反向代理,静态文件服务器,四层TCP/UDP转发,七层负载均衡,内网穿透,后续将实现websocket代理等,会将实现过程分享出来,感兴趣的可以一起造个轮子项目地址国内:https://gitee.com/tickbh/wmproxygithub:https://github.com/......
  • #yyds干货盘点# LeetCode程序员面试金典:有序矩阵中第 K 小的元素
    题目给你一个nxn矩阵matrix,其中每行和每列元素均按升序排序,找到矩阵中第k小的元素。请注意,它是排序后的第k小元素,而不是第k个不同的元素。你必须找到一个内存复杂度优于O(n2)的解决方案。 示例1:输入:matrix=[[1,5,9],[10,11,13],[12,13,15]],k=8输......
  • 【干货】网络安全之URL过滤
    原创:厦门微思网络URL过滤是一种针对用户的URL请求进行上网控制的技术,通过允许或禁止用户访问某些网页资源,达到规范上网行为和降低安全风险的目的。URL过滤可以基于URL分类、特定URL等多种方式限制URL访问。URL过滤的主要作用如下:1、限制访问业务无关网站,提升企业工作效率、减少带宽......
  • #yyds干货盘点#在 React Router 中使用 JWT
    创建一个React项目使用下方的指令会为我们创建一个项目$npmcreatevite@latestreact-jwt-cn然后我们选择 react 和 javascript 作为我们的框架和语言。在项目开始之前,我们要确保所有的依赖都已经被安装,所以我们要先执行$npminstall安装完毕后,在项目的根目录下,我们可以运......
  • #yyds干货盘点# LeetCode程序员面试金典:组合总和 Ⅳ
    题目给你一个由不同整数组成的数组nums,和一个目标整数target。请你从nums中找出并返回总和为target的元素组合的个数。题目数据保证答案符合32位整数范围。 示例1:输入:nums=[1,2,3],target=4输出:7解释:所有可能的组合为:(1,1,1,1)(1,1,2)(1,2,1)......
  • #yyds干货盘点#Java面试题
    1、什么是Nginx?Nginx是一个web服务器和反向代理服务器,用于HTTP、HTTPS、SMTP、POP3和IMAP协议。2、请列举Nginx的一些特性。Nginx服务器的特性包括:反向代理/L7负载均衡器嵌入式Perl解释器动态二进制升级可用于重新编写URL,具有非常好的PCRE支持3、请解释N......
  • #yyds干货盘点# LeetCode程序员面试金典:最长特殊序列 II
    题目给定字符串列表strs,返回其中最长的特殊序列的长度。如果最长特殊序列不存在,返回-1。特殊序列定义如下:该序列为某字符串独有的子序列(即不能是其他字符串的子序列)。s的子序列可以通过删去字符串s中的某些字符实现。例如,"abc"是"aebdc"的子序列,因为您可以删除......
  • #yyds干货盘点#MongoDB 封装 CRUD 方法
    CRUD是指创建(Create)、读取(Read)、更新(Update)和删除(Delete)四种基本的数据处理操作。在软件开发中,CRUD方法通常用于对数据库或其他存储系统中的数据进行操作。具体来说,CRUD方法包括以下四种操作:创建(Create) :向数据库或其他存储系统中插入新数据。读取(Read) :从数据库或其他......
  • #yyds干货盘点#一文了解Redis常用命令
    本文包括Redis中常用的一些命令,包括针对所有的键相关的命令,以及5种常用数据类型:字符串、哈希、列表、集合以及有序集合的一些命令。鉴于个人水平有限,文章中若有不对之处,烦请大家留言指正。键相关查看所有的键keys会遍历所有的键,它的时间复杂度是O(n),因此当Redis保存了大量的键时,这......
  • 34. 干货系列从零用Rust编写负载均衡及代理,异步测试在Rust中的实现
    wmproxywmproxy已用Rust实现http/https代理,socks5代理,反向代理,静态文件服务器,四层TCP/UDP转发,七层负载均衡,内网穿透,后续将实现websocket代理等,会将实现过程分享出来,感兴趣的可以一起造个轮子项目地址国内:https://gitee.com/tickbh/wmproxygithub:https://github.com/......