基于Simulink的嵌入式網絡化控制仿真實現(xiàn)
摘要:實現(xiàn)了基于Simulink/Real-Time Workshop(RTW)的嵌入式網絡化控制仿真系統(tǒng),構建了以ARM7TDMI型CPU為核,運行uClinux操作系統(tǒng)的嵌入式平臺。建立了廣域網范圍的網絡環(huán)境,通過延時測量實驗獲得了網絡延時統(tǒng)計特性,并針對該網絡環(huán)境下的分布式控制系統(tǒng)的前向通道和反饋通道分別提出了延時補償方法。同時系統(tǒng)還為用戶提供了離線仿真,和通過網絡在線指導現(xiàn)場控制的網絡遠程監(jiān)控功能。最后以直流電機為被控對象,在廣域網環(huán)境下進行了網絡化控制系統(tǒng)實驗,驗證了該系統(tǒng)的有效性。
本文引用地址:http://www.104case.com/article/171574.htm引言
網絡化控制系統(tǒng)NCS(Networked Control Systems)是指控制系統(tǒng)的各智能設備即傳感器,控制器和執(zhí)行器分布在不同地域空間,通過網絡形成閉合回路,各節(jié)點之間的數(shù)據(jù)和信息的交換需要網絡來實現(xiàn)。它是將當今先進的網絡通信技術,計算機技術和控制技術融為一體的分布式控制系統(tǒng)。雖然網絡化控制在工業(yè)控制,過程控制和樓宇自動化等方面得到了廣泛的應用,但網絡控制系統(tǒng)的理論研究卻相當不成熟[1]。本文利用在工程領域廣泛使用的Simulink仿真軟件,結合軍事和民用領域應用成熟的嵌入式微處理器構架開發(fā)了網絡化控制仿真系統(tǒng),為進行網絡化控制系統(tǒng)的理論研究提供了有利工具。
由于目前工業(yè)控制領域使用的通信技術都是自成體系、互不開放的。國際上新頒布的IEC61158現(xiàn)場總線標準包括了8種不同的類型,要使它們之間互相兼容和互可操作幾乎是不可能的。因此,積極采用以太網技術已成為工業(yè)網絡的發(fā)展趨勢。目前基于以太網的網絡化控制系統(tǒng)得到了全世界自動化領域學者們的關注。鑒于此,本文所開發(fā)的仿真系統(tǒng)是專為基于以太網的網絡化控制而設計的。
由于網絡化控制系統(tǒng)是控制技術和網絡通訊技術相結合的產物,因而對它的分析設計也通常從控制和網絡兩個角度進行。從網絡角度考慮,一般是對通信協(xié)議進行改進,解決延時,丟包,亂序等網絡帶給控制系統(tǒng)的問題,減小對控制系統(tǒng)的影響;從控制角度出發(fā),則是在已有的網絡結構和協(xié)議下,設計控制系統(tǒng)的結構,開發(fā)控制算法,補償網絡延時,以保證系統(tǒng)的穩(wěn)定。本仿真系統(tǒng)是從控制的角度設計的。
本文建立了以32位嵌入式RISC(Reduced Instruction Set Computer)微處理器結構ARM7TDMI S3C4510B為CPU核,基于Simulink/RTW開發(fā)的嵌入式網絡化控制仿真系統(tǒng)的軟硬件結構平臺。結合對無刷直流電機的控制試驗實例,闡述了本仿真系統(tǒng)的具體應用。
網絡化控制仿真系統(tǒng)
嵌入式系統(tǒng)平臺構架
本系統(tǒng)以嵌入式系統(tǒng)為硬件平臺,其硬件構架如圖1。該嵌入式系統(tǒng)硬件平臺選用Samsung 公司的基于ARM7TDMI核芯的S3C4510B微處理器作為嵌入式系統(tǒng)的CPU。S3C4510B 32位嵌入式RISC微控制器是為基于以太網的現(xiàn)場網絡控制系統(tǒng)提供的低成本高性能的微控制器。它支持8位、16位和32位尋址方式,具有16M×32位的尋址能力,可方便的構建較大的存儲空間。為了降低整個系統(tǒng)的成本,S3C4510B將外圍設備和處理器內核集成在一塊芯片上,提供片上外圍設備主要有2通道UART,2通道HDLC,1通道MII接口,Ethernet控制器,中斷控制器,JTAG接口,PLL 時鐘發(fā)生器和2個定時器等。
系統(tǒng)選用HY29LV160作為FLASH存儲器,每片提供1M×16位的存儲空間,兩片并聯(lián)構成1M×32位的代碼存儲空間;選用HY57V641620作為SDRAM存儲器,每片提供4M×16位的存儲空間,兩片并聯(lián)構成4M×32位的代碼運行空間,相對較大的RAM空間有利于提高系統(tǒng)性能和執(zhí)行較復雜的控制算法。有源晶振為S3C4510B提供外部時鐘信號,通過內部的鎖相環(huán)(PLL)電路,作為系統(tǒng)的工作頻率,PLL兼有頻率放大和信號提純的功能,因此,系統(tǒng)可以較低的外部時鐘信號獲得較高的工作頻率,最高可達50MHz。
此外,目標系統(tǒng)還擴展了8路16位高速A/D和2路12位高速D/A,為被控對象提供控制接口。用100M/10M高速以太網物理層收發(fā)器DM9161擴展以太網控制器。4×4的鍵盤和數(shù)碼管顯示為系統(tǒng)提供了現(xiàn)場調試手段。
ARM7TDMI構架的CPU不帶MMU即內存管理單元,可選用uClinux作為相應的操作系統(tǒng),這是一個完全符合GNU/GPL(通用公共許可證)公約的項目和完全開放代碼,是標準Linux的一個分支,專用于沒有MMU的CPU,并且為嵌入式系統(tǒng)做了許多小型化的工作,具有內嵌網絡協(xié)議,支持多種文件系統(tǒng),編譯后內核目標文件在600KB左右。
仿真系統(tǒng)軟件結構
本仿真系統(tǒng)為用戶提供網絡和內核兩類接口模塊。網絡模塊由Simulink 提供的專為用戶自行開發(fā)代碼的系統(tǒng)函數(shù)(S-Function)實現(xiàn),代碼采用C 語言編寫,主要有UDP/IP,TCP/IP 兩種通信協(xié)議模塊,同步機制模塊,延時測量模塊,控制算法模塊和延時補償模塊。
內核模塊包括讀模塊,寫模塊,訪問系統(tǒng)硬件平臺片上外圍和擴展硬件資源的I/O 模塊,如A/D 模塊,D/A 模塊,外部中斷源模塊,定時器模塊等。內核模塊除用系統(tǒng)函數(shù)完成用戶空間編程外,還需在uClinux 中進行內核空間編程。
此外,仿真系統(tǒng)還提供了網絡監(jiān)控功能,使不在控制現(xiàn)場的用戶及時掌握控制系統(tǒng)的運行狀況。該功能主要由客戶端和服務器兩部分完成,即構成Client/Server 模式。客戶端提供與用戶的交互,由VC++編寫實現(xiàn),運行在Windows 操作系統(tǒng)的PC 主機,主要實現(xiàn)2 個功能:控制和監(jiān)視。控制功能響應來自用戶的動作,如通過網絡修改遠程的控制器參數(shù),查看過程變量實時數(shù)值;監(jiān)視功能為用戶顯示變量實時趨勢圖。服務器端運行在嵌入式系統(tǒng)平臺,由ANSI C 編程實現(xiàn),主要處理來自客戶端的各種命令請求,并作出相應的操作,使客戶端的用戶通過網絡實現(xiàn)各種監(jiān)控功能。使用TCP/IP 協(xié)議,客戶端采用WinSocket 服務器端采用Socket 實現(xiàn)通訊的監(jiān)控流程如圖2 所示。
系統(tǒng)實現(xiàn)
本系統(tǒng)采用Simulink/Real-time Workshop實現(xiàn)仿真系統(tǒng)中運行在嵌入式平臺的代碼部分。
Simulink是Mathworks公司推出的,用于控制算法設計和系統(tǒng)動態(tài)建模的可視化仿真分析環(huán)境,其Real-TimeWorkshop(RTW)工具箱能根據(jù)所組建的Simulink框圖自動生成優(yōu)化的C語言代碼,結合與目標硬件相關的接口模塊,實現(xiàn)對Simulink描述的控制系統(tǒng)的仿真,使用戶從編寫代碼的繁冗勞動中解脫,縮短程序開發(fā)周期。
嵌入式硬件平臺的應用程序開發(fā)與傳統(tǒng)開發(fā)有所不同。受嵌入式系統(tǒng)有限資源的限制,應用程序的開發(fā)一般采用主從模式,即程序的設計,編譯和鏈接在PC 機(通常運行有Linux)上進行,最終生成的可執(zhí)行代碼運行在嵌入式系統(tǒng)中,這個過程為交叉編譯過程。
利用RTW 實現(xiàn)將Simulink 的框圖生成在仿真系統(tǒng)的嵌入式平臺上運行程序的主要步驟為:
1) 編寫通用的與Simulink 框圖接口的網絡程序;
(2) 在裝有Matlab 的PC 機上安裝交叉編譯工具鏈arm-elf-gcc,包括編譯器,鏈接器,二進制工具等;
(3) 在Simulink 中構建被控系統(tǒng)的仿真框圖;
(4) 根據(jù)目標硬件的不同,修改RTW 中集成的makefile模板文件,并將在(1)中編寫的代碼,加入到編譯鏈接的源碼列表,修改系統(tǒng)目標文件;
(5) 打開相應RTW 對話框,選中要使用的系統(tǒng)目標文件后,代碼的生成,編譯,下載及在嵌入式系統(tǒng)上運行等一系列過程將在幾分鐘內自動完成。
圖3 描述了仿真系統(tǒng)軟件整體結構及Simulink/RTW 實現(xiàn)嵌入式應用程序的過程。
由于Matlab 軟件通常安裝在Windows 操作系統(tǒng),為保證交叉編譯的順利進行,安裝軟件Cygwin,以提供在Windows 下的虛擬Linux 環(huán)境。
評論