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

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

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

自動(dòng)生成程序狀態(tài)機(jī)代碼狀態(tài)機(jī)建模方法

麥辣雞腿堡 ? 來(lái)源:車(chē)端 ? 作者:車(chē)端 ? 2023-09-13 16:50 ? 次閱讀

首先運(yùn)行fsme命令來(lái)啟動(dòng)狀態(tài)機(jī)編輯器,然后單擊工具欄上的“New”按鈕來(lái)創(chuàng)建一個(gè)新的狀態(tài)機(jī)。FSME中用于構(gòu)建狀態(tài)機(jī)的基本元素一共有五種:事件(Event)、輸入(Input)、輸出(Output)、狀態(tài)(State)和轉(zhuǎn)換(Transition),在界面左邊的樹(shù)形列表中可以找到其中的四種。

狀態(tài)建模

在FSME界面左邊的樹(shù)形列表中選擇“States”項(xiàng),然后按下鍵盤(pán)上的Insert鍵來(lái)插入一個(gè)新的狀態(tài),接著在右下方的“Name”文本框中輸入狀態(tài)的名稱(chēng),再在右上方的繪圖區(qū)域單擊該狀態(tài)所要放置的位置,一個(gè)新的狀態(tài)就創(chuàng)建好了。用同樣的辦法可以添加狀態(tài)機(jī)所需要的所有狀態(tài),如下圖所示。

狀態(tài)建模

圖片

事件建模

在FSME界面左邊的樹(shù)形列表中選擇“Events”項(xiàng),然后按下鍵盤(pán)上的Insert鍵來(lái)添加一個(gè)新的事件,接著在右下方的“Name”文本框中輸入事件的名稱(chēng),再單擊“Apply”按鈕,一個(gè)新的事件就創(chuàng)建好了。用同樣的辦法可以添加狀態(tài)機(jī)所需要的所有事件,如下圖所示。

圖片

轉(zhuǎn)換建模

狀態(tài)轉(zhuǎn)換是整個(gè)建模過(guò)程中最重要的一個(gè)部分,它用來(lái)定義有限狀態(tài)機(jī)中的一個(gè)狀態(tài)是如何切換到另一個(gè)狀態(tài)的。例如,當(dāng)用來(lái)控制城門(mén)的狀態(tài)機(jī)處于Opened狀態(tài)時(shí),如果此時(shí)有Close事件產(chǎn)生,那么狀態(tài)機(jī)的當(dāng)前狀態(tài)將切換到Closed狀態(tài),這樣一個(gè)完整的過(guò)程在狀態(tài)機(jī)模型中可以用closeDoor這樣一個(gè)轉(zhuǎn)換來(lái)進(jìn)行描述。要在FSME中添加這樣一個(gè)轉(zhuǎn)換,首先需要在界面左邊的樹(shù)形列表中選擇“States”下的“Opened”項(xiàng),然后按下鍵盤(pán)上的Insert鍵來(lái)添加一個(gè)新的轉(zhuǎn)換,接著在右下角的“Name”文本框中輸入轉(zhuǎn)換的名字“closeDoor”,在“Condition”文本框中輸入“Close”表明觸發(fā)該轉(zhuǎn)換的條件是事件Close的產(chǎn)生,在“Target”下拉框中選擇“Closed”項(xiàng)表明該轉(zhuǎn)換發(fā)生后狀態(tài)機(jī)將被切換到Closed狀態(tài),最后再單擊“Apply”按鈕,一個(gè)新的狀態(tài)轉(zhuǎn)換關(guān)系就定義好了,如下圖所示。用同樣的辦法可以添加狀態(tài)機(jī)所需要的所有轉(zhuǎn)換。

轉(zhuǎn)換建模

