91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CAPL編程語(yǔ)言快速入門(mén)

北匯信息POLELINK ? 2022-09-17 16:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

提到CAPL,相信各位一定不陌生,它是由Vector公司開(kāi)發(fā)的類似于C語(yǔ)言的面向過(guò)程編程語(yǔ)言,是CANoe和CANalyzer中可用的編程語(yǔ)言。CAPL中程序塊的執(zhí)行由事件控制,在專用的編譯器中開(kāi)發(fā)和編譯,這樣可以訪問(wèn)數(shù)據(jù)庫(kù)中的所有對(duì)象以及系統(tǒng)變量,作為汽車電子工程師,在工作中會(huì)經(jīng)常用到。

CAPL可以在CANoe界面Tools>>CAPL Browser中打開(kāi)。

pYYBAGMlf1eAItJYAACC7Felt7Q468.png

圖1CAPL打開(kāi)方式

CAPL界面由功能區(qū)、程序框架瀏覽樹(shù)、輸出窗口、編輯區(qū)、訪問(wèn)區(qū)五部分組成。

poYBAGMlf1iAeZYtAAKe0OLiot4024.png

圖2CAPL界面

顧名思義,程序編輯區(qū)就是編寫(xiě)CAPL腳本的區(qū)域;程序架構(gòu)瀏覽樹(shù)起目錄的作用,可以把編輯區(qū)定位到編寫(xiě)的事件或函數(shù)類型的語(yǔ)句;輸出窗口可以輸出編譯過(guò)程中的事件和使用搜索時(shí)定位到的結(jié)果;訪問(wèn)區(qū)能夠訪問(wèn)到CANoe工程加載的數(shù)據(jù)庫(kù)中的信號(hào)、創(chuàng)建的系統(tǒng)變量以及CAPL函數(shù)庫(kù)中的語(yǔ)句,直接從右側(cè)訪問(wèn)區(qū)拖拽到中間編輯區(qū)使用(注意:工程創(chuàng)建路徑中不能有中文,否則訪問(wèn)不到數(shù)據(jù)庫(kù)文件)。

功能區(qū)由五部分構(gòu)成,首先是File菜單欄,與大多數(shù)軟件相同,它是文件創(chuàng)建、保存、加載、設(shè)置等功能區(qū)域。

pYYBAGMlf1eAVJfdAAGEX2DbJ08313.png

圖3File菜單欄

Home功能區(qū)提供了CAPL編譯常用功能,包括代碼編譯、查找、替換、屏蔽、取消屏蔽等功能。

pYYBAGMlfx-AKr85AACc3nFrtCw088.png

圖4Home功能區(qū)

Filter功能區(qū)的作用是管理CAPL的函數(shù)庫(kù),可以在函數(shù)訪問(wèn)區(qū)中屏蔽掉不需要的函數(shù)。

pYYBAGMlfyOABh6TAACwHg2SLls833.png

圖5Filter功能區(qū)

Debug功能區(qū)是調(diào)試的區(qū)域,提供了一些基本的調(diào)試操作,一般情況下不通過(guò)debug模式來(lái)調(diào)試腳本。基本上編譯一次,存在錯(cuò)誤可以通過(guò)Output輸出窗口獲得錯(cuò)誤類型并進(jìn)行更改。如果腳本編譯成功之后,仍然不能滿足測(cè)試步驟的輸出,一般會(huì)使用Write窗口進(jìn)行調(diào)試。

poYBAGMlfx2AFl_XAAB5gxk1EKA062.png

圖6Debug功能區(qū)

Layout功能區(qū)主要是針對(duì)CAPL用戶的頁(yè)面展示。例如進(jìn)行水平分區(qū)、垂直分區(qū)等操作方便用戶進(jìn)行腳本編寫(xiě)。

poYBAGMlfx6AG76sAACDVhMSLCQ677.png

圖7Layout功能區(qū)

CAPL應(yīng)用場(chǎng)景:

  1. 節(jié)點(diǎn)仿真

關(guān)聯(lián)Simulation Setup中的ECU節(jié)點(diǎn),實(shí)現(xiàn)ECU節(jié)點(diǎn)仿真和整車網(wǎng)絡(luò)仿真。

pYYBAGMlfyCAL1uTAACDQh9-i-U949.png

圖8SimulationSetup窗口

  1. 測(cè)試功能

關(guān)聯(lián)Simulation Setup中的Test Module模塊或是Test菜單中的Test Setup,結(jié)合TSL(Test Service Library,測(cè)試服務(wù)庫(kù))進(jìn)行測(cè)試功能開(kāi)發(fā)。

poYBAGMlfyGAECgkAAB4fih5Id8151.png

圖9TestSetup窗口

  1. 分析功能

關(guān)聯(lián)Measurement Setup窗口功能模塊中的Program Node,實(shí)現(xiàn)總線過(guò)濾、分析功能。

poYBAGMlfyKAHqMMAACe4NminBU794.png

圖10MeasurementSetup窗口

CAPL腳本結(jié)構(gòu):

一個(gè)完整的CAPL腳本由三部分組成:變量、各種事件和自定義函數(shù)。

pYYBAGMlfyOABnu2AAEOt1t_2TM813.png

圖11CAPL的三部分

CAPL的事件類型包含三種:總線事件、屬性事件、時(shí)間事件。CAPL常用的事件類型如下圖所示。

poYBAGMlfySAIg5xAALJDR5IEYY494.png

圖12MeasurementSetup窗口

CAPL常用函數(shù):

下面以CANoe中Easy工程的light.can腳本為例介紹CAPL中的常用函數(shù),該腳本與Panel聯(lián)用實(shí)現(xiàn)轉(zhuǎn)向燈仿真。

pYYBAGMlfySAfjDVAAAyfIEcFVE402.png

圖13聲明全局變量

上圖是CAPL中的全局變量聲明,其中 ‘msTimer’為聲明以ms為單位的計(jì)時(shí)器;‘const int’為聲明int類型的常值變量,該變量的值無(wú)法改變;‘int’為聲明int類型的變量,該類型變量有符號(hào),長(zhǎng)度為2字節(jié)。

poYBAGMlfySALF5xAAAXlRWFibE461.png

圖14系統(tǒng)事件

onstart’是系統(tǒng)事件,測(cè)量開(kāi)始執(zhí)行會(huì)觸發(fā)該事件,也就是點(diǎn)擊Start按鈕觸發(fā)。

poYBAGMlfymAd-DVAAChdCFAvV8120.png

圖15CAN消息事件

onmessage’是CAN消息事件,接收到指定消息時(shí)執(zhí)行?!?span style="color:rgb(0,112,192);">onmessageLightState’是對(duì)名字為L(zhǎng)ightState的報(bào)文反應(yīng),除直接使用字符串外,還可以使用報(bào)文ID指定觸發(fā)報(bào)文?!?span style="color:rgb(0,112,192);">onmessage123’是對(duì)ID為123(dec)的報(bào)文反應(yīng);‘on message0x123’ 是對(duì)ID為123(hex)的報(bào)文反應(yīng);‘on message*’是對(duì)所有的報(bào)文反應(yīng);‘on message100-200’是對(duì)ID為100-200間的報(bào)文反應(yīng)。

poYBAGMlfymAR7bTAABB-QqteBA941.png

圖15系統(tǒng)變量事件

onsysvarsysvar’是系統(tǒng)變量事件,指定的系統(tǒng)變量值改變時(shí)執(zhí)行。與之相對(duì)應(yīng)另一個(gè)系統(tǒng)變量事件是‘onsysvar_updatesysvar’,指定的系統(tǒng)變量值更新時(shí)執(zhí)行。

‘setTimer(msTimert,longduration)’是設(shè)置定時(shí)器函數(shù),他有兩個(gè)輸入?yún)?shù),第一個(gè)為聲明的定時(shí)器變量,第二個(gè)是設(shè)定的時(shí)間。‘cancelTimer(msTimert)’是取消定時(shí)器函數(shù),入?yún)槎〞r(shí)器變量,該函數(shù)的作用為取消設(shè)定的定時(shí)器。

