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

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

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

Saber與Matlab聯(lián)合仿真的操作過(guò)程介紹

冬至子 ? 來(lái)源:Saber仿真 ? 作者:Greatalent ? 2023-12-05 09:43 ? 次閱讀

一、 概述

我們知道,Saber軟件在一開(kāi)始就提供了與Matlab/Simulink的聯(lián)合仿真功能,工程師們可以在Simulink中驗(yàn)證設(shè)計(jì)中的軟件部分,同時(shí)在Saber中驗(yàn)證設(shè)計(jì)的硬件部分,從而實(shí)現(xiàn)軟硬件設(shè)計(jì)驗(yàn)證的完美統(tǒng)一。

聯(lián)合仿真是通過(guò)SaberHDL仿真器和Simulink之間的接口實(shí)現(xiàn)的,它允許用戶進(jìn)行交互式設(shè)計(jì)仿真。Saber協(xié)同仿真接口提供以下功能:

1、SaberRD和Simulink仿真算法耦合。

2、提供用戶界面,支持從Saber模型自動(dòng)生成MAST模板和SaberRD符號(hào)。

Saber聯(lián)合仿真接口是通過(guò)仿真引擎之間的同步通信方法啟用的。在同步協(xié)同仿真方法中,每個(gè)仿真引擎在時(shí)間上獨(dú)立進(jìn)行,并在預(yù)定的周期內(nèi)交換數(shù)據(jù),稱為協(xié)同仿真步長(zhǎng)(dt)。

Saber與Simulink協(xié)同仿真的采用的同步方法具有以下優(yōu)點(diǎn):Simulink用戶接口在仿真期間是活動(dòng)的和可訪問(wèn)的,當(dāng)Simulink端需要時(shí)能夠有效采樣。

本文通過(guò)隨附的示例介紹Saber與Matlab聯(lián)合仿真的操作過(guò)程。我們使用的SaberRD版本為2019.06,Matlab版本為2018b。

二、 示例簡(jiǎn)介

示例文件為throttle_controller.rar壓縮包。解壓后內(nèi)容如下:

圖片

其中:

1、Matlab_ini文件是該工程對(duì)應(yīng)的Saber算法工程文件

2、Only_Saber是使用Saber算法實(shí)現(xiàn)的仿真工程,用于比對(duì)。

3、Saber_Matlab_ini是Saber和Saber聯(lián)合仿真初始工程,需要將Saber算法導(dǎo)入Saber仿真工程。

4、Saber_Matlab_ini_final是Saber和Saber聯(lián)合仿真最終工程,可以實(shí)現(xiàn)Saber和Matlab的聯(lián)合仿真。

5、Saber_use_model_form_Matlab_export是將Simulink模型轉(zhuǎn)換成Saber模型后的Saber工程,該工程仿真時(shí)不依賴于Simulink,獨(dú)立調(diào)用Saber仿真器。

三、 Only_Saber工程演示

在Only_Saber工程中,controller_Saber算法由Saber實(shí)現(xiàn),工程文件如下:

圖片

打開(kāi)throttle_control_system_saber.ai_dsn工程如下:

圖片

controller_Saber 模型如下:

圖片

對(duì)throttle_control_system_Saber.ai_dsn電路進(jìn)行0s~20s瞬態(tài)仿真,打開(kāi)Contrl_out(即controller_Saber模型輸出)輸出結(jié)果如下:

圖片

四、 Saber和Simulink聯(lián)合演示

第一步:設(shè)置Matlab工作路徑

打開(kāi)Matlab2018b,點(diǎn)擊“設(shè)置路徑”,在彈窗中點(diǎn)擊“添加文件夾”,輸入“Saber_Matlab_ini”工程所在目錄,點(diǎn)擊“選擇文件夾”如下:

圖片

下圖中框起來(lái)的路徑即為工作路徑,點(diǎn)擊“保存”,如下圖所示:

圖片

第二步:在Saber中配置Matlab接口

打開(kāi)SaberRD2018.09軟件,在model菜單中,打開(kāi)Matlab配置對(duì)話框,如下圖:

圖片

在“Simulink Cosimulation Tool”對(duì)話框中選擇 “edit-Matlab-Setup”,如下圖所示:

圖片

如下圖,選擇Simulink 9.5版本,Matlab install Root選擇所在電腦安裝的安裝路徑,Matlab Work Directory選擇Matlab工作路徑。設(shè)置完成后點(diǎn)擊“OK”。

圖片

選擇Edit-Matlab-Start

圖片

此時(shí)在Matlab work路徑下會(huì)生成如下文件:

圖片

設(shè)置好后,關(guān)閉對(duì)話框。

第三步:打開(kāi)Saber算法文件

打開(kāi)“C:UsersGT_yqDesktopthrottle_controllerSaber_Matlab_ini”路徑下的“THROTTLE_CONTROLLER.mdl”文件,如下圖:

