Simulink子模块封装

Simulink子模块封装

ID:36876804

大小:240.50 KB

页数:20页

时间:2019-05-10

Simulink子模块封装_第1页
Simulink子模块封装_第2页
Simulink子模块封装_第3页
Simulink子模块封装_第4页
Simulink子模块封装_第5页
资源描述:

《Simulink子模块封装》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Simulink动态系统仿真2几个常用的输入输出模块的使用ToWorkspaceToFileFromFileFromWorkspace10.5子模块及模块封装技术退出主菜单><对于很大的Simulink模型,通过自定义功能模块可以简化图形,减少功能模块的个数,有利于模型的分层构建。subsystem10.5.1子系统的创建退出主菜单><通过子系统模块Subsystem建立通过压缩已有模块建立在模型窗口中建立所定义功能模块的子模块。用鼠标将这些需要组合的功能模块框住,然后选择Edit菜单下的CreateSubsystem即可。子系统创建举例建立如下PID控制器的模型并建立子系统。10.5

2、.2其他子系统使能子系统:EnabledSubsystem.控制信号:标量:>0时开始执行。向量:任何一个元素大于0即执行。详见例10.6触发子系统(不做要求)TriggeredSubsystem参见例10.710.5.3模块的封装选中Subsystem功能模块,再打开Edit菜单中的MaskSubsystem进入mask的编辑窗口10.5.3模块的封装Icon:设定功能模块的外观。Parameters:设定输入数据窗口Initialization:初始化Documentation:设计模块的文字说明练习1:试编写一个实现y=kx+b功能的子模块。In:xOut:y参数:k,b练习2:

3、试编写一个实现y=k1x1+k2x2功能的子模块。In1:x1In2:x2Out:y参数:k1,k210.5.3封装模块的查看LookUnderMaskForExample:sltank六、S函数的设计(自选,不作要求)6.1s函数的功能对模块库进行扩展自定义功能模块:通过基本模块进行扩展S函数:通过语言文件的编写进行扩展6.2s函数的特点s-function可以用m文件编写,也可以用c或fortune等语言文件编写。s函数的编写方法:按照s函数的格式编写:sfuntmpl(t,x,u,flag)这样的构造只能用于基于Simulink的仿真,并不能强其转换成独立于Matlab的程序。建

4、立m文件s-function[sys,x0,str,ts]=fname(t,x,u,flag,p1,p2,...)t:thecurrenttimeflag:标志位x:thecurrentstatevectoru:thecurrentinputvectorsfuntmpl.mlimintm.m如何编写S函数switchflag,case0,[sys,x0,str,ts]=mdlInitializeSizes;case1,sys=mdlDerivatives(t,x,u);case2,sys=mdlUpdate(t,x,u);case3,sys=mdlOutputs(t,x,u);case

5、4,sys=mdlGetTimeOfNextVarHit(t,x,u);case9,sys=mdlTerminate(t,x,u);连续/离散状态变量的个数,输入输出变量的个数,是否直通?状态变量是连续方程形式状态变量是离散方程形式输出表达式数值功能调用函数名返回参数0初始化mdlInitializeSizessys为初始化参数,x0,str,ts如其定义1连续状态计算mdlDerivativessys返回连续状态2离散状态计算mdlUpdatesys返回离散状态3输出信号计算mdlOutputssys返回系统输出4下一步仿真时刻mdlGetTimeOfNextVarHitsys返回下

6、一步仿真的时间9终止仿真设定mdlTerminate无参数的初始设定[sys,x0,str,ts]=mdlInitializeSizes的具体写法;首先通过sizes=simsizes语句获得系统默认的系统参数变量sizes。sizes实际上是一个结构变量;按照要求设置好的结构体通过sys=simsizes(sizes)语句赋给sys参数。设置状态变量初始值x0;设置字符串变量str,通常为[];设置采样周期ts,ts应为双列矩阵[t1,t2],t1为采样周期,t2为偏移量,一般为0t1=-1则继承输入信号的采样周期。行数与sizes.NumSampleTimes一致.sizes.Nu

7、mContStates表示S函数中连续状态的个数sizes.NumDiscStates表示S函数中离散状态的个数sizes.NumOutputs表示S函数中输出的个数sizes.NumInputs表示S函数中输入的个数sizes.DirFeedthrough输入信号是否直接在输出端出现的标识,取值为0,1sizes.NumSampleTimes模块采样周期的个数,S函数支持多采样周期的系统。TS=Anm-by-2matrixcontaining

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。