0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

自动生成程序状态机代码状态机建模方法

麦辣鸡腿堡 来源:车端 作者:车端 2023-09-13 16:50 次阅读

首先运行fsme命令来启动状态机编辑器,然后单击工具栏上的“New”按钮来创建一个新的状态机。FSME中用于构建状态机的基本元素一共有五种:事件(Event)、输入(Input)、输出(Output)、状态(State)和转换(Transition),在界面左边的树形列表中可以找到其中的四种。

状态建模

在FSME界面左边的树形列表中选择“States”项,然后按下键盘上的Insert键来插入一个新的状态,接着在右下方的“Name”文本框中输入状态的名称,再在右上方的绘图区域单击该状态所要放置的位置,一个新的状态就创建好了。用同样的办法可以添加状态机所需要的所有状态,如下图所示。

状态建模

图片

事件建模

在FSME界面左边的树形列表中选择“Events”项,然后按下键盘上的Insert键来添加一个新的事件,接着在右下方的“Name”文本框中输入事件的名称,再单击“Apply”按钮,一个新的事件就创建好了。用同样的办法可以添加状态机所需要的所有事件,如下图所示。

图片

转换建模

状态转换是整个建模过程中最重要的一个部分,它用来定义有限状态机中的一个状态是如何切换到另一个状态的。例如,当用来控制城门的状态机处于Opened状态时,如果此时有Close事件产生,那么状态机的当前状态将切换到Closed状态,这样一个完整的过程在状态机模型中可以用closeDoor这样一个转换来进行描述。要在FSME中添加这样一个转换,首先需要在界面左边的树形列表中选择“States”下的“Opened”项,然后按下键盘上的Insert键来添加一个新的转换,接着在右下角的“Name”文本框中输入转换的名字“closeDoor”,在“Condition”文本框中输入“Close”表明触发该转换的条件是事件Close的产生,在“Target”下拉框中选择“Closed”项表明该转换发生后状态机将被切换到Closed状态,最后再单击“Apply”按钮,一个新的状态转换关系就定义好了,如下图所示。用同样的办法可以添加状态机所需要的所有转换。

转换建模

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 程序
    +关注

    关注

    116

    文章

    3754

    浏览量

    80725
  • 命令
    +关注

    关注

    5

    文章

    674

    浏览量

    21962
  • 状态机
    +关注

    关注

    2

    文章

    491

    浏览量

    27450
  • 编辑器
    +关注

    关注

    1

    文章

    800

    浏览量

    31037
收藏 人收藏

    评论

    相关推荐

    SaberRD状态机建模工具介绍(一)什么是状态机建模

    状态机建模是使用状态图和方程式的手段,创建基于混合信号的有限状态机模型的一种建模工具。
    的头像 发表于 12-05 09:51 1546次阅读
    SaberRD<b class='flag-5'>状态机</b><b class='flag-5'>建模</b>工具介绍(一)什么是<b class='flag-5'>状态机</b><b class='flag-5'>建模</b>

    Verilog状态机+设计实例

    在verilog中状态机的一种很常用的逻辑结构,学习和理解状态机的运行规律能够帮助我们更好地书写代码,同时作为一种思想方法,在别的代码设计中
    的头像 发表于 02-12 19:07 3591次阅读
    Verilog<b class='flag-5'>状态机</b>+设计实例

    状态机实例(VHDL源代码

    状态机实例(VHDL源代码):
    发表于 05-27 10:27 59次下载
    <b class='flag-5'>状态机</b>实例(VHDL源<b class='flag-5'>代码</b>)

    状态机举例

    状态机举例 你可以指定状态寄存器和状态机状态。以下是一个有四种状态的普通状态机。 // Th
    发表于 03-28 15:18 963次阅读

    状态机代码生成工具

    状态机代码生成工具状态机代码生成工具状态机
    发表于 11-19 15:12 9次下载

    状态机原理及用法

    状态机原理及用法状态机原理及用法状态机原理及用法
    发表于 03-15 15:25 0次下载

    有限状态机建模与优化设计

    本文提出一种优秀 、高效的 Verilog HDL 描述方式来进行有限状态机设计 介绍了 有限状态机建模原则 并通过一个可综合的实例 验证了 该方法设计的有限
    发表于 03-22 15:19 1次下载

    使用ModelSim自动生成状态机FSM的状态转换图

    HDL代码设计中重要的内容之一就是设计程序状态机FSM,状态转换控制着整个程序的流程,为了理解程序
    发表于 02-10 15:39 1.5w次阅读
    使用ModelSim<b class='flag-5'>自动</b><b class='flag-5'>生成</b><b class='flag-5'>状态机</b>FSM的<b class='flag-5'>状态</b>转换图

    状态机概述 如何理解状态机

    本篇文章包括状态机的基本概述以及通过简单的实例理解状态机
    的头像 发表于 01-02 18:03 1w次阅读
    <b class='flag-5'>状态机</b>概述  如何理解<b class='flag-5'>状态机</b>

    状态机如何简化PLC程序的编写

    在PLC程序的编写过程中,可以使用状态机的控制思路,将一些复杂的控制过程使用状态机方法处理。这里简单给大家介绍一下什么是状态机?如下图所示
    的头像 发表于 09-10 14:44 3838次阅读
    <b class='flag-5'>状态机</b>如何简化PLC<b class='flag-5'>程序</b>的编写

    FPGA:状态机简述

    本文目录 前言 状态机简介 状态机分类 Mealy 型状态机 Moore 型状态机 状态机描述 一段式
    的头像 发表于 11-05 17:58 7240次阅读
    FPGA:<b class='flag-5'>状态机</b>简述

    什么是状态机状态机5要素

    玩单片还可以,各个外设也都会驱动,但是如果让你完整的写一套代码时,却无逻辑与框架可言。这说明编程还处于比较低的水平,你需要学会一种好的编程框架或者一种编程思想!比如模块化编程、状态机编程、分层思想
    的头像 发表于 07-27 11:23 2w次阅读
    什么是<b class='flag-5'>状态机</b>?<b class='flag-5'>状态机</b>5要素

    状态机自动生成工具FSME

    状态机中的各种状态上,而不是程序本身的运行逻辑。 作为一种通用的软件设计模式,各种软件系统的状态机之间肯定会或多或少地存在着一些共性,因此人们开始尝试开发一些工具来
    的头像 发表于 09-13 16:45 1393次阅读
    <b class='flag-5'>状态机</b><b class='flag-5'>自动</b><b class='flag-5'>生成</b>工具FSME

    如何生成状态机框架

    生成状态机框架 使用FSME不仅能够进行可视化的状态机建模,更重要的是它还可以根据得到的模型自动生成
    的头像 发表于 09-13 16:54 922次阅读
    如何<b class='flag-5'>生成</b><b class='flag-5'>状态机</b>框架

    什么是状态机状态机的种类与实现

    状态机,又称有限状态机(Finite State Machine,FSM)或米利状态机(Mealy Machine),是一种描述系统状态变化的模型。在芯片设计中,
    的头像 发表于 10-19 10:27 8747次阅读