chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

CASL編程?——CANape的自動化“利器”

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

掃碼添加小助手

加入工程師交流群

前言

得益于計算機的發(fā)明及高速發(fā)展,21世紀是充滿智能、科技、便捷的世紀。無人駕駛、人工智能、物聯(lián)網(wǎng),這些概念已耳熟能詳,而它們背后則是利用編程實現(xiàn)的復雜邏輯。作為新時代的我們,生活已經(jīng)和“編程“密不可分了,例如常見的C、C++、Python、Java等編程語言。Vector公司與時俱進,在CANape這款強大的測量和標定工具里,采用專門的編程語言——CASL(Calculation and Scripting Language),方便汽車工程師進行數(shù)據(jù)分析和開發(fā)。今天我們就來聊聊這位強大又低調(diào)的選手,并和它做個朋友!

CASL的語法與C編程語言非常相似(但也有不同處:CANape不使用指針),允許開發(fā)人員集成自己的C代碼或Simulink模型。所以說,大家在使用之前基礎(chǔ)的C語言編程知識還是要掌握的~為了方便使用,CANape提供了智能感知輸入、代碼塊和各種內(nèi)置函數(shù)組。

poYBAGLngp2ACdBoAAGMDsexmTw452.png

圖1智能感知輸入

在CASL中,主要運用函數(shù)和腳本,來解決各種不同的任務(wù)。從簡單的計算,例如,添加信號,直至CANape的自動化。

Tips: CASL與編程語言CAPL可不一樣哦,后者是在CANoe和CANalvzer環(huán)境中使用的。CAPL是一種面向事件的編程語言,即程序節(jié)點用于指定事件,并在何時執(zhí)行以及反應。而CASL是一種信號導向的語言。)

基本概念

1)What Are Functions

在測量過程中,函數(shù)被同步處理,主要用于實時測量或者對于加載測量文件的各種計算和應用。例如,函數(shù)可以是數(shù)學公式或程序代碼,其中變量代表信號或參數(shù)。

通常有在線和離線兩種使用場景。

▲Online applications(在實時測量過程中)

》測量虛擬信號計算

》允許對外接設(shè)備讀寫

▲Offline applications(訪問現(xiàn)有的測量文件)

》測量文件虛擬信號計算

》執(zhí)行數(shù)據(jù)挖掘

poYBAGLngsiAd7aFAAFPoaMK4BY813.png

圖2虛擬函數(shù)使用場景

下面我們來看看函數(shù)的語法結(jié)構(gòu):

pYYBAGLngt2AI4rfAAD_5YZZEKM266.png

圖3函數(shù)語法結(jié)構(gòu)

當一個函數(shù)被調(diào)用時,參數(shù)可以被傳遞給函數(shù)。參數(shù)通常作為引用傳遞給函數(shù),因此既可用于輸入,也可用于輸出。

除了通過參數(shù)傳遞從函數(shù)發(fā)出結(jié)果外,還可以使用返回控制結(jié)構(gòu)(return也是關(guān)鍵字)的路徑。默認情況下,返回double類型的值,字段或向量(數(shù)組)不允許作為返回值。

CANape對自身預定義和用戶定義函數(shù)進行了區(qū)分,稱為庫函數(shù)和工程函數(shù)。

poYBAGLngu2AG_XdAADpPVim4VM113.png

圖4函數(shù)分類

2)What Are Scripts

腳本是程序代碼的一部分,可在編輯器窗口中編寫,并在調(diào)用時順序處理。腳本用于自動化或控制CANape中的聯(lián)合活動,例如測量和其他系統(tǒng)相關(guān)序列的開始和停止,它獨立于測量運行。它們也可以用來調(diào)用在Microsoft Visual Studio或MATLAB/Simulink中生成的外部模型。

poYBAGLngweAFPx4AAERDzIO0po192.png

圖5腳本示例

此外,可以在CANape運行時,使用命令行選項控制腳本行為。

兩者區(qū)別:

1.流程優(yōu)先級不同。腳本以較低進程優(yōu)先級執(zhí)行,相對于測量是異步運行的。另一方面,函數(shù)以高進程優(yōu)先級執(zhí)行,并與測量同步執(zhí)行。與函數(shù)相比,腳本具有更廣泛的預定義函數(shù)組,如附加文件和腳本函數(shù)、Flash函數(shù)、診斷和數(shù)據(jù)挖掘函數(shù)。

