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

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

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

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

如何測(cè)試帶服務(wù)接口的Simulink模型?

冬至子 ? 來(lái)源:鳴鳴鑼的小屋 ? 作者:Maxwell Luo ? 2023-07-22 09:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

圖片

Matlab 2022a之后引入了Service Interface的建模元素,這讓Simulink模型擁有了向外部其他模型提供函數(shù)的能力,也為服務(wù)接口建模語(yǔ)義打下基礎(chǔ)。

圖片

“模型可以對(duì)外提供函數(shù)功能”

新的建模元素帶來(lái)一個(gè)問(wèn)題:如何對(duì)服務(wù)接口進(jìn)行測(cè)試呢?經(jīng)過(guò)嘗試(在2022b環(huán)境下),如果對(duì)包含服務(wù)接口的模型直接創(chuàng)建test harness會(huì)造成Maltab的崩潰。原因是Simulink Test工具箱還未支持Service Inteface接口的測(cè)試模型自動(dòng)生成,且沒(méi)有做好異常檢測(cè),從而導(dǎo)致軟件崩潰。那么,我們?nèi)绾螌?duì)這類模型進(jìn)行測(cè)試呢?

測(cè)試是可以進(jìn)行的,只不過(guò)是思路要從直接測(cè)試新接口,轉(zhuǎn)變?yōu)橥ㄟ^(guò)包裝“樁模型”來(lái)間接測(cè)試。這算是針對(duì)Matlab當(dāng)前特性的一種變通。

我們通過(guò)一個(gè)簡(jiǎn)單的例子來(lái)了解這種方法。下面是目標(biāo)被測(cè)模型的功能:實(shí)現(xiàn)一個(gè)特殊加法函數(shù),該加法函數(shù)接受兩個(gè)被加數(shù),返回被加數(shù)1、被加數(shù)2、固定偏置的和;該模型不直接求加數(shù),而是借助外部的基礎(chǔ)加法函數(shù)。

圖片

“一個(gè)簡(jiǎn)單的示例”

由于用到了Service Interface,使用System Composer來(lái)生成是最方便的事情。因此我們創(chuàng)建如下System Composer模型,配置好接口定義,并生成行為模型。

圖片

“借助System Composer模型快速生成目標(biāo)模型”

圖片

“自動(dòng)生成的行為模型,需要一點(diǎn)改造”

圖片

“按照功能需求完成改造”

下面就到了比較關(guān)鍵的一步,即:創(chuàng)建一個(gè)新的測(cè)試用的System Composer模型,并補(bǔ)充上游調(diào)用模型和下游響應(yīng)模型。

我們初步創(chuàng)建如下模型,然后逐步完善它。

圖片

首先是完成服務(wù)接口的連接,然后生成對(duì)應(yīng)行為模型。

圖片

對(duì)于Source模型,我們需要補(bǔ)充其功能,即實(shí)現(xiàn)一個(gè)簡(jiǎn)單的加法。

圖片

對(duì)于Trigger模型,我們需要對(duì)外暴露函數(shù)參數(shù)的輸入接口。對(duì)于這個(gè)函數(shù)來(lái)說(shuō),需要u1和u2兩個(gè)參數(shù)。同時(shí),我們也需要對(duì)外暴露函數(shù)的返回值,因此新建輸出接口y。同時(shí)不要忘記把子模型的接口連接到外部System Composer模型的根部,因?yàn)槲覀冞€是在借助System Composer來(lái)進(jìn)行測(cè)試,如果不和System Composer模型建立聯(lián)系,那么測(cè)試數(shù)據(jù)是無(wú)法傳入的。

圖片

我們對(duì)此測(cè)試專用的System Composer模型創(chuàng)建test harness。

圖片

根據(jù)我個(gè)人的喜好,選擇test sequence來(lái)創(chuàng)建測(cè)試用例,可以很方便地創(chuàng)建函數(shù)調(diào)用,且基于場(chǎng)景測(cè)試。

圖片

