一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

關(guān)于使用狀態(tài)機(jī)與流程圖進(jìn)行建模和仿真決策邏輯的分析和研究

MATLAB ? 來源:djl ? 2019-09-18 17:37 ? 次閱讀

Stateflow 是一個(gè)基于狀態(tài)機(jī)和流程圖來構(gòu)建組合和時(shí)序邏輯決策模型并進(jìn)行仿真的環(huán)境。Stateflow 可以將圖形表示和表格表示(包括狀態(tài)轉(zhuǎn)換圖、流程圖、狀態(tài)轉(zhuǎn)換表和真值表)結(jié)合在一起,針對系統(tǒng)對事件、基于時(shí)間的條件以及外部輸入信號的反應(yīng)方式進(jìn)行建模。

Stateflow 可用于設(shè)計(jì)有關(guān)監(jiān)控、任務(wù)調(diào)度以及故障管理應(yīng)用程序的邏輯。Stateflow 包括狀態(tài)圖動(dòng)畫及靜態(tài)和運(yùn)行時(shí)檢查,可以在實(shí)施前測試設(shè)計(jì)的一致性和完整性。

主要功能

構(gòu)建環(huán)境、圖形組件和仿真引擎模型,實(shí)現(xiàn)復(fù)雜邏輯的建模和仿真;

具有層次結(jié)構(gòu)、并行系統(tǒng)、時(shí)間算子和事件的確定性執(zhí)行語義;

通過狀態(tài)圖、狀態(tài)轉(zhuǎn)移表和狀態(tài)轉(zhuǎn)移矩陣表達(dá)有限狀態(tài)機(jī);

通過流程圖、MATLAB 函數(shù)和真值表來表達(dá)算法

通過狀態(tài)圖動(dòng)畫、狀態(tài)活動(dòng)記錄、數(shù)據(jù)記錄和集成調(diào)試,分析設(shè)計(jì)和檢測運(yùn)行時(shí)錯(cuò)誤;

對于周期問題的靜態(tài)和運(yùn)行時(shí)檢查,狀態(tài)不一致、數(shù)據(jù)范圍沖突及溢出情況等;

Mealy 和 Moore 有限狀態(tài)機(jī)。

邏輯設(shè)計(jì)

Stateflow提供圖形和表格接口,以使用狀態(tài)機(jī)來進(jìn)行系統(tǒng)邏輯建模。在狀態(tài)機(jī)中,可以將系統(tǒng)運(yùn)作模式構(gòu)建為狀態(tài)模型,通過轉(zhuǎn)移和結(jié)點(diǎn)來表達(dá)模式間的切換邏輯。系統(tǒng)中的不同組件可以構(gòu)建為狀態(tài)模型,能夠單獨(dú)執(zhí)行或并行執(zhí)行。Stateflow 通過分層組織狀態(tài)圖對象、函數(shù)和組件來管理設(shè)計(jì)的復(fù)雜程度。

在 Stateflow 中,既可以使用流程圖以圖形方式,也可以使用真值表以表格格式,表達(dá)組合邏輯。

邏輯設(shè)計(jì)包括定義待檢查的條件以及所要執(zhí)行的后續(xù)操作。Stateflow 可以使用 C 或 MATLAB 定義條件和操作。您可以通過 Simulink 模型瀏覽器來管理?xiàng)l件和操作中所用的數(shù)據(jù)。您可以在執(zhí)行設(shè)計(jì)前借助 Stateflow 得知可能存在的狀態(tài)不一致現(xiàn)象、未使用的數(shù)據(jù)和事件以及無效的轉(zhuǎn)移。

關(guān)于使用狀態(tài)機(jī)與流程圖進(jìn)行建模和仿真決策邏輯的分析和研究

這是一個(gè)定義鍋爐溫度控制系統(tǒng)邏輯的 Stateflow 圖。該圖使用圖形函數(shù)(右側(cè))實(shí)現(xiàn)加熱器系統(tǒng)(左側(cè))所調(diào)用的公用程序算法。

以圖形方式設(shè)計(jì)邏輯

