chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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 Test Sequence場(chǎng)景測(cè)試和代碼生成步驟

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

掃碼添加小助手

加入工程師交流群

圖片

Simulink是基于時(shí)間序列的仿真系統(tǒng),因此在我們進(jìn)行單元測(cè)試的時(shí)候,往往會(huì)輸入一組時(shí)間相關(guān)的數(shù)據(jù),通過(guò)Signal Builder、Signal Editor我們可以做到快速地創(chuàng)建一組時(shí)間序列數(shù)據(jù)。但是有的時(shí)候,我們更加關(guān)注軟件某些時(shí)刻的行為,且測(cè)試的觸發(fā)取決于一定的先決條件。這個(gè)時(shí)候,我們就需要基于場(chǎng)景的測(cè)試了。在Simulink中,Test Sequence/Test Assessment就很好地滿足了這一需求。我們今天主要聚焦于使用Test Sequence完成場(chǎng)景測(cè)試的編輯,以及對(duì)Test Sequence進(jìn)行代碼生成。

使用Test Sequence

首先創(chuàng)建一個(gè)簡(jiǎn)單的模型,實(shí)現(xiàn)一個(gè)簡(jiǎn)單的功能:把輸入乘以2之后再輸出。這里我們可以選擇通過(guò)創(chuàng)建Harness來(lái)測(cè)試,在創(chuàng)建時(shí)勾選使用Test Sequence來(lái)驅(qū)動(dòng)。

圖片

圖片

但是我們這里不選擇自動(dòng)創(chuàng)建,而是手動(dòng)創(chuàng)建Test Sequence,這樣我們能夠更好地體會(huì)它的功能。

新建一個(gè)測(cè)試專用的模型,并把待測(cè)試的目標(biāo)模型引用進(jìn)來(lái),再創(chuàng)建一個(gè)空白的Test Sequence模塊??梢詮囊媚P偷?a target="_blank">接口看到,該模型需要一個(gè)函數(shù)調(diào)用和一個(gè)輸入數(shù)據(jù)進(jìn)行驅(qū)動(dòng)。我們?cè)赥est Sequence模塊中完成這一工作。

圖片

打開(kāi)Test Sequence模塊,可以看到左側(cè)欄是一些標(biāo)識(shí)符的定義,右側(cè)就是場(chǎng)景編輯界面。每一條測(cè)試都是由步驟名、步驟動(dòng)作、轉(zhuǎn)移條件、下一步驟組成,操作起來(lái)很像狀態(tài)機(jī),語(yǔ)句也都是MATLAB語(yǔ)言,非常自然。

圖片

下面嘗試編輯一個(gè)場(chǎng)景:初始時(shí)(t=0),輸入賦值為0;t = 1時(shí)刻,輸入賦值為1,同時(shí)調(diào)用一次Step函數(shù);t = 5時(shí)刻,輸入賦值為2,同時(shí)調(diào)用一次Step函數(shù)。我們第一次寫(xiě)出來(lái)的Test Sequence如下所示。

圖片

連接好測(cè)試模型,設(shè)置為離散求解器,步長(zhǎng)為0.2,仿真時(shí)間為10s,記錄輸出值以及事件。

圖片

運(yùn)行仿真,查看Sequence Viewer如下。遺憾地發(fā)現(xiàn),Step函數(shù)并沒(méi)有像我們預(yù)期的那樣,在1s和5s時(shí)刻運(yùn)行一遍。這是因?yàn)镾imulink還是基于時(shí)間序列的仿真,并不能真的只在1s和5s各自運(yùn)行一次。Test Sequence只是提供了一些方便的場(chǎng)景編輯功能,在上面那種寫(xiě)法中,Simulink維持了Step在每個(gè)時(shí)刻進(jìn)行調(diào)用的設(shè)置。對(duì)于數(shù)據(jù)也是同樣的道理,雖然用戶只設(shè)置了一次,但是往后的仿真時(shí)間步會(huì)延續(xù)該次設(shè)置值,并持續(xù)產(chǎn)生數(shù)據(jù)。

圖片

因此,正確的寫(xiě)法應(yīng)該是如下所示。這樣能夠保證,Step函數(shù)真的只在期望的時(shí)刻發(fā)生調(diào)用了。

圖片

圖片

對(duì)Test Sequence生成代碼

