基于Simulink的嵌入式网络化控制仿真系统实现

发布者:知音学友最新更新时间:2018-02-18 来源: eefocus关键字:Simulink  网络化控制  仿真系统 手机看文章 扫描二维码
随时随地手机看文章

    引言

    网络化控制系统NCS(Networked Control SystEMS)是指控制系统的各智能设备即传感器,控制器和执行器分布在不同地域空间,通过网络形成闭合回路,各节点之间的数据和信息的交换需要网络来实现。它是将当今先进的网络通信技术,计算机技术和控制技术融为一体的分布式控制系统。虽然网络化控制在工业控制,过程控制和楼宇自动化等方面得到了广泛的应用,但网络控制系统的理论研究却相当不成熟[1]。本文利用在工程领域广泛使用的Simulink仿真软件,结合军事和民用领域应用成熟的嵌入式微处理器构架开发了网络化控制仿真系统,为进行网络化控制系统的理论研究提供了有利工具。

    由于目前工业控制领域使用的通信技术都是自成体系、互不开放的。国际上新颁布的IEC61158现场总线标准包括了8种不同的类型,要使它们之间互相兼容和互可操作几乎是不可能的。因此,积极采用以太网技术已成为工业网络的发展趋势。目前基于以太网的网络化控制系统得到了全世界自动化领域学者们的关注。鉴于此,本文所开发的仿真系统是专为基于以太网的网络化控制而设计的。

    由于网络化控制系统是控制技术和网络通讯技术相结合的产物,因而对它的分析设计也通常从控制和网络两个角度进行。从网络角度考虑,一般是对通信协议进行改进,解决延时,丢包,乱序等网络带给控制系统的问题,减小对控制系统的影响;从控制角度出发,则是在已有的网络结构和协议下,设计控制系统的结构,开发控制算法,补偿网络延时,以保证系统的稳定。本仿真系统是从控制的角度设计的。

    本文建立了以32位嵌入式RISC(Reduced Instruction Set Computer)微处理器结构ARM7TDMI S3C4510B为CPU核,基于Simulink/RTW开发的嵌入式网络化控制仿真系统的软硬件结构平台。结合对无刷直流电机的控制试验实例,阐述了本仿真系统的具体应用。

    网络化控制仿真系统

    嵌入式系统平台构架

    本系统以嵌入式系统为硬件平台,其硬件构架如图1。该嵌入式系统硬件平台选用Samsung 公司的基于ARM7TDMI核芯的S3C4510B微处理器作为嵌入式系统的CPU。S3C4510B 32位嵌入式RISC微控制器是为基于以太网的现场网络控制系统提供的低成本高性能的微控制器。它支持8位、16位和32位寻址方式,具有16M×32位的寻址能力,可方便的构建较大的存储空间。为了降低整个系统的成本,S3C4510B将外围设备和处理器内核集成在一块芯片上,提供片上外围设备主要有2通道UART,2通道HDLC,1通道MII接口,Ethernet控制器,中断控制器,JTAG接口,PLL 时钟发生器和2个定时器等。

   45

    系统选用HY29LV160作为FLASH存储器,每片提供1M×16位的存储空间,两片并联构成1M×32位的代码存储空间;选用HY57V641620作为SDRAM存储器,每片提供4M×16位的存储空间,两片并联构成4M×32位的代码运行空间,相对较大的RAM空间有利于提高系统性能和执行较复杂的控制算法。有源晶振为S3C4510B提供外部时钟信号,通过内部的锁相环(PLL)电路,作为系统的工作频率,PLL兼有频率放大和信号提纯的功能,因此,系统可以较低的外部时钟信号获得较高的工作频率,最高可达50MHz。

    此外,目标系统还扩展了8路16位高速A/D和2路12位高速D/A,为被控对象提供控制接口。用100M/10M高速以太网物理层收发器DM9161扩展以太网控制器。4×4的键盘和数码管显示为系统提供了现场调试手段。

    ARM7TDMI构架的CPU不带MMU即内存管理单元,可选用uClinux作为相应的操作系统,这是一个完全符合GNU/GPL(通用公共许可证)公约的项目和完全开放代码,是标准Linux的一个分支,专用于没有MMU的CPU,并且为嵌入式系统做了许多小型化的工作,具有内嵌网络协议,支持多种文件系统,编译后内核目标文件在600KB左右。

    仿真系统软件结构

    本仿真系统为用户提供网络和内核两类接口模块。网络模块由Simulink 提供的专为用户自行开发代码的系统函数(S-Function)实现,代码采用C 语言编写,主要有UDP/IP,TCP/IP 两种通信协议模块,同步机制模块,延时测量模块,控制算法模块和延时补偿模块。

    内核模块包括读模块,写模块,访问系统硬件平台片上外围和扩展硬件资源的I/O 模块,如A/D 模块,D/A 模块,外部中断源模块,定时器模块等。内核模块除用系统函数完成用户空间编程外,还需在uClinux 中进行内核空间编程。

    此外,仿真系统还提供了网络监控功能,使不在控制现场的用户及时掌握控制系统的运行状况。该功能主要由客户端和服务器两部分完成,即构成Client/Server 模式。客户端提供与用户的交互,由VC++编写实现,运行在Windows 操作系统的PC 主机,主要实现2 个功能:控制和监视。控制功能响应来自用户的动作,如通过网络修改远程的控制器参数,查看过程变量实时数值;监视功能为用户显示变量实时趋势图。服务器端运行在嵌入式系统平台,由ANSI C 编程实现,主要处理来自客户端的各种命令请求,并作出相应的操作,使客户端的用户通过网络实现各种监控功能。使用TCP/IP 协议,客户端采用WinSocket 服务器端采用Socket 实现通讯的监控流程如图2 所示。

   999

    系统实现

    本系统采用Simulink/Real-time Workshop实现仿真系统中运行在嵌入式平台的代码部分。

    Simulink是Mathworks公司推出的,用于控制算法设计和系统动态建模的可视化仿真分析环境,其Real-TimeWorkshop(RTW)工具箱能根据所组建的Simulink框图自动生成优化的C语言代码,结合与目标硬件相关的接口模块,实现对Simulink描述的控制系统的仿真,使用户从编写代码的繁冗劳动中解脱,缩短程序开发周期

    嵌入式硬件平台的应用程序开发与传统开发有所不同。受嵌入式系统有限资源的限制,应用程序的开发一般采用主从模式,即程序的设计,编译和链接在PC 机(通常运行有Linux)上进行,最终生成的可执行代码运行在嵌入式系统中,这个过程为交叉编译过程。

    利用RTW 实现将Simulink 的框图生成在仿真系统的嵌入式平台上运行程序的主要步骤为:

    1) 编写通用的与Simulink 框图接口的网络程序;

    (2) 在装有Matlab 的PC 机上安装交叉编译工具链arm-elf-gCC,包括编译器,链接器,二进制工具等;

    (3) 在Simulink 中构建被控系统的仿真框图;

    (4) 根据目标硬件的不同,修改RTW 中集成的makefile模板文件,并将在(1)中编写的代码,加入到编译链接的源码列表,修改系统目标文件;

    (5) 打开相应RTW 对话框,选中要使用的系统目标文件后,代码的生成,编译,下载及在嵌入式系统上运行等一系列过程将在几分钟内自动完成。

    图3 描述了仿真系统软件整体结构及Simulink/RTW 实现嵌入式应用程序的过程。

    由于Matlab 软件通常安装在Windows 操作系统,为保证交叉编译的顺利进行,安装软件Cygwin,以提供在Windows 下的虚拟Linux 环境。

   5448

    延时特性分析及补偿方法

    网络化控制系统的分析和设计比传统的点对点控制复杂的主要原因在于网络延时。在采用以太网的分布式网络化控制系统中,虽然以太网传输的实时性随着快速以太网和交换式以太网技术的发展得到了解决,但由于有限的网络资源被网络中的多个节点共享,使控制系统中的实时信息不能及时传送,加之包交换的网络间延时的不确定性,严重影响了系统的控制性能,甚至造成系统的不稳定。因此,网络化控制仿真平台要提供对真实网络环境的模拟必须首先明确网络延时的特点。


    延时分布特性

    往返时间round trip time 简称为rtt,是指小数据包从网络源节点A 发出,经网络到达目的节点B 后又返回到A 所用的时间。本文在实验装置所访问的广域网环境下进行rtt测量,以便从测量数据中分析得到延时分布特性。测量使用仿真系统的延时测量模块。该模块采用Van JaCOBson 提出的高精度测时思想,用Simulink 系统函数实现。

    图4 是在网络处于正常条件下,实际测得实验装置所使用的广域网的rtt 分布。测量进行了1000 次,其均值为0.3877s,均方差为0.0106s。从频域角度分析,得到的功率谱密度如图5 所示。根据带限白噪声定义,即功率谱密度函数仅在某些有限频率范围内取异于零的常数,为理论分析的简化,将测得的延时近似为低通白噪声,这可由低通白噪声对功率谱密度的定义

    

    可知。Srinivasagupta 也指出将大多数的网络延时近似为白噪声是合理的。

    相对于具有较大截止频率,即时间常数较大,动态响应较慢的系统,由于允许的采样周期较长,该数量级的网络延时对控制系统的影响也许可以忽略,但当被控对象为快速响应系统时,网络延时的数量级很可能等于甚至远大于控制系统的采样周期,此时必须对延时进行补偿以保证控制系统的稳定。

   2555

    延时补偿方策略

    由于延时的不确定性,在网络化控制中,无法保证在一个采样周期内恰有相应时刻的信号到来,可能在该采样周期没有收据,即空采样,也可能收到多个收据,即多采样,还可能收到被延时的数据,即延时采样。为此,仿真系统对网络化控制系统的前向和反馈通道的延时分别进行了补偿。

    信息在网络间传输的格式为:时间戳+对应的数据值。由于仿真系统提供了同步机制模块,为简化编程,可在发送时间信息时,只发送相应的周期索引值而非硬时钟值。图6 描述了仿真系统采用的网络延时补偿策略。

   545

    为和传统的数字控制系统一致,仿真系统中的控制器,传感器和执行器节点均采用时间驱动方式,即设备工作由时钟控制,按照一定的周期来执行操作。

    前向通道延时补偿

    执行器的接收端开辟有缓存区,控制器节点采用基于模型的预测控制算法,在一个周期内计算包括当前时刻的控制时域步的控制信号,连同该采样时刻的时间戳信息通过网络发送给执行器。执行器在采样周期到来时,根据收到的控制信号的情况做出相应的处理。具体补偿方法如下。

    控制器以广义预测控制GPC(Generalized PreDICtiveControl)作为控制算法,被控对象模型采用受控自回归积分滑动平均模型(CARIMA),用下列离散差分方程描述:



   544

    d 为被控对象时延,  Δ= 1-z-1 表示差分算子, ω(t ) 是随机变量序列。最优控制轨迹是通过最小化式(5)所表达的性能指标函数得到的:

    

    其中N1 和N2 代表最小和最大预测时域长度,M为控制时域长度, ρ为控制增量加权因子,定义P=N2 -N1。) ( ?y( t+i) 为模型预测输出,yr(t+i) 为输出参考轨迹, 对于i=1,2,  Λ,N2-N1,有丢番图(Diophantine)方程:

    4445

    阶和max(na.nc-i ,nb-i)阶,(i-1)阶和max(nc-1),(nb-1)阶多项式。

    在t时刻的最优控制律轨迹为:

    455

    

    在执行周期l,执行器应根据收到的控制信号执行相应的任务,由于网络延时的存在,当前时刻的控制信号可能无法到达,执行器根据缓存区存储的控制信号,利用时间戳信息,使用离当前时刻最近的控制信号对该时刻的预测值即,

    

    反馈通道延时补偿

    在反馈通道加入带有接收缓存的预测器,缓存区存放输入输出历史数据和相应时间戳信息。传感器在一个采样周期内完成对被控对象的输出采样,并通过网络传送采样值,控制信号以及时间戳信息。预测器在采样周期内,如果没有收到传感器从网络发送的相应时刻的采样信号,将利用缓存区数据估算采样信号以供控制器进行控制信号计算。


    预测器采用受控自回归模型ARX对采样信号进行预测,其模型原型为:

    15

    对于模型参数(10)的求解,可在Simulink下根据实验测得的延时分布特性,选取符合延时分布规律的随机信号模块模拟网络环境,在前向和反馈通道上通过TCP/IP模块实现控制器到执行器,传感器到控制器的连接,组成闭合网络化控制系统仿真框图,进行离线仿真,收集一系列输入输出数据,利用渐消记忆的递推最小二乘(13)-(15)求出。

    2445

    仿真实例

    本节以一直流无刷电机为例,验证使用本仿真系统实现网络化控制实验的有效性。通过频率响应法进行电机模型开环辨识,得到被控对象的CARIMA 模型为:

    

    其中y 表示电机转速,u 表示控制电压

    使用Simulink 进行离线仿真,网络间延时用均匀分布的延时模块模拟,求得ARX 模型为:

    545

    控制算法采用控制时域步长为7 的广义预测控制,利用Simulink 和仿真系统提供的模块分别组成图6 中虚线所包围的A,B 两部分,按照上述步骤,将框图分别下载到位于不同物理空间的硬件平台运行,控制系统中各节点的数据在该选项卡中设置固定步长和仿真停止时间,选择积分求解器;单击Real-Time Workshop 标签,在该选项卡中设置系统目标文件,模板联编文件,Make 命令等,在Category 下拉列表中选择xPC Targetgeneration options 选项,可以设置缓冲区大小,目标对象名字等。

    (4)创建和下载目标应用程序。设置完仿真参数,在Simulink 模型窗口中按CTRl+B,就可以生成C 代码,并对其编译、连接生成可执行的目标应用程序,并自动将其下载到目标机上。

    (5)控制目标应用程序以及信号跟踪。目标应用程序下载完成之后,在MATLAB 窗口输入+tg(或-tg)或者在目标机命令行输入start(或stop)可以启动(或停止)目标应用程序。在Simulink 模型中添加xPC Target Scope 模块,可以在目标机上添加示波器,显示需要的信号。

    结论

    本文研究了基于MATLAB/xPC,设计一个半物理实时仿真平台的方法。该平台将飞轮、三轴转台、陀螺等实物接入实时仿真系统,构成了一个卫星姿态控制半物理实时仿真系统,根据仿真试验结果,该实时仿真系统的实验结果与Simulink 非实时数学仿真结果基本一致,而且系统的实时性也能够满足要求。该实时仿真平台符合设计要求,有利于卫星姿态控制的研究。


关键字:Simulink  网络化控制  仿真系统 引用地址:基于Simulink的嵌入式网络化控制仿真系统实现

上一篇:嵌入式多媒体应用中的片上数据存储器的分配方法
下一篇:基于嵌入式Linux系统的键盘驱动实现

推荐阅读最新更新时间:2024-03-16 15:55

MathWorks 推出从 MATLAB 和 SIMULINK 生成针对 ARM CORTEX-M 处理器的优化代码的支持包
MathWorks 近日宣布,推出 Simulink、 DSP System Toolbox 和 Embedded Coder 支持包,以生成针对 ARM® Cortex ®-M 系列处理器的优化代码。这些 MATLAB 和 Simulink 支持包现与 Release 2013b一起发布,提供三个级别的集成支持: * Simulink、DSP System Toolbox 和 Embedded Coder 可以基于 ARM 的 DCMSIS DSP 库生成DSP 滤波器的性能优化代码(适用于任何 ARM Cortex-M 处理器) * Simulink 和 Embedded Coder 可以基于 GCC 和 QEMU 主机模
[嵌入式]
21-基于51单片机的遥控音乐系统仿真
具体实现功能: 仿真分为接收器(播放器)和发射器(遥控)。接收器由一个可以发音乐的电子琴构成, 发射器通过按键遥控接收器上电子琴的启动与停止。 启动时播放的是《同一首歌》的旋律,数码管显示“b”,表示播放,按下停止按键后停止播放音乐。 单片机介绍 51单片是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C51为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个
[单片机]
21-基于51单片机的遥控音乐<font color='red'>系统</font><font color='red'>仿真</font>
SaberRD基于JMAG电机模型的电动汽车动力系统仿真(一)
本文介绍了在不同抽象层次上有效模拟电动汽车动力系统的技术,仿真目标从驾驶周期数小时内的全局效率和热分析,到逆变器开关特性和损耗的纳秒细节。这些技术可以用来优化电机和逆变器控制,验证电能质量(THD和损耗),并模拟故障。 本文分为两部分,第一部分阐述电路设计思路以及在Saber RD中进行的选型与建模;第二部分阐述SaberRD基于JMAG电机模型搭建的四个不同抽象级别的电路以及在SaberRD中进行一系列的仿真 01 电路拓扑及设计思路 *该动力系统设计的核心是使用JMAG FEA求解器生成的高保真PMSM电机模型,包括空间谐波、磁通饱和和频率相关的铁损耗。电机由三相电压源逆变器(VSI)提供电流,由FOC算法控制,实现每
[嵌入式]
SaberRD基于JMAG电机模型的电动汽车动力<font color='red'>系统</font><font color='red'>仿真</font>(一)
基于矢量网络分析仪的RF射频仿真系统的应用
一、 引言 射频 仿真 系统的子系统-天线阵列及馈电系统,主要用于模拟弹目间的视线角运动,为了保证天线阵列及馈电系统的角位置模拟精度,必须对天线阵列系统进行校准。所谓校准是指为阵列控制计算机所存贮的表格获得项目数据,这些表格用于对天线阵列系统进行补偿和控制,实质上,就是要测量天线阵列系统中程控微波器件的表格,即插入衰减和插入相移。 二、 矢量网络分析仪Wiltron360B 矢量网络分析仪Wiltron360B由矢量网络分析仪、信号源、测试座、测试座转换器等各自独立的仪器,通过GPIB接口和专用接口组成一个完整的测量系统。它可以控制两个测试座和两个信号源,是一台测量精度高、自动化程度高、测量速度快、功能强大的测量仪器。 36
[电源管理]
基于矢量网络分析仪的RF射频<font color='red'>仿真</font><font color='red'>系统</font>的应用
高精度无刷直流电机伺服控制系统的设计与仿真
    在伺服传动系统中,无刷直流电动机(BLDCM)是一种新型的无级变速电动机,其结构简单可靠、维护方便、运行效率高及惯量小和控制精度高等优点,广泛应用于伺服控制精密数控机床、加工中心、机器人等领域。随着BLDCM应用领域的推广,对系统的动静态性能、鲁捧性、控制精度等要求越来越高。     本文以三相四极无刷直流电动机为研究对象,结合PID控制和模糊控制各自的优势,设计了一套基于TI公司的C2000系列TMS320F2812 DSP为核心的全数字永磁无刷直流电动机的闭环调速系统,以期满足BLDCM伺服控制系统的高精度、快速性、稳定性和鲁捧性的要求。 1 总体方案设计     系统没计采用三相四极无刷直流电动机PWM控制方案,逆变桥
[电源管理]
高精度无刷直流电机伺服<font color='red'>控制</font><font color='red'>系统</font>的设计与<font color='red'>仿真</font>
在Linux系统仿真老式操作系统
在 Linux 上能够仿真各种各样的操作系统。这不仅仅只是学术实践,这些“托管的 OS”对不少服务器室来说是现实的投资。 Linux 机器能做的最有用的工作之一就是在它上面运行其它操作系统的程序。这能极大地简化您的工作。 很多公司已经在“服务器合并”上花了数百万,希望藉此降低维护、管理甚至是散热负担。可是,他们的做法往往只是在几种不同的 UNIX 之间移来移去罢了。 然而,他们往往没有意识到,这些由 Linux 托管的 OS 仿真,有着相当大的范围和相当高的质量。其中有部分 OS,诸如 CP/M、RSX、OpenVMS 和 DOS 都是相当老的系统。此外,很多公司对于使用该软件在多大程度上提高了服务器室操作的方便性也不
[嵌入式]
Proteus软件仿真与Keil的51单片机系统设计
  1 概述   随着半导体技术的飞速发展,以及移动通信、网络技术、多媒体技术在嵌入式系统设计中的应用,单片机从4位、8位、16位到32位,其发展历程一直受到广大电子爱好者的极大关注。单片机功能越来越强大,价格却不断下降的优势无疑成为嵌入式系统方案设计的首选,同时单片机应用领域的扩大也使得更多人加入到基于单片机系统的开发行列中,推动着单片机技术的创新进步。   然而传统的单片机系统开发除了需要购置诸如仿真器、编程器、示波器等价格不菲的电子设备外,开发过程也较繁琐。如图1所示,用户程序需要在硬件完成的情况下才能进行联调,如果在调试过程中发现需修改硬件,则要重新制板。因此无论从硬件成本还是开发周期来看,其高风险、低效率的特性显露无
[单片机]
Proteus软件<font color='red'>仿真</font>与Keil的51单片机<font color='red'>系统</font>设计
基于51单片机的锅炉水位温度压力检测系统仿真设计
仿真图proteus7.8及以上 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0056 1.主要功能: 基于51单片机AT89C51/52(与AT89S51/52、AT89C51/52、STC89C51/52等51内核单片机通用) 1.系统实时通过LCD1602显示水位检测值,锅炉炉膛温度值,锅炉内部压力值。 2、可对锅炉的水位上下限、炉膛温度上下限、压力上下限进行设置,第一行显示上限值,第二行显示下限值。 3、如果水位、温度、压力过限则蜂鸣器报警,通过LED指示报警类型。 4、默认水位下限值10cm,上限值40cm,压力下限值30kPa,压力上限值50kPa,温度下限值5℃,温度上限值105℃。 5、温
[单片机]
基于51单片机的锅炉水位温度压力检测<font color='red'>系统</font><font color='red'>仿真</font>设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved