目前,國(guó)內(nèi)大多數(shù)閘門(mén)控制系統(tǒng)采用的是強(qiáng)電接觸器的硬接線(xiàn)方式 ,而且多為20世紀(jì)七八十年代的產(chǎn)品,已嚴(yán)重老化,達(dá)不到運(yùn)行可靠性要求,存在著嚴(yán)重的安全隱患。同時(shí),閘室多依河道而建 ,閘門(mén)間距少則近百米 ,多則上千米 ,因無(wú)法實(shí)現(xiàn)集中控制而使得閘門(mén)反應(yīng)速度慢 ,無(wú)法應(yīng)對(duì)諸如突發(fā)性大水等特殊情況。目前,閘室調(diào)水主要由工作人員靠經(jīng)驗(yàn)?zāi)繙y(cè),造成了水資源的大量浪費(fèi) ,如何提高閘門(mén)控制的智能化、實(shí)現(xiàn)閘門(mén)的集中控制,是急需解決的問(wèn)題。 現(xiàn)代計(jì)算機(jī)技術(shù)的發(fā)展為解決上述問(wèn)題提供了技術(shù)支持,尤其是Linux嵌入式系統(tǒng)的發(fā)展與應(yīng)用。Linux系統(tǒng)具有體積小、可裁減、運(yùn)行速度高、網(wǎng)絡(luò)性能良好等優(yōu)點(diǎn) ,而且具有源碼公開(kāi)、可以免費(fèi)使用等特點(diǎn),這些都使得Linux系統(tǒng)得以快速發(fā)展和廣泛應(yīng)用,并使嵌入式Linux系統(tǒng)在閘門(mén)控制中的應(yīng)用成為可能。隨著Linux2.6內(nèi)核的發(fā)布,在嵌入式系統(tǒng)市場(chǎng) ,Linux向主流的實(shí)時(shí)操作系統(tǒng)供應(yīng)商提出了挑戰(zhàn),例如VxWorks和WinCE,它們具有許多新的特性,將成為更優(yōu)秀的嵌入式操作系統(tǒng)。 嵌入式Linux系統(tǒng)具有高性能、高可靠性 ,并具有多媒體電腦特點(diǎn),特別適用于工業(yè)現(xiàn)場(chǎng)控制和遠(yuǎn)程圖像監(jiān)控。 針對(duì)上述閘門(mén)控制中急需解決的問(wèn)題以及嵌入式Linux系統(tǒng)的特點(diǎn),本文對(duì)嵌入式Linux系統(tǒng)的閘門(mén)智能控制系統(tǒng)進(jìn)行設(shè)計(jì)和探討。系統(tǒng)采用了先進(jìn)的計(jì)算機(jī)傳感器技術(shù),對(duì)多路閘位、水位進(jìn)行實(shí)時(shí)跟蹤顯示,并提供相應(yīng)的閘門(mén)閉環(huán)控制模型,使水資源利用率達(dá)到最優(yōu)。 1 嵌入式Linux系統(tǒng)的構(gòu)建 1.1 嵌入式閘門(mén)控制系統(tǒng)的主要性能要求 1)具有高可靠性、高響應(yīng)性 ,能在一定程度上達(dá)到或接近實(shí)時(shí)操作系統(tǒng)的性能。 2)系統(tǒng)整機(jī)能適應(yīng)較惡劣的工作環(huán)境,而且功耗低。 3)有一定的多媒體(圖像、聲音)處理能力。 4)有性能良好的圖形用戶(hù)接口(GUI)解決方案 ,以及方便、實(shí)用的人機(jī)接口。 5)系統(tǒng)有一定的伸縮能力,能支持通用的硬件設(shè)計(jì)。 針對(duì)上述性能要求,本設(shè)計(jì)將首先構(gòu)建一個(gè)基本操作系統(tǒng),并在此基礎(chǔ)上構(gòu)建閘門(mén)控制系統(tǒng)[1]。 1.2 操作系統(tǒng)平臺(tái)的選擇 在眾多主流嵌入式操作系統(tǒng)中選擇Linux2.6作為操作系統(tǒng)的內(nèi)核 ,主要基于以下考慮: 1)Linux是一個(gè)公開(kāi)源代碼的操作系統(tǒng),可以形成具有自主知識(shí)產(chǎn)權(quán)的操作系統(tǒng)。 2)Linux采用微內(nèi)核結(jié)構(gòu),內(nèi)核部分(含進(jìn)程調(diào)度、內(nèi)存管理、文件管理、設(shè)備驅(qū)動(dòng)等)一般不大于1MB,即使加上小型的GUI系統(tǒng)也不會(huì)大于16MB,比較適合嵌入式系統(tǒng)的要求。 3)Linux2.6內(nèi)核引進(jìn)了內(nèi)核搶占式的調(diào)度功能,因此 ,響應(yīng)時(shí)間相比以前的內(nèi)核有大幅度縮減。 4)Linux支持多種硬件體系結(jié)構(gòu)。在開(kāi)發(fā)初期,為了縮短開(kāi)發(fā)周期,可以先選擇支持x86的奔騰系列處理器平臺(tái);后期在進(jìn)行很少改動(dòng)的前提下,就可移植到其他硬件平臺(tái)上。 1.3 操作系統(tǒng)的開(kāi)發(fā)流程 本系統(tǒng)的定制主要有2個(gè)部分:一是系統(tǒng)內(nèi)核及基本根文件系統(tǒng)的定制 ,二是GUI的實(shí)現(xiàn)。 1.3.1 系統(tǒng)內(nèi)核及根文件系統(tǒng)定制 定制一個(gè)4MB~8MB的基本Linux系統(tǒng),提供如下基本操作系統(tǒng)功能:多進(jìn)程、多用戶(hù);文件、內(nèi)存管理;用戶(hù)操作終端。這部分工作是后續(xù)系統(tǒng)定制和應(yīng)用軟件開(kāi)發(fā)的基礎(chǔ)。 采用2.6版本以上內(nèi)核,在編譯中加入內(nèi)核搶占式調(diào)度功能、Ramdisk支持、中文字符集支持。根據(jù)文件系統(tǒng)只讀部分采用 Ext2 文件系統(tǒng) ,讀寫(xiě)部分可采用Cramdisk等嵌入式文件系統(tǒng)。此部分的工作主要有:建立交叉編譯環(huán)境;剪裁內(nèi)核(這是一個(gè)反復(fù)的過(guò)程);剪裁根文件系統(tǒng) ,建立運(yùn)行環(huán)境,編寫(xiě)各個(gè)運(yùn)行腳本;提供基本硬件的支持。 1.3.2 GUI的實(shí)現(xiàn) 基于X2Server定制一個(gè)16MB~32MB的X2Windows環(huán)境,能提供較豐富的GUI功能。提供一個(gè)系統(tǒng)自動(dòng)運(yùn)行的程序,使開(kāi)機(jī)至工程啟動(dòng)的時(shí)間控制在30s內(nèi),并在此基礎(chǔ)上提供中文輸入功能。GUI的實(shí)現(xiàn)是為基于此平臺(tái)的閘門(mén)控制軟件提供圖形庫(kù)操作接口,使得該軟件具有較好的人機(jī)交互界面。 此部分的工作主要有:編寫(xiě) X2Windows的各種配置文件;剪裁其不需要的程序,只保留基本程序;編寫(xiě)X2Windows 的各個(gè)腳本文件[3]。 2 系統(tǒng)的硬件結(jié)構(gòu) 在本設(shè)計(jì)中 ,閘門(mén)控制系統(tǒng)由閘門(mén)操作、視頻采集和水情監(jiān)測(cè)3個(gè)部分組成。基本結(jié)構(gòu)如圖1所示。 系統(tǒng)的核心硬件平臺(tái)選用基于PⅢ處理器以上的高性能嵌入式5.25英寸微型系統(tǒng)板,其自帶2個(gè)外設(shè)部件互連(PCI) 插槽 ,可外接一個(gè)32通道的DI/DO卡用做閘門(mén)啟閉機(jī)的控制,一個(gè)4通道的視頻捕捉卡用做閘門(mén)現(xiàn)場(chǎng)狀態(tài)的監(jiān)控;2個(gè) RS2232的串行通信口,外接 RS2485 的轉(zhuǎn)換器后可分別連接閘位和水位傳感器,采集實(shí)時(shí)數(shù)據(jù);一個(gè)集成開(kāi)發(fā)環(huán)境(IDE)接口,可接一個(gè)64MB的文檔對(duì)象模型(DOM)存儲(chǔ)卡,作為嵌入式操作系統(tǒng)、控制程序和采集數(shù)據(jù)的存儲(chǔ)介質(zhì);以及板載加速圖形端口(AGP)顯卡,可外接液晶顯示器(LCD),用做閘門(mén)控制系統(tǒng)的顯示輸出和操作界面。 3 閘門(mén)控制系統(tǒng)的開(kāi)發(fā) 在對(duì)嵌入式Linux操作系統(tǒng)定制完成以后 ,就可基于定制平臺(tái)完成一個(gè)具有完備閘門(mén)控制功能的用戶(hù)軟件。完整的閘門(mén)信息管理系統(tǒng)由視頻采集壓縮模塊、水情測(cè)控模塊和閘門(mén)控制算法模塊組成。 3.1 視頻采集壓縮模塊 視頻采集壓縮模塊的核心是由采集芯片BT878組成的PCI總線(xiàn)硬件卡,有1路/卡、4路/卡2種,通過(guò)組合可以實(shí)現(xiàn)多路視頻輸入和實(shí)時(shí)壓縮。系統(tǒng)選擇4路視頻捕捉卡并加裝云臺(tái),對(duì)采集到的視頻信號(hào)采用畫(huà)面平均分割的方式同時(shí)顯示 ,也可選擇只顯示指定的視頻通道,并提供基本的顯示調(diào)節(jié)和云臺(tái)遠(yuǎn)程操作功能,以此提供對(duì)閘門(mén)及河道的本地和遠(yuǎn)程視頻監(jiān)視功能。 3.2 水情測(cè)控模塊 水情測(cè)控模塊的主要任務(wù)是完成水位監(jiān)測(cè)、閘門(mén)升高及運(yùn)行情況監(jiān)測(cè)、閘門(mén)運(yùn)行開(kāi)環(huán)/閉環(huán)控制、流量和過(guò)流水量的計(jì)算以及圖表的生成。閘門(mén)的控制除了計(jì)算機(jī)智能控制以外 ,同時(shí)還采用雙重手(本地和集中)控制 ,確保閘門(mén)控制萬(wàn)無(wú)一失。在此模塊中,既要提供良好的人機(jī)交互界面,又要提供實(shí)時(shí)的流量與水量關(guān)系圖表。 在設(shè)計(jì)中,水情測(cè)控子系統(tǒng)主要由數(shù)據(jù)采集卡、水位傳感器、閘位傳感器、閘門(mén)控制單元、閘門(mén)本地集中控制柜和嵌入式主機(jī)構(gòu)成。 1)數(shù)據(jù)采集卡通過(guò) PCI總線(xiàn)與主機(jī)連接 ,傳感器通過(guò)控制線(xiàn)直接與數(shù)據(jù)采集卡連接。主機(jī)定時(shí)采集水情數(shù)據(jù),并交給應(yīng)用程序后臺(tái)進(jìn)行計(jì)算、存儲(chǔ) ,以便在需要顯示時(shí)立即生成相應(yīng)的關(guān)系曲線(xiàn)。 2)各閘門(mén)控制單元通過(guò)控制線(xiàn)與DI/DO卡相連接。主機(jī)通過(guò)向DI/DO卡發(fā)出脈沖信號(hào)實(shí)現(xiàn)對(duì)閘門(mén)的控制。手動(dòng)應(yīng)急控制采用2種方式:一是通過(guò)外置控制器集中對(duì)各閘門(mén)進(jìn)行升、降、停的控制;二是通過(guò)閘門(mén)控制單元上的控制按鈕完成閘門(mén)的升、降、停的控制。 3.3 閘門(mén)控制算法模塊 閘門(mén)控制系統(tǒng)屬于典型的大滯后、多相關(guān)因素的非線(xiàn)性系統(tǒng),本設(shè)計(jì)采用模糊專(zhuān)家系統(tǒng)的算法方案對(duì)其進(jìn)行智能控制。基本的控制流程[5]如圖2所示。 4 結(jié)語(yǔ) 基于嵌入式Linux 操作系統(tǒng)開(kāi)發(fā)的閘門(mén)控制系統(tǒng),比傳統(tǒng)的控制方式降低了功耗、提高了可靠性,減小了整個(gè)系統(tǒng)的體積,便于安裝調(diào)試,同時(shí),使水資源利用率達(dá)到最優(yōu)。更重要的是,在整個(gè)軟件平臺(tái)上擁有自主知識(shí)產(chǎn)權(quán)。 |