色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

Simulink Function模塊竟然可以這樣測

北匯信息POLELINK ? 2022-08-04 14:41 ? 次閱讀

Simulink是美國Mathworks公司推出的一種強(qiáng)大的可視化仿真工具,現(xiàn)已應(yīng)用到包括汽車、航空、工業(yè)自動化等領(lǐng)域。Simulink不僅提供了多種特定功能的模塊,還提供Simulink Function,F(xiàn)unction Caller等模塊,便于用戶在開發(fā)過程中,定制化一些常用函數(shù),擺脫了Simulink中固有Block的功能限制,有效的提升了開發(fā)效率。

這個功能無疑十分強(qiáng)大,但這卻給測試工作提出了很大的挑戰(zhàn):受軟件開發(fā)架構(gòu)限制,F(xiàn)unction的定義可能放置在軟件底層,以便于上層軟件進(jìn)行多次調(diào)用。但當(dāng)用戶對上層軟件的單元層級進(jìn)行測試時,往往面臨著無法調(diào)用底層定義的Function的窘態(tài)(有槍無彈)。此外,當(dāng)客戶在測試底層單元模塊時,由于Function只有定義沒有被調(diào)用,往往無法對Function的內(nèi)部邏輯進(jìn)行測試(有彈無槍)。

針對這兩種測試場景,自動化的軟件動態(tài)測試工具——TPT提供了便捷的解決方案。

poYBAGLrWJmAP1ukAABNdGfGtl4332.png

圖1模型

有槍無彈:

顧名思義,空有Function Caller而沒有Function。如圖1所示,如果要測試Calculate這個單元,這個單元調(diào)用了Function,而Function卻定義在更底層,針對這種情況,TPT支持函數(shù)的插樁,提供Function Caller的接口模擬函數(shù)的返回值。

TPT支持函數(shù)的插樁,在對這種只有Caller沒有Function的層級(如圖2)進(jìn)行測試時,非常高效。在TPT的Platform Configuration中提供了這樣的選項:Simulink Functions,如圖3:

pYYBAGLrWLyAAfNHAABH-KQYTVE401.png

圖2單元模塊內(nèi)部結(jié)構(gòu)

pYYBAGLrWNCAIK0QAAE43T8UauE659.png

圖 3 Simulink Functions

回到圖4平臺配置窗口,加載好模型后 Import模型接口, TPT將以 server形式識別 callFunc函數(shù),如圖5。

poYBAGLrWNyAdaDLAAEsUPUT16o404.png

圖 4 Import模型接口、參數(shù)

pYYBAGLrWOWABevvAADtSP7OhMs583.png

圖 5識別callFunc函數(shù)

該函數(shù)會被直接加載到 Functions中, 以便于在編寫測試用例時調(diào)用。

pYYBAGLrWPaAZDENAACVshqy1X8003.png

圖 6 callFunc被加載到Functions中

可以在 Declaration Editor中添加一個 channel形式的本地變量return_Func模擬函數(shù)的返回值,然后編寫圖 8所示用例來驗證:

pYYBAGLrWQKACHVAAACrvmX6XxQ134.png

圖 7添加channel本地變量

poYBAGLrWQqASnQ9AADhoN1Ldjk726.png

圖 8測試用例

運(yùn)行結(jié)果和信號曲線如下圖所示,compare是簡單的評估,結(jié)果可見模型的輸出符合期望,由信號曲線可以觀察到local量的值即函數(shù)的輸出值。

poYBAGLrWRWAFleUAACxagqfYlA845.png

圖 9測試結(jié)果

pYYBAGLrWR2AN0MLAAEbW0wcis0819.png

圖 10 Signal Viewer觀測結(jié)果

有彈無槍:

上述方法并不能測到函數(shù)內(nèi)部的邏輯,而實際上函數(shù)可以定義在模型的底層,如圖1所示的模型wind_drag,F(xiàn)unction定義在底層,沒有對應(yīng)的Function Caller,這就是有“彈”而無“槍”了。在單元測試階段想要測試該函數(shù)的邏輯,因其沒有相關(guān)的接口信息,測試工作無疑非常困難。

poYBAGLrWSuAIwWiAABQk6Eh0CY957.png

圖 11被測函數(shù)邏輯

自動化測試工具TPT提供了m文件的接口,可以在配置測試環(huán)境或者測試執(zhí)行過程中進(jìn)行一些預(yù)處理,這就為測試該函數(shù)邏輯提供了絕佳的途徑。

pYYBAGLrWTWAW_9nAAEm3ynXg-Q034.png

圖 12 TPT提供的m文件接口

此處用m腳本編寫一個函數(shù),可以在TPT中實現(xiàn)對Function的調(diào)用。該函數(shù)主要有兩個參數(shù):

參數(shù)1:測試層級,可直接用TPT環(huán)境變量’${tpt.matlab.block.name}’

參數(shù)2:被調(diào)函數(shù),例如:' F = wind_drag(Density,Speed) '

可以在 TPT\Platform Configuration\Original Model中可以編寫相應(yīng)的代碼來加載m文件,并使用simulink_function_caller函數(shù)對模型中的SimulinkFunction進(jìn)行調(diào)用,這無疑大大提升了測試的效率。

pYYBAGLrWa6AGw8iAAB6kUc1hdI655.png

圖 13 m文件加載及函數(shù)調(diào)用

pYYBAGLrWbmARhZ8AABHR8vcXAI545.png

圖 14模型中自動配置FunctionCaller

依次在TPT中配置測試環(huán)境,導(dǎo)入接口時即可發(fā)現(xiàn)模型中出現(xiàn)了Simulink Function調(diào)用的相關(guān)接口信息。上一步中加載的m文件,實現(xiàn)了自動創(chuàng)建所測Function對應(yīng)接口信息,以及Function Caller模塊的功能,這些新建的模塊和Function在同一層級,這樣就能夠?qū)imulink Function邏輯進(jìn)行測試。

poYBAGLrWcKAcHQBAADEYiZv43o099.png

圖 15導(dǎo)入接口信息

編寫測試用例來測試該函數(shù):

pYYBAGLrWdCAFDyGAADCKZG9TW4717.png

圖 16測試用例

該函數(shù)是簡單的計算風(fēng)阻的函數(shù),,其中C取0.3,S取2.05,編寫評估驗證該用例:

poYBAGLrWeOAO_81AACUfm2SMf0956.png

圖 17測試評估

測試結(jié)果顯示模型輸出與函數(shù)運(yùn)算結(jié)果一致:

pYYBAGLrWfmABNAWAAC4z1MuiCM317.png

圖 18測試結(jié)果

兩者的信號曲線也是完全重合:

pYYBAGLrWgOAXeLBAAFCUCWlQ_k692.png

圖 19信號曲線

總結(jié)

本文介紹了使用TPT測試Simulink Function模塊的兩種方案,TPT還支持MATLAB Function的測試。

PikeTec公司是全球知名的基于模型的嵌入式系統(tǒng)測試工具TPT的軟件供應(yīng)商,總部位于德國柏林。北匯信息作為PikeTec在中國的獨(dú)家合作伙伴,致力于幫助中國客戶提升嵌入式控制系統(tǒng)的開發(fā)效率。目前,TPT已被眾多國內(nèi)知名主機(jī)廠和零部件企業(yè)認(rèn)可,在新能源(VCU/BMS/MCU)以及ADAS等領(lǐng)域中被廣泛應(yīng)用。

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

    關(guān)注

    0

    文章

    23

    瀏覽量

    6980
