【发布时间】:2014-11-15 05:35:34
【问题描述】:
我几乎是 Simulink 和 Stateflow 的新手。我正在尝试对一些简单的状态机进行建模。但是在尝试运行模型时,它会显示错误(在 Matlab 主屏幕上)。
Warning: Input port 1 of 'sample/If' is not connected.
Warning: Output port 1 of 'sample/If' is not connected.
Parsing failed for machine: "sample"(#90)
1) 这有什么问题吗?
2) 还有一个问题:如何在 S2 上添加计时器?例如我们不能在 S2 上停留超过 2 分钟。因此,一旦我们进入 S2,就会启动一个计时器,当它达到 2 分钟时,应该转换到 S3。
附:由于某些原因,simulink 方案上的状态流缩略图没有显示更新的模型;没有 condition 和 if_outfput 变量了!
【问题讨论】:
-
与您的问题没有直接关系,但您的状态图中的实现将不起作用。您已将 4 个状态定义为并行执行(由虚线边框和右上角的整数表示),但逻辑清楚地表明它们需要定义为异或状态。
-
@Phil :哦,它们应该是常规状态,串行...不是并行。我刚刚选择了状态图标并绘制了它们。我该如何解决它们?
-
在任何状态之外的状态图中右击,向下约一半到分解菜单,然后选择异或。
-
谢谢!在解决了几个错误后,终于可以工作了。我有两个一般性问题:1)跑步的速度!模型运行太快。您是否碰巧知道模型配置参数上的最佳配置是什么以使其变慢以便我们可以跟踪转换? 2)目前我只有一个恒定的输入。如何设置一系列常量,例如 0,然后在 1 分钟后 1、3 分钟后 2 等?谢谢