2.與腳本不同,函數(shù)不能使用斷點進行調(diào)試,因為它們具有高優(yōu)先級。不過我們可以使用以下命令在Write窗口中輸出調(diào)試信息Write()、Writef()、Print()或Printf()。

3.腳本不需要函數(shù)頭和函數(shù)體。程序代碼可以簡單地直接寫入編輯器,然后按編碼順序處理。

4.函數(shù)必須是函數(shù)編輯器導出格式(*.cne)或者是ASCII文本格式(*.txt);腳本必須為腳本格式(*.scr or *.cns).

5.函數(shù)可以被保存到工作目錄中的CANape.ini配置文件中,但腳本文件被保存為獨立文件。

說了這么多,我們?nèi)绾尉庉嬆兀?/p>

如何編輯

全局變量、函數(shù)、腳本均可在CANape的函數(shù)編輯器中創(chuàng)建、編輯和編譯。函數(shù)編輯器主要分為樹視圖、列表視圖、編輯器窗口、消息窗口,可以在CANape中直接打開。

poYBAGLngzmACLrJAALwRHpl1xg560.png

圖6函數(shù)編輯器

變量類型:變量是特定類型值的占位符。變量可以在腳本和函數(shù)中聲明和定義,主要分為全局變量和局部變量。

全局變量是CANape配置中的所有函數(shù)和腳本都可以使用的特殊數(shù)據(jù)對象,局部變量僅在各自的函數(shù)或腳本中有效。

(Tips:全局變量是靜態(tài)的。它們在兩個測量之間以及加載項目之后保留它們的值。當保存配置或項目時,它們的當前值保存在參數(shù)文件中,并在加載項目時重新加載。)

參數(shù)總是作為通過引用傳遞給函數(shù),可以使用具有相同作用var和double前綴來修飾。

poYBAGLng1uAenHDAAB1gsReP0w672.png

圖7相同作用前綴

關(guān)于數(shù)據(jù)類型就不做贅述了,大家自行百度啦。

接下來重點介紹一些實用小技巧:

使用頻率較多的簡單語句:

>測量過程開始/停止:Start();Stop();

>測量文件信號導入:FILE1.CCPsim.ampl;

>測量和標定:x = CCPsim.ampl;

CCPsim.ampl = x;

>發(fā)送報文:CAN1.SendMessage(0x1a1,0xff,0x7f);

>延時(等待)3秒:Sleep(3000);

>測量緩存區(qū)或文件中對象信號值的數(shù)量:sizeof();

pYYBAGLng5KADXMBAAB_SCXTkDI371.png

圖8數(shù)量獲取

>所選對象特定的測量值進行讀寫訪問:mbuffer[ ];(常與sizeof結(jié)合使用)

pYYBAGLng6OATNsiAAB4DEpCWP0085.png

圖9讀寫特定值

>輸出:print(); write();

poYBAGLng7eAWjgpAAGRCRX7llI608.png

圖10常見輸出格式

可以從一個函數(shù)中調(diào)用另一個函數(shù):

poYBAGLng8mASoe6AACtG16PlvQ445.png

圖11函數(shù)調(diào)用函數(shù)

從一個腳本中調(diào)用另一個函數(shù):

pYYBAGLng9mAOcooAACPhZJl8iM543.png

圖12腳本調(diào)用函數(shù)

從一個腳本中調(diào)用另一個腳本:

poYBAGLng_KALhvFAAEGHUHGKaU571.png

圖13腳本調(diào)用腳本

正確終止函數(shù)和腳本:

如果參數(shù)達到了某個值,則可以使用控制結(jié)構(gòu)cancel來終止函數(shù)或腳本。如果在函數(shù)中使用了cancel命令,該函數(shù)將在沒有返回值的情況下終止。如果在子函數(shù)或腳本中使用了cancel命令,則腳本將立即終止。

例如下圖,如果在調(diào)用的對話框中選擇[Yes](返回值為0),腳本將終止。

poYBAGLnhGaAHrlDAACyV4jS_Tg906.png

