在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

如何測試帶服務接口的Simulink模型?

冬至子 ? 來源:鳴鳴鑼的小屋 ? 作者:Maxwell Luo ? 2023-07-22 09:51 ? 次閱讀

圖片

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

圖片

“模型可以對外提供函數功能”

新的建模元素帶來一個問題:如何對服務接口進行測試呢?經過嘗試(在2022b環境下),如果對包含服務接口的模型直接創建test harness會造成Maltab的崩潰。原因是Simulink Test工具箱還未支持Service Inteface接口的測試模型自動生成,且沒有做好異常檢測,從而導致軟件崩潰。那么,我們如何對這類模型進行測試呢?

測試是可以進行的,只不過是思路要從直接測試新接口,轉變為通過包裝“樁模型”來間接測試。這算是針對Matlab當前特性的一種變通。

我們通過一個簡單的例子來了解這種方法。下面是目標被測模型的功能:實現一個特殊加法函數,該加法函數接受兩個被加數,返回被加數1、被加數2、固定偏置的和;該模型不直接求加數,而是借助外部的基礎加法函數。

圖片

“一個簡單的示例”

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

圖片

“借助System Composer模型快速生成目標模型”

圖片

“自動生成的行為模型,需要一點改造”

圖片

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

下面就到了比較關鍵的一步,即:創建一個新的測試用的System Composer模型,并補充上游調用模型和下游響應模型。

我們初步創建如下模型,然后逐步完善它。

圖片

首先是完成服務接口的連接,然后生成對應行為模型。

圖片

對于Source模型,我們需要補充其功能,即實現一個簡單的加法。

圖片

對于Trigger模型,我們需要對外暴露函數參數的輸入接口。對于這個函數來說,需要u1和u2兩個參數。同時,我們也需要對外暴露函數的返回值,因此新建輸出接口y。同時不要忘記把子模型的接口連接到外部System Composer模型的根部,因為我們還是在借助System Composer來進行測試,如果不和System Composer模型建立聯系,那么測試數據是無法傳入的。

圖片

我們對此測試專用的System Composer模型創建test harness。

圖片

根據我個人的喜好,選擇test sequence來創建測試用例,可以很方便地創建函數調用,且基于場景測試。

圖片

于是我們就得到了一個測試對象。

圖片

點擊test sequence來編輯測試用例。這里需要對測試用例做如下說明:函數調用的方法是發出一個函數觸發信號,同時與之配套的函數參數也要及時賦值;采用 if t == xx ... end的語句來觸發函數調用,這是因為test sequence本質上是一個信號發生器,如果不限定時刻,test sequence會按照默認的時間節奏(如默認0.2s周期)反復產生信號,這對我們測試函數調度是不利的。

圖片

完成測試用例的編寫之后,我們還需要設置觀測。在我們關注的輸出信號線上打上log標簽,在模型層面全局打開log event選項來記錄函數調度情況。

圖片

圖片

運行仿真,可以看到這兩個圖標都提示有結果輸出。

圖片

我們打開Data Inspector,觀察輸出y值的情況。可以看到仿真符合我們的預期。

圖片

我們打開Sequence Viewer觀測函數調用情況,也符合我們的預期。

圖片

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

以上就是測試帶服務接口的Simulink模型的方法。相比普通的Simulink模型測試方法,帶服務接口的模型測試更加繁瑣和復雜,希望在未來高版本的Matlab會有更加用戶友好的方式解決此問題。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 比較器
    +關注

    關注

    14

    文章

    1659

    瀏覽量

    107458
  • 仿真器
    +關注

    關注

    14

    文章

    1019

    瀏覽量

    83960
  • 觸發器
    +關注

    關注

    14

    文章

    2017

    瀏覽量

    61379
  • 信號發生器
    +關注

    關注

    28

    文章

    1480

    瀏覽量

    109062
  • MATLAB仿真
    +關注

    關注

    4

    文章

    176

    瀏覽量

    20003
收藏 人收藏

    評論

    相關推薦

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

    點擊學習>>《龍哥手把手教你學LabVIEW視覺設計》視頻教程之前一直在用Simulink做仿真模型,現在要做測試需要用NI的設備和LabView軟件,通過一段時間的學習,在SIT
    發表于 04-10 14:31

    怎么利用SIT接口將Labview模型的數據傳給Simulink模型

    Simulink模型轉化為Labview后在進行datamapping時,發現MDL模型的參數只能映射到Labview里面的indicator類型的組件中。這是不是因為SIT接口只能將
    發表于 12-04 17:49

    Simulink模型生成代碼

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

    如何建立一個simulink模型

    Simulink模型轉嵌入式代碼流程Simulink模型轉嵌入式代碼流程Simulink模型轉嵌
    發表于 12-17 07:58

    AD9233 SIMULINK ADIsimADC模型

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

    AD9626 SIMULINK ADIsimADC模型

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

    AD9627 SIMULINK ADIsimADC模型

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

    AD9633 SIMULINK ADIsimADC模型

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

    AD9613 SIMULINK ADIsimADC模型

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

    AD9609 SIMULINK ADIsimADC模型

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

    AD9215 SIMULINK ADIsimADC模型

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

    AD9287 SIMULINK ADIsimADC模型

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

    AD9461 SIMULINK ADIsimADC模型

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

    AD9430 SIMULINK ADIsimADC模型

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

    Simulink集成模型測試太慢怎么辦?

    作者|單線程生物小編|吃不飽Tips:現階段模型開發大部分采用Simulink,為了驗證模型實現了相關功能,需要對模型進行測試
    的頭像 發表于 09-09 14:53 ?1280次閱讀
    <b class='flag-5'>Simulink</b>集成<b class='flag-5'>模型</b><b class='flag-5'>測試</b>太慢怎么辦?
    主站蜘蛛池模板: 日本久久久 | 久久久久久国产精品免费免费 | 精品日韩 | 久久国产精品免费专区 | 99国产在线 | 免费一级毛片在线播放不收费 | 色老头免费视频 | 黄色免费小视频 | 天堂资源在线 | 亚洲欧美日韩色图 | 九九精品免费观看在线 | 亚洲免费二区三区 | 中文字幕在线观看一区 | 色老头久久久久久久久久 | 婷婷激情小说网 | bt天堂网www连接 | 两性午夜欧美高清做性 | bt天堂网在线资源www | 嫩草影院久久国产精品 | 欧美一级视频在线高清观看 | 天天谢天天干 | 亚洲一区二区免费在线观看 | 99青草青草久热精品视频 | 久久亚洲欧美成人精品 | 国产色产综合色产在线观看视频 | 男人的天堂免费网站 | 俺也去第四色 | 4hc44四虎www亚洲 | 99精品热女视频专线 | 免费久久久久 | 四虎精品影院4hutv四虎 | 毛片一区二区三区 | 中国一级特黄视频 | 久热久| 国产美女视频免费 | 视色4se成人午夜精品 | 国产网红主播chinese | 亚洲1卡二卡3卡四卡不卡 | 97成人资源 | 国产激烈床戏无遮挡在线观看 | 欧美成人精品福利网站 |