收藏 人收藏

    評論

    相關(guān)推薦

    Simulink與 Simscape的結(jié)合使用

    。用戶可以利用 Simulink 進(jìn)行系統(tǒng)建模、仿真、測試和驗證,以及生成代碼。 Simscape 簡介 Simscape 是一個用于創(chuàng)建基于物理的模型的仿真環(huán)境。它提供了一個庫,包含各種物理組件,如機(jī)械、電氣、液壓和熱力系統(tǒng)等。Simscape 允許用戶以直觀的方式構(gòu)建
    的頭像 發(fā)表于 12-12 09:31 ?166次閱讀

    Simulink模型仿真與分析技巧

    1. 模型構(gòu)建基礎(chǔ) 1.1 理解系統(tǒng)需求 在開始構(gòu)建模型之前,明確系統(tǒng)的需求和目標(biāo)是至關(guān)重要的。這包括了解系統(tǒng)的動態(tài)特性、輸入輸出關(guān)系以及預(yù)期的性能指標(biāo)。 1.2 選擇合適的模塊 Simulink
    的頭像 發(fā)表于 12-12 09:23 ?463次閱讀

    Simulink自定義模塊開發(fā)教程 Simulink 在控制系統(tǒng)中的應(yīng)用

    自定義模塊來擴(kuò)展其功能。 1. 理解 Simulink 和控制系統(tǒng) Simulink 是一個動態(tài)系統(tǒng)建模、仿真和分析的環(huán)境,它允許用戶通過拖放預(yù)構(gòu)建的模塊來構(gòu)建模型。控制系統(tǒng)是工程學(xué)的
    的頭像 發(fā)表于 12-12 09:21 ?290次閱讀

    Matlab R2016b創(chuàng)建STM32H743ZIT6控制工程當(dāng)從Simulink庫中拖入TIMx模塊出現(xiàn)報錯的原因?

    Matlab R2016b創(chuàng)建STM32H743ZIT6控制工程當(dāng)從Simulink庫中拖入GPIO和ADC模塊到模型中時都沒有問題 但是拖入TIMx模塊出現(xiàn)提下列提示,并且反復(fù)蹦出,無法繼續(xù)進(jìn)行
    發(fā)表于 04-25 07:00

    路燈竟然可以這樣玩-智慧路燈

    在日常生活我們大家很會忽視路燈這個物體,通常只是把它當(dāng)作是普通的照明之物。如果是在以前的話,這么理解沒有錯,但是隨著科技的發(fā)展以及智慧城市的興起,路燈不再是普通的照明之物,而是被賦予了更多的使命的智能電器。
    的頭像 發(fā)表于 04-10 14:20 ?316次閱讀

    電路仿真軟件simulink的工作原理

    Simulink是MATLAB的一個模塊,它采用圖形化的方式來創(chuàng)建動態(tài)系統(tǒng)模型并進(jìn)行仿真分析。Simulink的工作原理主要基于模塊化的建模和仿真方式。
    的頭像 發(fā)表于 03-29 15:21 ?1640次閱讀

    TPT的Dashboard 儀表盤功能便捷實現(xiàn)Simulink模型的手動測試#simulink

    Simulinksimulink模塊
    北匯信息POLELINK
    發(fā)布于 :2024年03月06日 11:36:23

    verilog task和function區(qū)別

    verilog中的task和function都是用于實現(xiàn)模塊中的可重復(fù)的功能,并且可以接收參數(shù)和返回結(jié)果。但是它們在編寫和使用上有一些區(qū)別。下面將詳細(xì)介紹task和function的區(qū)
    的頭像 發(fā)表于 02-22 15:53 ?1060次閱讀

    verilog function函數(shù)的用法

    Verilog 中被廣泛用于對電路進(jìn)行模塊化設(shè)計,以簡化和組織代碼。 本文將詳細(xì)介紹 Verilog 函數(shù)的用法,并探討函數(shù)在硬件設(shè)計中的重要性和實際應(yīng)用場景。 一. Verilog 函數(shù)概述 Verilog 函數(shù)通過提供一種結(jié)構(gòu)化的方式來組織代碼,并可以根據(jù)需要重復(fù)使
    的頭像 發(fā)表于 02-22 15:49 ?5564次閱讀

    verilog中function和task的區(qū)別

    在Verilog中,Function和Task是用于模塊化設(shè)計和重用代碼的兩種重要元素。它們允許開發(fā)人員將復(fù)雜的操作分解為更小的功能單元,并在需要時調(diào)用它們。雖然Function和Task在某些方面
    的頭像 發(fā)表于 02-22 15:40 ?1886次閱讀

    simulink常用模塊有哪些 simulink模塊執(zhí)行順序

    Simulink是一個基于圖形的仿真環(huán)境,廣泛應(yīng)用于動態(tài)系統(tǒng)和控制設(shè)計的多領(lǐng)域建模和仿真。
    的頭像 發(fā)表于 02-18 17:18 ?4164次閱讀

    風(fēng)機(jī)軸磨損也可以這樣

    電子發(fā)燒友網(wǎng)站提供《風(fēng)機(jī)軸磨損也可以這樣修.docx》資料免費(fèi)下載
    發(fā)表于 02-03 09:24 ?0次下載

    輥壓機(jī)軸承位磨損可以這樣修復(fù)

    電子發(fā)燒友網(wǎng)站提供《輥壓機(jī)軸承位磨損可以這樣修復(fù).docx》資料免費(fèi)下載
    發(fā)表于 01-29 13:54 ?0次下載

    verilog語法-如何使用function提高效率?

    function的作用返回一個數(shù)值,此數(shù)值由一串組合邏輯代碼計算得到。
    的頭像 發(fā)表于 12-25 15:27 ?2560次閱讀
    verilog語法-如何使用<b class='flag-5'>function</b>提高效率?

    電源模塊可以并聯(lián)使用嗎?!

    在實際工程中,經(jīng)常出現(xiàn)一個電源模塊無法滿足負(fù)載的電流需求,或是想進(jìn)一步提高DCDC效率,此時大部分工程師首先會想到并聯(lián)電源來提高更大的電流,對于這樣的設(shè)計,通常的評估結(jié)果是:不要粗暴的并聯(lián)。 誠然
    的頭像 發(fā)表于 12-25 08:42 ?1189次閱讀
    電源<b class='flag-5'>模塊</b><b class='flag-5'>可以</b>并聯(lián)使用嗎?!
    主站蜘蛛池模板: 国产精品无码人妻在线| 精品国产品在线18年| 国外色幼网| 男女免费观看在线爽爽爽视频| 色情内射少妇兽交| 一级毛片免费下载| 单亲妈妈3韩国电影免费观看| 国产午夜在线精品三级a午夜电影| 老师你奶真大下面水真多| 少妇精品久久久一区二区三区| 亚洲视频精品| 白丝女仆被强扒内裤| 精品久久久久久无码人妻国产馆 | 男女午夜性爽快免费视频不卡 | 亚洲人成77777在线视频| 99视频国产在线| 黄色三级网站| 人人爽天天碰狠狠添| 一本色道久久综合一区| 国产99久久亚洲综合精品西瓜tv | 蜜臀AV中文字幕熟女人妻| 午夜影视不充值观看| 999www成人免费视频| 国产在线精品亚洲第一区| 青草在线在线d青草在线| 与嫂子同居的日子在线观看| 国产ZZJJZZJJ视频全免费| 免费观看视频成人国产| 亚洲欧洲日产国产 最新| 丰满的寡妇hd高清在线观看| 美女张开腿让我了一夜| 亚洲国产精品无码AV久久久| 丰满人妻无码AV系列| 蜜桃传媒在线观看入口| 亚洲欧美中文字幕网站大全 | 精品国产90后在线观看| 色欲AV亚洲午夜精品无码| 99精品在线看| 久久香蕉国产线看观看| 亚洲精品AV无码永久无码| 帝王被大臣们调教高肉|