MATLAB仿真-CATS实践项目指导书_第1页
MATLAB仿真-CATS实践项目指导书_第2页
MATLAB仿真-CATS实践项目指导书_第3页
MATLAB仿真-CATS实践项目指导书_第4页
MATLAB仿真-CATS实践项目指导书_第5页
已阅读5页,还剩87页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MATLAB仿真-CATS实践项目指导书

自动控制原理课程组编

浙江万里学院电子信息学院

2012-5-24

目录

第1章MATLAB软件介绍..............................................3

1.1引言............................................................3

1.2MATLAB软件.....................................................3

1.3MATLAB运行界面.................................................4

1.4MATLAB的基本使用说明..........................................6

第2章SIMULINK及CATS实验设备介绍................................10

2.1SIMULINK简介..................................................10

2.2建构模型.......................................................13

2.3仿真与分析.....................................................15

2.4CATS实验装置介绍..............................................17

2.4.1CATS功能与特性:...........................................17

2.4.2CATS仿真平台软件...........................................19

2.4.3CATS工具包.................................................20

2.5CATS电机控制示例.............................................21

2.5.1LapMap的没置.............................................21

2.5.2建立传递函数..............................................29

第3章时域响应分析法..............................................33

3.1在SIMULINK中进行时域响应分析...................................33

3.2用M文件进行时域响应分析......................................34

第4章控制系统的稳定性分析.......................................42

第5章根轨迹分析法.................................................45

第6章系统频域分析法..............................................50

6.1对数幅频、对数相频特性曲线的绘制..............................50

6.2NYQUIST图(极坐标图)的绘制...................................51

6.3频域稳定性判断.................................................53

第七章单输入单输出没计工具一提高篇................................55

综合项目-一直流电机咨制系统研究....................................63

第一章MATLAB软件介绍

L1引言

控制系统计算机仿真这一学科是与计算机的发明、发展同步进行的。

安化什古幽理仿真

系统仿真|数学仿时।算机仿真)

物理仿真:利用几何相似原理,仿制一个与实际系统工作原理相同、质地完全相

同但体积小得多的物理模型进行实验研究。如将飞机模型放在气流场

相似的风洞中来模仿真实的飞机在地球的大气中。

计算机仿真:用计算机仿真来研究被仿真系统的工作特点,方便廉价、灵活可靠。

它越来越多取代了物理仿真。

控制系统计算机仿真过程:

第一步,建立自控系统的数学模型

解析法:利用物理、化学定律来列马变量问辍学表达式

[实验法:利用辨识技和&去一些次要因素

第二步,建立自控系统的仿真模型

原始的数摸如微分方程不能直接对系统进行仿真,转换为传函或动态结

构图

第三步,编制仿真程序

用Basic、Fortran>C或汇编语言。

若用MATLAB的Toolbox工具箱及其Simulink仿真集成环境作仿真工

具,就是MATLAB仿真。

第四步,进行仿真试验,并修改仿真模型、与程序输出要求的结果。

1.2MATLAB软件

MATLAB是MATrixLABoratoty缩写,矩阵实验室。是美国MathWorks

公司在20世纪80年代推出的高性能数值计算软件。Moler博士开发MATLAB

最初目的是为线性代数的矩阵运算提供运算工具,后经完善扩充MATLAB可进

行各种科学与工程技术计算。成为线性代数、自动控制理论、数字信号处理等课

程的基本数学工具,成为大学生、硕、博士生必须掌握的基础知识与基本技能。

发展历程:

特点:

'(1)功能强的数值运算-可用于线性代数里的向量、数组、矩阵运算,复

数运算,高次方程求根,数值积分运算、最优化方法等儿乎所有科学研究与工程

技术方面(自动控制、生物医学、语音图像信号处理、建筑业、航空航天及半导

体制造行业)需要的计算均可用它求解。

例.求多项式尸(X)=/+2尤3+3/+4x+5的根

»p=[12345]

roots(p)

这些运算在控制理论及控制系统里大量存在,这一点就与自控密切联系。

(2)使用MATLAB设计程序比Basic、Fortran.C等效率高,因为它有丰富的

库函数(M文件),进行运算编程时可调用库函数。

(3)界面友好,使用方便,MATLAB函数命令多,功能各异,格式:help+命

令或函数,帮助了解其功能与用法。如helpresidue。另外MATLAB是演算纸

式的计算语言,用它编程运算与人计算的思路表达方式一样,如在演算纸上排列

书写公式。

例.计算]:(4山工)2公=?