圖片

打開(kāi)后如下圖所示:

圖片

第四步:添加Sabercosim模塊

打開(kāi)“C:Program FilesMATLABR2018bwork(Matlab2018b軟件安裝路徑)”路徑下的SaberCosim模塊,并拖放到“C:UsersGT_yqDesktop throttle_controller Saber_Matlab_ini(工程所在目錄)”下。在仿真工程左側(cè)對(duì)話框中找到SaberCosim模塊,雙擊打開(kāi),并拖放到“throttle_controller”內(nèi),如下圖所示:

圖片

圖片

雙擊Sabercosim,設(shè)置“Number of input signals”為1、“Number of output signals”為3,點(diǎn)擊“OK”,如下圖所示:

圖片

第五步:添加scop

在“throttle_controller”內(nèi)點(diǎn)擊“Library Browser(即圖標(biāo))”打開(kāi)“Saber Library Browser”對(duì)話框,在搜索框搜索“scop”,并將其拖放到“throttle_controller”內(nèi),如下圖所示:

圖片

第六步:添加demux

在“throttle_controller”內(nèi)點(diǎn)擊“Library Browser(即圖片圖標(biāo))”打開(kāi)“Saber Library Browser”對(duì)話框,找到“demux”,并將其拖放到“throttle_controller”內(nèi),如下圖所示:

圖片

雙擊demux,設(shè)置“Number of outputs”為3,點(diǎn)擊“OK”,如下圖所示:

圖片

第七步:保存

按照下圖所示電路連接,連接完成后保存。

圖片

如果算法工程不在Saber仿真工程路徑下,將如下四個(gè)文件拷貝到響應(yīng)仿真工程路徑下。

Demo中可以解壓Saber_Matlab_ini壓縮包,將文件拷貝進(jìn)去。

圖片

第八步:打開(kāi)Saber_Matlab_ini下的工程

在Saber中打開(kāi)“Saber_Matlab_ini”文件夾中的電路,如下圖所示:

圖片

此時(shí)工程中沒(méi)有算法,需要操作關(guān)聯(lián)Simulink算法。

圖片

在“Model”選項(xiàng)卡中點(diǎn)擊圖片圖標(biāo),在彈出的對(duì)話框中點(diǎn)擊新建,再點(diǎn)擊圖標(biāo),選擇“THROTTLE_CONTROLLER.mdl”文件,點(diǎn)擊打開(kāi),如下圖所示:

圖片

可以看到如下界面,已經(jīng)打開(kāi)了“THROTTLE_CONTROLLER.mdl”文件,保存后點(diǎn)擊圖標(biāo)圖片放置器件,如下圖所示:

圖片

繪制最終電路如下,保存并進(jìn)行仿真。

圖片

第九步:運(yùn)行仿真

在Simulate選項(xiàng)卡中設(shè)置0s~2s瞬態(tài)仿真,仿真步長(zhǎng)1us,如下圖所示:

圖片

運(yùn)行仿真,仿真結(jié)果如下所示:

圖片

圖片

五、 其它說(shuō)明

Saber與Simulink協(xié)同仿真也有一定的不足:

1、仿真器之間沒(méi)有錯(cuò)誤控制。

2、對(duì)于連續(xù)或非周期的系統(tǒng),仿真中需要在Saber與Simulink中設(shè)定足夠小的相同仿真步長(zhǎng),以實(shí)現(xiàn)仿真的數(shù)據(jù)交互。

聲明:本文內(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

    文章

    1014

    瀏覽量

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

    關(guān)注

    4

    文章

    175

    瀏覽量

    19890
  • 數(shù)據(jù)交互
    +關(guān)注

    關(guān)注

    0

    文章

    28

    瀏覽量

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

    關(guān)注

    0

    文章

    75

    瀏覽量

    8550
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    手動(dòng)移液器的使用操作過(guò)程

    手動(dòng)移液器的使用操作過(guò)程  手動(dòng)移液器常見(jiàn)于臨床試驗(yàn)和實(shí)驗(yàn)室試驗(yàn)中,不同類型的移液器操作過(guò)程也有所不同,下面具體的解析一下?! ∫弧⑹褂梅椒ǎ骸 ?.根據(jù)所需取液量選擇相應(yīng)移液器及吸液嘴?! ?.
    發(fā)表于 11-20 11:51

    【PDF】LabVIEW與Matlab聯(lián)合仿真過(guò)程詳解

    【PDF】LabVIEW與Matlab聯(lián)合仿真過(guò)程詳解
    發(fā)表于 12-04 19:50

    《LabVIEW與Matlab聯(lián)合仿真過(guò)程詳解.pdf》

    《LabVIEW與Matlab聯(lián)合仿真過(guò)程詳解.pdf》有需要的xdjm就拿去吧。
    發(fā)表于 12-23 22:59

    電路板手工焊接操作過(guò)程

    `哪位大神可以分享電路板手工焊接的操作過(guò)程嗎?`
    發(fā)表于 02-29 15:14

    千萬(wàn)注意!纖薄器件在操作過(guò)程中損壞不得

    千萬(wàn)注意!纖薄器件在操作過(guò)程中損壞不得
    發(fā)表于 04-29 06:29

    C語(yǔ)言的平臺(tái)操作過(guò)程

    兩種學(xué)習(xí)C語(yǔ)言的平臺(tái)操作過(guò)程,在后續(xù)內(nèi)容學(xué)習(xí)中需要熟練應(yīng)用。這兩種方式分別為:keil c51編程軟件+硬件調(diào)試平臺(tái)臺(tái),,keilkeil c51c51編程軟件編程軟件+ proteusproteus軟件...
    發(fā)表于 07-20 06:19

    STM32內(nèi)部FLASH操作過(guò)程

    一般說(shuō)STM32內(nèi)部FLASH就是指主存儲(chǔ)器區(qū)域?qū)憙?nèi)部FLASH操作過(guò)程解鎖在對(duì)FLASH寫數(shù)據(jù)之前,需要先給解鎖,因?yàn)樾酒瑸榱朔乐拐`操作修改應(yīng)用程序,復(fù)位之后會(huì)給控制寄存器FLASH_CR上鎖(1
    發(fā)表于 12-09 06:37

    GPIO輸入完成按鍵掃描的操作過(guò)程是怎樣的

    GPIO輸入完成按鍵掃描的操作過(guò)程是怎樣的
    發(fā)表于 02-08 07:29

    RT-Thread操作系統(tǒng)從開(kāi)機(jī)到關(guān)機(jī)的操作過(guò)程是怎樣的?

    RT-Thread操作系統(tǒng)從開(kāi)機(jī)到關(guān)機(jī)的操作過(guò)程是怎樣的?
    發(fā)表于 02-15 07:43

    心電監(jiān)護(hù)儀操作過(guò)程

    心電監(jiān)護(hù)儀是醫(yī)院實(shí)用的精密醫(yī)學(xué)儀器,能同時(shí)監(jiān)護(hù)病人的動(dòng)態(tài)心電圖形、呼吸、體溫、等生理參數(shù)。這里提供了心電監(jiān)護(hù)儀操作過(guò)程使用維護(hù)。
    發(fā)表于 12-21 17:36 ?2.1w次閱讀
    心電監(jiān)護(hù)儀<b class='flag-5'>操作過(guò)程</b>

    saber2011仿真的uc3842

    saber2011仿真的uc3842,模型簡(jiǎn)單,希望能幫助剛使用saber的你
    發(fā)表于 08-23 16:46 ?106次下載

    FPGA應(yīng)用中部分重配置的操作過(guò)程

    Partial Reconfiguration(部分重配置)在現(xiàn)在的FPGA應(yīng)用中越來(lái)越常見(jiàn),我們這次的教程以Project模式為例來(lái)說(shuō)明部分重配置的操作過(guò)程。
    的頭像 發(fā)表于 07-05 15:28 ?3598次閱讀
    FPGA應(yīng)用中部分重配置的<b class='flag-5'>操作過(guò)程</b>

    在線快速修復(fù)終聚釜攪拌器軸磨損的現(xiàn)場(chǎng)操作過(guò)程

    在線快速修復(fù)終聚釜攪拌器軸磨損的現(xiàn)場(chǎng)操作過(guò)程
    發(fā)表于 12-06 15:17 ?5次下載

    磐石測(cè)控:深圳扭轉(zhuǎn)試驗(yàn)機(jī)操作過(guò)程是什么樣的?

    磐石測(cè)控:深圳扭轉(zhuǎn)試驗(yàn)機(jī)操作過(guò)程是什么樣的?
    的頭像 發(fā)表于 10-20 11:17 ?642次閱讀
    磐石測(cè)控:深圳扭轉(zhuǎn)試驗(yàn)機(jī)<b class='flag-5'>操作過(guò)程</b>是什么樣的?

    CBS基本操作過(guò)程介紹

    數(shù)量的增加變得更嚴(yán)峻。 就像如果道路沒(méi)有交通指揮系統(tǒng),人們就會(huì)將有些道路擠得水瀉不通,形成死鎖的局面。為解決此問(wèn)題,一種基于沖突的多機(jī)器人路徑搜索方法(Conflict-Base search)應(yīng)運(yùn)而生。 CBS基本操作過(guò)程 CBS由2個(gè)搜索過(guò)
    的頭像 發(fā)表于 11-17 16:20 ?615次閱讀
    CBS基本<b class='flag-5'>操作過(guò)程</b><b class='flag-5'>介紹</b>