本文在于教学状态机的事件用法:
输入事件、局部事件、输出事件、手把手傻瓜式教学
话不多说直接进入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数值的累加