Stateflow提供一個(gè)編輯器和一些用于繪制狀態(tài)機(jī)和流程圖的圖形對象。通過從圖形調(diào)色板中選擇狀態(tài)、轉(zhuǎn)移和結(jié)點(diǎn),然后將其拖入Stateflow編輯器,即可構(gòu)建狀態(tài)機(jī)。您也可以使用流程圖批注、Simulink 子系統(tǒng)、MATLAB 和真值表創(chuàng)建函數(shù)。Stateflow圖可以指定為具有擴(kuò)展功能的 Mealy 和 Moore 混合狀態(tài)機(jī)、Mealy 狀態(tài)機(jī)或 Moore 狀態(tài)機(jī)。

通過繪制由結(jié)點(diǎn)連接的轉(zhuǎn)移,可以創(chuàng)建流程圖,并根據(jù)條件邏輯予以執(zhí)行。使用“Pattern模式向?qū)А保梢詣?chuàng)建常用的邏輯流模式。流程圖可以放在圖形函數(shù)中,既能用在該狀態(tài)圖的許多位置上,也可以用于同一模型的其他狀態(tài)圖中。使用流程圖可以設(shè)計(jì)邏輯,由此在各狀態(tài)間進(jìn)行轉(zhuǎn)移。

關(guān)于使用狀態(tài)機(jī)與流程圖進(jìn)行建模和仿真決策邏輯的分析和研究

Stateflow 圖(左)使用通過“模式向?qū)А保ㄖ校┥傻膱D形函數(shù)(右)。

Stateflow編輯器可提供編輯時(shí)檢查,以識別對象的非法位置以及無效轉(zhuǎn)移。

關(guān)于使用狀態(tài)機(jī)與流程圖進(jìn)行建模和仿真決策邏輯的分析和研究

Stateflow 編輯器正在處理一個(gè)冷卻系統(tǒng)的模型。邊界發(fā)生交疊的狀態(tài)以紅色突出顯示。

以圖形方式設(shè)計(jì)邏輯

Stateflow中的狀態(tài)轉(zhuǎn)移表為狀態(tài)機(jī)建模提供了一個(gè)結(jié)構(gòu)化環(huán)境。通過添加狀態(tài)行和狀態(tài)間轉(zhuǎn)移列,可以構(gòu)建狀態(tài)機(jī)。狀態(tài)轉(zhuǎn)移表通過提供狀態(tài)名稱下拉菜單、自動(dòng)完成有限狀態(tài)機(jī)語法和其他編輯時(shí)檢查,可以幫助您創(chuàng)建狀態(tài)機(jī)。您可以在執(zhí)行模型前運(yùn)行靜態(tài)診斷測試,以檢測語法錯(cuò)誤、未完成的轉(zhuǎn)移和無法達(dá)到的狀態(tài)。

從狀態(tài)轉(zhuǎn)移表生成的狀態(tài)轉(zhuǎn)移矩陣視圖有助于快速識別來自特定狀態(tài)的條件和可能的目標(biāo)狀態(tài)。

Stateflow 中的真值表可用于對不需要通過連續(xù)運(yùn)行來維護(hù)狀態(tài)的邏輯建模。輸入要檢查的條件,然后合并這些條件產(chǎn)生的結(jié)果,即可構(gòu)建真值表。之后,可輸入關(guān)于對不同的結(jié)果組合的操作。構(gòu)建真值表后,可以運(yùn)行靜態(tài)診斷檢查,以識別過度指定的條件和指定不足的條件。

關(guān)于使用狀態(tài)機(jī)與流程圖進(jìn)行建模和仿真決策邏輯的分析和研究

左:用于實(shí)施在故障檢測算法中選擇有效傳感器讀數(shù)的邏輯的真值表。

右:自動(dòng)生成的真值表圖形表示形式。

組件集成與算法調(diào)度

您可以將在 Stateflow 中創(chuàng)建組件的與其他組件相集成,從而構(gòu)建狀態(tài)機(jī)算法。Stateflow 組件可以包含 MATLAB 和 Simulink 函數(shù)、自定義 C 代碼、圖形函數(shù)和真值表。在所構(gòu)建的算法中,可以使用基于時(shí)間和基于條件的邏輯來調(diào)度組件和函數(shù)的執(zhí)行。

