Simulink子模块封装.ppt

上传人:sh****n 文档编号:2921915 上传时间:2019-12-04 格式:PPT 页数:20 大小:240.55KB
返回 下载 相关 举报
Simulink子模块封装.ppt_第1页
第1页 / 共20页
Simulink子模块封装.ppt_第2页
第2页 / 共20页
Simulink子模块封装.ppt_第3页
第3页 / 共20页
点击查看更多>>
资源描述
Simulink动态系统仿真,几个常用的输入输出模块的使用,To Workspace To File From File From Workspace,10.5 子模块及模块封装技术,退出,主菜单,对于很大的Simulink模型,通过自定义功能模块可以简化图形,减少功能模块的个数,有利于模型的分层构建。,subsystem,10.5.1 子系统的创建,退出,主菜单,通过子系统模块Subsystem建立 通过压缩已有模块建立 在模型窗口中建立所定义功能模块的子模块。 用鼠标将这些需要组合的功能模块框住,然后选择Edit菜单下的Create Subsystem即可。,子系统创建举例,建立如下PID控制器的模型并建立子系统。,10.5.2 其他子系统,使能子系统: Enabled Subsystem. 控制信号:标量:0时开始执行。 向量:任何一个元素大于0即执行。 详见例10.6 触发子系统(不做要求) Triggered Subsystem 参见例10.7,10.5.3 模块的封装,选中Subsystem功能模块,再打开Edit菜单中的Mask Subsystem进入mask的编辑窗口,10.5.3 模块的封装,Icon:设定功能模块的外观。 Parameters:设定输入数据窗口 Initialization:初始化 Documentation:设计模块的文字说明,练习1:,试编写一个实现y=kx+b功能的子模块。 In:x Out:y 参数:k, b,练习2:,试编写一个实现y=k1x1+k2x2功能的子模块。 In1:x1 In2:x2 Out:y 参数:k1, k2,10.5.3 封装模块的查看,Look Under Mask,For Example: sltank,六、S函数的设计 (自选,不作要求),6.1 s函数的功能,对模块库进行扩展,自定义功能模块:通过基本模块进行扩展,S函数:通过语言文件的编写进行扩展,6.2 s函数的特点,s-function可以用m文件编写,也可以用c或fortune等语言文件编写。 s函数的编写方法: 按照s函数的格式编写:sfuntmpl(t,x,u,flag) 这样的构造只能用于基于Simulink的仿真,并不能强其转换成独立于Matlab的程序。,建立m文件s-function,sys,x0,str,ts=fname(t,x,u,flag,p1,p2,.) t: the current time flag: 标志位 x: the current state vector u: the current input vector,sfuntmpl.m,limintm.m,如何编写S函数,switch flag, case 0, sys,x0,str,ts=mdlInitializeSizes; case 1, sys=mdlDerivatives(t,x,u); case 2, sys=mdlUpdate(t,x,u); case 3, sys=mdlOutputs(t,x,u); case 4, sys=mdlGetTimeOfNextVarHit(t,x,u); case 9, sys=mdlTerminate(t,x,u);,连续/离散状态变量的个数, 输入输出变量的个数, 是否直通?,状态变量是连续方程形式,状态变量是离散方程形式,输出表达式,参数的初始设定,sys,x0,str,ts=mdlInitializeSizes的具体写法; 首先通过sizes=simsizes语句获得系统默认的系统参数变量sizes。sizes实际上是一个结构变量; 按照要求设置好的结构体通过sys=simsizes(sizes)语句赋给sys参数。 设置状态变量初始值x0; 设置字符串变量str, 通常为; 设置采样周期ts, ts应为双列矩阵t1,t2,t1为采样周期,t2为偏移量,一般为0 t1=-1则继承输入信号的采样周期。 行数与sizes.NumSampleTimes一致.,sizes.NumContStates 表示S函数中连续状态的个数 sizes.NumDiscStates 表示S函数中离散状态的个数 sizes.NumOutputs 表示S函数中输出的个数 sizes.NumInputs 表示S函数中输入的个数 sizes.DirFeedthrough 输入信号是否直接在输出端出现的标识,取值为0,1 sizes.NumSampleTimes 模块采样周期的个数,S函数支持多采样周期的系统。,TS = An m-by-2 matrix containing the sample time (period, offset) information. Where m = number of sample times. The ordering of the sample times must be: TS = 0 0, : Continuous sample time. 0 1, : Continuous, but fixed in minor step sample time. PERIOD OFFSET, : Discrete sample time where PERIOD 0 : Variable step discrete sample time where FLAG=4 is used to get time of next hit.,S function的书写例子,连续系统 离散系统 混合系统,S-Function Example 2,Limintm.m S-function Parameters mask S-Function,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!