于是我們就得到了一個(gè)測(cè)試對(duì)象。

圖片

點(diǎn)擊test sequence來(lái)編輯測(cè)試用例。這里需要對(duì)測(cè)試用例做如下說(shuō)明:函數(shù)調(diào)用的方法是發(fā)出一個(gè)函數(shù)觸發(fā)信號(hào),同時(shí)與之配套的函數(shù)參數(shù)也要及時(shí)賦值;采用 if t == xx ... end的語(yǔ)句來(lái)觸發(fā)函數(shù)調(diào)用,這是因?yàn)閠est sequence本質(zhì)上是一個(gè)信號(hào)發(fā)生器,如果不限定時(shí)刻,test sequence會(huì)按照默認(rèn)的時(shí)間節(jié)奏(如默認(rèn)0.2s周期)反復(fù)產(chǎn)生信號(hào),這對(duì)我們測(cè)試函數(shù)調(diào)度是不利的。

圖片

完成測(cè)試用例的編寫之后,我們還需要設(shè)置觀測(cè)。在我們關(guān)注的輸出信號(hào)線上打上log標(biāo)簽,在模型層面全局打開log event選項(xiàng)來(lái)記錄函數(shù)調(diào)度情況。

圖片

圖片

運(yùn)行仿真,可以看到這兩個(gè)圖標(biāo)都提示有結(jié)果輸出。

圖片

我們打開Data Inspector,觀察輸出y值的情況??梢钥吹椒抡娣衔覀兊念A(yù)期。

圖片

我們打開Sequence Viewer觀測(cè)函數(shù)調(diào)用情況,也符合我們的預(yù)期。

圖片

除此之外,根據(jù)實(shí)踐,如果System Composer的輸入輸出接口是Bus類型的話,需要使用Bus Element In和Bus Element Out(且設(shè)置為non-virtual)才能夠通過(guò)仿真;如果使用Inport和Outport(設(shè)置數(shù)據(jù)類型為Bus),仿真將會(huì)報(bào)錯(cuò)。