pYYBAGMlfymAPg__AAAkTOfb9bw335.png

圖16時(shí)間事件

ontimer’為時(shí)間事件,定時(shí)時(shí)間超過(guò)時(shí)執(zhí)行,它與設(shè)置定時(shí)器函數(shù)聯(lián)用。定時(shí)器通常應(yīng)用在實(shí)現(xiàn)某個(gè)任務(wù)循環(huán),在時(shí)間事件中寫(xiě)入一個(gè)設(shè)置定時(shí)器函數(shù)實(shí)現(xiàn)循環(huán)。

pYYBAGMlfyaAI4IEAAAf0yAL3TE819.png

onkey’為鍵盤(pán)事件,被指定的鍵按下時(shí)執(zhí)行。該事件常用于腳本調(diào)試。

此外,‘write()’函數(shù)在調(diào)試腳本中也常使用,該函數(shù)基于C語(yǔ)言中的‘printf()’函數(shù),可以將文本消息輸出在write窗口中。

注:圖片來(lái)自Vector。

總結(jié):

北匯信息作為Vector中國(guó)的合作伙伴,始終專注于汽車電子領(lǐng)域的新技術(shù)和新產(chǎn)品,為整車廠和零部件企業(yè)提供完整的研發(fā)、測(cè)試解決方案,為工程師在汽車領(lǐng)域提供“趁手裝備“!

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • CANoe
    +關(guān)注

    關(guān)注

    4

    文章

    85

    瀏覽量

    9778
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    FPGA 入門(mén)必看:Verilog 與 VHDL 編程基礎(chǔ)解析!

    很多開(kāi)發(fā)者第一次接觸FPGA,都會(huì)有同樣的疑問(wèn):FPGA是硬件,不是軟件,怎么寫(xiě)程序?答案就是用硬件描述語(yǔ)言(HDL),最常用的就是Verilog和VHDL。今天,我們就帶你入門(mén),搞清楚FPGA編程
    的頭像 發(fā)表于 01-19 09:05 ?470次閱讀
    FPGA <b class='flag-5'>入門(mén)</b>必看:Verilog 與 VHDL <b class='flag-5'>編程</b>基礎(chǔ)解析!

    Renesas QuickConnect Beginners Kit 快速上手:從入門(mén)到實(shí)踐

    Renesas QuickConnect Beginners Kit 快速上手:從入門(mén)到實(shí)踐 在當(dāng)今快速發(fā)展的電子科技領(lǐng)域,快速原型開(kāi)發(fā)和高效的系統(tǒng)設(shè)計(jì)是工程師們追求的目標(biāo)。Renes
    的頭像 發(fā)表于 12-29 09:25 ?304次閱讀

    為什么單片機(jī)還在用C語(yǔ)言編程?

    說(shuō)起單片機(jī)我們就會(huì)想到C語(yǔ)言,單片機(jī)為什么還在用C語(yǔ)言編程?現(xiàn)在有很多很好用的高級(jí)語(yǔ)言,如VC、PYTHON、PHP等等,為什么這些語(yǔ)言不能
    發(fā)表于 11-28 07:37

    C語(yǔ)言編程技巧

    設(shè)計(jì),分層開(kāi)發(fā)代碼,便于理解和維護(hù)。 ?8、避免使用GOTO語(yǔ)句?:盡管GOTO語(yǔ)句在某些情況下仍然有用,但現(xiàn)代編程更傾向于使用函數(shù)和循環(huán)控制結(jié)構(gòu),以提高代碼的可讀性和維護(hù)性。 ?9、利用C語(yǔ)言的靈活性
    發(fā)表于 11-27 06:46

    一文了解Mojo編程語(yǔ)言

    Mojo 是一種由 Modular AI 公司開(kāi)發(fā)的編程語(yǔ)言,旨在將 Python 的易用性與 C 語(yǔ)言的高性能相結(jié)合,特別適合人工智能(AI)、高性能計(jì)算(HPC)和系統(tǒng)級(jí)編程場(chǎng)景。
    發(fā)表于 11-07 05:59

    C語(yǔ)言入門(mén)(硬件嵌入式那種不是APP開(kāi)發(fā)的)

    C語(yǔ)言入門(mén)(硬件嵌入式那種不是APP開(kāi)發(fā)的),有沒(méi)有對(duì)初學(xué)者很友好的書(shū)籍、視頻等資料推薦一下,一直以來(lái)看了正dian原子、野火等的視頻、文檔結(jié)果從快要入門(mén)到放氣,然后再?gòu)姆艢獾娇煲?b class='flag-5'>入門(mén)
    發(fā)表于 09-27 12:03

    MiniVC6(C語(yǔ)言快速部署)資料

    MiniVC6(C語(yǔ)言快速部署)軟件,無(wú)需安裝。
    發(fā)表于 09-04 16:59 ?0次下載

    梯形圖語(yǔ)言補(bǔ)充編程說(shuō)明書(shū)

    電子發(fā)燒友網(wǎng)站提供《梯形圖語(yǔ)言補(bǔ)充編程說(shuō)明書(shū).pdf》資料免費(fèi)下載
    發(fā)表于 07-09 14:14 ?3次下載

    C語(yǔ)言精彩編程百例-364頁(yè)

    內(nèi)容提要 C是一種通用的程序設(shè)計(jì)語(yǔ)言,它包含了緊湊的表達(dá)式、豐富的運(yùn)算符集合、現(xiàn)代控制流以及數(shù)據(jù)結(jié)構(gòu)等四個(gè)部分。C語(yǔ)言功能豐富,衣達(dá)能力強(qiáng),使用起來(lái)靈活方便:它應(yīng)用面廣,可移植性強(qiáng),網(wǎng)時(shí)具有高級(jí)語(yǔ)言
    發(fā)表于 06-13 17:28

    跟老齊學(xué)Python:從入門(mén)到精通

    本帖最后由 yuu_cool 于 2025-6-3 16:52 編輯 本資料是面向編程零基礎(chǔ)讀者的Python 入門(mén)教程,內(nèi)容涵蓋了Python 的基礎(chǔ)知識(shí)和初步應(yīng)用。以比較輕快的風(fēng)格,向零基
    發(fā)表于 06-03 16:10

    免費(fèi)分享Arduino入門(mén)+進(jìn)階(全套例程+書(shū)籍)

    Arduino是一款開(kāi)源電子原型平臺(tái),由硬件(單片機(jī)開(kāi)發(fā)板)和軟件(編程環(huán)境)組成,旨在讓非專業(yè)用戶也能輕松入門(mén)電子制作和編程。它的核心思想是簡(jiǎn)化硬件開(kāi)發(fā),通過(guò)直觀的編程和模塊化設(shè)計(jì),
    的頭像 發(fā)表于 05-22 11:40 ?1131次閱讀
    免費(fèi)分享Arduino<b class='flag-5'>入門(mén)</b>+進(jìn)階(全套例程+書(shū)籍)

    單片機(jī)c語(yǔ)言編程實(shí)例大全

    單片機(jī)c語(yǔ)言編程實(shí)例大全_18
    發(fā)表于 04-30 16:11 ?7次下載

    矩陣混音技術(shù)快速入門(mén)

    A&H矩陣混音技術(shù)快速入門(mén)Live_Matrix_MixingChinese
    發(fā)表于 03-26 14:12 ?0次下載

    51單片機(jī)C語(yǔ)言學(xué)習(xí)筆記

    c51語(yǔ)言快速入門(mén)
    發(fā)表于 03-24 14:04 ?3次下載

    單片機(jī)C語(yǔ)言編程寶典大全,初學(xué)必備【強(qiáng)推下載!】

    資料介紹:包含 1. 51單片機(jī)入門(mén)教程 2. 初學(xué)者適用:?jiǎn)纹瑱C(jī)C語(yǔ)言實(shí)例100例(代碼及釋義) 3. 51單片機(jī)C語(yǔ)言快速上手 4. 51單片機(jī)C
    發(fā)表于 03-14 11:03