问题标签 [stateflow]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
167 浏览

matlab - 在 Simulink 模型中复制状态流

我想复制一个 Stateflow 图

命令:

不能单独在 Stateflow 图上工作,而只能在子系统上工作。

如何将选定的 Stateflow 复制到另一个系统?

0 投票
1 回答
1632 浏览

matlab - 如何在 StateFlow 中处理向量输入

我是 StateFlow 的新手,一直在看 StateFlow 教程,但还没有看到处理向量的教程。

我的 simulink 模型生成我想用状态机处理的音频数据向量。例如,如果音频数据超过某个值,则进入state1,如果低于另一个值,则进入state2。

如果我使用 unbuffer 块将数据发送到 StateFlow 块,系统运行非常缓慢。

那么,如何让 StateFlow 通过向量输入运行,处理向量中的每个元素?

编辑:我附上了我的图表的图片。在这里,我试图访问输入的第 i 个元素,但我不知道如何声明变量 i 以及如何递增它来处理向量。

在此处输入图像描述

0 投票
1 回答
406 浏览

matlab - 我的时钟出现 Simulink/StateFlow 错误

我使用 StateFlow 在 Simulink 中创建了这个状态机图表:

有两种状态 (S1,S2),其中一种 (S1) 有 3 个嵌套的并行 FSM,每个有 4 个状态 (SS1, SS2, SS2, SS4) ,我在所有 3 个 FSM (SS1) 中都设置了一个默认状态),以及主要的两种状态(默认 S2)。

为了测试主 FSM (S1,S2) ,我对所有输入/事件使用了信号生成器。其中一个输入是方波,它是我的主 FSM (1 Hz) 的时钟事件,模拟持续时间为 50 秒。

我遇到的问题是我可以在信号生成器中看到我有一个方波,但是当我把范围放在那个时钟上时,我看到一个方波(从 0 到 49.5 秒然后下降到 0)。

在此处输入图像描述

我的时钟呢?什么不能正确喂养我的 FSM?

这是 FSM:

在此处输入图像描述

正交子状态是:

在此处输入图像描述

详细说明:

在此处输入图像描述

在 S1 和 S2 之间

在此处输入图像描述

具有时钟信号的信号生成器之一是:

在此处输入图像描述

另一个有以下信号:

在此处输入图像描述

0 投票
1 回答
193 浏览

simulink - 如何提取给定 Simulink 模型中 Stateflow 模块的位置?

我有一个 Simulink 模型,我想提取它包含的 Stateflow 模块的位置。我正在寻找一个受此命令启发的命令,它给出了块的总数。我该怎么做或在哪里可以找到更多信息?

0 投票
0 回答
737 浏览

matlab - Stateflow 错误中的 Simulink 函数

我有多个子系统,每个子系统都有状态机“Stateflow”。一个子系统有 FSM,在一个状态中,有一个 simulink 函数应该启动“表示 ODE 的 simulink 模型”,当处于该状态时,会观察到一个解决方案,直到它达到一个阈值,其值将触发一个转换不同子系统中的状态

如众多教程中所示,我在状态流中使用了 Simulink 函数,但我得到的错误如下:

“MatlabFunInChart/Chart/VelocityProfile/Cart/Integrator”的采样时间为“0”。在“函数调用”子系统“MatlabFunInChart/Chart/VelocityProfile”中只允许恒定 (inf) 或继承 (-1) 采样时间。

看起来我在 simulink 模型中遗漏了一些与集成有关的东西。

有任何想法吗 ?

0 投票
1 回答
80 浏览

matlab - 以编程方式关闭 Stateflow 编辑器

有没有办法以编程方式关闭(或隐藏)Stateflow Editor?

我在文档或网络中找不到任何关于此的提示。我知道的唯一方法是完全关闭模型,但我不希望这样做,因为更改的模型可能需要事先保存,因此需要用户交互。

这是我目前正在做的一个简单示例:

现在该chart对象有一个Editor属性。但是 this 和图表对象本身都没有任何有用的成员函数。

我不受特定 Matlab 版本的约束,因此将不胜感激任何帮助!

0 投票
1 回答
1981 浏览

matlab - Matlab Stateflow - 转换后的after()函数不起作用

在我的 Stateflow 模型中,after() 函数不起作用。例如,如果我在(10,秒)之后没有延迟,它会直接从上切换到下一个。我使用脉冲发生器作为 Stateflow 的永恒时钟,具有以下值:

在此处输入图像描述

这可能是这种行为的原因吗?还有其他相关设置吗?

0 投票
1 回答
233 浏览

matlab - 从 Matlab 脚本写入 DataStore

所以我想做的是:我有一个 simulink 状态流模型。为了显示这个模型中的一些东西,我构建了一个 GUI。在这个 GUI 中,我有一个按钮,按下时应该将标志设置为 true,我想在我的 stateflow 模型中使用它来启动转换。因此,每当我在状态流中进入某个状态时,我都会将标志的值设置为 false,并且我希望在按下按钮时将其设置为 true。不幸的是,我找不到任何方法可以通过 GUI 回调函数在状态流中设置本地参数。我尝试过使用数据存储内存块,但即使我可以从状态流模型内部设置值,我也无法从 GUI 的回调函数中设置值。

帮助将不胜感激!

0 投票
2 回答
389 浏览

matlab - 在 Stateflow 中按其编号查找结点

我正在 MATLAB Simulink 中开发一个嵌入式系统,其中包含一些 Stateflow 图。我成功地从中生成了 C 代码。不幸的是,构建模型会引发一些警告。其中之一是:

此警告没有其他链接或信息如何在我的模型中找到该连接点(有很多连接点,所以它不是微不足道的)而不是它的数量。

有没有办法通过编号查找/突出显示路口?

0 投票
0 回答
1581 浏览

matlab - 如何在 simulink 和 stateflow 中设计带有复位功能的计数器

设计一个计数器,使用 rest 选项递减和递增 1,这意味着它会归零并从 1 开始计数。这个问题应该使用 simulink 和 stateflow 来完成。