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

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

3天內不再提示

Saber與Matlab聯合仿真的操作過程介紹

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

一、 概述

我們知道,Saber軟件在一開始就提供了與Matlab/Simulink的聯合仿真功能,工程師們可以在Simulink中驗證設計中的軟件部分,同時在Saber中驗證設計的硬件部分,從而實現軟硬件設計驗證的完美統一。

聯合仿真是通過SaberHDL仿真器和Simulink之間的接口實現的,它允許用戶進行交互式設計仿真。Saber協同仿真接口提供以下功能:

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

2、提供用戶界面,支持從Saber模型自動生成MAST模板和SaberRD符號。

Saber聯合仿真接口是通過仿真引擎之間的同步通信方法啟用的。在同步協同仿真方法中,每個仿真引擎在時間上獨立進行,并在預定的周期內交換數據,稱為協同仿真步長(dt)。

Saber與Simulink協同仿真的采用的同步方法具有以下優點:Simulink用戶接口在仿真期間是活動的和可訪問的,當Simulink端需要時能夠有效采樣。

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

二、 示例簡介

示例文件為throttle_controller.rar壓縮包。解壓后內容如下:

圖片

其中:

1、Matlab_ini文件是該工程對應的Saber算法工程文件

2、Only_Saber是使用Saber算法實現的仿真工程,用于比對。

3、Saber_Matlab_ini是Saber和Saber聯合仿真初始工程,需要將Saber算法導入Saber仿真工程。

4、Saber_Matlab_ini_final是Saber和Saber聯合仿真最終工程,可以實現Saber和Matlab的聯合仿真。

5、Saber_use_model_form_Matlab_export是將Simulink模型轉換成Saber模型后的Saber工程,該工程仿真時不依賴于Simulink,獨立調用Saber仿真器。

三、 Only_Saber工程演示

在Only_Saber工程中,controller_Saber算法由Saber實現,工程文件如下:

圖片

打開throttle_control_system_saber.ai_dsn工程如下:

圖片

controller_Saber 模型如下:

圖片

對throttle_control_system_Saber.ai_dsn電路進行0s~20s瞬態仿真,打開Contrl_out(即controller_Saber模型輸出)輸出結果如下:

圖片

四、 Saber和Simulink聯合演示

第一步:設置Matlab工作路徑

打開Matlab2018b,點擊“設置路徑”,在彈窗中點擊“添加文件夾”,輸入“Saber_Matlab_ini”工程所在目錄,點擊“選擇文件夾”如下:

圖片

下圖中框起來的路徑即為工作路徑,點擊“保存”,如下圖所示:

圖片

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

打開SaberRD2018.09軟件,在model菜單中,打開Matlab配置對話框,如下圖:

圖片

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

圖片

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

圖片

選擇Edit-Matlab-Start

圖片

此時在Matlab work路徑下會生成如下文件:

圖片

設置好后,關閉對話框。

第三步:打開Saber算法文件

打開“C:UsersGT_yqDesktopthrottle_controllerSaber_Matlab_ini”路徑下的“THROTTLE_CONTROLLER.mdl”文件,如下圖:

圖片

打開后如下圖所示:

圖片

第四步:添加Sabercosim模塊

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

圖片

圖片

雙擊Sabercosim,設置“Number of input signals”為1、“Number of output signals”為3,點擊“OK”,如下圖所示:

圖片

第五步:添加scop

在“throttle_controller”內點擊“Library Browser(即圖標)”打開“Saber Library Browser”對話框,在搜索框搜索“scop”,并將其拖放到“throttle_controller”內,如下圖所示:

圖片

第六步:添加demux

在“throttle_controller”內點擊“Library Browser(即圖片圖標)”打開“Saber Library Browser”對話框,找到“demux”,并將其拖放到“throttle_controller”內,如下圖所示:

圖片

雙擊demux,設置“Number of outputs”為3,點擊“OK”,如下圖所示:

圖片

第七步:保存

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

圖片

如果算法工程不在Saber仿真工程路徑下,將如下四個文件拷貝到響應仿真工程路徑下。

Demo中可以解壓Saber_Matlab_ini壓縮包,將文件拷貝進去。

圖片

第八步:打開Saber_Matlab_ini下的工程

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

圖片

此時工程中沒有算法,需要操作關聯Simulink算法。

圖片

在“Model”選項卡中點擊圖片圖標,在彈出的對話框中點擊新建,再點擊圖標,選擇“THROTTLE_CONTROLLER.mdl”文件,點擊打開,如下圖所示:

圖片

可以看到如下界面,已經打開了“THROTTLE_CONTROLLER.mdl”文件,保存后點擊圖標圖片放置器件,如下圖所示:

圖片

繪制最終電路如下,保存并進行仿真。

圖片

第九步:運行仿真

在Simulate選項卡中設置0s~2s瞬態仿真,仿真步長1us,如下圖所示:

圖片

運行仿真,仿真結果如下所示:

圖片

圖片

五、 其它說明

Saber與Simulink協同仿真也有一定的不足:

1、仿真器之間沒有錯誤控制。

2、對于連續或非周期的系統,仿真中需要在Saber與Simulink中設定足夠小的相同仿真步長,以實現仿真的數據交互。

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

    關注

    14

    文章

    994

    瀏覽量

    83124
  • MATLAB仿真
    +關注

    關注

    4

    文章

    175

    瀏覽量

    19667
  • 數據交互
    +關注

    關注

    0

    文章

    28

    瀏覽量

    10431
  • simulink仿真
    +關注

    關注

    0

    文章

    75

    瀏覽量

    8481
收藏 人收藏

    評論

    相關推薦

    手動移液器的使用操作過程

    手動移液器的使用操作過程  手動移液器常見于臨床試驗和實驗室試驗中,不同類型的移液器操作過程也有所不同,下面具體的解析一下?! ∫?、使用方法:  1.根據所需取液量選擇相應移液器及吸液嘴?! ?.
    發表于 11-20 11:51

    【PDF】LabVIEW與Matlab聯合仿真過程詳解

    【PDF】LabVIEW與Matlab聯合仿真過程詳解
    發表于 12-04 19:50

    《LabVIEW與Matlab聯合仿真過程詳解.pdf》

    《LabVIEW與Matlab聯合仿真過程詳解.pdf》有需要的xdjm就拿去吧。
    發表于 12-23 22:59

    LabVIEW與Matlab聯合仿真過程詳解

    本帖最后由 vktina1 于 2016-4-4 23:14 編輯 電子書:LabVIEW與Matlab聯合仿真過程詳解
    發表于 04-03 01:24

    電路板手工焊接操作過程

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

    求ATmega168看門狗復位的具體操作過程?

    ATmega168看門狗復位的具體操作過程
    發表于 11-18 07:17

    千萬注意!纖薄器件在操作過程中損壞不得

    千萬注意!纖薄器件在操作過程中損壞不得
    發表于 04-29 06:29

    C語言的平臺操作過程

    兩種學習C語言的平臺操作過程,在后續內容學習中需要熟練應用。這兩種方式分別為:keil c51編程軟件+硬件調試平臺臺,,keilkeil c51c51編程軟件編程軟件+ proteusproteus軟件...
    發表于 07-20 06:19

    STM32內部FLASH操作過程

    一般說STM32內部FLASH就是指主存儲器區域寫內部FLASH操作過程解鎖在對FLASH寫數據之前,需要先給解鎖,因為芯片為了防止誤操作修改應用程序,復位之后會給控制寄存器FLASH_CR上鎖(1
    發表于 12-09 06:37

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

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

    RT-Thread操作系統從開機到關機的操作過程是怎樣的?

    RT-Thread操作系統從開機到關機的操作過程是怎樣的?
    發表于 02-15 07:43

    遙控器集成檢測系統檢測CAN總線遙控器操作過程簡介

    本文主要介紹的是遙控器集成檢測系統檢測CAN總線遙控器操作過程,具體的步驟跟隨小編一起來了解一下。
    的頭像 發表于 05-07 17:46 ?6687次閱讀

    FPGA應用中部分重配置的操作過程

    Partial Reconfiguration(部分重配置)在現在的FPGA應用中越來越常見,我們這次的教程以Project模式為例來說明部分重配置的操作過程。
    的頭像 發表于 07-05 15:28 ?3279次閱讀
    FPGA應用中部分重配置的<b class='flag-5'>操作過程</b>

    在線快速修復終聚釜攪拌器軸磨損的現場操作過程

    在線快速修復終聚釜攪拌器軸磨損的現場操作過程
    發表于 12-06 15:17 ?5次下載

    磐石測控:深圳扭轉試驗機操作過程是什么樣的?

    磐石測控:深圳扭轉試驗機操作過程是什么樣的?
    的頭像 發表于 10-20 11:17 ?487次閱讀
    磐石測控:深圳扭轉試驗機<b class='flag-5'>操作過程</b>是什么樣的?
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>