99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

前言

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

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

poYBAGLngp2ACdBoAAGMDsexmTw452.png

圖1智能感知輸入

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

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

基本概念

1)What Are Functions

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

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

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

》測量虛擬信號計算

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

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

》測量文件虛擬信號計算

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

poYBAGLngsiAd7aFAAFPoaMK4BY813.png

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

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

pYYBAGLngt2AI4rfAAD_5YZZEKM266.png

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

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

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

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

poYBAGLngu2AG_XdAADpPVim4VM113.png

圖4函數(shù)分類

2)What Are Scripts

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

poYBAGLngweAFPx4AAERDzIO0po192.png

圖5腳本示例

此外,可以在CANape運(yùn)行時,使用命令行選項(xiàng)控制腳本行為。

兩者區(qū)別:

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

2.與腳本不同,函數(shù)不能使用斷點(diǎn)進(jìn)行調(diào)試,因?yàn)樗鼈兙哂懈邇?yōu)先級。不過我們可以使用以下命令在Write窗口中輸出調(diào)試信息Write()、Writef()、Print()或Printf()。

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

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

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

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

如何編輯

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

poYBAGLngzmACLrJAALwRHpl1xg560.png

圖6函數(shù)編輯器

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

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

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

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

poYBAGLng1uAenHDAAB1gsReP0w672.png

圖7相同作用前綴

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

接下來重點(diǎn)介紹一些實(shí)用小技巧:

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

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

>測量文件信號導(dǎo)入:FILE1.CCPsim.ampl;

>測量和標(biāo)定:x = CCPsim.ampl;

CCPsim.ampl = x;

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

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

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

pYYBAGLng5KADXMBAAB_SCXTkDI371.png

圖8數(shù)量獲取

>所選對象特定的測量值進(jìn)行讀寫訪問: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ù)達(dá)到了某個值,則可以使用控制結(jié)構(gòu)cancel來終止函數(shù)或腳本。如果在函數(shù)中使用了cancel命令,該函數(shù)將在沒有返回值的情況下終止。如果在子函數(shù)或腳本中使用了cancel命令,則腳本將立即終止。

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

poYBAGLnhGaAHrlDAACyV4jS_Tg906.png

圖14終止腳本

全局變量初始化:

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

poYBAGLnhHeASrtjAAChR19v-Qs050.png

圖15初始化腳本

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

poYBAGLnhIaAR5VGAAEQbtx6CPw180.png

圖16庫函數(shù)

pYYBAGLnhJKAUGGiAAJmD4394OU446.png

圖17萬能help文檔

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    自動化計算機(jī)的功能與用途

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

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

    )推出的SG-8200CG可編程晶振,憑借其高精度、寬頻率范圍、強(qiáng)環(huán)境適應(yīng)性等核心優(yōu)勢,成為工業(yè)自動化領(lǐng)域的理想選擇,為工業(yè)生產(chǎn)的智能升級注入強(qiáng)勁動力。SG-820
    的頭像 發(fā)表于 04-23 17:03 ?249次閱讀
    愛普生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è)備,用于實(shí)現(xiàn)自動化控制。本次上新的StamPLC
    的頭像 發(fā)表于 03-21 19:41 ?761次閱讀
    新品|StamPLC,工業(yè)<b class='flag-5'>自動化</b><b class='flag-5'>利器</b>,智能控制新選擇

    HFSS 自動化建模工具

    因工作需求,自己寫的HFSS參數(shù)自動化建模工具,目前只實(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 ?639次閱讀
    環(huán)球儀器Uflex靈活<b class='flag-5'>自動化</b>平臺概述

    自動化巨頭布局生成式AI,先瞄準(zhǔn)PLC編程

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    開關(guān)電源自動化測試設(shè)備:如何實(shí)現(xiàn)自動化測試?

    開關(guān)電源自動化測試設(shè)備是將測試軟件和測試硬件集成在一個電源測試柜中的ate自動測試設(shè)備,其測試原理是通過計算機(jī)操控測試儀器,從而減少人工干預(yù),完成開關(guān)電源的自動化測試,旨在解放人力,提高測試效率,讓測試更便捷。
    的頭像 發(fā)表于 08-30 18:19 ?1828次閱讀
    開關(guān)電源<b class='flag-5'>自動化</b>測試設(shè)備:如何實(shí)現(xiàn)<b class='flag-5'>自動化</b>測試?

    比斯特自動化 電池點(diǎn)焊機(jī):多維度解析的創(chuàng)新制造利器

    在新能源產(chǎn)業(yè)的浪潮中,電池點(diǎn)焊技術(shù)作為動力電池制造的核心環(huán)節(jié),其重要性不言而喻。深圳比斯特自動化設(shè)備有限公司憑借其在自動化領(lǐng)域的深厚積累和前瞻視野,推出的自動化電池點(diǎn)焊機(jī),以其獨(dú)特的技術(shù)優(yōu)勢、高效
    的頭像 發(fā)表于 08-06 17:13 ?599次閱讀
    比斯特<b class='flag-5'>自動化</b> 電池點(diǎn)焊機(jī):多維度解析的創(chuàng)新制造<b class='flag-5'>利器</b>