>>symsx;I=int((x*sin(x))*2,x,0,pi)

结果I=l/6*pi^3-l/4*pi

(4)强大的图形功能,MATLAB有一系列绘图函数命令,适于不同坐标系,

如线性、对数、半对数坐标及极坐标与三维坐标;可调整自变量可绘出不同颜色

与线型:点、实、复线等。MATLAB二维图形功能:常用的plot。函数。格式:

plot(x1,)L选项Lxlyy2,选项2,••■)

(5)MATLAB功能齐备的自动控制软件工具包

世界上许多自控专家在自己擅长的领域编写了具有特殊功能的工具包如:控

制系统工具箱、模糊逻辑工具箱、神经网络工具箱、最优控制、鲁棒控制工具箱。

1.3MATLAB运行界面

(1)左下角有一开始[Start]按钮,与windows桌面左下角开始按钮功能一样,

通过它可方便访问常用程序。

MATLAB6.5提供了命令窗口、命令历史、当前路径和工作空间四个窗口,如

图1T所示。

命令窗口:是用户与MATLAR交互的主要方式,用户可在其中运行函数和各

种操作。

命令历史窗口:它显示命令窗口中执行过的命令,用编辑菜单中的Clear

可查看曾经执行过的舲

CommandHistory选项清除历史纪录。

重复利用原来输入的舲

当前目录窗口:显示当前目录下所有文件的文件名、类型、最后修改时间等。

工作空间窗口:列出数据的变量信息,包括变量名、变量数组、字节大小和类型。

图1-1MATLAB运行界面

(2)[File]选中[New]建立新文件命令,有4项子菜单如下:

打开M文件(即MATLAB程序)编辑/调试器,可编程调试程序.

[Figure]:建立一个空白图形窗口。

[Model]:打开Sinmlink仿真库,并打开一个用于建立、编辑与运行咨制

系统仿真新结构图模型的窗口,标题为“unlilled”或在命令窗口

输入SIMUUNK回车,打开Library模块库窗口,再点击新建图标

打开Simulink工作窗。

[GUI]:创建与打开图形用户,图形用户界面(GUI)以其友好和直观性在

软件编程上被广泛使用。

⑶工具栏按钮I口工®琳?

第八个相当于菜单[File]选中[New]下的[Model]命令

第九个相当于菜单[Help]下的[MATLABHelp]

1.4MATLAB的基本使用说明

(1)MATLAB表达式

格式:variable=expression;表达式后有分号,表达式的结果不显示出来。

例:»a=14/8;%14/8为表达式

»m=a*3*5A2

m=131.2500

»a=14/8%14/8为表达式

a=1.7500

»m=a*3*5A2

m=131.2500

MATLAB的变量是有大小写区分的,如a与A是不同变量名,他所提供的

函数名称都是小写的。变量或函数名必须以字母开头,后跟字母或数字,其间可

用下划线分隔。如f7_4,guoi4等。

MATLAB的数学表达式书写注意事项

①表达式必须在同一行内书写,所以水平除号线分式、乘方运算、开根号等

纯数学写法在MATLAB是不允许的。

②数值与变量或变量与变量相乘都不能连写,需用乘号*加以连接。

③一般数学表达式可用大、中、小括号,MATLAB的数学表达式只能用小

括号,可多重小括号嵌套使用。

④三角函数与双由函数及其反函数、对数函数的自变量须用小括号加以限

定。

⑤分式的书写,注意分子分母最好都分别用小括号加以限定。

⑥求黑运算的指数两侧最好用小括号加以限定,否则,指数分式易出错。

⑦某量k的平方根的表示,书写形式sqrl(k)与2(1/2)等效。

⑧自然常数e的指数运算的书写形式为exp()o

