文章目录
如何加载DBC文件
如果在其他通道已经加载过DBC文件,可以在通道上右键,选择对应的DBC文件即可;
如果没有加载过,选中通道后,点击添加按钮:
可以在数据库中查看每个信号所占用的位置:
每个信号用不同的颜色区分,每个信号开始的bit位用<标记。
trace使用介绍
报文过滤
查看信号值
加载了DBC之后,双击一条报文,trace窗口中会自动解析出每个信号的值:
历史报文导出
graphic界面使用介绍
添加信号到graphic
展开信号后,右键信号名称,选择添加到graphic
设置测量光标
设置缓存的点数
如果缓存的点数过少,会导致在回放较大log时,前面的点被后面的点覆盖,导致前面的graphic没有描绘。将下图中的点数适当增加,回放较大的log时不至于前面的信号没有描绘。
报文录制与回放
录制
普通录制:点击Analysis里面的start logger即可开始录制。
遗留问题求解答:
TSMaster是否可以支持像CANoe一样,选择部分报文录制呢?貌似TSMaster并不支持此功能,一开始录制,就是录制所有总线上的报文。
如果有大佬直到怎么能做到,请评论区留言,感谢感谢~
回放时,可以直接将log文件拖入回放控制器中,即可自动回放。
panel的使用
如何创建panel
如何将panel中的控件和CAN信号关联
c小程序脚本使用
打开C脚本编辑器与基本功能介绍
如何使用c脚本控制CAN信号发送
方法一:
在加载dbc后,如果在panel中某个控件关联了一个dbc中定义的can发送的信号,那么TSMaster将会自动按照dbc里面定义的周期发送该信号。如果该信号有checksum和rolling counter,可以在c脚本里面的On Can Pre Tx里面新增一个该报文的发送前回调,TSMaster将会自动生成基础代码,自己增加相关功能即可。
方法二:
调用TSMaster库中的函数发送报文:
使用TSMaster库里面的函数发送。
使用发送回调函数设置自发报文的rolling counter和checksum
设置发送回调后,TSMasrer自动生成了该报文每个信号的使用方法,自行编写代码改变rolling counter和checksum即可。
使用接收回调函数解析报文
设置接收回调后,TSMasrer自动生成了该报文每个信号的获取方法,自行取值进行计算即可。
编写自定义函数
例如实现CRC校验的就可以写一个自定义函数。
创建用户自定义系统变量
在Variables栏创建变量。
在c程序中使用系统变量
在Variables栏创建的变量,在c脚本中使用时需要注意,不能直接赋值和获取值,需要使用
.get()
.set()
方法获取和设置值。
例如定义了变量engineSpeed变量,代码中需要用:
engineSpeed.get()
engineSpeed.set()
将用户自定义系统变量和panel中的控件关联
首先,要注意,在panel中关联变量名时,需要使用【程序名.变量名】的形式。
程序名可以自行自定义。
例如,在panel中,我添加了一个readVersion的按钮控件和一个appVersion的文本框控件,功能是按下按钮时,就通过诊断读取软件版本号,并在文本框中显示读取出来的软件版本号。这个功能中,我们需要定义两个变量:readVersionCrotrol和appVersionBuff两个变量。然后在panel中将控件和变量关联起来,然后在On Var Change栏中编写变量改变的回调处理函数即可,用于处理按键事件以及读取版本号。
第一步:添加变量:
第二步:添加变量change回调:
第三步:添加控件与设置类型:
第四步:将变量和控件关联:
然后在弹出的对话框中输入程序名.变量名
这样,即可产生关联。
然后在小程序中编写代码即可。
在此功能中,需要使用TSMaster诊断相关的库函数,TSMaster提供了如下诊断API:
然后需要勾选此选项,让小程序依赖(包含)诊断库,否则在编译时会报错。