Kvaser Memorator Pro的T脚本使用

本文介绍了如何使用KvaserMemoratorPro的高级产品T脚本进行事件控制,包括T脚本的编辑工具、语法特点、示例代码(如CAN转CANFD)以及如何通过TRX工具生成可执行文件并实现实时监控。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Kvaser Memorator Pro的T脚本使用

Memorator

前言

Kvaser Memorator Pro作为Kvaser CAN中的高端产品具备离线采集的记录功能,同时在其Pro专业版中更是支持通过T脚本进行事件控制。不过价格也是Leaf系列的好几倍。所以作为穷苦前应届生 /(ㄒoㄒ)/~~,果断向朋友借了一个过来学习,顺手写几篇文章…
产品了解

T脚本编辑工具

CANLIB
在官方CANLIB包下有个TRX工具,用于T脚本编译生成可下载进 Memorator Pro的可执行文件。
TRX
TRX工具导入原程序文件,start运行程序会自动生成工程文件和可执行文件,start需要通过usb连接Memorator Pro。若出现错误无法start情况可以重启TRX工具。

‘xxx.t’原程序文件,’xxx.tprj’工程文件,’xxx.txe’可执行文件。

T脚本代码案例

T脚本语法类似C语言,但其程序主要靠钩子以及预定的函数实现,其运行顺序与代码出现顺序无关,但同类型钩子的运行顺序与出现顺序有关
运行顺序为 程序启动==》初始化变量==》执行start钩子==》程序运行==》执行stop钩子。
通常当设备上电就执行初始化和start钩子,下电就执行stop钩子。
order
根据个人理解T脚本为事件触发型语言,也就是当某个定义好的事件发送后,执行对应钩子中的语句。
例子:语句中有 on CanMessage <0> 0x100{…},当通道0接收到ID=0x100的报文时,将执行"{“,”}"中语句。
hook
T脚本中预定了一些实时库类型和函数,通过这些类型和函数可以处理常用的事件。
defines
Function
下面demo实现CAN转CAN FD

// 函数声明
int canWrite(int ch2, const CanMessageFd msg);
// 变量初始化
variables {
  const int ch1 = 0;  
  const int ch2 = 1; 
 }
on start {
 // 确保通道处于Off状态,才能配置通道
  canBusOff(ch1);  
  canBusOff(ch2); 
  // 通道0(CAN1)配置
  canSetBitrate(ch1,canBITRATE_500K);
  canSetBusOutputControl(ch1,canDRIVER_NORMAL);
  canBusOn(ch1);
  // 通道1(CAN2)配置
  canSetBusParams(ch2, canFD_BITRATE_500K_80P, 0, 0, 0, 0);
  canSetBusParamsFd(ch2, canFD_BITRATE_2M_80P, 0, 0, 0);
  canSetCommunicationMode(ch2, canMODE_CAN_FD);
  canSetBusOutputControl(ch2,canDRIVER_NORMAL);
  canBusOn(ch2);
}
on stop {
  canBusOff(ch1);
  canBusOff(ch2);
}

// 当CAN1接收到ID=0x100时,将数据转为CANFD由CAN2发出ID=0x105
on CanMessage<ch1> 0x100
{
// 声明CANFD信息变量
  CanMessageFd MsgFd;
  MsgFd.id =0x105;
  MsgFd.dlc = 8;
  MsgFd.flags = canFDMSG_FDF;
  MsgFd.data[0] = this.data[0];
  MsgFd.data[1] = this.data[1];
  MsgFd.data[2] = this.data[2];
  MsgFd.data[3] = this.data[3];
  MsgFd.data[4] = this.data[4];
  MsgFd.data[5] = this.data[5];
  MsgFd.data[6] = this.data[6];
  MsgFd.data[7] = this.data[7];
  // 调用发送函数
  canWrite(ch2,MsgFd); 
}


通过TRX生成可运行文件后,通过对应型号的Kvaser Memorator Pro tool将T脚本程序下载进设备中。
然后拔掉USB,给设备channel 1供电(离线记录模式),此时设备中的T脚本会自动运行。
tool
使用CANking来监控T脚本在设备中的实际效果。
canking

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值