⑨自然常数》的书写形式为pi;虚数单位的书写形式为i或j;无穷大的书

写形式为info

(2)MATLAB运算符

表1-1算术运算符

操作符功能说明操作符功能说明

+加\矩阵左除

-减A数组左除

*矩阵乘/矩阵右除

*数组乘./数组右除

A矩阵乘方矩阵转置

A数组乘方数组转置

表1-2关系运算符

操作符功能说明

——等于

不等于

>大于

<小于

>=大于等于

<=小于等于

表1-3逻辑运算符

&逻辑运算说明

1And逻辑与

1Or逻辑或

〜Not逻辑非

Xor逻辑异或

表1-4特殊运算符

符号功能说明符号功能说明

•冒号,在MATLAB•小数点或域访问符

中非常重要

分号,用于分隔行•・父目录

逗号,用于分隔列••・用于语句行尾端表

示该行未完

()指出在算术表达式%注释

先后次序

H构成向量或矩阵!调用操作系统命令

()构成单元数组—用于赋值

(3)多项式及其运算

在MATLAB中建立多项式就是输入多项式系数行向量

多项式。(1)=劭工"+…++

系数行向量为:P=[44-an]

表1-5多项式运算函数

函数功能函数功能

conv多项式乘法(卷积)polyval多项式求值

deconv多项式除法(解卷)polyvalm矩阵多项式求值

poly由根求多项式residue部分分式展开(留数)

polyder多项式求导数roots多项式求根

polytit多项式曲线拟合

(4)常用的图形命令

1.MATLAB有一系列绘图函数命令,适于不同坐标系,如线性、对数、半对数

坐标及极坐标与三维坐标;可调整自变量可绘出不同颜色与线型:点、实、复线

等。

MATLAB二维图形功能:常用的plot。函数。

格式:选项1,x2,>2,选项2,…)

有时需要在已经存在的图上再重叠绘制一条或多条曲线的情况,为此

MATLAB提供以下指令:

holdon:当前图不变,此后在此图上再叠加绘制新曲线。

holdoff:取消holdon功能,此图不能被刷新了。

gridon:在图形中添加网格。

gridoff:在图形中取消网格。

一般MATLAB会根据要绘制曲线数据的范围自动选择合适坐标系,尽可能

清晰现实曲线,一般用户不需自己选择,若要选择可用函数axis()选择新的坐标

系。

格式:axis(xuiiii,xinax,ymin,ymax,z,niiii,ziiiax)

2.图形的标注

表1-6常用图形标注函数及功能

函数功能函数功能

title为图形添加标题legend为图形添加图例

xlable为X轴加标注text在指定位置添加文本字符串

ylable为y轴加标注gtext用鼠标在图形上放置文本

zlable为z轴加标注

表中前四个函数调用格式基本类似以title为例titleCtexf)

作业一

1.求多项式2(x)=/+2/+31+4x+5的根。

2.已知多项式的根分别为1、5、8,求此根对应的多项式。

3.求多项式。(幻=/+2/+3/+4x+5在指定点x=3处的值。

4.求多项式/Xx)=x2+2x+3与40)=4/+5x+6的卷积。

5.自动控制的时域分析中,常要求像函数F(s)的反变换,可将其分解成部

分分式,求出部分分式的待定系数就可以了。

已知传递函数Rs)=,2-十2,,将其分解为部分分式。

6.求多项式P(x)=/+21+3,+4x+5的倒数。

作业二将以下数学表达式写成MATLAB表达式

①y二4.sin(2x)・e-+8・cos(2x).e'

®y=--------------

31n(7-x)+9

®F(z)=id^

第二章SIMULINK及CATS实验设备介绍

2.1SIMULINK简介

SIMULINK是MATLAB工具箱之一,可实现动态系统建模、仿真与分析,

在实际系统做出之前,预先对系统进行仿真分析。

后动Simulink,单由MATLABCommand窗口工具条上的Simulink图标,或

者在MATLAB命令窗口输入simulink,即弹出图2-1所示的模块库窗口界面

(SimulinkLibraryBrowser)oSIMULINK卜有13类基本模块组,每个里存储多个

