simulink之state

news2024/12/24 9:41:28

状态

状态描述了无功系统的运行模式。在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。绑定到某个状态的事件只能由该状态或其子级广播。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

跨境电商多账号防关联攻略分享,盘点那些可以多账号登录的指纹浏览器

在跨境电商行业中,卖家常常需要在电商平台上同时运营多个店铺,但像亚马逊这样的平台都禁止同一个卖家在同一个站点上开设多家店铺,这一做法也常常会带来账号关联的风险,而关联的后果可能非常严重。那么拥有多个账号的跨境卖家应该…

多级缓存(nginx本地缓存、JVM进程缓存、redis缓存)

文章目录 整体示意图1.nginx缓存2.进程缓存Caffeine示例 3.Lua语法(为了在nginx中做编程)4.OpenResty5.封装向Tomcat发送的Http请求,获取数据6.Tomcat集群的负载均衡7.redis缓存8.查询Redis缓存9.Nginx本地缓存 整体示意图 1.nginx缓存 2.进程缓存 Caffeine示例 3.…

多级缓存架构(二)Caffeine进程缓存

文章目录 一、引入依赖二、实现进程缓存1. 配置Config类2. 修改controller 三、运行四、测试 通过本文章&#xff0c;可以完成多级缓存架构中的进程缓存。 一、引入依赖 在item-service中引入caffeine依赖 <dependency><groupId>com.github.ben-manes.caffeine…

企业内部知识库搭建方法,一般人都不知道

让我们想象一下&#xff0c;你是一家创业公司的创始人或者是已有企业的CEO&#xff0c;你是否遇到过这样的问题&#xff0c;公司的员工有时候互相之间的信息交流不够顺畅&#xff0c;不同部门之间的知识沟通不够清晰&#xff1f; 或者是新加入的员工刚开始工作几个月都处在一个…

网络部署实战具体学习内容总结

网络部署实战具体学习内容总结 &#x1f4bb;网络部署实战课程通常旨在教授学生如何规划、配置、维护和优化计算机网络。这些课程涵盖了广泛的主题&#xff0c;以确保学生具备网络部署和管理所需的技能。 网络部署实战课程具体学习内容&#x1f447; 1️⃣网络架构设计及网络原…

遥测终端机选择要点:功能、稳定性与成本的综合考量

在当今的智能化时代&#xff0c;遥测终端机作为数据采集、传输和处理的关键设备&#xff0c;广泛应用于水利、气象、环保等领域。然而&#xff0c;面对市场上琳琅满目的遥测终端机产品&#xff0c;如何选择一款性能优良、稳定性高且成本合理的设备成为摆在用户面前的一大难题。…

第一篇:node的背景及版本的检查

&#x1f3ac; 江城开朗的豌豆&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 &#x1f4dd; 个人网站 :《 江城开朗的豌豆&#x1fadb; 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 前言 Node.js 是一个基于 Chrome V8 JavaScript 引擎…

制造业CRM系统选型技巧-这四个功能更加重要

目前&#xff0c;促进制造业数字化转型是时代的发展方向。为了实现这一趋势&#xff0c;CRM管理系统在制造业中的运用至关重要。那样&#xff0c;制造业CRM应该如何选择呢&#xff1f;高度关注这种业务艰难和解决方案&#xff1a;全方位客户管理、灵便订制作用、高效客户服务以…

【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 说明四、示例&#xff1a;创建web项目参考 一、Spring Boot 3.0 1、介绍…

【健康小贴士】关节炎是不是冻出来的?

大家冬天肯定被父母唠叨过&#xff1a; 「天气这么冷&#xff0c;裤子穿这么短&#xff0c;小心得关节炎&#xff01;」 ❌这种说法其实是不对的或者并不全面&#xff0c;答案来了&#x1f440;

鸿蒙开发笔记(七):应用状态管理,LocalStorage及AppStorage的使用

开发者要实现应用级的&#xff0c;或者多个页面的状态数据共享&#xff0c;就需要用到应用级别的状态管理的概念。ArkTS根据不同特性&#xff0c;提供了多种应用状态管理的能力&#xff1a; LocalStorage&#xff1a;页面级UI状态存储&#xff0c;通常用于UIAbility内、页面间的…

win10系统postgresql重装软件后原数据如何迁移

1、备份postgresql安装目录下的data文件夹 2、重新安装postgresql同一版本的软件 3、停止postgresql-x64-12服务 4、替换data文件夹 删除postgresql安装后新的的data文件夹 删除后将第一步备份的data文件夹粘贴过来&#xff0c;还是同一位置 5、启动postgresql-x64-12服务 …

结构化流的介绍

目录 有界数据和无界数据 有界数据 无界数据 结构化流 基本介绍 入门案例 结构化流的编程模型 数据结构 数据源(Source) File Source Kafka Source(Spark 和 Kafka 整合) 整合Kafka准备工作 从kafka中读取数据 流式处理 批处理 数据写入Kafka中 流式处理 批处理…

基于Java SSM框架实现新生入学信息管理系统项目【项目源码+论文说明】

基于java的SSM框架实现新生入学信息管理系统演示 摘要 21世纪的今天&#xff0c;随着社会的不断发展与进步&#xff0c;人们对于信息科学化的认识&#xff0c;已由低层次向高层次发展&#xff0c;由原来的感性认识向理性认识提高&#xff0c;管理工作的重要性已逐渐被人们所认…

第十五讲_css水平垂直居中的技巧

css水平垂直居中的技巧 1. 水平垂直居中&#xff08;场景一&#xff09;2. 水平垂直居中&#xff08;场景二&#xff09;3. 水平垂直居中&#xff08;场景三&#xff09;4. 水平垂直居中&#xff08;场景四&#xff09; 1. 水平垂直居中&#xff08;场景一&#xff09; 条件&a…

C#开源免费的Blazor图表库

前言 今天分享一款基于ApexCharts.js封装的、C#开源免费的Blazor图表库&#xff1a;Blazor-ApexCharts。 10款值得推荐的Blazor UI组件库 全面的ASP.NET Core Blazor简介和快速入门 ApexCharts.js介绍 ApexCharts.js开源地址&#xff1a;GitHub - apexcharts/apexcharts.js:…

超强文档搜索引擎AnyTXT Searcher本地搭建

文章目录 前言1. AnyTXT Searcher1.1 下载安装AnyTXT Searcher 2. 下载安装注册cpolar3. AnyTXT Searcher设置和操作3.1 AnyTXT结合cpolar—公网访问搜索神器3.2 公网访问测试 4. 固定连接公网地址 前言 你是否遇到过这种情况&#xff0c;异地办公或者不在公司&#xff0c;想找…

EOCR电动机保护器故障原因查询

在电动机保护方面&#xff0c;电子式电机保护器的应用越来越广泛。电子式电动机保护器可靠性强、灵敏度高&#xff0c;并具有多种保护功能&#xff0c;如&#xff1a;过电流、欠电流、缺相、逆相、堵转、三相不平衡、接地、短路等。 但有一部分电子式电动机保护器产品在检测到…

HTML5:dialog

JavaScript 练手小技巧&#xff1a;HTML5 的 dialog 标签制作对话框_dialog html-CSDN博客 <dialog id"dialog"> <h2 align"center">修改</h2> <input type"text" id"title1" placeholder"标题" value…

ChatGPT:人工智能划时代的标志(文末送书)

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;网络奇遇记、数据结构 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 一. 什么是ChatGPT?二. ChatGPT是如何工作的&#xff1f;三. ChatGPT的应用领域四. ChatGPT的优缺点…