圖14終止腳本

全局變量初始化:

可以在腳本運行時調(diào)用,以每次自動初始化全局變量的值。

poYBAGLnhHeASrtjAAChR19v-Qs050.png

圖15初始化腳本

以上可能是一些常見的例子,由于編程語句體量龐大,工程師們需要根據(jù)功能需求來選擇語句。在CANape中右鍵可以導入自動的庫函數(shù),根據(jù)功能分類,對于不熟悉語句,鼠標懸停后按F1,可以彈出help文檔,其中會顯示使用例子。

poYBAGLnhIaAR5VGAAEQbtx6CPw180.png

圖16庫函數(shù)

pYYBAGLnhJKAUGGiAAJmD4394OU446.png

圖17萬能help文檔

在我們編寫程序前,我們需要考慮以下5個步驟

1.需要用程序的主要任務(wù)2.決定如何以及何時執(zhí)行程序3.開發(fā)合適的代碼4.編譯5.測試。

編程世界很大,謹此拋磚引玉。小編領(lǐng)進門,修行還是看個人。

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

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

    EasyGo TestSim:新能源電力系統(tǒng)自動化測試的利器

    現(xiàn)代電力系統(tǒng)對測試精度和效率的高要求。EasyGo TestSim 仿真自動化測試軟件的出現(xiàn),為這一難題提供了一個完美的解決方案。 什么是 EasyGo TestSim? EasyGo TestSim
    發(fā)表于 09-03 18:35

    自動化計算機的功能與用途

    工業(yè)自動化是指利用自動化計算機來控制工業(yè)環(huán)境中的流程、機器人和機械,以制造產(chǎn)品或其部件。工業(yè)自動化的目的是提高生產(chǎn)率、增加靈活性,并提升制造過程的質(zhì)量。工業(yè)自動化在汽車制造中體現(xiàn)得最為
    的頭像 發(fā)表于 07-15 16:32 ?405次閱讀
    <b class='flag-5'>自動化</b>計算機的功能與用途

    愛普生SG-8200CG可編程晶振成為工業(yè)自動化領(lǐng)域的理想選擇

    )推出的SG-8200CG可編程晶振,憑借其高精度、寬頻率范圍、強環(huán)境適應性等核心優(yōu)勢,成為工業(yè)自動化領(lǐng)域的理想選擇,為工業(yè)生產(chǎn)的智能升級注入強勁動力。SG-820
    的頭像 發(fā)表于 04-23 17:03 ?437次閱讀
    愛普生SG-8200CG可<b class='flag-5'>編程</b>晶振成為工業(yè)<b class='flag-5'>自動化</b>領(lǐng)域的理想選擇

    新品|StamPLC,工業(yè)自動化利器,智能控制新選擇

    ●●●PART.01產(chǎn)品簡介PLC是可編程邏輯控制器(ProgrammableLogicController)的簡稱,是一種專為工業(yè)環(huán)境設(shè)計的電子設(shè)備,用于實現(xiàn)自動化控制。本次上新的StamPLC
    的頭像 發(fā)表于 03-21 19:41 ?1027次閱讀
    新品|StamPLC,工業(yè)<b class='flag-5'>自動化</b><b class='flag-5'>利器</b>,智能控制新選擇

    使用 QWQ:32B 模型搭配 VSCode 的 Cline 插件實現(xiàn)自動化代碼編程

    作者:算力魔方創(chuàng)始人/英特爾創(chuàng)新大使劉力 一,概述 隨著人工智能技術(shù)的快速發(fā)展,自動化編程工具逐漸成為開發(fā)者的得力助手。QWQ:32B 模型是一種先進的自然語言處理模型,能夠理解并生成高質(zhì)量的代碼
    的頭像 發(fā)表于 03-21 18:12 ?900次閱讀
    使用 QWQ:32B 模型搭配 VSCode 的 Cline 插件實現(xiàn)<b class='flag-5'>自動化</b>代碼<b class='flag-5'>編程</b>!

    HFSS 自動化建模工具

    因工作需求,自己寫的HFSS參數(shù)自動化建模工具,目前只實現(xiàn)了常用的四種模型,可定制,如需可聯(lián)系 qq:1300038043 附件下載鏈接:https://pan.baidu.com/s/1TVeTTFiJw-pxSyT1AT8IQA 提取碼: kxup
    發(fā)表于 02-27 17:44

    環(huán)球儀器Uflex靈活自動化平臺概述

    在生產(chǎn)廠房全面走向自動化之際,最令廠家頭痛的莫過于生產(chǎn)線上一些難以自動化的組裝工序。若以功能單一的自動化平臺來解決,投資可能沒有保障。環(huán)球儀器的Uflex靈活自動化平臺提供一個完美的解
    的頭像 發(fā)表于 02-08 09:13 ?853次閱讀
    環(huán)球儀器Uflex靈活<b class='flag-5'>自動化</b>平臺概述

    自動化巨頭布局生成式AI,先瞄準PLC編程?

    ? ? ? 確實,自動化巨頭正在積極布局生成式AI,并首先將目光瞄準了PLC(可編程邏輯控制器)編程。以下是對這一趨勢的詳細分析: ? ? ? 一、自動化巨頭布局生成式AI的背景 ?
    的頭像 發(fā)表于 01-21 17:24 ?794次閱讀

    電源技術(shù)在工業(yè)自動化中的應用

    、高穩(wěn)定性和寬輸入電壓范圍等優(yōu)點,在工業(yè)自動化中得到了廣泛應用。 為核心部件提供穩(wěn)定電能 :開關(guān)電源為工業(yè)自動化控制系統(tǒng)中的核心部件,如可編程邏輯控制器(PLC)和分布式控制系統(tǒng)(DCS)等,提供穩(wěn)定、可靠的電能。這些控
    的頭像 發(fā)表于 01-08 10:12 ?1069次閱讀

    自動化創(chuàng)建UI并解析數(shù)據(jù)

    *附件:32960_auto.rar備注:Main.vi是ui自動化2.1.vi,配置文件為32960.B.ini。 目前可以實現(xiàn)根據(jù)配置文件自動化創(chuàng)建控件并布局,且可以自動解析接收到的數(shù)據(jù)內(nèi)容寫入
    發(fā)表于 12-10 08:41

    PLC在工業(yè)自動化的應用及解決方案

    編程邏輯控制器(PLC)是工業(yè)自動化中的核心設(shè)備之一,是讓工廠能夠以自動化方式運行的關(guān)鍵應用。PLC通常是由多個模塊組成的模塊系統(tǒng),專門用來進行邏輯控制、順序控制、定時控制、計數(shù)控
    的頭像 發(fā)表于 11-29 14:37 ?3234次閱讀
    PLC在工業(yè)<b class='flag-5'>自動化</b>的應用及解決方案

    自動化創(chuàng)建UI并解析數(shù)據(jù)

    Labview實現(xiàn)動態(tài)增加控件效果 - *附件:32960_auto.rar 備注:Main.vi是ui自動化2.1.vi,配置文件為32960.B.ini。 目前可以實現(xiàn)根據(jù)配置文件自動化創(chuàng)建控件
    發(fā)表于 11-29 11:26

    Python環(huán)境下的代理服務(wù)器搭建與自動化管理

    在Python環(huán)境下搭建與自動化管理代理服務(wù)器是一項涉及網(wǎng)絡(luò)編程自動化技術(shù)的綜合任務(wù)。
    的頭像 發(fā)表于 11-14 07:31 ?1028次閱讀

    PLC控制系統(tǒng)與工業(yè)自動化關(guān)系

    隨著工業(yè)自動化技術(shù)的快速發(fā)展,可編程邏輯控制器(PLC)已成為現(xiàn)代工業(yè)自動化系統(tǒng)中不可或缺的核心組件。PLC以其高度的靈活性、可靠性和易用性,為工業(yè)自動化提供了強大的控制能力。 一、工
    的頭像 發(fā)表于 11-08 09:39 ?1815次閱讀

    自動化 SPC:企業(yè)質(zhì)量與效率提升的關(guān)鍵 “利器

    自動化 SPC:以數(shù)據(jù)之力鑄就生產(chǎn)質(zhì)量的穩(wěn)固防線
    的頭像 發(fā)表于 11-06 10:32 ?574次閱讀