網絡化控制系統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 模式??蛻舳颂峁┡c用戶的交互,由VC++編寫實現,運行在Windows?操作系統的PC 主機,主要實現2 個功能:控制和監視??刂乒δ茼憫獊碜杂脩舻膭幼鳎缤ㄟ^網絡修改遠程的控制器參數,查看過程變量實時數值;監視功能為用戶顯示變量實時趨勢圖。服務器端運行在嵌入式系統平臺,由ANSI C 編程實現,主要處理來自客戶端的各種命令請求,并作出相應的操作,使客戶端的用戶通過網絡實現各種監控功能。使用TCP/IP 協議,客戶端采用WinSocket 服務器端采用Socket 實現通訊的監控流程如圖2 所示。
系統實現
本系統采用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 環境。
延時特性分析及補償方法
網絡化控制系統的分析和設計比傳統的點對點控制復雜的主要原因在于網絡延時。在采用以太網的分布式網絡化控制系統中,雖然以太網傳輸的實時性隨著快速以太網和交換式以太網技術的發展得到了解決,但由于有限的網絡資源被網絡中的多個節點共享,使控制系統中的實時信息不能及時傳送,加之包交換的網絡間延時的不確定性,嚴重影響了系統的控制性能,甚至造成系統的不穩定。因此,網絡化控制仿真平臺要提供對真實網絡環境的模擬必須首先明確網絡延時的特點。
延時分布特性
往返時間round trip time 簡稱為rtt,是指小數據包從網絡源節點A 發出,經網絡到達目的節點B 后又返回到A 所用的時間。本文在實驗裝置所訪問的廣域網環境下進行rtt測量,以便從測量數據中分析得到延時分布特性。測量使用仿真系統的延時測量模塊。該模塊采用Van JaCOBson 提出的高精度測時思想,用Simulink 系統函數實現。
圖4 是在網絡處于正常條件下,實際測得實驗裝置所使用的廣域網的rtt 分布。測量進行了1000 次,其均值為0.3877s,均方差為0.0106s。從頻域角度分析,得到的功率譜密度如圖5 所示。根據帶限白噪聲定義,即功率譜密度函數僅在某些有限頻率范圍內取異于零的常數,為理論分析的簡化,將測得的延時近似為低通白噪聲,這可由低通白噪聲對功率譜密度的定義
可知。Srinivasagupta 也指出將大多數的網絡延時近似為白噪聲是合理的。
圖4 是在網絡處于正常條件下,實際測得實驗裝置所使用的廣域網的rtt 分布。測量進行了1000 次,其均值為0.3877s,均方差為0.0106s。從頻域角度分析,得到的功率譜密度如圖5 所示。根據帶限白噪聲定義,即功率譜密度函數僅在某些有限頻率范圍內取異于零的常數,為理論分析的簡化,將測得的延時近似為低通白噪聲,這可由低通白噪聲對功率譜密度的定義
可知。Srinivasagupta 也指出將大多數的網絡延時近似為白噪聲是合理的。
相對于具有較大截止頻率,即時間常數較大,動態響應較慢的系統,由于允許的采樣周期較長,該數量級的網絡延時對控制系統的影響也許可以忽略,但當被控對象為快速響應系統時,網絡延時的數量級很可能等于甚至遠大于控制系統的采樣周期,此時必須對延時進行補償以保證控制系統的穩定。
延時補償方策略
由于延時的不確定性,在網絡化控制中,無法保證在一個采樣周期內恰有相應時刻的信號到來,可能在該采樣周期沒有收據,即空采樣,也可能收到多個收據,即多采樣,還可能收到被延時的數據,即延時采樣。為此,仿真系統對網絡化控制系統的前向和反饋通道的延時分別進行了補償。
信息在網絡間傳輸的格式為:時間戳+對應的數據值。由于仿真系統提供了同步機制模塊,為簡化編程,可在發送時間信息時,只發送相應的周期索引值而非硬時鐘值。圖6 描述了仿真系統采用的網絡延時補償策略。
為和傳統的數字控制系統一致,仿真系統中的控制器,傳感器和執行器節點均采用時間驅動方式,即設備工作由時鐘控制,按照一定的周期來執行操作。
評論