matlab-s-function-builder-使用

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Simulink®S-Functions使用S-FunctionBuilder2本章概述 S-FunctionBuilder优势以及局限 在模型中使用S-FunctionBuilder 使用S-FunctionBuilder定义S-function各个参数以及算法 使用S-FunctionBuilder集成外部源代码3S-FunctionBuilder User-DefinedFunctions库中包含了S-FunctionBuilder模块,通过该模块提供的图形用户界面,用户可创建C语言S-function S-FunctionBuilder能够接收和输出Simulink支持的复数,1-D或2-D信号 S-FunctionBuilder模块仅能用于CMEXS-function的创建,而且需要系统至少有一个输入和一个输出4S-FunctionBuilder流程积分阶段仿真终止计算输出Outputs计算离散状态更新DiscreteUpdates计算连续状态导数ContinuousDerivatives计算输出Outputs建立模块i/o和参数DataProperties设置状态个数,初始化状态以及设置采样时间Initialization5使用S-FunctionBuilder:初始化S-function名称采样时间状态个数以及初始值6使用S-FunctionBuilder:数据属性7使用S-FunctionBuilder:库外部源文件外部头文件外部函数原型8使用S-FunctionBuilder:输出/求导/更新输出方程导数方程更新方程9使用S-FunctionBuilder:编译信息编译S-function编译状态10无状态S-Functions无状态CMEXS-function其中g为系统输出,Pm和Pa为系统输入。()()⎪⎪⎩⎪⎪⎨⎧≥−≤≤−−≤≤−≤=amamamamaamaamamamPPPPPPPPPPPPPPPPPPg2if12if22if22if12211无状态S-Functions(续)12S-FunctionBuilder结果13处理宽度动态变化的信号示例:Pm能接收任何宽度信号 在DataProperties,设置Pm宽度和输出端口为-1 使用u_width定义输出信号宽度. 在Outputs,使用for循环定义g值14处理宽度动态变化的信号(续)15处理S-FunctionBuilder参数 Pa定义为一个参数变量: 在DataProperties,增加Pa作为系统参数 访问参数值,使用Pa[0]16连续状态S-Functions示例:连续系统方程为其中m,k和b为S-function参数[][])(0)()(01)()(/10)()(//10)()(212121tFtxtxtytFmtxtxmbmktxtx+⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡−−=⎥⎦⎤⎢⎣⎡&&mass_spring_buildereditmass_spring_b.c17连续状态S-Functions(续) 在Initialization,设置连续状态个数和初始化条件 在DataProperties定义m,b,和k. 在Outputs,输入输出方程. 在ContinuousDerivatives,输入状态导数方程,使用dX访问连续状态导数向量18离散状态S-Functions离散状态方程为:其中Kp,Ki,Kd,和Ts为S-function参数.)()()(1)()(1)()(0001)1()1(212121keTKKkxkxTKkykeTKkxkxkxkxsdpsdsi⎟⎟⎠⎞⎜⎜⎝⎛++⎭⎬⎫⎩⎨⎧⎥⎦⎤⎢⎣⎡−=⎥⎦⎤⎢⎣⎡+⎭⎬⎫⎩⎨⎧⎥⎦⎤⎢⎣⎡=⎭⎬⎫⎩⎨⎧++19离散状态S-Functions(续) 在Initialization,设置离散状态个数,离散状态初始化和采样周期0.02秒. 在DataProperties,增加Kp,Ki,和Kd三个参数 在Outputs,输入输出方程 在DiscreteUpdates,中输入状态更新方程20集成外部源码 支持外部函数原型,在Libraries中以头文件形式加入 调用外部函数source.cIncludesExternalfunctions21示例:WrapperS-Function 使用S-FunctionBuilder创建wrapperS-function,该函数调用排序源码sort_ext.c. 在库需要中加入外部源码22WrapperS-Function(续)sort_builder23本章小结 S-FunctionBuilder优势以及局限 在模型中使用S-FunctionBuilder 使用S-FunctionBuilder定义S-function各个参数以及算法 使用S-FunctionBuilder集成外部源代码24

1 / 24
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功