每個(gè) Stateflow 組件都可以獨(dú)立開發(fā)、執(zhí)行和驗(yàn)證,從而使多個(gè)用戶能夠同時(shí)處理算法的不同部分。

關(guān)于使用狀態(tài)機(jī)與流程圖進(jìn)行建模和仿真決策邏輯的分析和研究

Simulink 模型(左)合并了一個(gè) Stateflow 圖(右)。Stateflow 圖對升降舵所用的邏輯進(jìn)行建模,其中包括圖形函數(shù)、MATLAB 函數(shù)和真值表。

將組件集成到設(shè)計(jì)中

右鍵單擊組件,將其轉(zhuǎn)換為原子子圖,并放入庫中,即可跨圖、跨模型重復(fù)使用該組件。要使用該組件,可以將其從庫中拖出,然后放入狀態(tài)圖或模型中。當(dāng)更新庫中的某個(gè)組件時(shí),該組件的所有實(shí)例將自動(dòng)更新。您可以分層組織組件和函數(shù),以便簡明而準(zhǔn)確地表達(dá)您的系統(tǒng)。

調(diào)度算法

在 Stateflow 中,可對條件邏輯和基于時(shí)間的邏輯建模,以調(diào)用 Simulink 函數(shù)和 MATLAB 函數(shù)。在 Stateflow 中,根據(jù)邏輯建模的事件可以輸出到 Simulink,以激活對函數(shù)調(diào)用或控制信號變化做出反應(yīng)的子系統(tǒng)。

Stateflow 提供基于事件和基于時(shí)間的算子(before、after、at 和 every),以便于您根據(jù)事件計(jì)數(shù)和經(jīng)過的時(shí)間來指定狀態(tài)轉(zhuǎn)移邏輯,而無需使用計(jì)時(shí)器和計(jì)數(shù)器。

模型仿真與結(jié)果分析

通過模型仿真,可以分析系統(tǒng)的行為。通過從任何保存的狀態(tài)重新開始仿真,并分析其對不同設(shè)置和配置的反應(yīng),可以運(yùn)行條件假設(shè)場景。

模型仿真

在 Stateflow 中,通過使用狀態(tài)圖動(dòng)畫突出顯示模型中的活動(dòng)狀態(tài)和轉(zhuǎn)移,可以實(shí)現(xiàn)系統(tǒng)仿真行為可視化。

Stateflow 的調(diào)試能力使您得以詳細(xì)地對仿真進(jìn)行逐步調(diào)試。您可以設(shè)置斷點(diǎn),監(jiān)視數(shù)據(jù)值,并逐步調(diào)試狀態(tài)圖中的不同函數(shù)。您可以通過 Stateflow 調(diào)試器窗口來控制仿真的執(zhí)行情況,顯示狀態(tài)圖的調(diào)用堆棧以及執(zhí)行狀態(tài)。

Stateflow 調(diào)試器可檢測運(yùn)行時(shí)錯(cuò)誤,其中包括狀態(tài)不一致、數(shù)據(jù)范圍沖突以及可能的無限循環(huán)。

分析結(jié)果

在仿真過程中,可通過以下方式實(shí)現(xiàn)仿真結(jié)果可視化:

使用 Simulink 顯示器和示波器查看狀態(tài)和數(shù)據(jù)

在 Simulation Data Inspector (仿真數(shù)據(jù)檢查器)中查看記錄的數(shù)據(jù)

使用 MATLAB 構(gòu)建自定義顯示器

再者,您可以記錄狀態(tài)圖和狀態(tài)活動(dòng)數(shù)據(jù),以便在 MATLAB 中進(jìn)行后處理。

關(guān)于使用狀態(tài)機(jī)與流程圖進(jìn)行建模和仿真決策邏輯的分析和研究

Stateflow 中的仿真數(shù)據(jù)可視化選項(xiàng)。

左上:Simulink Data Inspector(Simulink 數(shù)據(jù)檢查器)用于比較特定信號;

左下:自定義 MATLAB 界面用于分析數(shù)據(jù);

右:Simulink Signal Selector(Simulink 信號選擇器)用于比較狀態(tài)。

設(shè)計(jì)驗(yàn)證與代碼生成