相应标准基本功能模块。

SIMULINK图库中

点击模块库前面的号

SIMULINK图库目录

其它类图库

图2-1SIMULINK基本功能模块

SIMULINK的模块库介绍

SIMILINK模块库按功能进行分为以下几类子库:

>Continuous(连续模块)

>Discontinuities(断续模块)

>Discrete(离散模块)

>Look-UpTables(表格模块)

>MathOperations(数学模块)

>ModelVerification(模型检验模块)

>Model-WideUtilities(模型的充分使用)

>Ports&Subsystems(端口与子系统)

>SignalAttributes(信号属性)

>SignalRouting(信号传输选择)

>Sinks(接收器模块)

>Sources(输入源模块)

>User-DefinedFunctions

连续模块(Continuous)continuous.mdl

>Derivative:输入信号微分

AIntegrator:输入信号积分

>State-Space:线性状态空间系统模型

>Transfer-Fen:线性传递函数模型

>Zero-Pole:以零极点表示的传递函数模型

>Memory:存储上一时刻的状态值

>TransportDelay:输入信号延时一个固定时间再输出

>VariableTransportDelay;输入信号延时一1个可变时间再输出

非线性模块(Nonlinear)nonlinear.mdl

>Backlash:反冲模块

>Coulomb&ViscousFriction:库仑和粘性摩擦

>DeadZone:故障区域

>Saturation:饱和输出,让输出超过某一值时能够饱和。

>Relay:滞环比较器,限制输出值在某一范围内变化。

>Switch:开关选择,当第二个输入端大于临界值时,输出由第一个输入端

而来,否则输出由第三个输入端而来。

>ManualSwitch:手动选择开关

离散模块(Discrete)discrete.mdl

ADiscreteTransfer-Fen:离散传递函数模型

>Discrete-timeIntegrator:离散时间积分器

>DiscreteFilter:IIR与FIR滤波器

ADiscreteState-Space:离散状态空间系统模型

>DiscreteZero-Pole:以零极点表示的离散传递函数模型

>First-OrderHold:一阶采样和保持器

>Zero-OrderHold:零阶采样和保持器

>UnitDelay:一个采样周期的延时

函数和平台模块(Function&Tables)function.mdl

>Fen:用自定义的函数(表达式)进行运算

>MATLABFen:利用matlab的现有函数进行运算

>S-Function:调用自编的S函数的程序进行运算

>Look-UpTable:建立输入信号的查询表(线性峰值匹配)

>Look-UpTable(2-D):建立两个输入信号的查询表(线性峰值匹配)

数学模块(MathOperations)math.mdl

>Abs:取绝对值

>AlgebraicConstraint:代数约束,限制输入f(z)为(),且输出।的z值能使输入

的f⑵为0

>CombinatorialLogic:组合逻辑,对数字方面的模型创建,能以标准的真值

表来创建

>Sum:加减运算

>Product:乘运算,两向量间元素与元素间相乘而不相加

>DotProduct:点乘运算,对两愉入向量值做点积运算,产生一个标量:为输

出值

>Gain:比例运算

>SliderGain:滑标增益,允许在仿真执行期间使用滑标改变一个标量增益

>MathFunction:包括指数函数、对数函数、求平方、开根号等常用数学函

>TrigonometricFunction:三角函数,包括正弦、余弦、正切等

>MinMax:最值运算,若为单一输入端口巨为向量配置数据,则求取每一

元素的最大(小)值;若输入端口不只一个,则为求取每一输入端口元素

的最大(小)值

>Sign:符号函数,依据输入值的正负决定输出,若输入大于零输出为1;

若输入等于零输出为0;若输入小于零输已为-1;

>LogicalOperator:逻辑运算

>RelationalOperator:关系运算

>ComplextoMagnitude-Angle:由复数输入转为幅值和相角输出

>Magnitude-AngletoComplex:由幅值和相向输入合成复数输出

>ComplextoRcal-Imag:由复数输入转为实部和虚部输出

>Real-ImagtoComplex:由实部和虚部输入合成复数输出

信号和系统模块(Signal&Systems)sigsys.mdl

>Ini:输入端。将连接仿真系统的外部环境提供给仿真系统,对子系统,

每一个输入端口都有一个相对应的inport模块,即在子系统中抵达输入端

口的信号将流经inporl模块。

>Outl:输出端。提供连接仿真系统至仿真系统之外的环境。子系统中抵达

至输出端口的信号将会流出相对应的outport模块,

>Mux:信号混合,将多个单一输入转化为一个复合输出,如图2-2。

图2-2信号混合示例

>Demux:信号分解,将一个复合输入转化为多个单一输出。

>Ground:连接到没有连接到的输入端。

>Terminator:连接到没有连接到的输出端。

>SubSystem:建立新的封装(Mask)功能模块

接收器模块(Sinks)sinks.mdl

>Display:显示输入端口的数值数据,若输入是向量配置的数值数据,可

调整模块的大小,以便观察全部数据。(模块内右下角的倒三角形表示还

有其他数值数据)。

>FloatingScope:浮点式示波器。类似Scope,没有输入端口,能显示模型

中任何二条经鼠标选择的线段,及线段上所负载的信号波形变化。

>Scope:示波器<

>XYGraph:显示二维图形。

>ToWorkspace::将输出写入MATLAB的工作空间。

>ToFile(.mal):将输出写入数据文件。

输入源模块(Sources)sources.mdl

AConstant:常数信号。大小可为实数或复数,模块输出可为标量或向量值。

>Clock:时钟信号。

>FromWorkspace:来自MATLAB的工作空间。

>FromFile(.mat):来自数据文件。

>PulseGenerator:脉冲发生器。

>RepeatingSequence:重复信号。

>SignalGeneralor:信号发生器,可以产生正弦、方波、锯齿波及随意波。

>SineWave:正弦波信号。

>Step:阶跃波信号。

2.2建构模型

建模特点:将模块库中的标准模块拷到SIMULINK的模型窗口untitled中,

再连接成完整动态结构图。

模型窗口用来建立系统的仿真模型。只有先创建一个空白的模型窗口,才能

将模块库的相应模块复制到该窗口,通过必要的连接,建立起Simulink仿真模

型。也将这种窗口称为Simulink仿真模型窗口。如何打开空白模型窗口?

以下三种方法方法可用于打开一个空白模型窗口:(1)在MATLAB主界面中

选择File,点击New中的Model菜单项。(2)单击模块库浏览器的新建图标口。

(3)选中模块库浏览器,选择File,点击New中的Model菜单项。

在Simulink模型或模块库窗口内,用鼠标左键单击所需模块图标拖到空白

模型窗口中建立Simulink仿真模型。

基本操作:鼠标点按住所需图元,移入工作窗,松开鼠标。

连接:点图元小三角拖到所需位置,松开鼠标。

转动:鼠标选中图元,使用Format菜单。

移动:点按所图元拖到所需位置,松开鼠标。

复制:拖动鼠标选中图元,使用编辑菜单复制。

改名:鼠标选中文字,直接修改。

删除:鼠标选中图元或线条,使用编辑菜单删除(或del)。

从已知线段上加拉一条线段:将鼠标指针移到线段上,按住Ctrl不放,

同时按住鼠标左键拖到欲连接的模块的

输入端口即可

模块参数设置:用鼠标双击指定模块图标,打开模块对话框,根据对

话框栏目中提供的信息进行参数设置或修改。双击模

型窗口的传递函数模块,弹出图示对话框,在对话框

中分别输入分子、分母多项式的系数,点击0K键,完

成该模型的设置,如图2-3所示:

Fen

2k

TransferFcrt

图2-3修改参数后的模型

设置内容;阶跃信号发生器一设起始时间、初值、终值

积分环节一设初值等,可加限幅

惯性环节一应设分子、分母向量(高阶到低阶,空一格)

加法器一设“+o可设多端输入,顺序从上至I]下

增益一设增益大小

2.3仿真与分析

构建好一个系统的模型之后,接下来的事情就是运行模型,得出仿真结果。

运行一个仿真的完整过程分成三个步骤:设置仿真参数(执行仿真前,要设置所

需参数值并选择系统的数值算法),启动仿真和仿真结果分析。

