Simulink学习——子系统(Enable Subsystem、Triggered Subsystem、Function-Call Subsystem和Resettable subsystems)
Enable Subsystemenable子系统,即使能子系统,里面包含一个enable组件,外面会冒出一个信号去读取外部的使能信号。假如创建如下的一个使能子系统,我们可以点开子系统,设置一下enable和disable时候的动作:点击enable可以设置使能时的动作,点击out可以设置disable时的动作。比如我将两个都设置成reset:两个都设置成held:enable动作设为held,d
Enable Subsystem
enable子系统,即使能子系统,里面包含一个enable组件,外面会冒出一个信号去读取外部的使能信号。
假如创建如下的一个使能子系统,我们可以点开子系统,设置一下enable和disable时候的动作:
点击enable可以设置使能时的动作,点击out可以设置disable时的动作。比如我将两个都设置成reset:
两个都设置成held:
enable动作设为held,disable动作设置为reset:
enable动作设为reset,disable动作设置为held:
通过组合不同的enable动作与disable动作,可以使使能子系统表现出多种不同的作用。
Triggered Subsystem
触发子系统,和使能很像,包含一个trigger组件。同样的建立下面的模型:
触发子系统的动作设定,点击trigger组件即可进行设置。如设置遇到信号上升沿(rising),则保持:
如设置遇到信号下降沿(falling),则保持:
如设置不管是遇到信号上升还是下降沿(either),都保持:
改变trigger的条件,可以看到trigger模块的样子很形象地也变了。
Function-Call Subsystem
Function-Call子系统使用特定函数作为触发信号,属于触发子系统的一种,通常配合stateflow去使用。如设置如下一个stateflow chart,配合模型可以很方便地实现调度系统的设计:
Enabled and Triggered Subsystem
同时在子系统内加入enable和trigger即可创建触发和使能子系统。
触发和使能子系统内的内容只在enable不为0且监测到一个触发信号(上升沿或下降沿)时执行。
Resettable subsystems
通过在子系统内放置一个reset组件即可创建一个reset子系统,作用是当收到触发信号时,就重置子系统内的行为,用如下的模型来看看它的效果:
可以看到每次下降沿,最下面的积分模块输出就会发生一次重置,重新开始积分。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)