直播推薦
企業(yè)動態(tài)
- 東莞皓天交付隔爆試驗箱,助力廣東電子科技企業(yè)品質(zhì)升級
- SNEC 2025大秦數(shù)能兩類新品連發(fā),以“智慧儲能”助推能源轉(zhuǎn)型
- 藍(lán)芯科技即將亮相泰國NEPCON Thailand 2025
- 漢達(dá)森攜手瑞典AQ邀您共聚CPHI China 2025
- 歐姆龍亮相SNEC 2025:助推新能源產(chǎn)業(yè)加速升級,為零碳未來蓄能
- 東莞市皓天試驗設(shè)備有限公司召開線上技術(shù)會議 凝聚智慧共促技術(shù)升級
- 天津市投資促進(jìn)局、天津市建設(shè)銀行一行到訪國聯(lián)股份肥多多
- 山西省長治市屯留區(qū)區(qū)委書記牛海江一行到訪國聯(lián)股份肥多多
推薦展會
Kvaser Memorator Pro作為Kvaser CAN中的產(chǎn)品具備離線采集的記錄功能,同時在其Pro專業(yè)版中更是支持通過T腳本進(jìn)行事件控制。
T腳本編輯工具
在CANLIB包下有個TRX工具,用于T腳本編譯生成可下載進(jìn) Memorator Pro的可執(zhí)行文件。
TRX工具導(dǎo)入原程序文件,start運行程序會自動生成工程文件和可執(zhí)行文件,start需要通過usb連接Memorator Pro。若出現(xiàn)錯誤無法start情況可以重啟TRX工具。
‘xxx.t’原程序文件,’xxx.tprj’工程文件,’xxx.txe’可執(zhí)行文件。
T腳本代碼案例
T腳本語法類似C語言,但其程序主要靠鉤子以及預(yù)定的函數(shù)實現(xiàn),其運行順序與代碼出現(xiàn)順序無關(guān),但同類型鉤子的運行順序與出現(xiàn)順序有關(guān)。
運行順序為 程序啟動==》初始化變量==》執(zhí)行start鉤子==》程序運行==》執(zhí)行stop鉤子。
通常當(dāng)設(shè)備上電就執(zhí)行初始化和start鉤子,下電就執(zhí)行stop鉤子。
根據(jù)個人理解T腳本為事件觸發(fā)型語言,也就是當(dāng)某個定義好的事件發(fā)送后,執(zhí)行對應(yīng)鉤子中的語句。
例子:語句中有 on CanMessage<0>0x100{…},當(dāng)通道0接收到ID=0x100的報文時,將執(zhí)行"{“,”}"中語句。
T腳本中預(yù)定了一些實時庫類型和函數(shù),通過這些類型和函數(shù)可以處理常用的事件。
下面demo實現(xiàn)CAN轉(zhuǎn)CAN FD
// 函數(shù)聲明
int canWrite(int ch2, const CanMessageFd msg);
// 變量初始化
variables {
const int ch1 = 0;
const int ch2 = 1;
}
on start {
// 確保通道處于Off狀態(tài),才能配置通道
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);
}
// 當(dāng)CAN1接收到ID=0x100時,將數(shù)據(jù)轉(zhuǎn)為CANFD由CAN2發(fā)出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];
// 調(diào)用發(fā)送函數(shù)
canWrite(ch2,MsgFd);
}
通過TRX生成可運行文件后,通過對應(yīng)型號的Kvaser Memorator Pro tool將T腳本程序下載進(jìn)設(shè)備中。
然后拔掉USB,給設(shè)備channel 1供電(離線記錄模式),此時設(shè)備中的T腳本會自動運行。
使用CANking來監(jiān)控T腳本在設(shè)備中的實際效果。
了解更多信息,請搜索廣州智維電子科技聯(lián)系購買;
上一篇:扭力扳手不準(zhǔn)了怎么辦
免責(zé)聲明
- 凡本網(wǎng)注明"來源:智能制造網(wǎng)"的所有作品,版權(quán)均屬于智能制造網(wǎng),轉(zhuǎn)載請必須注明智能制造網(wǎng),http://www.caslcampaign.com。違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
- 企業(yè)發(fā)布的公司新聞、技術(shù)文章、資料下載等內(nèi)容,如涉及侵權(quán)、違規(guī)遭投訴的,一律由發(fā)布企業(yè)自行承擔(dān)責(zé)任,本網(wǎng)有權(quán)刪除內(nèi)容并追溯責(zé)任。
- 本網(wǎng)轉(zhuǎn)載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品來源,并自負(fù)版權(quán)等法律責(zé)任。
- 如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
2025中國鄭州衡器與計量技術(shù)設(shè)備展覽會
展會城市:鄭州市展會時間:2025-11-07