天气: 晴朗
心情: 小开心
1.高级子系统
1.条件执行子系统
有些情况下,只有满足一定的条件时子系统才会被执行,依赖于控制信号
几个基本类型:
①使能子系统:控制信号为正时,子系统才执行。
②触发子系统:控制信号符号改变时,子系统才执行。
分为上升沿,下降沿和双边沿触发
③函数调用子系统:在自定义的S-Function中发出函数调用时开始执行。
2.使能子系统
控制信号从负数朝正向穿过0时开始执行,直到控制信号变为负数时停止。
如同高电平有效
①创建
在Port&Subsystems模块库把Enable模块复制到子系统内,这时simulink会在子系统模块图标上添加一个使能符号和使能控制输入口。
在output端口模块对话框:
"Output when disabled"参数选择一个选项
held选项表示让输出保持最近的输出值
reset选项表示让输出返回到初始条件,并设置Initial output值,该值是重置时的输出初始值。Initial output值可以为空矩阵[]
通过Enable模块参数对话框:
选择子系统状态
”State when enabling"可选参数进行设置
”Show output port"复选框,选择该选项表示允许用户输出使能控制信号。
这个特性可以将控制信号向下传递到使能子系统。
使能子系统可以包含任意的simulink模块
但是离散模块只有当子系统执行时,而且只有当该模块的采样时间与仿真采样时间同步时才会执行,使能子系统和模型共用时钟。
使能子系统约束
使能子系统输出模块相连的带有恒值采样时间的模块是有限制的:
用具有恒值采样时间的Model模块或S-Function模块与条件执行子系统的输出端口相连,那么Simulink会显示一个错误消息。simulink会把恒值采样时间的内置模块的采样时间转换为不同的采样时间。
为避免此类问题:
把模块采样时间换为非恒值采样时间,或使用Signal Conversion模块替换具有恒值采样时间的模块。