6.4.4.1 MATLAB/Simulink简介
在工程实际中,控制系统的结构往往很复杂,如果不借助专用的系统建模软件,则很难准确地把一个控制系统的复杂模型输入到计算机中,对其进行进一步的分析与仿真。
2025年,Math Works软件公司为MATLAB提供了新的控制系统模型图输入与仿真工具,并命名为SIMULAB,该工具很快就在控制工程界获得了广泛的认可,使得仿真软件进入了模型化图形组态阶段。但因其名字与当时比较著名的软件SIMULA类似,所以2025年正式将该软件更名为Simulink。
Simulink的出现,给控制系统分析与设计带来了福音。顾名思义,该软件的名称表明了该系统的两个主要功能:Simu(仿真)和Link(连接),即该软件可以利用鼠标在模型窗口上绘制出所需要的控制系统模型,然后利用Simulink提供的功能来对系统进行仿真和分析。
Simulink是MATLAB软件的扩展,它是实现动态系统建模和仿真的一个软件包,它与MATLAB语言的主要区别在于,其与用户交互接口是基于Windows的模型化图形输入,其结果是使得用户可以把更多的精力投入到系统模型的构建,而非语言的编程上。
所谓模型化图形输入是指Simulink提供了一些按功能分类的基本的系统模块,用户只需要知道这些模块的输入输出及模块的功能,而不必考察模块内部是如何实现的,通过对这些基本模块的调用,再将它们连接起来,就可以构成所需要的系统模型,进而进行仿真与分析。
Simulink模块库按功能进行分类,包括以下8类子库:Continuous(连续)模块,Discrete(离散)模块,Function&Tables(函数和平台)模块,Math(数学)模块,Nonlinear(非线性)模块,Signals&Systems(信号和系统)模块,Sinks(接收器)模块和Sources(输入源)模块。
6.4.4.2 Simulink仿真的实时工具(RTW)
采用Simulink直接绘制框图有时仿真速度较慢,加快运行速度或使程序能脱离MATLAB环境独立运行,需将其转换成可执行文件,可采用实时工具(Real-Time Windows Target,RTW)。
要采用实时工具(RTW),首先应对其环境进行设置,在MATLAB主命令窗口输入:
》rtwintgt-install
You are going to install the Real-Time Windows Target kernel.
Do you want to proceed?[y]:y
安装后重新启动系统,这样就可以使用RTW。
6.4.4.3 基于xPC仿真应用
1.xPC环境简介
xPC Target是一种快速原型设计方法,用于控制器的实时测试和开发。允许使用多种通用的PC输入、输出板卡,在代码翻译和编译过程中,需要C语言编译器,如Mirosoft Visual C++或MATCOM C/C++的支持,只有在这些编译器下,才能生成独立的可执行文件,用于实时控制。xPC Target的主要特色:
1)可以在没有安装Mirosoft Windows的目标计算机上运行Simulink及其实时工具生成的代码,用Target Embedded选项开发嵌入式控制器。
2)支持各种常用输入、输出板卡。
3)允许在主机或目标计算机上进行交互式的参数调试。
4)支持通过RS-232接口或TCP/IP(传输控制协议/网间协议)的主机与目标计算机通信方式。
5)可以利用一般台式计算机、笔记本电脑、工控机、PC/104等作为目标计算机进行实时控制。
6)可以用xPC的Target Embedded选项开发嵌入式控制器。
2.基于xPC的半实物仿真
在离线控制系统设计中,需要提取出受控对象的数学模型,据此设计控制器。因此得到的仿真结果是针对数学模型的纯数学结果,如果将这样设计的控制器进行硬件实现,直接用于实际受控对象的控制,则不一定能得到好的控制效果,原因在于基于数学模型的仿真中忽略了很多因素,例如模型的准确性、外部扰动、模型本身的参数变化、检测信号误差和量测噪声等,所以即使仿真能得到满意的结果,将其用于实际系统也可能存在问题。
采用半实物仿真技术能解决这样的问题,设计出来的控制器可直接对实际受控对象进行控制,可以对得到的控制效果进行及时的评价。较理想的半实物仿真系统,可支持很多常用的输入、输出接口板卡,实际受控对象通过接口板卡与计算机相连,构建控制器仿真模型,进行仿真分析,可很容易地观察控制效果。
下面通过一个实例来说明构建半实物仿真系统。若控制对象为交流异步电动机,变频器采用模拟量输入控制,这样组成的是开环系统,其系统性能较差。若组成闭环系统,涉及速度调节器的参数设计,当速度调节器参数不一样时,得到的系统动态性能也不相同,有时甚至使闭环系统不能稳定工作,此时采用半实物仿真系统方法来设计速度调节器是较佳的选择。
构建该系统硬件需要一台带码盘的异步电动机、配套的变频器和MATLAB/Simulink中xPC支持的板卡,在这里采用研华PCL-711B板卡,把PCL-711B板卡安装在工控机的ISA槽上。例如在MATLAB6.5版本中用MATLAB/Simulink构建半实物仿真系统过程如下:
1)双击MATLAB图标,如图6-79所示,进入MATLAB主命令窗口。
图6-79 MATLAB主命令窗口
2)双击Simulink图标,如图6-80所示,进入Simulink窗口。(https://www.daowen.com)
图6-80 进入Simulink窗口
3)在Simulink窗口中,用鼠标左键单击新建Simulink或者File/New/Model,出现一个新建Simulink窗口,如图6-81所示。用鼠标左键单击File/Save as,文件名中键入first后,单击【保存】按钮,出现first模型窗口,如图6-82所示。
图6-81 新建Simulink窗口
图6-82 first模型窗口
4)在Simulink中寻找构建仿真系统基本元件
①用鼠标左键单击Simulink/Sources/Step,拖其到新Simulink窗口。
②用鼠标左键单击Simulink/Math Operations/Sum,拖其到新Simulink窗口,双击鼠标左键,修改其“+”变成“-”,如图6-83所示,单击【OK】按钮。
③用鼠标左键单击Simulink/Discontinuities/Saturation,拖其到新Simulink窗口,双击鼠标左键,修改其上限为5V、下限为-5V。
④用鼠标左键单击Simulink Extras/Additional Lineear/PID Controller,拖其到新Simulink窗口,双击鼠标左键,出现PID Controller参数界面,可以修改其参数,如图6-84所示,单击【OK】按钮。
图6-83 Sum参数修改
图6-84 PID Controller参数界面
⑤用鼠标左键单击Simulink/Sinks/Scope,拖其到新Simulink窗口,双击鼠标左键,出现Scope界面,如图6-85所示。在Parameters图标上双击鼠标左键,修改Number of axes框中为2,如图6-86所示,单击【OK】按钮。
5)在Simulink中,找到xPC Target,双击xPC Target,进入xPC Target窗口,如图6-87所示。
6)A/D(新标准中已改为A-D)设备中,双击研华Advantech,选择PCL-711B,如图6-88所示,单击鼠标左键,拖其到Simulink新建窗口。
7)D/A(新标准中已改为D-A)设备中,双击研华Advantech,选择PCL-711B,如图6-89所示,单击鼠标左键,拖其到Simulink新建窗口。
图6-85 Scope界面
图6-86 Parameters参数界面
8)按下鼠标左键连线,有分叉处,采用Ctrl+按下鼠标左键即可,构建完成的半实物仿真系统如图6-90所示。
9)单击Simulation,实现仿真,观察采集数字量输入信号动态响应,此信号反映了异步电动机的速度。修改PID控制器的参数,直至得到较好的动态响应,对应的参数就是系统较佳的控制器参数。
图6-87 xPC Target窗口
图6-88 A/D设备中选择研华PCL-711B
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。