Test Sequence模塊無(wú)疑是非常好用的工具,那么是否可以應(yīng)用到SIL的測(cè)試場(chǎng)景中呢?答案是可以的。Test Sequence模塊可以生成代碼,這樣我們就可以得到一個(gè)C代碼的測(cè)試驅(qū)動(dòng)程序。我們把上述Test Sequence模塊拷貝到一個(gè)新的Simulink模型中,并進(jìn)行如下的配置,就可以生成我們想要的驅(qū)動(dòng)代碼形式了。

圖片

這里注意以下幾點(diǎn):

  1. Test Sequence模塊既輸出了信號(hào),也輸出了函數(shù)調(diào)用,如果希望能夠在代碼中看到函數(shù)調(diào)用,就必須構(gòu)造一個(gè)Function Call Subsystem和Function Caller來(lái)承接這個(gè)函數(shù)調(diào)用,如下所示。

圖片

  1. 對(duì)于輸出的信號(hào)如果有特殊的接口形式要求(比如某個(gè)全局變量,或者接口函數(shù)),那么可以通過(guò)Simulink自定義存儲(chǔ)類來(lái)實(shí)現(xiàn),綁定此信號(hào)線和一個(gè)Simulink.Signal對(duì)象。像下面這樣,可以讓輸出為一個(gè)全局變量x;也可以是一個(gè)標(biāo)準(zhǔn)的RTE接口。

圖片

圖片

  1. 要注意驅(qū)動(dòng)模型的仿真步長(zhǎng)一定要和被測(cè)對(duì)象進(jìn)行匹配。因?yàn)楸綯est Sequence模塊是放在一個(gè)定速率模型中,其運(yùn)行節(jié)奏是由步長(zhǎng)決定的,代碼生成中也可以看到,Test Sequence中所謂t == 1 ,after( 1 , sec)也都會(huì)轉(zhuǎn)換到相應(yīng)的步長(zhǎng)上。因此如果步長(zhǎng)配置錯(cuò)誤會(huì)導(dǎo)致測(cè)試驅(qū)動(dòng)的節(jié)奏錯(cuò)誤。(額外提一點(diǎn),包含Test Sequence的模型配置成導(dǎo)出函數(shù)模型或AUTOSAR模型的話,在生成代碼上有困難。)

圖片

圖片