以上就是測(cè)試帶服務(wù)接口的Simulink模型的方法。相比普通的Simulink模型測(cè)試方法,帶服務(wù)接口的模型測(cè)試更加繁瑣和復(fù)雜,希望在未來(lái)高版本的Matlab會(huì)有更加用戶友好的方式解決此問(wèn)題。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • 比較器
    +關(guān)注

    關(guān)注

    14

    文章

    1848

    瀏覽量

    109198
  • 仿真器
    +關(guān)注

    關(guān)注

    14

    文章

    1037

    瀏覽量

    85430
  • 觸發(fā)器
    +關(guān)注

    關(guān)注

    14

    文章

    2039

    瀏覽量

    62158
  • 信號(hào)發(fā)生器

    關(guān)注

    28

    文章

    1574

    瀏覽量

    110680
  • MATLAB仿真
    +關(guān)注

    關(guān)注

    4

    文章

    176

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    使用LabView SIT工具包鏈接Simulink模型的方法

    點(diǎn)擊學(xué)習(xí)>>《龍哥手把手教你學(xué)LabVIEW視覺(jué)設(shè)計(jì)》視頻教程之前一直在用Simulink做仿真模型,現(xiàn)在要做測(cè)試需要用NI的設(shè)備和LabView軟件,通過(guò)一段時(shí)間的學(xué)習(xí),在SIT
    發(fā)表于 04-10 14:31

    怎么利用SIT接口將Labview模型的數(shù)據(jù)傳給Simulink模型?

    Simulink模型轉(zhuǎn)化為L(zhǎng)abview后在進(jìn)行datamapping時(shí),發(fā)現(xiàn)MDL模型的參數(shù)只能映射到Labview里面的indicator類型的組件中。這是不是因?yàn)镾IT接口只能將
    發(fā)表于 12-04 17:49

    Simulink模型生成代碼

    本文首先通過(guò)一個(gè)簡(jiǎn)單的Simulink模型生成代碼,然后將代碼copy到一個(gè)STM32工程中去編譯軟件。最后將軟件下載到STM32F407中,通過(guò)串口輸出Simulink計(jì)算的結(jié)果。閱讀本文需要
    發(fā)表于 08-11 07:56

    如何建立一個(gè)simulink模型

    Simulink模型轉(zhuǎn)嵌入式代碼流程Simulink模型轉(zhuǎn)嵌入式代碼流程Simulink模型轉(zhuǎn)嵌
    發(fā)表于 12-17 07:58

    AD9233 SIMULINK ADIsimADC模型

    AD9233 SIMULINK ADIsimADC模型
    發(fā)表于 06-03 15:50 ?1次下載
    AD9233 <b class='flag-5'>SIMULINK</b> ADIsimADC<b class='flag-5'>模型</b>

    AD9626 SIMULINK ADIsimADC模型

    AD9626 SIMULINK ADIsimADC模型
    發(fā)表于 06-04 10:27 ?0次下載
    AD9626 <b class='flag-5'>SIMULINK</b> ADIsimADC<b class='flag-5'>模型</b>

    AD9627 SIMULINK ADIsimADC模型

    AD9627 SIMULINK ADIsimADC模型
    發(fā)表于 06-04 10:33 ?3次下載
    AD9627 <b class='flag-5'>SIMULINK</b> ADIsimADC<b class='flag-5'>模型</b>

    AD9633 SIMULINK ADIsimADC模型

    AD9633 SIMULINK ADIsimADC模型
    發(fā)表于 06-04 11:29 ?2次下載
    AD9633 <b class='flag-5'>SIMULINK</b> ADIsimADC<b class='flag-5'>模型</b>

    AD9613 SIMULINK ADIsimADC模型

    AD9613 SIMULINK ADIsimADC模型
    發(fā)表于 06-06 15:29 ?0次下載
    AD9613 <b class='flag-5'>SIMULINK</b> ADIsimADC<b class='flag-5'>模型</b>

    AD9609 SIMULINK ADIsimADC模型

    AD9609 SIMULINK ADIsimADC模型
    發(fā)表于 06-06 16:12 ?3次下載
    AD9609 <b class='flag-5'>SIMULINK</b> ADIsimADC<b class='flag-5'>模型</b>

    AD9215 SIMULINK ADIsimADC模型

    AD9215 SIMULINK ADIsimADC模型
    發(fā)表于 06-06 16:33 ?4次下載
    AD9215 <b class='flag-5'>SIMULINK</b> ADIsimADC<b class='flag-5'>模型</b>

    AD9287 SIMULINK ADIsimADC模型

    AD9287 SIMULINK ADIsimADC模型
    發(fā)表于 06-06 17:41 ?4次下載
    AD9287 <b class='flag-5'>SIMULINK</b> ADIsimADC<b class='flag-5'>模型</b>

    AD9461 SIMULINK ADIsimADC模型

    AD9461 SIMULINK ADIsimADC模型
    發(fā)表于 06-06 18:38 ?6次下載
    AD9461 <b class='flag-5'>SIMULINK</b> ADIsimADC<b class='flag-5'>模型</b>

    AD9430 SIMULINK ADIsimADC模型

    AD9430 SIMULINK ADIsimADC模型
    發(fā)表于 06-06 18:42 ?7次下載
    AD9430 <b class='flag-5'>SIMULINK</b> ADIsimADC<b class='flag-5'>模型</b>

    Simulink集成模型測(cè)試太慢怎么辦?

    作者|單線程生物小編|吃不飽Tips:現(xiàn)階段模型開發(fā)大部分采用Simulink,為了驗(yàn)證模型實(shí)現(xiàn)了相關(guān)功能,需要對(duì)模型進(jìn)行測(cè)試
    的頭像 發(fā)表于 09-09 14:53 ?1532次閱讀
    <b class='flag-5'>Simulink</b>集成<b class='flag-5'>模型</b><b class='flag-5'>測(cè)試</b>太慢怎么辦?