Kvaser Memorator Pro作為Kvaser CAN中的產品具備離線采集的記錄功能,同時在其Pro專業版中更是支持通過T腳本進行事件控制。
T腳本編輯工具
在CANLIB包下有個TRX工具,用于T腳本編譯生成可下載進 Memorator Pro的可執行文件。
TRX工具導入原程序文件,start運行程序會自動生成工程文件和可執行文件,start需要通過usb連接Memorator Pro。若出現錯誤無法start情況可以重啟TRX工具。
‘xxx.t’原程序文件,’xxx.tprj’工程文件,’xxx.txe’可執行文件。
T腳本代碼案例
T腳本語法類似C語言,但其程序主要靠鉤子以及預定的函數實現,其運行順序與代碼出現順序無關,但同類型鉤子的運行順序與出現順序有關。
運行順序為 程序啟動==》初始化變量==》執行start鉤子==》程序運行==》執行stop鉤子。
通常當設備上電就執行初始化和start鉤子,下電就執行stop鉤子。
根據個人理解T腳本為事件觸發型語言,也就是當某個定義好的事件發送后,執行對應鉤子中的語句。
例子:語句中有 on CanMessage<0>0x100{…},當通道0接收到ID=0x100的報文時,將執行"{“,”}"中語句。
T腳本中預定了一些實時庫類型和函數,通過這些類型和函數可以處理常用的事件。
下面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
{
// 聲明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腳本會自動運行。
使用CANking來監控T腳本在設備中的實際效果。
了解更多信息,請搜索廣州智維電子科技聯系購買;
上一篇:扭力扳手不準了怎么辦
免責聲明
- 凡本網注明"來源:智能制造網"的所有作品,版權均屬于智能制造網,轉載請必須注明智能制造網,http://www.lfljgfsj.com。違反者本網將追究相關法律責任。
- 企業發布的公司新聞、技術文章、資料下載等內容,如涉及侵權、違規遭投訴的,一律由發布企業自行承擔責任,本網有權刪除內容并追溯責任。
- 本網轉載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品來源,并自負版權等法律責任。
- 如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。
2025第十一屆中國國際機電產品交易會 暨先進制造業博覽會
展會城市:合肥市展會時間:2025-09-20