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)不再提示

Simulink Function模塊竟然可以這樣測(cè)

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

掃碼添加小助手

加入工程師交流群

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

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

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

poYBAGLrWJmAP1ukAABNdGfGtl4332.png

圖1模型

有槍無(wú)彈:

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

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

pYYBAGLrWLyAAfNHAABH-KQYTVE401.png

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

pYYBAGLrWNCAIK0QAAE43T8UauE659.png

圖 3 Simulink Functions

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

poYBAGLrWNyAdaDLAAEsUPUT16o404.png

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

pYYBAGLrWOWABevvAADtSP7OhMs583.png

圖 5識(shí)別callFunc函數(shù)

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

pYYBAGLrWPaAZDENAACVshqy1X8003.png

圖 6 callFunc被加載到Functions中

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

pYYBAGLrWQKACHVAAACrvmX6XxQ134.png

圖 7添加channel本地變量

poYBAGLrWQqASnQ9AADhoN1Ldjk726.png

圖 8測(cè)試用例

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

poYBAGLrWRWAFleUAACxagqfYlA845.png

圖 9測(cè)試結(jié)果

pYYBAGLrWR2AN0MLAAEbW0wcis0819.png

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

有彈無(wú)槍:

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

poYBAGLrWSuAIwWiAABQk6Eh0CY957.png

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

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

pYYBAGLrWTWAW_9nAAEm3ynXg-Q034.png

圖 12 TPT提供的m文件接口

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

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

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

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

pYYBAGLrWa6AGw8iAAB6kUc1hdI655.png

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

pYYBAGLrWbmARhZ8AABHR8vcXAI545.png

圖 14模型中自動(dòng)配置FunctionCaller

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

poYBAGLrWcKAcHQBAADEYiZv43o099.png

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

編寫(xiě)測(cè)試用例來(lái)測(cè)試該函數(shù):

pYYBAGLrWdCAFDyGAADCKZG9TW4717.png

圖 16測(cè)試用例

該函數(shù)是簡(jiǎn)單的計(jì)算風(fēng)阻的函數(shù),,其中C取0.3,S取2.05,編寫(xiě)評(píng)估驗(yàn)證該用例:

poYBAGLrWeOAO_81AACUfm2SMf0956.png

圖 17測(cè)試評(píng)估

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

pYYBAGLrWfmABNAWAAC4z1MuiCM317.png

圖 18測(cè)試結(jié)果

兩者的信號(hào)曲線也是完全重合:

pYYBAGLrWgOAXeLBAAFCUCWlQ_k692.png

圖 19信號(hào)曲線