一、Simulation菜单SimulationParameters对话框说明

设置仿真参数:在模型窗口选取菜单【Simulation:Parameters】,弹出

“SimulationParameters”对话框,设置仿真参数如图2-4,然后按【0K】即

可。

图2-4仿真参数设置

(1)Solver解算器它允许用户设置仿真的开始和结束时间,选择解法器,

说明解法器参数及选择一些输出选项。

A、仿真时间---starttime:仿真开始时间;stoptime:结束时间。

B、解算器选项,SIMLUNK所建构的动态结构图可用一个常微分方程组数值

积分来表示,解算器用于求解这些数值积分。根据仿真步长来选择:

Variable-step可变步长,即仿真过程中会改变步长大小,提供误差控制和

过零检查。*变步长模式解法器有:ode45,ode23,odel13,ode15s,ode23s,

ode23t,ode23tb和discreteo

Fixed-step固定步长,即仿真过程中提供固定步长大小,不提供误差控制

和过零检查。*固定步长模式解法器有:ode5,ode4,ode3,ode2,odel和discrete。

c、步长参数:对于变步长模式,用户可以设置最大的和推荐的初始步长参

数,缺省情况下,步长自动地确定,它由值auto表示。

D、仿真精度的定义(对于变步长模式),Relativetolerance(相对误差):

它是指误差相对于状态的值,是一个百分比,缺省值为le-3,表示状态的计算

值要精确到0.1%。Absolutetolerance(绝对误差):表示误差值的门限,或者

是说在状态值为零的情况下,可以接受的误差。如果它被设成了auto,那么

simulink为每一个状态设置初始绝对误差为le-60

(2)WorkspaceI/O是管理模型从MATLAB工作空间的输入和对它的输巴。

(3)Diagnostics诊断允许用户选择Simulink在仿真中显示的警告信息的

等级。

二、启动仿真

□设置仿真参数和选择解法器之后,就可以启动仿真而运行。

□选择Simulink菜单下的start选项来启动仿真,如果模型中有些参数没

有定义,则会出现错误信息提示框。如果一切设置无误,则开始仿真运行,

结束时系统会发出一鸣叫声。

观察仿真结果,scope模块能在仿真进行中观察轨迹,如图2-5所示。

图2-5仿真示例

使用Simulationparameters默认设置,双击scope,如图2-6所示,其工具栏

说明如图2-7所示。

调整示波器观察运行结果

-X、y轴刚微大

r、轴放大

,出放大1c

日同E3

切作月用则目国

图2-6示例仿真结果图2-7窗口工具栏说明

总结SIMULINK系统仿真操作步骤:

1)启动Simulink,打开Simulink模块库

2)打开空白模型窗口;

3)建立Smulink仿真模型;

4)设置仿真参数,进行仿真;

2.4CATS实验装置介绍

“CATS”控制与自动化专业培训系统--理论与实践教学于一体。

2.4.1CATS功能与特性:

(1)联网实验平台------对多

实收室服吴韶

所有工作站都能控

制同一台实验设备

(2)联网实验平台——多对多

(3)通过实验实现先进过程自动化模拟

多台实睑设备通过软总线连

接,并可由T工作站控制

生产流水

线也可以

通过本实

验设备实

现摸拟

2.4.2CATS仿真平台软件

在带有不同仿真软件的分布式过程控制中,CATS能实现其仿真与可视化,

可以进行HIL解决方案的初步开发工作。

硬件在环也即是硬件在回路(HIL),如果将实际控制器的仿真称为虚拟

控制遥,实际对象的仿真称为虚拟对象,可得到控制系统仿真的3种形式:

①虚拟控制器+虚拟对象二动态仿直系统,是纯粹的系统仿直:

②虚拟控制器+实际对象二快速控制原型(RCP)仿真系统,是系统的一种

半实物仿真;

③实际控制器+虚拟对象二硬件在回路(HIL)仿真系统,是系统的另一种

半实物仿真。

WinFACT

2.4.3CATS工具包

(1)软总线LabMap

