基于Simulink的嵌入式网络化控制仿真实现
发布时间:2008/5/29 0:00:00 访问次数:507
摘要:实现了基于simulink/real-time workshop(rtw)的嵌入式网络化控制仿真系统,构建了以arm7tdmi型cpu为核,运行uclinux操作系统的嵌入式平台。建立了广域网范围的网络环境,通过延时测量实验获得了网络延时统计特性,并针对该网络环境下的分布式控制系统的前向通道和反馈通道分别提出了延时补偿方法。同时系统还为用户提供了离线仿真,和通过网络在线指导现场控制的网络远程监控功能。最后以直流电机为被控对象,在广域网环境下进行了网络化控制系统实验,验证了该系统的有效性。
关键词:simulink;real-time workshop;嵌入式系统;网络化控制
引言
网络化控制系统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 两种通信协议模块,同步机制模块,延时测量模块,控制算法模块和延时补偿模块。
内核模块包括读模块,写模块
摘要:实现了基于simulink/real-time workshop(rtw)的嵌入式网络化控制仿真系统,构建了以arm7tdmi型cpu为核,运行uclinux操作系统的嵌入式平台。建立了广域网范围的网络环境,通过延时测量实验获得了网络延时统计特性,并针对该网络环境下的分布式控制系统的前向通道和反馈通道分别提出了延时补偿方法。同时系统还为用户提供了离线仿真,和通过网络在线指导现场控制的网络远程监控功能。最后以直流电机为被控对象,在广域网环境下进行了网络化控制系统实验,验证了该系统的有效性。
关键词:simulink;real-time workshop;嵌入式系统;网络化控制
引言
网络化控制系统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 两种通信协议模块,同步机制模块,延时测量模块,控制算法模块和延时补偿模块。
内核模块包括读模块,写模块