基于Simulink的嵌入式网络化控制仿真实现
时间:07-31
来源:互联网
点击:
网络化控制系统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个定时器等。
系统选用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 所示。
由于目前工业控制领域使用的通信技术都是自成体系、互不开放的。国际上新颁布的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个定时器等。
系统选用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 所示。
传感器 自动化 仿真 嵌入式 总线 ARM 电路 收发器 uClinux Linux Mathworks 电压 示波器 相关文章:
- 光缆结构及工艺的发展(03-04)
- 基于Zigbee的远程家庭监护系统的应用研究(04-08)
- 触摸屏基本原理(04-16)
- 无线传感器网络的服务质量保障技术(10-16)
- 网络自组织通信模式和技术研究综述(10-26)
- 视频传感器网络覆盖控制(Coverage Control)问题研究概述(11-24)