基于Simulink的嵌入式網(wǎng)絡(luò)化控制仿真系統(tǒng)實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
網(wǎng)絡(luò)化控制系統(tǒng)NCS(Networked Control SystEMS)是指控制系統(tǒng)的各智能設(shè)備即傳感器,控制器和執(zhí)行器分布在不同地域空間,通過網(wǎng)絡(luò)形成閉合回路,各節(jié)點(diǎn)之間的數(shù)據(jù)和信息的交換需要網(wǎng)絡(luò)來實(shí)現(xiàn)。它是將當(dāng)今先進(jìn)的網(wǎng)絡(luò)通信技術(shù),計(jì)算機(jī)技術(shù)和控制技術(shù)融為一體的分布式控制系統(tǒng)。雖然網(wǎng)絡(luò)化控制在工業(yè)控制,過程控制和樓宇自動(dòng)化等方面得到了廣泛的應(yīng)用,但網(wǎng)絡(luò)控制系統(tǒng)的理論研究卻相當(dāng)不成熟[1]。本文利用在工程領(lǐng)域廣泛使用的Simulink仿真軟件,結(jié)合軍事和民用領(lǐng)域應(yīng)用成熟的嵌入式微處理器構(gòu)架開發(fā)了網(wǎng)絡(luò)化控制仿真系統(tǒng),為進(jìn)行網(wǎng)絡(luò)化控制系統(tǒng)的理論研究提供了有利工具。
由于目前工業(yè)控制領(lǐng)域使用的通信技術(shù)都是自成體系、互不開放的。國際上新頒布的IEC61158現(xiàn)場總線標(biāo)準(zhǔn)包括了8種不同的類型,要使它們之間互相兼容和互可操作幾乎是不可能的。因此,積極采用以太網(wǎng)技術(shù)已成為工業(yè)網(wǎng)絡(luò)的發(fā)展趨勢。目前基于以太網(wǎng)的網(wǎng)絡(luò)化控制系統(tǒng)得到了全世界自動(dòng)化領(lǐng)域?qū)W者們的關(guān)注。鑒于此,本文所開發(fā)的仿真系統(tǒng)是專為基于以太網(wǎng)的網(wǎng)絡(luò)化控制而設(shè)計(jì)的。
由于網(wǎng)絡(luò)化控制系統(tǒng)是控制技術(shù)和網(wǎng)絡(luò)通訊技術(shù)相結(jié)合的產(chǎn)物,因而對(duì)它的分析設(shè)計(jì)也通常從控制和網(wǎng)絡(luò)兩個(gè)角度進(jìn)行。從網(wǎng)絡(luò)角度考慮,一般是對(duì)通信協(xié)議進(jìn)行改進(jìn),解決延時(shí),丟包,亂序等網(wǎng)絡(luò)帶給控制系統(tǒng)的問題,減小對(duì)控制系統(tǒng)的影響;從控制角度出發(fā),則是在已有的網(wǎng)絡(luò)結(jié)構(gòu)和協(xié)議下,設(shè)計(jì)控制系統(tǒng)的結(jié)構(gòu),開發(fā)控制算法,補(bǔ)償網(wǎng)絡(luò)延時(shí),以保證系統(tǒng)的穩(wěn)定。本仿真系統(tǒng)是從控制的角度設(shè)計(jì)的。
本文建立了以32位嵌入式RISC(Reduced Instruction Set Computer)微處理器結(jié)構(gòu)ARM7TDMI S3C4510B為CPU核,基于Simulink/RTW開發(fā)的嵌入式網(wǎng)絡(luò)化控制仿真系統(tǒng)的軟硬件結(jié)構(gòu)平臺(tái)。結(jié)合對(duì)無刷直流電機(jī)的控制試驗(yàn)實(shí)例,闡述了本仿真系統(tǒng)的具體應(yīng)用。
網(wǎng)絡(luò)化控制仿真系統(tǒng)
嵌入式系統(tǒng)平臺(tái)構(gòu)架
本系統(tǒng)以嵌入式系統(tǒng)為硬件平臺(tái),其硬件構(gòu)架如圖1。該嵌入式系統(tǒng)硬件平臺(tái)選用Samsung 公司的基于ARM7TDMI核芯的S3C4510B微處理器作為嵌入式系統(tǒng)的CPU。S3C4510B 32位嵌入式RISC微控制器是為基于以太網(wǎng)的現(xiàn)場網(wǎng)絡(luò)控制系統(tǒng)提供的低成本高性能的微控制器。它支持8位、16位和32位尋址方式,具有16M×32位的尋址能力,可方便的構(gòu)建較大的存儲(chǔ)空間。為了降低整個(gè)系統(tǒng)的成本,S3C4510B將外圍設(shè)備和處理器內(nèi)核集成在一塊芯片上,提供片上外圍設(shè)備主要有2通道UART,2通道HDLC,1通道MII接口,Ethernet控制器,中斷控制器,JTAG接口,PLL時(shí)鐘發(fā)生器和2個(gè)定時(shí)器等。
系統(tǒng)選用HY29LV160作為FLASH存儲(chǔ)器,每片提供1M×16位的存儲(chǔ)空間,兩片并聯(lián)構(gòu)成1M×32位的代碼存儲(chǔ)空間;選用HY57V641620作為SDRAM存儲(chǔ)器,每片提供4M×16位的存儲(chǔ)空間,兩片并聯(lián)構(gòu)成4M×32位的代碼運(yùn)行空間,相對(duì)較大的RAM空間有利于提高系統(tǒng)性能和執(zhí)行較復(fù)雜的控制算法。有源晶振為S3C4510B提供外部時(shí)鐘信號(hào),通過內(nèi)部的鎖相環(huán)(PLL)電路,作為系統(tǒng)的工作頻率,PLL兼有頻率放大和信號(hào)提純的功能,因此,系統(tǒng)可以較低的外部時(shí)鐘信號(hào)獲得較高的工作頻率,最高可達(dá)50MHz。
此外,目標(biāo)系統(tǒng)還擴(kuò)展了8路16位高速A/D和2路12位高速D/A,為被控對(duì)象提供控制接口。用100M/10M高速以太網(wǎng)物理層收發(fā)器DM9161擴(kuò)展以太網(wǎng)控制器。4×4的鍵盤和數(shù)碼管顯示為系統(tǒng)提供了現(xiàn)場調(diào)試手段。
ARM7TDMI構(gòu)架的CPU不帶MMU即內(nèi)存管理單元,可選用uClinux作為相應(yīng)的操作系統(tǒng),這是一個(gè)完全符合GNU/GPL(通用公共許可證)公約的項(xiàng)目和完全開放代碼,是標(biāo)準(zhǔn)Linux的一個(gè)分支,專用于沒有MMU的CPU,并且為嵌入式系統(tǒng)做了許多小型化的工作,具有內(nèi)嵌網(wǎng)絡(luò)協(xié)議,支持多種文件系統(tǒng),編譯后內(nèi)核目標(biāo)文件在600KB左右。
仿真系統(tǒng)軟件結(jié)構(gòu)
本仿真系統(tǒng)為用戶提供網(wǎng)絡(luò)和內(nèi)核兩類接口模塊。網(wǎng)絡(luò)模塊由Simulink 提供的專為用戶自行開發(fā)代碼的系統(tǒng)函數(shù)(S-Function)實(shí)現(xiàn),代碼采用C 語言編寫,主要有UDP/IP,TCP/IP 兩種通信協(xié)議模塊,同步機(jī)制模塊,延時(shí)測量模塊,控制算法模塊和延時(shí)補(bǔ)償模塊。
內(nèi)核模塊包括讀模塊,寫模塊,訪問系統(tǒng)硬件平臺(tái)片上外圍和擴(kuò)展硬件資源的I/O 模塊,如A/D 模塊,D/A 模塊,外部中斷源模塊,定時(shí)器模塊等。內(nèi)核模塊除用系統(tǒng)函數(shù)完成用戶空間編程外,還需在uClinux 中進(jìn)行內(nèi)核空間編程。
此外,仿真系統(tǒng)還提供了網(wǎng)絡(luò)監(jiān)控功能,使不在控制現(xiàn)場的用戶及時(shí)掌握控制系統(tǒng)的運(yùn)行狀況。該功能主要由客戶端和服務(wù)器兩部分完成,即構(gòu)成Client/Server 模式??蛻舳颂峁┡c用戶的交互,由VC++編寫實(shí)現(xiàn),運(yùn)行在Windows操作系統(tǒng)的PC 主機(jī),主要實(shí)現(xiàn)2 個(gè)功能:控制和監(jiān)視??刂乒δ茼憫?yīng)來自用戶的動(dòng)作,如通過網(wǎng)絡(luò)修改遠(yuǎn)程的控制器參數(shù),查看過程變量實(shí)時(shí)數(shù)值;監(jiān)視功能為用戶顯示變量實(shí)時(shí)趨勢圖。服務(wù)器端運(yùn)行在嵌入式系統(tǒng)平臺(tái),由ANSI C 編程實(shí)現(xiàn),主要處理來自客戶端的各種命令請(qǐng)求,并作出相應(yīng)的操作,使客戶端的用戶通過網(wǎng)絡(luò)實(shí)現(xiàn)各種監(jiān)控功能。使用TCP/IP 協(xié)議,客戶端采用WinSocket 服務(wù)器端采用Socket 實(shí)現(xiàn)通訊的監(jiān)控流程如圖2 所示。
系統(tǒng)實(shí)現(xiàn)
本系統(tǒng)采用Simulink/Real-time Workshop實(shí)現(xiàn)仿真系統(tǒng)中運(yùn)行在嵌入式平臺(tái)的代碼部分。
Simulink是Mathworks公司推出的,用于控制算法設(shè)計(jì)和系統(tǒng)動(dòng)態(tài)建模的可視化仿真分析環(huán)境,其Real-TimeWorkshop(RTW)工具箱能根據(jù)所組建的Simulink框圖自動(dòng)生成優(yōu)化的C語言代碼,結(jié)合與目標(biāo)硬件相關(guān)的接口模塊,實(shí)現(xiàn)對(duì)Simulink描述的控制系統(tǒng)的仿真,使用戶從編寫代碼的繁冗勞動(dòng)中解脫,縮短程序開發(fā)周期。
嵌入式硬件平臺(tái)的應(yīng)用程序開發(fā)與傳統(tǒng)開發(fā)有所不同。受嵌入式系統(tǒng)有限資源的限制,應(yīng)用程序的開發(fā)一般采用主從模式,即程序的設(shè)計(jì),編譯和鏈接在PC 機(jī)(通常運(yùn)行有Linux)上進(jìn)行,最終生成的可執(zhí)行代碼運(yùn)行在嵌入式系統(tǒng)中,這個(gè)過程為交叉編譯過程。
利用RTW 實(shí)現(xiàn)將Simulink 的框圖生成在仿真系統(tǒng)的嵌入式平臺(tái)上運(yùn)行程序的主要步驟為:
1) 編寫通用的與Simulink 框圖接口的網(wǎng)絡(luò)程序;
(2) 在裝有Matlab 的PC 機(jī)上安裝交叉編譯工具鏈arm-elf-gCC,包括編譯器,鏈接器,二進(jìn)制工具等;
(3) 在Simulink 中構(gòu)建被控系統(tǒng)的仿真框圖;
(4) 根據(jù)目標(biāo)硬件的不同,修改RTW 中集成的makefile模板文件,并將在(1)中編寫的代碼,加入到編譯鏈接的源碼列表,修改系統(tǒng)目標(biāo)文件;
(5) 打開相應(yīng)RTW 對(duì)話框,選中要使用的系統(tǒng)目標(biāo)文件后,代碼的生成,編譯,下載及在嵌入式系統(tǒng)上運(yùn)行等一系列過程將在幾分鐘內(nèi)自動(dòng)完成。
圖3 描述了仿真系統(tǒng)軟件整體結(jié)構(gòu)及Simulink/RTW 實(shí)現(xiàn)嵌入式應(yīng)用程序的過程。
由于Matlab 軟件通常安裝在Windows 操作系統(tǒng),為保證交叉編譯的順利進(jìn)行,安裝軟件Cygwin,以提供在Windows 下的虛擬Linux 環(huán)境。
延時(shí)特性分析及補(bǔ)償方法
網(wǎng)絡(luò)化控制系統(tǒng)的分析和設(shè)計(jì)比傳統(tǒng)的點(diǎn)對(duì)點(diǎn)控制復(fù)雜的主要原因在于網(wǎng)絡(luò)延時(shí)。在采用以太網(wǎng)的分布式網(wǎng)絡(luò)化控制系統(tǒng)中,雖然以太網(wǎng)傳輸?shù)膶?shí)時(shí)性隨著快速以太網(wǎng)和交換式以太網(wǎng)技術(shù)的發(fā)展得到了解決,但由于有限的網(wǎng)絡(luò)資源被網(wǎng)絡(luò)中的多個(gè)節(jié)點(diǎn)共享,使控制系統(tǒng)中的實(shí)時(shí)信息不能及時(shí)傳送,加之包交換的網(wǎng)絡(luò)間延時(shí)的不確定性,嚴(yán)重影響了系統(tǒng)的控制性能,甚至造成系統(tǒng)的不穩(wěn)定。因此,網(wǎng)絡(luò)化控制仿真平臺(tái)要提供對(duì)真實(shí)網(wǎng)絡(luò)環(huán)境的模擬必須首先明確網(wǎng)絡(luò)延時(shí)的特點(diǎn)。
延時(shí)分布特性
往返時(shí)間round trip time 簡稱為rtt,是指小數(shù)據(jù)包從網(wǎng)絡(luò)源節(jié)點(diǎn)A 發(fā)出,經(jīng)網(wǎng)絡(luò)到達(dá)目的節(jié)點(diǎn)B 后又返回到A 所用的時(shí)間。本文在實(shí)驗(yàn)裝置所訪問的廣域網(wǎng)環(huán)境下進(jìn)行rtt測量,以便從測量數(shù)據(jù)中分析得到延時(shí)分布特性。測量使用仿真系統(tǒng)的延時(shí)測量模塊。該模塊采用Van JaCOBson 提出的高精度測時(shí)思想,用Simulink 系統(tǒng)函數(shù)實(shí)現(xiàn)。
圖4 是在網(wǎng)絡(luò)處于正常條件下,實(shí)際測得實(shí)驗(yàn)裝置所使用的廣域網(wǎng)的rtt 分布。測量進(jìn)行了1000 次,其均值為0.3877s,均方差為0.0106s。從頻域角度分析,得到的功率譜密度如圖5 所示。根據(jù)帶限白噪聲定義,即功率譜密度函數(shù)僅在某些有限頻率范圍內(nèi)取異于零的常數(shù),為理論分析的簡化,將測得的延時(shí)近似為低通白噪聲,這可由低通白噪聲對(duì)功率譜密度的定義
可知。Srinivasagupta 也指出將大多數(shù)的網(wǎng)絡(luò)延時(shí)近似為白噪聲是合理的。
相對(duì)于具有較大截止頻率,即時(shí)間常數(shù)較大,動(dòng)態(tài)響應(yīng)較慢的系統(tǒng),由于允許的采樣周期較長,該數(shù)量級(jí)的網(wǎng)絡(luò)延時(shí)對(duì)控制系統(tǒng)的影響也許可以忽略,但當(dāng)被控