好LabMapdemov5.1(core5.1....[»"|口区|

(2)WAGO-I/O系统,带有以太网/ModBus总线连接器的模块系统

(3)接口一连接到您电脑上通用的仿真软件,带有与・MATLAB/Simulink•

LabVIEW•WinCC等仿真软件的接口。

2.5CATS电机控制示例

2.5.1LapMap的设置

(1)打开LapMap,从处理文本框你会发现你的输入和输出【量。从图2-8

中我们可以发现连接状态是“成功”。然后把“5V电压通过“sendIhenew

valve”.输入IP地址:192.168.0.31的电机,电机将会运行。

Real|01/min

Status|Success

图2-8电机运行的数据

(2)实现与Matlab/Similink连接。打开“Matlab软件”,找到并

打开“Simulink图标",在浏览器左上角,有一个新建模式按钮如图2-9

所示,新建一个空白的model文件。

SimulinkLibraryBrowser

FileEditViewHelp

□目制一

Step:Outputastep.

E)Simulink

untitled.matFromFHe

先ICommonlyUsedBlocks

耳IContinuous

些|DiscontinuitiesFromWorkspace

aDiscrete

空]LogicandBitOperationsGround

LookupTables0

斗IMathOperationsIni

ihlModelVerification

耳IModel-Wid©Jtiities

PukeGenerator

±^-|Ports&Subsystems

刻SignalAttributes

Ranp

SignalRoutingCT

.9Sinks

)ISourcesRandomNumber

斗IUser-DefinedFunctions

回AdditionalMath&DiscreteRepeatingSequence

SControlSystemToolboxra

由HDAS1601sRepeatingSequence

・IDigitalControllerInterpolated

国0]EmbeddedTargetforInfineonC166Mier四RepeatingSequence

0]LabMopFunctionBlocksetStar

0:Real-TimeWindowsTargetE

EP.oal-TimoWorkshop^l5sq.nltSignalBuilder

B昼Real-TimeWorkshopEmbeddedCoder

mQ|SimulinkExtrasSignalGenerator

.1Stateflow

由1fN_atmSineWave

mnxPCTarget

mStep

UmlormRandomNumber

■IIM

3Ready

图2-eSimulink和LapMap功能模块

在Simulink库窗口在右边找见LapMapFunctionBlockset工具箱。将

获取get和发送send模块拖到空白model窗口,连接各模块如图2-10所示。

untitled*I口I

£ileRdityiew2icnulaticnFormatlootsHelp

