simulink之state

状态

状态描述了无功系统的运行模式。在Stateflow®图表中,状态用于顺序设计,以创建状态转换图。

状态可以是激活状态,也可以是非激活状态。一个状态的激活或不激活可以根据事件和条件而变化。事件的发生通过使状态变为激活或非激活来驱动状态转换图的执行。在执行过程中的任何时刻,都存在激活状态和非激活状态。

状态层次结构

要管理多级状态复杂性,请在状态流程图中使用层次结构。使用层次结构,可以表示系统中多个级别的子组件。

状态层次结构示例

在以下示例中,图表中显示了三个层次结构级别。在另一个状态的边界内绘制一个状态表示内部状态是外部状态(或超级状态)的子状态(或子状态)。外部状态是内部状态的父级。

在这里插入图片描述
在本例中,chart是状态Car_done的父级。状态Car_done是Car_made和Car_shipped状态的父状态。状态Car_made也是Parts_assemblyd和Painted状态的父级。也可以说“Parts_assemblyd”和“Painted”状态是“Car_made”状态的子状态。

要以文本形式表示Stateflow层次结构,请使用斜线字符(/)表示图表,并使用句点(.)分隔状态层次结构中的每个级别。以下列表是上一示例中对象层次结构的文本表示:

/Car_done

/Car_done.Car_made

/Car_done.Car_shipped

/Car_done.Car_made.Parts_assembled

/Car_done.Car_made.Painted

一个state可以包含的对象

状态可以包含除目标之外的所有其他Stateflow对象。状态流图表示法支持在具有包含的状态流图中表示图形对象层次结构。如果一个状态包含其他状态,那么它就是一个超级状态。如果一个状态包含在另一个状态中,那么它就是一个子状态。既不是另一个状态的超级状态也不是另一状态的子状态的状态是其父状态是状态流程图本身的状态。

状态还可以包含非图形数据和事件对象。此包含的层次结构将显示在模型资源管理器中。通过指定数据或事件的父对象来定义数据和事件包含。

状态分解

每个状态(或图表)都有一个分解,它规定了状态(或表格)可以包含什么类型的子状态。超级状态的所有子状态必须与超级状态分解的类型相同。状态分解可以是互斥(OR)或并行(AND)。

异或状态分解

具有实心边界的子状态表示互斥(OR)状态分解。使用此分解来描述互斥的操作模式。当一个状态具有异或分解时,一次只能有一个子状态处于激活状态。

在以下示例中,状态A或状态B都可以是激活的。如果状态A是激活的,则状态A1或状态A2可以在给定时间是激活的。
在这里插入图片描述
并行(AND)状态分解

带虚线边框的子对象表示并行(AND)分解。使用此分解来描述并发操作模式。当一个状态具有并行(AND)分解时,所有子状态同时处于激活状态。

在以下示例中,当状态A处于激活状态时,A1和A2同时处于激活状态。
在这里插入图片描述

平行状态中的活动本质上是独立的,如以下示例所示。

在以下示例中,当状态A变为激活时,状态B和C同时变为激活。当状态C变为激活时,状态C1或状态C2可以是激活的。

在这里插入图片描述

State Labels

状态的标签显示在状态矩形的左上角,具有以下通用格式:
name/
entry:entry actions
during:during actions
exit:exit actions
on event_name:on event_name actions
bind:events

以下示例演示了状态标签的组件。

在这里插入图片描述

State Name

状态标签以状态名称开头,后跟可选的/字符。在前面的示例中,状态名称为On和Off。有效的状态名称由字母数字字符组成,并且可以包括下划线(_)字符。

层次结构在命名状态时提供了一定的灵活性。在状态标签上输入的名称前面有祖先状态时必须是唯一的。Stateflow层次结构中的名称是作为状态标签输入的文本,前面是用句点分隔的父状态的名称。每个状态都可以在标签中显示相同的名称,只要它们在层次结构中的全名是唯一的。否则,解析器将指示错误。

以下示例显示了状态的唯一命名是如何工作的。
在这里插入图片描述由于这些state在图表中的位置,每个state都有一个唯一的名称。FAN1和FAN2中状态的全名为:

PowerOn.FAN1.On

PowerOn.FAN1.Off

