当前位置:
文档之家› MATLAB与系统仿真 作业
MATLAB与系统仿真 作业
简易计算器(功能可以随意添加扩展)。
进入 GUI 环境中双击 Blank GUI (Default)出现一个窗口在该窗口中首先制作一 个计算器界面如下所示:
下面分析一些功能函数: textString = get(handles.text1,'String'); textString = strcat(textString,'1'); set(handles.text1,'String',textString) 这是使用句柄 handles 指向对象 text1,并以字符串形式来存储数据文本框 text1 的内容,并存储数个“1”, 然后由 set(handles.text1,'String','textString'在 text1 中输出。
《MATLAB 与系统仿真》
大 作 业
系 别: 班 级: 姓 名: 学 号: 指导教师: 邮 箱:
2012 年 7 月 1 日
一、春天是鲜花的季节,水仙花就是其中最迷人的代表,数 学上有个水仙花数,它是这样定义的:“水仙花数”是指一个三 位数,它的各位数字的立方和等于其本身,比如: 153=1^3+5^3+3^3。要求编 m 文件输出所有存在的水仙花数。
图 2.9 PID 控制子系统 Subsystem 的 Simulink 模型 ti2_3/Subsystem ② PID 控制系统仿真。 对模型 ti2_3.mdl 进行仿真,结果也得到图 2.6 所示系统的单位阶跃响应曲线。 子系统的封装步骤 (1) 用 PID 控制子系统封装的步骤。 在 ti2_3.mdl 中的 Subsystem 模块更换为一个没有涉及的空 Subsystem 模块。
下的【Mask Subsystem...】或【Edit Mask】菜单项命令,打开【Mask edit】 即子系统的封装编辑器。封装编辑器中有四张标签页,所谓完成封装操作, 就是按要求填写接下来的四张标签页, 3 填写第 1 张标签页“Icon”。此时仅在“Drawing commands”下的空白文本 框中填入“disp(‘PID')”,并在下面的“Examples of drawing commands” 的“Command”下拉框中选择“disp(show text in center of block)”, 如图 2.11 所示。
图 2.7 PID 控制传递函数方框的 Simulink 模型 ti2_2.mdl PID 控制子系统定义法。
定义子系统: 先到 Simulink 库浏览器的“Commonly Used Blocks”模块组中把标准功能模块 “Subsystem”复制到空白模型设计区域(“untitled”)内,还复制其他模块, 将其连成系统如图 2.8 所示,模型命名为“ti2_3.mdl”后存盘。
如图 2.1 所示。图中的阶跃信号为“1”,即单位阶跃作用,三信号叠加模块“Add”
混路模块“Mux”,饱和特性为“±1.1”,时间延迟“60”s,仿真时间为“2000”
s。
图 2.1 PID 控制三个分量叠加的 Simulink 模型 ti2_1.mdl 其中设置界面为
共 36 页 第 2页
图2.2 Transport Delay的界面设置 图2.3 Saturation的界面设置
“Subsystem”图标,立即弹出子系统模块带参数说明对话框,在各栏中 填入参数,如图 2.15 所示。
图 2.15 封装子系统后的模块参数功能 (3)封装子系统后,即得到图 2.8 所示的 Simulink 模型 ti2_3.mdl,如图 2.16 所示,此时子系统“Subsystem”图标上标注了“PID”,说明封装成功。
1 在“ti2_3/Subsystem”的设计区域(见图 2.9)中进行如图 2.10 所示的 PID
控制器的设计,输入数据 K p =5、Ki =0.048、Kd =0 并存盘。
共 36 页 第 6页
图 2.10 准备封装的子系统 ti2_3/Subsystem 2 再在模型 ti2_3.mdl 中,选中“Subsystem”,选择主菜单【Edit】,执行其
共 36 页 第 4页
图 2. 6 系统的单位阶跃给定响应曲线 传递函数方框图法: 将 PID 的三个分量叠加作用(求和)同分后求得一个传递函数,即
Gc (s) = K p (1
1 TI s
TD s)
=Kp
KI
1 s
K D s =5+
0.048 s
= 5s+0.048 s
。
将 Gc (s) 传递函数绘制在系统中的 Simulink 模型 ti2_2.mdl 如图 2.7 所示。对模 型 ti2_2.mdl 进行仿真,结果同样得到图 2.6 所示系统的单位阶跃给定响应曲线。
共 36 页 第 9页
图 2.16 封装 PID 控制子系统的 Simulink 模型 完成封装后,单击图 2.15 所示的模块参数功能图的下方按钮【Help】,立即弹出 封装标签的帮助对话框,如图 2.17 所示。
图 2.17 封装标签的帮助说明 (4)封装 PID 控制子系统仿真。在对模型 ti2_3.mdl 即图 2.16 进行仿真,结果 也得到图 2.6 所示系统的单位阶跃给定响应曲线,说明封装 PID 控制子系统的操 作正确。
共 36 页 第 12页
模型为:
其中的一些设置界面为
共 36 页 第 13页
传感器模块: 模块设置如图,在原始输出值选项区内选中角位移(Angle)和角速度(Angle velocity),单位分别为 deg 和 deg/s,并取消下端 Output selected parameters as one signal 选项,这样输出两个值就会有对应的两条信号线。
共 36 页 第 19页
五、试用“SimPowerSystems”实体图形化模型库的模块建立转 速负反馈单环无差直流调速系统的仿真模型,并对其进行仿真。 (本题 20 分)
设置界面如下图所示:
需设置参数如下:
共 36 页 第 20页
共 36 页 第 21页
共 36 页 第 22页
共 36 页 第 23页
。以 G0 (s) 与 Gc (s)
为前向通道的单位负反馈系统。试对于 PID 控制器分别采用以下
3 种办法:PID 控制 3 个分量叠加、传递函数方框图与 PID 控制
子系统绘制其 Simulink 仿真模型图,并对其进行阶跃仿真。然
后对 PID 控制子系统进行封装。
根据题意,已知
PID
控制器为
Gc
两个单选按钮。 3) 各对象属性的设置。 4) 新建图形对象的整齐化。 5) 回调函数的编写:主要是开始模拟命令按钮的 Callback。 6) 界面功能的测试。 其模型图为
共 36 页 第 26页
运行结果图:
验算结果如下图所示:
七、利用 GUI 控件编制一个能实现加、减、乘、除等功能的
共 36 页 第 27页
共 36 页 第 5页
图 2.8 PID 控制子系统的 Simulink 模型 ti2_3.mdl 用鼠标左键双击“Subsystem”,将会弹出“ti2_3/Subsystem”的设计区。 在“ti2_3/Subsystem”的设计区域(见图 2.9)中进行如图 2.10 所示的 PID 控 制器的设计(复制各个标准功能模块,连线构成系统模型),或者将设计好的 PID 控制器模型复制到其中,并在输入与输出端加入“In”和“Out”两个功能模块 (见图 2.9)。模型设计完后,要注意存盘。至此,子系统创建完成。
共 36 页 第 3页
图2.4 Transfer Fcn的界面设置
图2.5 Step的界面设置 在模型 ti2_1.mdl 图中,选中【Simulation】并执行其【Star】菜单项命令, 再用鼠标左键双击“Scoope”示波器,即弹出图 2.6 所示系统输出示波器对话框, 如果需要的话,用鼠标左键单击工具栏的纵坐标刻度管理工具【简图】,就得到 如图 2.6 所示系统的单位阶跃给定响应曲线。
其 M 文件设置为
运行程序弹出对话框
运行后结果为:
共 36 页 第 1页
二、带饱和输出特性二、带饱和输出特性 PID 控制系统的被
控对象为
G0
(s)
=
1 80s
1
e 60s
,其
PID
控制器为
Gc (s) =
K p (1
1 TI s
TD s)
=
Kp
ቤተ መጻሕፍቲ ባይዱ
KI
1 s
KDs
=5+
0.048 s
共 36 页 第 14页
打开 XY 相图模块参数设置对话框,设定参数如图所示:
共 36 页 第 15页
机械环境模块: 打开机械环境模块参数对话框,保持默认值如图示:
共 36 页 第 16页
打开示波器模块,开始仿真,XY 相图模块会在仿真开始后自动打开,如图所示
共 36 页 第 17页
配置 Configuration 参数 在模型窗口中选择 Simulation/Configuration Parameters 菜单命令,打开 Configuration 参数对话框,选择其中的 SimMechanics 选项,如下
(s)
=5+
0.048 s
,即
K
p
5、KI
=0.048、KD =0 。
PID 的三个作用分量,仿真时可采用下列处理措施:①PID 控制 3 个分量叠加法
②传递函数方框图法③PID 控制子系统及其 Simulink 仿真模型图法。
PID 的三个分量叠加法:
将 PID 的三个分量叠加作用直接绘制在系统中的 Simulink 模型 ti2_1.mdl