干货分享 | 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的范围过滤。

图片

▲ 图十八

图片

▲ 图十九

更多关于TSMaster干货内容可以关注公众号了解更多:

  • 16
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
本资源是TSMaster在2021-07-15发布的最新版 Release Note: [1] Mini program VC++ project can be generated directly in editor [2] MDI now supports colorful window title color 本软件安装后就不用再到网络上寻找升级包了,只要打开软件-帮助-更新,就可以自动在线更新,请勾选beta版本以享受超快功能推送,若有希望增加的功能请联系同星智能,我们承诺95%以上的核心功能都是永久免费!永久免费!永久免费! TSMaster 是同星智能推出的虚拟仪器软件平台,可连接、配置并控制所有的同星硬件工具、设备,实现汽车总线监控、仿真、诊断、标定、BootLoader、I/O 控制、测量测试、EOL等多种场合的功能需求。 永久免费,但性能堪比CANoe,CANape,首款同时支持TOSUN、Vector、PEAK、Intrepidcs、Kvaser、周立功硬件的软件产品,可与CarSim、Carla联合仿真,可直接编译Simulink生成的ECU代码做SIL仿真。 TSMaster 自带的小程序功能支持用户自定义仿真测试面板,测试流程,测试逻辑,甚至测试系统和报告自动化生成。 特性: CAN、LIN、CAN FD总线监控、仿真、测试; 报文信息,显示总线报文数据、帧率; 报文发送,可配置周期发送且连续变化的总线信号; 图形窗口,显示总线信号的变化曲线; 数据库管理,加载并解析DBC文件、LDF文件; 仿真功能,支持剩余总线仿真,以及任意逻辑模拟节点行为; 通道映射,支持用户自定义应用程序的逻辑通道进行联合仿真; 报文记录和回放功能,支持BLF格式的CAN、LIN、CANFD报文记录和回放, 记录文件大小没有限制; 测试系统,用户可以定义完整的测试系统,支持自动化测试和自动报告生成; 支持同星CAN/CAN FD/LIN/FastLIN系列硬件; 支持Vector、Kavaser、PEAK、Interpics等多家厂商CAN总线硬件; 支持报文监测,分析,仿真发送,图形界面Panel绘制等功能; 支持blf、asc格式数据记录和离线/在线回放; 内置脚本编辑,支持虚拟仿真、半实物仿真; 支持外部程序调用API接口。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TOSUN同星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值