Simulink函数如何绑定到状态

server/2024/9/23 3:25:08/

Simulink函数的绑定行为

当Simulink函数位于某个状态内时,该函数会绑定到该状态。绑定会导致以下行为:
函数调用只能在状态操作和状态及其子状态内的转换中发生。
当进入状态时,该功能启用。
当状态退出时,该功能被禁用。

例如,以下Stateflow图表显示了绑定到状态的Simulink函数。
在这里插入图片描述

因为函数队列位于状态A1,所以函数绑定到该状态。
状态A1及其子状态A2和A3可以调用队列,但状态B1不能。
当进入状态A1时,队列启用。
当状态A1退出时,队列被禁用。

Simulink功能禁用时的控制子系统变量
如果Simulink函数绑定到状态,则可以将子系统变量保持在上次执行时的值,也可以将变量重置为初始值。请按照以下步骤操作:
1 在Simulink函数中,双击触发端口以打开“Block Parameters”对话框。
2 为States when enabling选择一个选项。

选项描述
held保存上次执行的子系统变量的值
reset将子系统变量重置为其初始值

将Simulink函数绑定到状态的示例

此示例显示了Simulink函数在绑定到状态时的行为。

在这里插入图片描述
函数队列包含一个框图,每次执行函数时,计数器都会递增1。
在这里插入图片描述
触发器端口的“Block Parameters”对话框显示如下。

在这里插入图片描述

在对话框中,将采样时间类型设置为周期性启用采样时间字段,默认值为1。这些设置告诉函数在启用时对采样时间字段中指定的每个时间步执行。

注:
如果使用固定步长解算器,则采样时间字段中的值必须是固定步长的整数倍。此限制不适用于可变步长求解器。

图表模拟

在这里插入图片描述
模拟图表时,会发生以下操作。
1 发生到状态A1的默认转换,其中包括将本地数据u1设置为1。
2 当输入A1时,功能队列被启用。
3 对队列的函数调用一直持续到(5,sec)后的条件为真。
4 发生从状态A1到B1的转变。
5 当A1退出时,功能队列被禁用。
6 再过两秒后,发生从B1到A1的转换。
重复步骤2至6,直到模拟结束。

变量被held时函数的行为

如果将States when enabling设置为held,则输出y1如下。
在这里插入图片描述
当状态A1在t=5时变为非活动状态时,Simulink函数保持计数器值。当A1在t=7时再次激活时,计数器的值与t=5时的值相同。因此,输出y1随着时间的推移继续增加。

变量重置时函数的行为

如果在启用重置时设置状态,则输出y1如下。
在这里插入图片描述
当状态A1在t=5时变为非活动状态时,Simulink函数不保存计数器值。当A1在t=7时再次激活时,计数器重置为零。因此,输出y1也重置。


http://www.ppmy.cn/server/98334.html

相关文章

数据结构初阶最终讲:排序

数据结构初阶最终讲:排序 1.排序的概念及其运用1.1什么是排序1.2排序的运用1.3常见排序算法 2.冒泡排序3.直接插入排序4.堆排序5.测试代码:排序性能对比5.1直接插入排序时间复杂度分析 6.希尔排序6.1希尔排序时间复杂度分析 7.选择排序7.1初步思路7.2选择…

ArcGIS Pro SDK (十)地理处理 1 地理处理

ArcGIS Pro SDK (十)地理处理 文章目录 ArcGIS Pro SDK (十)地理处理1 执行模型工具2 设置地理处理范围环境3 在地理处理窗格中打开脚本工具对话框4 获取地理处理工程项目5 阻止使用 GP 创建的要素类自动添加到地图6 将执行消息添加到 Hisotry7 多环缓冲器8 地理处理工具的…

去中心化社交:探讨Facebook在区块链平台上的实践

随着区块链技术的崛起,社交平台也面临着前所未有的变革。作为全球最大的社交平台之一,Facebook(现名Meta Platforms)正在积极探索如何将区块链技术融入其平台,以引领去中心化社交的新时代。本文将从不同角度探讨Facebo…

threejs 节点材质系统 绑定attribute

新的 节点材质系统 绑定属性及使用 非常方便 不必重复声明 以instances为例 import {instancedBufferAttribute,instancedDynamicBufferAttribute,} from "three/tsl";声明一个 InstancedBufferAttribute 使用 instancedBufferAttribute包装后就可以在shader中直接使…

Docker 全部命令详解:从基础到高级

Docker 全部命令详解:从基础到高级 Docker 是现代软件开发和运维中不可或缺的工具,它通过容器化技术提供了轻量级的虚拟化解决方案。掌握 Docker 的所有命令是高效管理和运维容器的关键。本文将详细介绍 Docker 的所有命令,从基础的镜像和容…

程序员面试中的“八股文”:助力还是阻力?

程序员面试中的“八股文”:助力还是阻力? 一. “八股文”在程序员面试中的地位与价值1.1 “八股文”的普遍性和必要性1.2 “八股文”的局限性 二. “八股文”与实际工作能力的关系2.1 “八股文”作为理论基础2.2 实际工作中的“八股文”应用 三. “八股文…

Windows10 开始图标点击没反应怎么办?

方法一、重启Windows资源管理器 1. 按键盘上的“Ctrl Shift Esc”键,打开任务管理器。 方法二、启用User Manager服务 1. 按“Windows R”键,打开运行框并输入“services.msc”,再单击“确定”。 2. 进入服务窗口中,找到“U…

sqli-labs-master 25-30关

sqli-labs第25关 由本题意可得过滤and和or,我用双写进行绕过,例如:infoorrmation,aandnd 数据库名 http://127.0.0.1/sqli-labs-master/Less-25/?id-1%27%20union%20select%201,2,database()-- 表名 127.0.0.1/sqli-labs-master/Less-25…