口|00当IX电电卜»■(10.0"(Normal三]|S

Ready100%ode45

图2T0新建模型

(3)双击并设置“Send”和“Get”的LapMap如图2T1、2T2所示;

图2-11“Send”设置

/Simulink<->LabMap:Get凶

下GlobalPafametersrHandlePtopeKys

FAbortwhenrealtimefault

NameDrehzahl[Phoenix31type4*

「Noparameterchangesat

runtime

I/O:OutputHandle

[—DisableinterruptionsJrocn

inputdevicesatrun-time

p-Use$ubtmestepin

corUinuous$immodel

Simulinkthreadpriority

lownormalhioh

|OK||Cancel

NoType]g|Name

3102intEncodercontrol[Phoenix31type=wa...

3101real1/minDrehzahl[Phoerix31type»iaddr-1L

3100sdVMotorSpannung[Phoenix31type«ia...

图2-12“Ged”设置

⑷设置“ModelProperties^:步骤“File”Model

Properties"->"Callbacks"->“InitFca"&"StopFcn”,如图2T3,

图2-14,图2-15所示。

图2T3模型的属性

S2-14InitiFcn的设置

图2-15StopFcn的设置

sendreal(3100,0):意思是系统发送0到31号电机,使电机在仿真结

束后停止。否则电机将在运行完后继续保持运行状态运。

(5)设置aConfigurationParametersw

点击菜单“Simulation”->“ConfigurationParameters",如图2T6

和2-17所示。

图2T6仿真参数设置

图2-17参数设置对话框

(7)设置阶跃信号参数对话框如图2-18所示,接下来按仿真按钮开始

仿真如图2T9所示:

图2-18设置信号源参数对话框

图2-19仿真运行界面

界向如图所示2-20所示,观察不同电压值对直流电机的控制作用,输入信号

为阶跃函数,运行这个mdl文件,电机开始运行。尝试不同的阶跃函数值(即输

入电压),会发现,数值越大,电机转速越快。如果将最终值设置为负数,直流

电机将反向运转。

图2-20不同阶跃值下电机运行状态

界面如图2-21所示,不仅能实际观察电机转速,还能通过其阶

跃响应曲线进行分析。

设置步长1秒,仿真时间初始值0,仿真运行最终时间10秒。输入电

压为5V。电机转速响应如图2-22所示。

图2-21通过示波器观察转速

匚JScopeGJ回区)

a份a於超四ga*

25DD

,如1111平叫lAAi”gHJirAmJiAALr」―

21工1I

1JJJ

5,1I

图2-22电机运行状态

其中上图的响应曲线横坐标是电机的运行时间,纵坐标是电机的运行速

度。从图中曲线很容易的了解电机在10S内的运行状态。

2.5.2建立传递函数

(1)我先用阶跃响应进行采样,数据反馈到计算机中,并保存如图2・23。

图2-23阶跃响应SIMULINK模型

然后在MATLAB中使用函数idvar如图2-24所示。

罩Editor-D:\cbbsoftvare-GBbH\SiMulinkModel\cats3_Bodel_real_syste>.B

FileEditTextCellToolsDebugDesktopWindowHelp

D九曰相知Stack:

1-|[num,den,sty]=idvar([tout,response,step],[],[],[0,2]);

2-roots(den)

图2-24idver函数的应用

M文件中显示的是系统的仿真时间,输入信号是阶跃信号,从实际系统的

响应曲线中得到的传递函数的分子和分母数据。根据idvar功能,得到了系统传

递函数为:

19815.53490

F(s)=-------------------------------

43.25781+42.38108sAl+sA2

作业一:画以下习题的SIMULINK模块图,并观察仿真结果,目的是学习Simulink

实验的基本要求和基本操作,熟悉并掌握Simulink的建模与仿真。

(1)、

(2)、

设置滞后环节的延迟时间为80;

(3)、PID控制器G(£)=&+&S+&,其中4=2.0,⑥=0.54=5.0来校正

S

受控装置的单位闭环阶跃响应的性能,试画它的模块图,运行观察仿真

结果。

作业二:将图(1)这两种系统在simulink中建模,设置合适仿真参数以得到光

滑曲线,在同一scope中比较它们的单位阶跃响应,Td取0.2。

图⑴图(2)

作业三:将图(2)这两种系统在simulink中建模,设置合适仿直参数以得到光

滑曲线,在同一scope中比较它们的单位阶跃响应,Kt分别取0.1。

作业四:高阶系统的近似简化,利用主导极点法可以将高阶系统化成低阶(一阶

或二阶)系统来近似地对高阶系统进行等效分析.在simulink中建立模型如图

所示。

作业五:按照实验指导书内容,在电脑上噪作完成电机控制示例。

第三章时域响应分析法

3.1.在simulink中进行时域响应分析

如何在simulink中计算单位阶跃响应的性能指标。如超调量、峰值时间、上

升时间、调节时间。在simulink中建立模型如图3T所示。

图3-1动态性能指标计算

建立M文件

final_value=l;

[ymax,k]=max(y);

peak_oOime=t(k)

pcrccnt_ovcrshoot=1OO*(ymax-final_valuc)/final_valuc

i=l;

whiley(i)<0.1*final_value

i=i+l;

end

j=U

whiley(j)<0.9*final_value

j=j+1;

end

rise_time=l(j)-t(i)

k=length(t);

while(y(k)>0.98*final_value)&(y(k)<1.02*final_value)

k=k-l;

end

setting_timc=t(k)

可得运行结果:peak_of_time=1.0313

percent_overshoot=35.0474

rise_time=0.4333

settingtime=3.5313

3.2用M文件进行时域响应分析

MATLAB中控制系统数学模型(传递函数)的表示方法:

(1)传递函数为多项式模型:G(s)=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论