總結(jié)

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

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

    關(guān)注

    0

    文章

    25

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    matlab的算法部署在simulink

    有沒(méi)有哪位大佬能提供一下思路,遇到一個(gè)問(wèn)題matlab得不到神經(jīng)網(wǎng)絡(luò)fitcnet模型的權(quán)重參數(shù),所以simulink沒(méi)辦法部署,那遇到這種情況該如何處理
    發(fā)表于 12-08 15:27

    MXAM常見(jiàn)問(wèn)題解答:從配置到報(bào)告生成#simulink模型測(cè)試 #simulink

    Simulink
    北匯信息POLELINK
    發(fā)布于 :2025年11月14日 11:48:38

    使用Simulink自動(dòng)生成浮點(diǎn)運(yùn)算HDL代碼(Part 1)

    ,生成的HDL代碼與目標(biāo)無(wú)關(guān)。可以在任何通用FPGA或ASIC上部署該設(shè)計(jì)。 下面介紹如何在Simulink中創(chuàng)建單精度浮點(diǎn)乘法 直接使用乘法模塊即可,并將輸入口改為單精度浮點(diǎn) 使用Ctrl + g
    發(fā)表于 10-22 06:48

    求助:simulink里面是否有帶負(fù)端的變壓器

    simulink里面是否有每相都帶負(fù)端的三相變壓器,最近做HDT的仿真,simulink里面的三相變壓器好像都沒(méi)有負(fù)端,怎么才能用三相變壓器像圖中這樣連接?
    發(fā)表于 09-24 09:05

    汽車HIL測(cè)試系統(tǒng),歐美標(biāo)充電模型Simulink模型,開(kāi)發(fā),有償

    提供一個(gè)歐美標(biāo)充電模型,交付物為白盒Simulink模型
    發(fā)表于 09-04 16:23

    編譯vision_board_mipi_2.0inch_lvgl工程,cpu能跑到100%,竟然需要41分鐘,怎么解決?

    編譯vision_board_mipi_2.0inch_lvgl工程,cpu能跑到100%,竟然需要41分鐘,這種有解決方案嗎?
    發(fā)表于 08-29 08:19

    浮思特 | 空調(diào)高效穩(wěn)定運(yùn)轉(zhuǎn):少不了這樣一款I(lǐng)GBT模塊!

    在空調(diào)、冰箱等家電的電控系統(tǒng)里,有這樣一類“低調(diào)卻關(guān)鍵”的核心器件,默默掌控著壓縮機(jī)的呼吸節(jié)奏,直接影響著空調(diào)的能效、噪音與壽命。而今天我們要認(rèn)識(shí)的ECN30622PN,正是眾多知名空調(diào)品牌信賴
    的頭像 發(fā)表于 08-14 09:55 ?632次閱讀
    浮思特 | 空調(diào)高效穩(wěn)定運(yùn)轉(zhuǎn):少不了<b class='flag-5'>這樣</b>一款I(lǐng)GBT<b class='flag-5'>模塊</b>!

    simulink只要運(yùn)行就會(huì)死機(jī)

    在卸載了2345安全衛(wèi)士之后,電腦就突然黑屏死機(jī),然后再打開(kāi)電腦,打開(kāi)simulink后會(huì)有照片里的彈窗,就會(huì)退出MATLAB,之后再打開(kāi)simulink只要運(yùn)行就會(huì)死機(jī),怎么解決(求高手解疑)
    發(fā)表于 07-24 17:11

    模塊與光纖收發(fā)器可以互連嗎?

    模塊與光纖收發(fā)器 可以互通 ,二者均屬于光電信號(hào)轉(zhuǎn)換設(shè)備,但需滿足特定技術(shù)條件才能穩(wěn)定工作。以下是互通的核心要點(diǎn)及注意事項(xiàng): 一、互通原理與技術(shù)基礎(chǔ) 功能互補(bǔ)性 光模塊:插在交換機(jī)/路由器光口
    的頭像 發(fā)表于 06-20 15:29 ?1664次閱讀
    光<b class='flag-5'>模塊</b>與光纖收發(fā)器<b class='flag-5'>可以</b>互連嗎?

    三相異步電機(jī)在SIMULINK下的建模與仿真

    坐標(biāo)系(M-T)下三相異步電機(jī)的數(shù)學(xué)模型、應(yīng)用SIMULINK建立了仿真模型及其中的電壓轉(zhuǎn)換模塊、電流轉(zhuǎn)換模塊、U/1轉(zhuǎn)換模塊.仿真實(shí)例驗(yàn)證了仿真模型的有效性。 純分享帖,需要者可點(diǎn)擊
    發(fā)表于 06-16 21:48

    在IAR Arm開(kāi)發(fā)工具鏈中--function_sections編譯選項(xiàng)的使用

    本文主要介紹在IAR Arm開(kāi)發(fā)工具鏈中不修改源代碼的情況下使用??function_sections編譯選項(xiàng)把函數(shù)放到單獨(dú)的section。
    的頭像 發(fā)表于 06-13 13:53 ?1799次閱讀
    在IAR Arm開(kāi)發(fā)工具鏈中--<b class='flag-5'>function</b>_sections編譯選項(xiàng)的使用

    MATLAB/Simulink驅(qū)動(dòng)汽車行業(yè)能效革命

    整車熱控制,MATLAB 和 Simulink 正以創(chuàng)新工具助力全球企業(yè)突破技術(shù)瓶頸,為綠色出行提供可靠保障。
    的頭像 發(fā)表于 05-14 14:22 ?787次閱讀
    MATLAB/<b class='flag-5'>Simulink</b>驅(qū)動(dòng)汽車行業(yè)能效革命

    UPS(不間斷電源)故障頻發(fā)?原因竟然這樣

    UPS(不間斷電源)故障頻發(fā)?原因竟然這樣
    的頭像 發(fā)表于 04-19 13:53 ?1841次閱讀
    UPS(不間斷電源)故障頻發(fā)?原因<b class='flag-5'>竟然</b>是<b class='flag-5'>這樣</b>

    如何實(shí)現(xiàn)MC33774IC在Simulink環(huán)境中使用基于模型的設(shè)計(jì)?

    我想熟悉如何實(shí)現(xiàn)MC33774IC 在 Simulink 環(huán)境中使用基于模型的設(shè)計(jì)。 盡管 MATLAB 提供了一些示例文件,但它們似乎是最終版本。要更深入地了解如何配置MC33774,我正在尋找一個(gè)教程,該教程解釋了如何從頭開(kāi)始在 Simulink 中設(shè)置和添加必要的
    發(fā)表于 04-10 08:05

    如何在Simulink中啟用ADC校準(zhǔn)?

    如何在 Simulink 中啟用 ADC 校準(zhǔn)? V4.2.0 產(chǎn)品發(fā)布報(bào)告指出,它在塊中可用。但我在 ADC 配置塊中找不到任何選項(xiàng)。
    發(fā)表于 03-31 07:50