simulink简单记录---(7) [2018年11月07日]

上一篇 / 下一篇  2018-11-07 10:30:48 / 天气: 晴朗 / 心情: 小开心 / 个人分类:simulink

   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模块替换具有恒值采样时间的模块。
           
           

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar