【巧用TS MASTER C语言小程序 过滤并回放指定报文】

应用场景

我们使用CAN设备在整车上录取的报文可能包含所有的应用报文、网管报文、诊断请求和回复报文,但是如果复现问题想要回放指定的报文该怎么办?比如要想回放上位机发送的诊断请求报文,肯定是不希望有诊断回复报文掺杂在回放列表里,那么可使用TS MASTER 软件按照如下步骤操作:

假设
诊断请求报文ID :0x72C
诊断响应报文ID :0x73C

操作目的:从整车报文中过滤出诊断请求报文(ID:0x72C)并在线回放

操作步骤

1.取消所有过滤,将实车录取的报文文件(.asc或.blf)拖入TS MASTER中先离线回放一遍
在这里插入图片描述

2.增加过滤ID,这里有两种方式

①从报文列表中检索,选中0x72C这一帧,右键然后点击“阻止所选报文”,然后点击漏斗图标修改配置,把“阻止”改为“通过”
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
②直接进入“过滤字符串”添加过滤报文,先将过滤器使能,然后单击右键,接着选择“添加原始CAN报文”,标识符输入为72C
在这里插入图片描述
在这里插入图片描述
3.重新回放报文,发现只有选中报文被过滤出来了,如果发现报文叠在一起,可以切换一下报文显示方式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4.生成C脚本,全选或部分选中希望回放的报文,右键选择“复制为C脚本”,接着点击“复制脚本到剪贴板”,在这里插入图片描述
在这里插入图片描述
5.关闭C脚本片段,创建按键触发事件,个人比较喜欢空格键触发,也可以设置其他按键,然后把刚刚复制的C脚本粘贴到按键触发的代码段中
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
6.编译和运行C小程序,程序运行之后,每按一次空格键,就会触发一次设定的报文回放
在这里插入图片描述

### TSMaster Python 小程序开发示例 TSMaster 提供了强大的功能支持,允许开发者通过编写 C 或 Python 程序来实现对内置模块的精确控制。以下是基于 Python 的一个简单示例代码,用于展示如何利用 TSMaster API 启动和停止某些特定的功能模块。 #### 示例代码:启动与停止 TSMaster 内置模块 以下是一个简单的 Python 脚本,演示如何使用 TSMaster 的 API 来操作其内部模块: ```python import tsCAN as can # 导入 TSMaster 的 CAN 接口库 def start_module(): """启动指定TSMaster 模块""" result = can.tsapp_connect() # 连接到 TSMaster 应用程序 if result != 0: print("连接失败") return # 配置启用某个通道 can.tsapp_set_can_channel_status(0, True) # 设置第一个 CAN 通道为开启状态 print("模块已成功启动") def stop_module(): """停止指定TSMaster 模块""" can.tsapp_set_can_channel_status(0, False) # 关闭第一个 CAN 通道 can.tsapp_disconnect() # 断开与 TSMaster 的连接 print("模块已成功关闭") if __name__ == "__main__": start_module() input("按下 Enter 键以停止模块...") stop_module() ``` 上述脚本展示了如何通过 `tsCAN` 模块调用 TSMaster 的接口函数[^1]。它实现了两个主要功能: - 使用 `can.tsapp_connect()` 和 `can.tsapp_set_can_channel_status()` 方法启动指定的 CAN 通信模块。 - 利用 `can.tsapp_set_can_channel_status(False)` 停止该模块,通过 `can.tsapp_disconnect()` 完成断开连接的操作。 #### HIL 实时仿真的扩展应用 如果目标是构建更复杂的场景,比如车辆控制器硬件在环 (HIL) 测试,则可以参考类似的思路进一步拓展。例如,在生成 ECU 控制器代码之后,将其无缝集成至 TSMaster 平台中进行测试验证[^4]。 --- ### 注意事项 对于初学者而言,建议按照官方推荐的学习路径逐步掌握基础技能后再深入研究高级特性[^3]。此外,尽管 TSMaster 支持低代码乃至无代码方式快速搭建诊断工具链[^2],但对于复杂需求仍需依赖高质量的手写代码才能满足具体业务要求。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值