PowerOn.FAN2.On

PowerOn.FAN2.Off

State Actions

在名称之后,输入状态的可选操作语句,该语句带有标识操作类型的关键字标签。您可以不指定、部分指定或全部指定。每个关键字后面的冒号都是必需的。只要后面跟有回车符,状态名称后面的斜线是可选的。

对于每种类型的操作,可以输入多个操作,方法是用回车、分号或逗号分隔每个操作。您可以为多个事件指定操作,方法是在不同事件的event_name行上添加其他操作。

如果输入名称和斜杠,然后直接跟着action,则这些操作将被解释为entry action。如果只指定entry action,则此简写非常有用。

Entry Action.

前面加前缀entry ,或简写为en。在前面的示例中,状态On的条目操作On_count=0。这意味着无论何时状态on变为激活(输入),on_count的值都会重置为0。

During Action.

前面加前缀during 或简写du。在前面的标签示例中,state On有两个 during actions,light_On()和On_count++。只要状态On已经处于激活状态并且发生任何事件,就会执行这些操作。

Exit Action.

前面加前缀exit或简写ex。在前面的标签示例中,“off”状态具有退出操作light_Off()。如果状态“off”处于激活状态,但变为非激活状态(已退出),则执行此操作。

On Event_Name Action.

前面加前缀on event_name,其中event_name是唯一的事件。在前面的标签示例中,状态On有一个On power_outage操作。如果状态On处于活动状态并且事件power_outage发生,则执行操作handle_outage()。

Bind Action.

前面加前缀bind。绑定到某个状态的事件只能由该状态或其子级广播。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/325912.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

尺寸公差分析DTAS3D-产品功能介绍-自主可控

DTAS 3D (Dimensional Tolerance Analysis System 3D)基于蒙特卡洛原理,按照产品的公差及装配关系进行建模,然后进行解析、仿真计算,最终预测产品设计是否能够满足其关键尺寸要求,同时预测产品合格率,并进行根源分析。…

在Linux上使用PHP-FPM与Nginx实现高效的HTTP处理

当谈到高效的HTTP处理时,PHP-FPM(FastCGI进程管理器)与Nginx的结合是许多web开发者的首选。这种组合提供了出色的性能、可扩展性和稳定性,尤其适用于高流量的网站和应用程序。 1. 为什么选择PHP-FPM与Nginx? 性能优化…

在校大学生可以考哪些 ?(38个考证时间表)

这是整理的在校大学生可以考的,有的对报名条件没有要求,有的是高中以上学历,还有一些应届生可以报考的。可以在支付宝搜索【亿鸣证件照】或者微信搜索【随时照】制作这些考证要求的证件照哦 1、教师资格证 2、英语四六级 3、计算机二级 4、普…

拖拽不够自由?Vue3 DnD它来了!