通過將 Stateflow 與其他 Simulink 產(chǎn)品配合使用,可以根據(jù)需求驗(yàn)證您的設(shè)計(jì),并生成代碼以便在嵌入式系統(tǒng)中予以實(shí)現(xiàn)。

使用 Simulink Verification and Validation(Simulink 檢驗(yàn)和驗(yàn)證),可以將需求直接映射到 Stateflow 對象,檢查是否符合標(biāo)準(zhǔn),并收集模型覆蓋度量信息。

使用 Simulink Design Verifier(Simulink 設(shè)計(jì)檢驗(yàn)器),可以檢測設(shè)計(jì)錯(cuò)誤,針對采用常規(guī)方法難以發(fā)現(xiàn)的錯(cuò)誤生成測試向量。

使用附加代碼生成產(chǎn)品,可以直接從狀態(tài)圖生成C和C++、HDL或PLC代碼。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 顯示器
    +關(guān)注

    關(guān)注

    21

    文章

    5053

    瀏覽量

    141188
  • 可視化
    +關(guān)注

    關(guān)注

    1

    文章

    1232

    瀏覽量

    21553
  • 結(jié)構(gòu)化
    +關(guān)注

    關(guān)注

    0

    文章

    27

    瀏覽量

    10378
收藏 人收藏

    評論

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

    高速ssd存儲系統(tǒng)中數(shù)據(jù)緩存控制器流程控制設(shè)計(jì)

    高速SSD系統(tǒng)中流程控制模塊設(shè)計(jì)。該模塊主要由寄存器、讀狀態(tài)機(jī)、寫狀態(tài)機(jī)和命令生成模塊組成,系統(tǒng)介紹各模塊功能。
    的頭像 發(fā)表于 04-14 10:43 ?129次閱讀
    高速ssd存儲系統(tǒng)中數(shù)據(jù)緩存控制器<b class='flag-5'>流程</b>控制設(shè)計(jì)

    電子產(chǎn)品內(nèi)部散熱措施:灌封膠熱仿真建模研究內(nèi)容

    本期給大家?guī)淼氖?b class='flag-5'>關(guān)于電子產(chǎn)品內(nèi)部散熱措施:灌封膠熱仿真建模研究內(nèi)容,希望對大家有幫助。 之前寫過關(guān)于導(dǎo)熱墊片、導(dǎo)熱硅脂等截面材料的特性、熱
    的頭像 發(fā)表于 12-30 11:42 ?556次閱讀
    電子產(chǎn)品內(nèi)部散熱措施:灌封膠熱<b class='flag-5'>仿真</b><b class='flag-5'>建模</b><b class='flag-5'>研究</b>內(nèi)容

    仿真分析誤差來源及減少建模誤差的方法

    一、建模誤差 建模誤差是仿真分析中最常見的誤差來源之一。它主要源于物理系統(tǒng)與其數(shù)學(xué)模型之間的差異。在建模過程中,為了簡化計(jì)算,往往會對實(shí)際物
    的頭像 發(fā)表于 12-24 09:52 ?1068次閱讀
    <b class='flag-5'>仿真</b><b class='flag-5'>分析</b>誤差來源及減少<b class='flag-5'>建模</b>誤差的方法

    Simulink中的狀態(tài)機(jī)建模方法 Simulink數(shù)據(jù)可視化與分析功能

    1. Simulink中的狀態(tài)機(jī)建模方法 1.1 理解狀態(tài)機(jī)的基本概念 在開始建模之前,了解狀態(tài)機(jī)的基本概念是必要的。
    的頭像 發(fā)表于 12-12 09:27 ?2330次閱讀

    如何通過建模仿真提升電力電子組件的設(shè)計(jì)與性能?

    電力電子組件建模仿真的基礎(chǔ)知識,以及建模仿真工作中的優(yōu)缺點(diǎn)。1建模
    的頭像 發(fā)表于 11-25 11:35 ?641次閱讀
    如何通過<b class='flag-5'>建模</b>與<b class='flag-5'>仿真</b>提升電力電子組件的設(shè)計(jì)與性能?

    VSCode中Markdown借助plantuml繪制流程圖

    VSCode中Markdown里通過plantuml繪制流程圖,簡直不要太方便。
    的頭像 發(fā)表于 10-28 11:19 ?2350次閱讀

    Matlab/Simulink/Stateflow建模開發(fā)及仿真測試

    matlab 模擬仿真 熟悉Matlab/Simulink/Stateflow建模開發(fā)及仿真測試,熟悉V模型開發(fā)流程。 熟悉自動(dòng)代碼生成,能夠編寫或者配置自動(dòng)代碼生成腳本。
    發(fā)表于 10-24 17:23

    邏輯組件中的流程塊節(jié)點(diǎn)通常出于什么用途

    邏輯組件中的流程塊節(jié)點(diǎn)是流程圖、狀態(tài)圖、序列等圖表中的基本元素,它們用于表示業(yè)務(wù)流程、工作
    的頭像 發(fā)表于 10-15 14:38 ?420次閱讀

    TI電池監(jiān)控器IC的高級電量監(jiān)測器固件流程圖

    電子發(fā)燒友網(wǎng)站提供《TI電池監(jiān)控器IC的高級電量監(jiān)測器固件流程圖.pdf》資料免費(fèi)下載
    發(fā)表于 10-12 10:07 ?0次下載
    TI電池監(jiān)控器IC的高級電量監(jiān)測器固件<b class='flag-5'>流程圖</b>

    時(shí)序邏輯電路的描述方法有哪些

    、狀態(tài)表、有限狀態(tài)機(jī)、卡諾、布爾差分方程、布爾函數(shù)、時(shí)序邏輯仿真等。 狀態(tài)圖
    的頭像 發(fā)表于 08-28 11:37 ?1086次閱讀

    觸發(fā)器和狀態(tài)機(jī)的關(guān)系是什么

    觸發(fā)器和狀態(tài)機(jī)在數(shù)字電路設(shè)計(jì)中有著緊密的關(guān)系,它們共同構(gòu)成了時(shí)序邏輯電路的基礎(chǔ),用于實(shí)現(xiàn)數(shù)據(jù)的存儲、處理和傳輸。
    的頭像 發(fā)表于 08-12 11:24 ?751次閱讀

    如何在FPGA中實(shí)現(xiàn)狀態(tài)機(jī)

    在FPGA(現(xiàn)場可編程門陣列)中實(shí)現(xiàn)狀態(tài)機(jī)是一種常見的做法,用于控制復(fù)雜的數(shù)字系統(tǒng)行為。狀態(tài)機(jī)能夠根據(jù)當(dāng)前的輸入和系統(tǒng)狀態(tài),決定下一步的動(dòng)作和新的狀態(tài)。這里,我們將詳細(xì)探討如何在FPG
    的頭像 發(fā)表于 07-18 15:57 ?994次閱讀

    邏輯分析儀multisim的應(yīng)用

    Multisim是一款由National Instruments公司開發(fā)的電子電路仿真軟件,廣泛應(yīng)用于電子設(shè)計(jì)、教學(xué)和研究領(lǐng)域。它提供了豐富的元件庫、仿真功能和分析工具,可以幫助用戶快
    的頭像 發(fā)表于 07-18 09:13 ?1496次閱讀

    玩轉(zhuǎn)Spring狀態(tài)機(jī)

    說起Spring狀態(tài)機(jī),大家很容易聯(lián)想到這個(gè)狀態(tài)機(jī)和設(shè)計(jì)模式中狀態(tài)模式的區(qū)別是啥呢?沒錯(cuò),Spring狀態(tài)機(jī)就是狀態(tài)模式的一種實(shí)現(xiàn),在介紹S
    的頭像 發(fā)表于 06-25 14:21 ?1219次閱讀
    玩轉(zhuǎn)Spring<b class='flag-5'>狀態(tài)機(jī)</b>

    關(guān)于SMU狀態(tài)機(jī)的問題求解

    我有一些關(guān)于 SMU 狀態(tài)機(jī)的問題。 假設(shè)由于某種原因,SMU 已進(jìn)入故障狀態(tài)。 手冊指出,要返回運(yùn)行狀態(tài)并將 FSP 恢復(fù)到無故障狀態(tài),應(yīng)
    發(fā)表于 05-29 08:18