本文在于教学状态机的事件用法:

输入事件、局部事件、输出事件、手把手傻瓜式教学

话不多说直接进入simulink进行教学

打开simulink新建一个chart

双击进入,创建一个输入事件

这是几种触发方式,分为上升下降沿触发,函数调用触发建立一个输出事件,这里我们选择functioncall,函数调用触发形式

返回,可见生成了输入和输出的接口

随后我们输出选择一个脉冲信号,我们双击输入Pulse Generator

配置这个脉冲信号,输入占空比百分之五十

双击进入状态机,建立一个节点和默认转移

编写执行function call 事件

我们建立另外一个chart,让前一个的function call 作为下一个chart的输入

双击进入chart1

建立一个事件,作为function call的输入

建立两个局部事件,和两个参数

如下连接

建立一个constant作为chart1的输入

进入chart1,建立两个互斥的状态,同时建立两个并行的状态

A,B并行,A、B内部互斥

点击闪电选择事件

此时,我们希望通过A,B状态并行,让内部的A1\A2,同时转移到B1\B2去

如何保持同步呢?那么就需要发送这个事件,发送到B去,也就是上面的send函数

在B2中添加time的数据,让其进行记录就行

加入scope

点击运行进行仿真

此时可以看出事件已经执行且,状态同步转移了

点击示波器可观测time数值的累加

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