前言 众所周知,在React中有一款非常强大的拖拽库,叫React DnD,而Vue中,大部分都是类似于vue.draggable等拖拽排序的库,然而它并不能满足我们所有的需求,特别是应对一些自由拖拽或混合拖拽的场景(例如&…

你还没脱单,这些软件都得背锅

不管你是否认可情人节概念,是否会在这天与自己的那个ta相聚,每个成年人都会或多或少地思考自己的感情问题。 在互联网兴盛之前,人与人的交往大都依靠职场关系和熟人介绍来结识新的对象,但也有媒人、婚姻介绍所等专门的职业为适龄…

【Dart】=> [05] Dart初体验-函数

文章目录 函数函数特点可选和默认参数函数对象箭头函数匿名函数综合案例 能够定义并使用Dart函数 学习内容: 函数定义可选和默认参数函数对象箭头函数匿名函数 函数 函数定义 Dart函数的结构: 调用函数: 案例:定义计算任意…

基于Java SSM框架实现学生综合考评管理系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现学生学生综合考评管理系统演示 摘要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 学生综合考评管理系统,主要的模块包括查看;管理员;个…

[GXYCTF2019]Ping Ping Ping

1.访问页面,提示传参为ip。2.?ip明显存在命令执行注入,使用 ; 或者 | 闭合上一条命令。 经过fuzz测试,过滤了空格、bash字符、flag字符、以及一些特殊符号。?ip;ls时,发现flag.php就在当前目录下。 3.构造POC,获取…

知识分享:一文读懂AIGC与大模型

什么是大模型? 关于大模型,有学者称之为“大规模预训练模型”(large pretrained language model),也有学者进一步提出”基础模型”(Foundation Models)的概念。 “小模型”:针对特定应用场景需求进行训练&a…

Vue3中使用自定义指令

一,自定义指令: 应用场景:禁用按钮多次点击 1.vue2 a. src/libs/preventClick.js import Vue from vue const preventClick Vue.directive(preventClick, {inserted: function (el, binding) {el.addEventListener(click, () > {if (!el…

05.阿里Java开发手册——前后端规约

【强制】前后端交互的 API,需要明确协议、域名、路径、请求方法、请求内容、状态码、响 应体。 说明: 协议:生产环境必须使用 HTTPS。路径:每一个 API 需对应一个路径,表示 API 具体的请求地址: a&#xff…

【SpringBoot3】Spring Boot 3.0 介绍以及新特性

文章目录 一、Spring Boot 3.01、介绍2、Spring Boot 核心概念3、Spring Boot 3.0 新特性 二、Spring Boot Starter1、介绍2、Starter 命名规则3、官方提供了哪些Starter 三、spring-boot-starter-parent 说明四、示例:创建web项目参考 一、Spring Boot 3.0 1、介绍…

【经典算法】有趣的算法之---遗传算法梳理

every blog every motto: You can do more than you think. 0. 前言 遗传算法是一种基于自然选择和遗传机制的优化算法,因此它通常被用于求解各种最优化问题,例如函数优化、特征选择、图像处理等。 一言以蔽之: 将数学中的优化问题&#xf…

compose部署

目录 本章目标: 自定义网络数据库 正文: 注:创建两个网络mynet和mynetwork 1. 自定义网络-mynet 创建自定义网络: docker network create --subnet172.33.0.0/16 mynet 查看网络信息 docker network list 查看指定网络的详细信…

Leetcode1441.用栈操作构建数组

文章目录 题目原题链接思路代码 题目 给你一个数组 target 和一个整数 n。每次迭代,需要从 list { 1 , 2 , 3 …, n } 中依次读取一个数字。 请使用下述操作来构建目标数组 target : “Push”:从 list 中读取一个新元素, 并将其…

Java中常用的加密算法及其实现原理详解

目录 1、前言 2、对称加密算法 2.1 对称加密算法的工作原理 2.2 DES、AES、RC4算法的原理及其在Java中的实现 2.3 对称加密算法的优缺点 3、非对称加密算法 3.1 非对称加密算法的工作原理 3.2 RSA、DSA算法的原理及其在Java中的实现 3.3 非对称加密算法的优缺点 4、散…

Lamp架构从入门到精通

系列文章目录 lnmp架构 lnmp架构-nginx负载均衡以及高可用 系列文章目录一、源码编译configure(检测预编译环境是否可行)makemake install优化关闭Debug 二、 nginx负载均衡三、nginx的高并发nginx work数量的设定nginx work进程与cpu的静态绑定压力测试nginx高并发修改操作系…

这三款内网管理监控软件让你事半功倍

在当今高度信息化的时代,企业内部网络(内网)已经成为企业运营和发展的重要支撑。 然而,随着内网规模的扩大和复杂性的增加,内网的管理和监控也变得越来越困难。 为了提高内网的管理效率和工作效率,许多企…

仅用三张图片实现任意场景三维重建:ReconFusion

论文题目: ReconFusion: 3D Reconstruction with Diffusion Priors 论文作者: Rundi Wu, Ben Mildenhall, Philipp Henzler, Keunhong Park, Ruiqi Gao, Daniel Watson, Pratul P. Srinivasan, Dor Verbin, Jonathan T. Barron, Ben Poole, Aleksande…

exFAT文件系统识别不了怎么办?

一般存储驱动器通常会使用几种文件系统,其中比较常见的是FAT32、NTFS和exFAT,那么它们之间有什么区别呢?exFAT文件系统识别不了怎么办? 常用文件系统之间的区别有哪些? FAT32文件系统:它是一个兼容性非常强…