聲明:本文內(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)投訴
  • 仿真器
    +關(guān)注

    關(guān)注

    14

    文章

    1035

    瀏覽量

    85180
  • MATLAB語(yǔ)言
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    8766
  • simulink仿真
    +關(guān)注

    關(guān)注

    0

    文章

    75

    瀏覽量

    8754
  • sequence
    +關(guān)注

    關(guān)注

    0

    文章

    23

    瀏覽量

    2991
  • 求解器
    +關(guān)注

    關(guān)注

    0

    文章

    79

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    基于base test如何來(lái)構(gòu)造測(cè)試用例

    在設(shè)計(jì)仿真用例時(shí),有限制條件的激勵(lì)相比漫無(wú)目的的仿真更加有效的找出RTL的bug。因此,同一份測(cè)試方案,不同的sequence往往代表著不同的test_case。真正的測(cè)試用例都是基于
    的頭像 發(fā)表于 09-19 09:16 ?2662次閱讀

    CCS打開(kāi)simulink生成的dsp代碼

    simulink生成DSP代碼,并成功下載到板子上后,用CCS選中生成代碼文件確卻不能打開(kāi),這是為什么?
    發(fā)表于 10-29 18:33

    Simulink模型生成代碼

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

    通過(guò)一個(gè)簡(jiǎn)單的Simulink模型生成代碼

    本文首先通過(guò)一個(gè)簡(jiǎn)單的Simulink模型生成代碼,然后將代碼copy到一個(gè)Arduino路徑中去編譯軟件。最后將軟件下載到Arduino Uno中,通過(guò)串口輸出
    發(fā)表于 08-18 06:22

    手把手教你SIMULINK代碼生成

    FrancisZhao:專欄文章列表以及一些說(shuō)明?zhuanlan.zhihu.comFrancisZhao:手把手教你代碼生成(下):SIMULINK代碼
    發(fā)表于 08-18 06:03

    請(qǐng)問(wèn)simulink代碼如何生成2020a?

    請(qǐng)問(wèn)simulink代碼如何生成2020a?
    發(fā)表于 11-22 06:38

    MATLAB/SIMULINK生成嵌入式代碼有哪些步驟

    昨天參加了Mathworks公司在東南大學(xué)舉辦的關(guān)于MATLAB的培訓(xùn),內(nèi)容是關(guān)于MATLAB/SIMULINK的嵌入式代碼生成以及物理建模,在這里把代碼
    發(fā)表于 12-16 07:16

    基于Simulink代碼生成過(guò)程是怎樣的?

    基于Simulink代碼生成過(guò)程是怎樣的?
    發(fā)表于 02-18 07:46

    Simulink 自動(dòng)代碼生成原理分享

    多出來(lái)一些目標(biāo)系統(tǒng)可以選擇。自定義目標(biāo)系統(tǒng)是為了讓Simulink生成代碼能根據(jù)用戶的需要,與底層驅(qū)動(dòng)做集成。我們首先需要了解Simulink目標(biāo)編譯的流程,如下圖,
    發(fā)表于 05-31 11:19

    MathWorks推出新款代碼生成工具Simulink

      MathWorks 今日宣布 Simulink 代碼生成工具箱已通過(guò) Embedded Coder 嵌入到 Freescale 的新款 Motor Control Development Toolbox 中。該工具箱包括
    發(fā)表于 04-26 08:39 ?1425次閱讀

    MBD的Simulink使用技巧:Simulink代碼生成的基本概念(1)

    MATLAB/Simulink中一共提供三個(gè)代碼生成的工具
    的頭像 發(fā)表于 07-13 15:11 ?3579次閱讀
    MBD的<b class='flag-5'>Simulink</b>使用技巧:<b class='flag-5'>Simulink</b><b class='flag-5'>代碼</b><b class='flag-5'>生成</b>的基本概念(1)

    MBD的Simulink使用技巧:詳解代碼生成中的模型與代碼(2)

    上一篇文章中提到,生成嵌入式代碼,必須選擇定步長(zhǎng)求解器。實(shí)際中,生成嵌入式代碼幾乎不會(huì)使用Simulink模型庫(kù)中的連續(xù)模型,往往需要通過(guò)最
    的頭像 發(fā)表于 07-13 15:13 ?6784次閱讀
    MBD的<b class='flag-5'>Simulink</b>使用技巧:詳解<b class='flag-5'>代碼</b><b class='flag-5'>生成</b>中的模型與<b class='flag-5'>代碼</b>(2)

    利用Simulink自動(dòng)生成STM32串口代碼

    功能:利用Simulink自動(dòng)生成STM32串口代碼,在Keil中編譯后直接下載到主芯片,實(shí)現(xiàn)串口通訊的功能。
    的頭像 發(fā)表于 10-25 17:04 ?2356次閱讀
    利用<b class='flag-5'>Simulink</b>自動(dòng)<b class='flag-5'>生成</b>STM32串口<b class='flag-5'>代碼</b>

    simulink自動(dòng)生成ROS代碼

    當(dāng)我們用simulink完成控制程序的搭建后,我們期望下一次可以直接對(duì)ROS進(jìn)行控制,而不是每次都需要啟動(dòng)matlab和simulink,因此我們可以使用simulink代碼
    的頭像 發(fā)表于 11-15 17:53 ?1176次閱讀
    <b class='flag-5'>simulink</b>自動(dòng)<b class='flag-5'>生成</b>ROS<b class='flag-5'>代碼</b>

    Simulink自動(dòng)生成代碼現(xiàn)階段的學(xué)習(xí)筆記

    在車載控制器的軟件開(kāi)發(fā)中,simulink的身影幾乎隨處可見(jiàn),主要是在控制算法和控制邏輯的實(shí)現(xiàn)。平時(shí)看同事點(diǎn)點(diǎn)點(diǎn)就生成代碼了,看起來(lái)很簡(jiǎn)單,但是實(shí)際操作起來(lái)確各種磕磕絆絆。 下面記錄了一下
    的頭像 發(fā)表于 04-17 10:56 ?4785次閱讀
    <b class='flag-5'>Simulink</b>自動(dòng)<b class='flag-5'>生成</b><b class='flag-5'>代碼</b>現(xiàn)階段的學(xué)習(xí)筆記