国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

CAPL編程語言快速入門

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

掃碼添加小助手

加入工程師交流群

提到CAPL,相信各位一定不陌生,它是由Vector公司開發的類似于C語言的面向過程編程語言,是CANoe和CANalyzer中可用的編程語言。CAPL中程序塊的執行由事件控制,在專用的編譯器中開發和編譯,這樣可以訪問數據庫中的所有對象以及系統變量,作為汽車電子工程師,在工作中會經常用到。

CAPL可以在CANoe界面Tools>>CAPL Browser中打開。

pYYBAGMlf1eAItJYAACC7Felt7Q468.png

圖1CAPL打開方式

CAPL界面由功能區、程序框架瀏覽樹、輸出窗口、編輯區、訪問區五部分組成。

poYBAGMlf1iAeZYtAAKe0OLiot4024.png

圖2CAPL界面

顧名思義,程序編輯區就是編寫CAPL腳本的區域;程序架構瀏覽樹起目錄的作用,可以把編輯區定位到編寫的事件或函數類型的語句;輸出窗口可以輸出編譯過程中的事件和使用搜索時定位到的結果;訪問區能夠訪問到CANoe工程加載的數據庫中的信號、創建的系統變量以及CAPL函數庫中的語句,直接從右側訪問區拖拽到中間編輯區使用(注意:工程創建路徑中不能有中文,否則訪問不到數據庫文件)。

功能區由五部分構成,首先是File菜單欄,與大多數軟件相同,它是文件創建、保存、加載、設置等功能區域。

pYYBAGMlf1eAVJfdAAGEX2DbJ08313.png

圖3File菜單欄

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

pYYBAGMlfx-AKr85AACc3nFrtCw088.png

圖4Home功能區

Filter功能區的作用是管理CAPL的函數庫,可以在函數訪問區中屏蔽掉不需要的函數。

pYYBAGMlfyOABh6TAACwHg2SLls833.png

圖5Filter功能區

Debug功能區是調試的區域,提供了一些基本的調試操作,一般情況下不通過debug模式來調試腳本。基本上編譯一次,存在錯誤可以通過Output輸出窗口獲得錯誤類型并進行更改。如果腳本編譯成功之后,仍然不能滿足測試步驟的輸出,一般會使用Write窗口進行調試。

poYBAGMlfx2AFl_XAAB5gxk1EKA062.png

圖6Debug功能區

Layout功能區主要是針對CAPL用戶的頁面展示。例如進行水平分區、垂直分區等操作方便用戶進行腳本編寫。

poYBAGMlfx6AG76sAACDVhMSLCQ677.png

圖7Layout功能區

CAPL應用場景:

  1. 節點仿真

關聯Simulation Setup中的ECU節點,實現ECU節點仿真和整車網絡仿真。

pYYBAGMlfyCAL1uTAACDQh9-i-U949.png

圖8SimulationSetup窗口

  1. 測試功能

關聯Simulation Setup中的Test Module模塊或是Test菜單中的Test Setup,結合TSL(Test Service Library,測試服務庫)進行測試功能開發。

poYBAGMlfyGAECgkAAB4fih5Id8151.png

圖9TestSetup窗口

  1. 分析功能

關聯Measurement Setup窗口功能模塊中的Program Node,實現總線過濾、分析功能。

poYBAGMlfyKAHqMMAACe4NminBU794.png

圖10MeasurementSetup窗口

CAPL腳本結構:

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

pYYBAGMlfyOABnu2AAEOt1t_2TM813.png

圖11CAPL的三部分

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

poYBAGMlfySAIg5xAALJDR5IEYY494.png

圖12MeasurementSetup窗口

CAPL常用函數:

下面以CANoe中Easy工程的light.can腳本為例介紹CAPL中的常用函數,該腳本與Panel聯用實現轉向燈仿真。

pYYBAGMlfySAfjDVAAAyfIEcFVE402.png

圖13聲明全局變量

上圖是CAPL中的全局變量聲明,其中 ‘msTimer’為聲明以ms為單位的計時器;‘const int’為聲明int類型的常值變量,該變量的值無法改變;‘int’為聲明int類型的變量,該類型變量有符號,長度為2字節。

poYBAGMlfySALF5xAAAXlRWFibE461.png

圖14系統事件

onstart’是系統事件,測量開始執行會觸發該事件,也就是點擊Start按鈕觸發。

poYBAGMlfymAd-DVAAChdCFAvV8120.png

圖15CAN消息事件

onmessage’是CAN消息事件,接收到指定消息時執行。‘onmessageLightState’是對名字為LightState的報文反應,除直接使用字符串外,還可以使用報文ID指定觸發報文。‘onmessage123’是對ID為123(dec)的報文反應;‘on message0x123’ 是對ID為123(hex)的報文反應;‘on message*’是對所有的報文反應;‘on message100-200’是對ID為100-200間的報文反應。

poYBAGMlfymAR7bTAABB-QqteBA941.png

圖15系統變量事件

onsysvarsysvar’是系統變量事件,指定的系統變量值改變時執行。與之相對應另一個系統變量事件是‘onsysvar_updatesysvar’,指定的系統變量值更新時執行。

‘setTimer(msTimert,longduration)’是設置定時器函數,他有兩個輸入參數,第一個為聲明的定時器變量,第二個是設定的時間。‘cancelTimer(msTimert)’是取消定時器函數,入參為定時器變量,該函數的作用為取消設定的定時器。

pYYBAGMlfymAPg__AAAkTOfb9bw335.png

圖16時間事件

ontimer’為時間事件,定時時間超過時執行,它與設置定時器函數聯用。定時器通常應用在實現某個任務循環,在時間事件中寫入一個設置定時器函數實現循環。

pYYBAGMlfyaAI4IEAAAf0yAL3TE819.png

onkey’為鍵盤事件,被指定的鍵按下時執行。該事件常用于腳本調試。

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

注:圖片來自Vector。

總結:

北匯信息作為Vector中國的合作伙伴,始終專注于汽車電子領域的新技術和新產品,為整車廠和零部件企業提供完整的研發、測試解決方案,為工程師在汽車領域提供“趁手裝備“!

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • CANoe
    +關注

    關注

    4

    文章

    85

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    FPGA 入門必看:Verilog 與 VHDL 編程基礎解析!

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

    Renesas QuickConnect Beginners Kit 快速上手:從入門到實踐

    Renesas QuickConnect Beginners Kit 快速上手:從入門到實踐 在當今快速發展的電子科技領域,快速原型開發和高效的系統設計是工程師們追求的目標。Renes
    的頭像 發表于 12-29 09:25 ?295次閱讀

    為什么單片機還在用C語言編程

    說起單片機我們就會想到C語言,單片機為什么還在用C語言編程?現在有很多很好用的高級語言,如VC、PYTHON、PHP等等,為什么這些語言不能
    發表于 11-28 07:37

    C語言編程技巧

    設計,分層開發代碼,便于理解和維護。 ?8、避免使用GOTO語句?:盡管GOTO語句在某些情況下仍然有用,但現代編程更傾向于使用函數和循環控制結構,以提高代碼的可讀性和維護性。 ?9、利用C語言的靈活性
    發表于 11-27 06:46

    一文了解Mojo編程語言

    Mojo 是一種由 Modular AI 公司開發的編程語言,旨在將 Python 的易用性與 C 語言的高性能相結合,特別適合人工智能(AI)、高性能計算(HPC)和系統級編程場景。
    發表于 11-07 05:59

    C語言入門(硬件嵌入式那種不是APP開發的)

    C語言入門(硬件嵌入式那種不是APP開發的),有沒有對初學者很友好的書籍、視頻等資料推薦一下,一直以來看了正dian原子、野火等的視頻、文檔結果從快要入門到放氣,然后再從放氣到快要入門
    發表于 09-27 12:03

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

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

    梯形圖語言補充編程說明書

    電子發燒友網站提供《梯形圖語言補充編程說明書.pdf》資料免費下載
    發表于 07-09 14:14 ?3次下載

    C語言精彩編程百例-364頁

    內容提要 C是一種通用的程序設計語言,它包含了緊湊的表達式、豐富的運算符集合、現代控制流以及數據結構等四個部分。C語言功能豐富,衣達能力強,使用起來靈活方便:它應用面廣,可移植性強,網時具有高級語言
    發表于 06-13 17:28

    跟老齊學Python:從入門到精通

    本帖最后由 yuu_cool 于 2025-6-3 16:52 編輯 本資料是面向編程零基礎讀者的Python 入門教程,內容涵蓋了Python 的基礎知識和初步應用。以比較輕快的風格,向零基
    發表于 06-03 16:10

    免費分享Arduino入門+進階(全套例程+書籍)

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

    單片機c語言編程實例大全

    單片機c語言編程實例大全_18
    發表于 04-30 16:11 ?7次下載

    矩陣混音技術快速入門

    A&H矩陣混音技術快速入門Live_Matrix_MixingChinese
    發表于 03-26 14:12 ?0次下載

    51單片機C語言學習筆記

    c51語言快速入門
    發表于 03-24 14:04 ?3次下載

    單片機C語言編程寶典大全,初學必備【強推下載!】

    資料介紹:包含 1. 51單片機入門教程 2. 初學者適用:單片機C語言實例100例(代碼及釋義) 3. 51單片機C語言快速上手 4. 51單片機C
    發表于 03-14 11:03