圖片

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

    117

    文章

    3787

    瀏覽量

    81060
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    684

    瀏覽量

    22027
  • 狀態(tài)機(jī)
    +關(guān)注

    關(guān)注

    2

    文章

    492

    瀏覽量

    27541
  • 編輯器
    +關(guān)注

    關(guān)注

    1

    文章

    806

    瀏覽量

    31176
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    SaberRD狀態(tài)機(jī)建模工具介紹(一)什么是狀態(tài)機(jī)建模

    狀態(tài)機(jī)建模是使用狀態(tài)圖和方程式的手段,創(chuàng)建基于混合信號(hào)的有限狀態(tài)機(jī)模型的一種建模工具。
    的頭像 發(fā)表于 12-05 09:51 ?1728次閱讀
    SaberRD<b class='flag-5'>狀態(tài)機(jī)</b><b class='flag-5'>建模</b>工具介紹(一)什么是<b class='flag-5'>狀態(tài)機(jī)</b><b class='flag-5'>建模</b>

    Verilog狀態(tài)機(jī)+設(shè)計(jì)實(shí)例

    在verilog中狀態(tài)機(jī)的一種很常用的邏輯結(jié)構(gòu),學(xué)習(xí)和理解狀態(tài)機(jī)的運(yùn)行規(guī)律能夠幫助我們更好地書(shū)寫(xiě)代碼,同時(shí)作為一種思想方法,在別的代碼設(shè)計(jì)中
    的頭像 發(fā)表于 02-12 19:07 ?4155次閱讀
    Verilog<b class='flag-5'>狀態(tài)機(jī)</b>+設(shè)計(jì)實(shí)例

    狀態(tài)機(jī)實(shí)例(VHDL源代碼

    狀態(tài)機(jī)實(shí)例(VHDL源代碼):
    發(fā)表于 05-27 10:27 ?59次下載
    <b class='flag-5'>狀態(tài)機(jī)</b>實(shí)例(VHDL源<b class='flag-5'>代碼</b>)

    狀態(tài)機(jī)代碼生成工具

    狀態(tài)機(jī)代碼生成工具狀態(tài)機(jī)代碼生成工具狀態(tài)機(jī)
    發(fā)表于 11-19 15:12 ?9次下載

    狀態(tài)機(jī)原理及用法

    狀態(tài)機(jī)原理及用法狀態(tài)機(jī)原理及用法狀態(tài)機(jī)原理及用法
    發(fā)表于 03-15 15:25 ?0次下載

    有限狀態(tài)機(jī)建模與優(yōu)化設(shè)計(jì)

    本文提出一種優(yōu)秀 、高效的 Verilog HDL 描述方式來(lái)進(jìn)行有限狀態(tài)機(jī)設(shè)計(jì) 介紹了 有限狀態(tài)機(jī)建模原則 并通過(guò)一個(gè)可綜合的實(shí)例 驗(yàn)證了 該方法設(shè)計(jì)的有限
    發(fā)表于 03-22 15:19 ?1次下載

    使用ModelSim自動(dòng)生成狀態(tài)機(jī)FSM的狀態(tài)轉(zhuǎn)換圖

    HDL代碼設(shè)計(jì)中重要的內(nèi)容之一就是設(shè)計(jì)程序狀態(tài)機(jī)FSM,狀態(tài)轉(zhuǎn)換控制著整個(gè)程序的流程,為了理解程序
    發(fā)表于 02-10 15:39 ?1.5w次閱讀
    使用ModelSim<b class='flag-5'>自動(dòng)</b><b class='flag-5'>生成</b><b class='flag-5'>狀態(tài)機(jī)</b>FSM的<b class='flag-5'>狀態(tài)</b>轉(zhuǎn)換圖

    狀態(tài)機(jī)概述 如何理解狀態(tài)機(jī)

    本篇文章包括狀態(tài)機(jī)的基本概述以及通過(guò)簡(jiǎn)單的實(shí)例理解狀態(tài)機(jī)
    的頭像 發(fā)表于 01-02 18:03 ?1w次閱讀
    <b class='flag-5'>狀態(tài)機(jī)</b>概述  如何理解<b class='flag-5'>狀態(tài)機(jī)</b>

    狀態(tài)機(jī)如何簡(jiǎn)化PLC程序的編寫(xiě)

    在PLC程序的編寫(xiě)過(guò)程中,可以使用狀態(tài)機(jī)的控制思路,將一些復(fù)雜的控制過(guò)程使用狀態(tài)機(jī)方法處理。這里簡(jiǎn)單給大家介紹一下什么是狀態(tài)機(jī)?如下圖所示
    的頭像 發(fā)表于 09-10 14:44 ?3978次閱讀
    <b class='flag-5'>狀態(tài)機(jī)</b>如何簡(jiǎn)化PLC<b class='flag-5'>程序</b>的編寫(xiě)

    FPGA:狀態(tài)機(jī)簡(jiǎn)述

    本文目錄 前言 狀態(tài)機(jī)簡(jiǎn)介 狀態(tài)機(jī)分類(lèi) Mealy 型狀態(tài)機(jī) Moore 型狀態(tài)機(jī) 狀態(tài)機(jī)描述 一段式
    的頭像 發(fā)表于 11-05 17:58 ?7407次閱讀
    FPGA:<b class='flag-5'>狀態(tài)機(jī)</b>簡(jiǎn)述

    什么是狀態(tài)機(jī)狀態(tài)機(jī)5要素

    玩單片機(jī)還可以,各個(gè)外設(shè)也都會(huì)驅(qū)動(dòng),但是如果讓你完整的寫(xiě)一套代碼時(shí),卻無(wú)邏輯與框架可言。這說(shuō)明編程還處于比較低的水平,你需要學(xué)會(huì)一種好的編程框架或者一種編程思想!比如模塊化編程、狀態(tài)機(jī)編程、分層思想
    的頭像 發(fā)表于 07-27 11:23 ?2w次閱讀
    什么是<b class='flag-5'>狀態(tài)機(jī)</b>?<b class='flag-5'>狀態(tài)機(jī)</b>5要素

    狀態(tài)模式(狀態(tài)機(jī))

    share,作者:亞索老哥)),原來(lái)狀態(tài)機(jī)還可以這么簡(jiǎn)單地玩~~亞索老哥提出的狀態(tài)機(jī)六步法(1)、定義狀態(tài)接口(2)、定義系統(tǒng)當(dāng)前狀態(tài)指針(3)、定義具體
    發(fā)表于 12-16 16:53 ?9次下載
    <b class='flag-5'>狀態(tài)</b>模式(<b class='flag-5'>狀態(tài)機(jī)</b>)

    狀態(tài)機(jī)自動(dòng)生成工具FSME

    狀態(tài)機(jī)中的各種狀態(tài)上,而不是程序本身的運(yùn)行邏輯。 作為一種通用的軟件設(shè)計(jì)模式,各種軟件系統(tǒng)的狀態(tài)機(jī)之間肯定會(huì)或多或少地存在著一些共性,因此人們開(kāi)始嘗試開(kāi)發(fā)一些工具來(lái)
    的頭像 發(fā)表于 09-13 16:45 ?1475次閱讀
    <b class='flag-5'>狀態(tài)機(jī)</b><b class='flag-5'>自動(dòng)</b><b class='flag-5'>生成</b>工具FSME

    如何生成狀態(tài)機(jī)框架

    生成狀態(tài)機(jī)框架 使用FSME不僅能夠進(jìn)行可視化的狀態(tài)機(jī)建模,更重要的是它還可以根據(jù)得到的模型自動(dòng)生成
    的頭像 發(fā)表于 09-13 16:54 ?991次閱讀
    如何<b class='flag-5'>生成</b><b class='flag-5'>狀態(tài)機(jī)</b>框架

    什么是狀態(tài)機(jī)?狀態(tài)機(jī)的種類(lèi)與實(shí)現(xiàn)

    狀態(tài)機(jī),又稱(chēng)有限狀態(tài)機(jī)(Finite State Machine,F(xiàn)SM)或米利狀態(tài)機(jī)(Mealy Machine),是一種描述系統(tǒng)狀態(tài)變化的模型。在芯片設(shè)計(jì)中,
    的頭像 發(fā)表于 10-19 10:27 ?9581次閱讀