- 相關(guān)推薦
基于RTLinux的實(shí)時(shí)控制系統(tǒng)
摘要:從技術(shù)背景、系統(tǒng)結(jié)構(gòu)、硬件和軟件設(shè)計(jì)等方面論述了基于RTLinux的閘門(mén)實(shí)時(shí)控制系統(tǒng)的組成、原理以及實(shí)現(xiàn)方法,并著重分析了軟件實(shí)現(xiàn)的關(guān)鍵問(wèn)題。在水電站閘門(mén)控制系統(tǒng)中,設(shè)備地理位置分散、控制分散,基于常規(guī)繼電器的控制系統(tǒng)不能滿足電廠無(wú)人值班控制系統(tǒng)和全廠綜合自動(dòng)化的要求,必須將智能控制和工業(yè)網(wǎng)絡(luò)相結(jié)合,實(shí)現(xiàn)實(shí)時(shí)控制的同時(shí)又能對(duì)設(shè)備進(jìn)行智能管理和維護(hù)。目前比較常用的控制系統(tǒng)大多由PLC構(gòu)成,成本較高,缺乏客戶定制的靈活性。本文從系統(tǒng)功能實(shí)現(xiàn)和經(jīng)濟(jì)指標(biāo)兩個(gè)方面考慮,半基于RTLinux的控制平臺(tái)、工業(yè)以太網(wǎng)和數(shù)據(jù)庫(kù)技術(shù)引入閘門(mén)控制系統(tǒng)。
1 RTLlinux、工業(yè)以太網(wǎng)和數(shù)據(jù)庫(kù)
RTLinux是由新墨西大學(xué)的Victor Yodaiken等人開(kāi)發(fā)的,現(xiàn)在已有商業(yè)化的版本推出。在RTLinux面世之前,Linux在實(shí)時(shí)性方面作過(guò)一些嘗試。在POSIX1.b中,規(guī)定了實(shí)時(shí)進(jìn)程的一些標(biāo)準(zhǔn),但由于Linux內(nèi)核的不可搶先性,真正的實(shí)時(shí)進(jìn)程無(wú)法在標(biāo)準(zhǔn)的Linux環(huán)境下實(shí)現(xiàn)。RTLinux采用簡(jiǎn)單而有效的方法解決了此問(wèn)題而不用重寫(xiě)Linux內(nèi)核代碼。RTLinux實(shí)現(xiàn)了一個(gè)高效的可搶先的實(shí)時(shí)調(diào)度核心,全面接管中斷,并把Linux作為此實(shí)時(shí)核心的一個(gè)優(yōu)先級(jí)最低的進(jìn)程運(yùn)行。當(dāng)有實(shí)時(shí)任務(wù)需要處理時(shí),RTLinux運(yùn)行實(shí)時(shí)任務(wù);無(wú)實(shí)時(shí)任務(wù)時(shí),RTLinux運(yùn)行Linux的非實(shí)時(shí)進(jìn)程。圖1是RTLinux的結(jié)構(gòu)圖。
為保證實(shí)時(shí)進(jìn)程與非實(shí)時(shí)Linux進(jìn)程部順序進(jìn)行數(shù)據(jù)交換,RTLinux引入了RT-FIFO隊(duì)列。RT-FIFO被Linux視為字符設(shè)備,最多可達(dá)150個(gè),分別命名為/der/rtf0、/dev/rtf1……/dev/rtf63。最大的RT-FIFO數(shù)量在系統(tǒng)內(nèi)核編譯時(shí)設(shè)定。圖2說(shuō)明了RT-FIFO的工作原理。
RTLinux程序運(yùn)行于兩個(gè)空間:用戶空間內(nèi)核態(tài)。RTLinux提供了應(yīng)用程序接口,借助這些API函數(shù)將實(shí)時(shí)處理部分編寫(xiě)成內(nèi)核模塊,并裝載到RTLinux內(nèi)核中,運(yùn)行于RTLinux的內(nèi)核態(tài)。非實(shí)時(shí)部分的應(yīng)用程序則在Linux下的用戶空間中執(zhí)行,這樣可以發(fā)揮Linux對(duì)網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)的強(qiáng)大支持功能。
TCP/IP協(xié)議和以太網(wǎng)在Internet上的成功應(yīng)用吸引著越來(lái)越多控制程師。盡管以太網(wǎng)的時(shí)間不確定性給以太網(wǎng)應(yīng)用于工業(yè)控制現(xiàn)場(chǎng)的實(shí)時(shí)性帶來(lái)了很多爭(zhēng)論,但是實(shí)際應(yīng)用中,經(jīng)網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)絕大多數(shù)用于系統(tǒng)管理和維護(hù)等方面,用于實(shí)時(shí)控制的數(shù)據(jù)傳輸很少,這也是基于管理集中、控制分散的系統(tǒng)設(shè)計(jì)策略考慮的。在較高的以太網(wǎng)傳輸速度下,現(xiàn)場(chǎng)智能處理單元的處理速度才是傳輸延遲的主要原因。本系統(tǒng)現(xiàn)場(chǎng)控制單元采用高速處理器,并采用RTLinux作為現(xiàn)場(chǎng)控制單元的控制平臺(tái),直接用以太網(wǎng)傳輸數(shù)據(jù),系統(tǒng)的網(wǎng)絡(luò)層次減少,信號(hào)的傳輸實(shí)時(shí)性也得到提高。
目前,有許多數(shù)據(jù)庫(kù)開(kāi)發(fā)商提供了Linux平臺(tái)上的數(shù)據(jù)庫(kù)軟件,例如Oracle、Sybase、Informix和MYSQL等都推出了Linux版本。基于RTLinux的控制系統(tǒng)在實(shí)時(shí)控制領(lǐng)域有巨大的潛力。
2 系統(tǒng)組成
本系統(tǒng)分為現(xiàn)場(chǎng)和集中級(jí),F(xiàn)場(chǎng)控制級(jí)由分散在現(xiàn)場(chǎng)的4個(gè)現(xiàn)場(chǎng)控制單元控制,分別完成閘門(mén)位置、油缸油壓和油路狀態(tài)等的采集,現(xiàn)場(chǎng)操作按鈕的監(jiān)視以及閘門(mén)提升和下降的控制等。集中級(jí)由集中監(jiān)控站、維護(hù)站組成,分別執(zhí)行監(jiān)視、智能維護(hù)及診斷等功能。打印機(jī)用于數(shù)據(jù)的硬備份、報(bào)表的輸出。系統(tǒng)結(jié)構(gòu)如圖3所示。
2.1 系統(tǒng)硬件構(gòu)成
在工業(yè)控制系統(tǒng)中通常采用PLC作為現(xiàn)場(chǎng)的控制核心。PLC的不足一方面在于其較高的價(jià)格,另一方面在于其難以實(shí)現(xiàn)非順序控制算法,以及缺乏對(duì)TCP/IP靈活的支持。本系統(tǒng)采用嵌入式PC作為控制單元的核心,開(kāi)發(fā)人員可自行開(kāi)發(fā)外圍接口板,根據(jù)系統(tǒng)需要靈活組態(tài),既經(jīng)濟(jì)又能使用高級(jí)語(yǔ)言開(kāi)發(fā)控制程序。
現(xiàn)場(chǎng)控制閘門(mén)的LCU采用相同的硬件配置。CPU板采用研華公司的PCM-5864,CPU的Intel公司的Pentium MMX 166MHz,內(nèi)存為64MB,以太網(wǎng)接口為10MHz的RTL-8139A。CPU板通過(guò)PC104總線與采樣模塊和輸出模塊相連。此外該板上配有顯示、鍵盤(pán)和鼠標(biāo)等標(biāo)準(zhǔn)接口,便于在線修改和檢查程序。硬盤(pán)選用容量為4.3GB的筆記本硬盤(pán)。16通道的A/D采樣模塊PCM-3718H完成模擬量的采集,分辨率為12位;16通道的數(shù)字I/O模塊PCM-3730用于開(kāi)關(guān)量的采集、控制閘門(mén)的啟動(dòng)和停止。為便于現(xiàn)場(chǎng)巡檢,LCU配有顯示中文信息的LCD模塊MGLS-240128,內(nèi)置T6963C控制器。系統(tǒng)采用了16端口的HUB。
為保證集中站可靠地工作,集中監(jiān)控站、集中維護(hù)站采用工業(yè)PC,配有Intel公司的P處理器,256MB內(nèi)存和40GB的大硬盤(pán),TCP/IP通信由3COM公司的10/100MbpsPCI網(wǎng)卡3C905C來(lái)完成。
2.2 系統(tǒng)軟件構(gòu)成
系統(tǒng)的軟件也分為兩部分。集中監(jiān)控站采用Windows2000操作系統(tǒng),并安裝有MYSQL-3.23.49 for Windows服務(wù)器軟件和監(jiān)控軟件;維護(hù)也采用Windows2000操作系統(tǒng)。此外裝有MYSQL的客戶端軟件包和維護(hù)及診斷軟件。監(jiān)控軟件和維護(hù)及診斷軟件均用Visual C 開(kāi)發(fā)。
LCU的軟件包括實(shí)時(shí)Linux操作系統(tǒng)、數(shù)據(jù)庫(kù)客戶端軟件和控制程序。在LCU中,操作系統(tǒng)Redhat6.2經(jīng)升級(jí)和安裝RTLinux后被改造成實(shí)時(shí)Linux。升級(jí)后的核為L(zhǎng)inux-2.2.18,RTLinux的版本號(hào)為RTLinux2.2 for Linux-2.2.18。數(shù)據(jù)庫(kù)的客戶端程序包為MYSQL-3.23.49RPM。控制程序包括實(shí)時(shí)控制程序和非實(shí)時(shí)程序兩部分。
3 系統(tǒng)設(shè)計(jì)的關(guān)
【基于RTLinux的實(shí)時(shí)控制系統(tǒng)】相關(guān)文章:
基于J2EE的遠(yuǎn)動(dòng)系統(tǒng)Web實(shí)時(shí)曲線的研究05-11
基于電話網(wǎng)絡(luò)的熱網(wǎng)遠(yuǎn)程控制系統(tǒng)設(shè)計(jì)05-11
消防聯(lián)動(dòng)控制系統(tǒng)(一)05-11
淺析自動(dòng)控制系統(tǒng)04-19
適應(yīng)實(shí)時(shí)多任務(wù)的微控制器高效指令支持05-29
試析基于勝任素質(zhì)的薪酬模式構(gòu)建01-03
基于戰(zhàn)略治理的企業(yè)環(huán)境風(fēng)險(xiǎn)研究08-28
嵌入式實(shí)時(shí)網(wǎng)絡(luò)通信技術(shù)淺析論文(精選7篇)07-26
智能型校園教室燈光自動(dòng)控制系統(tǒng)05-11
基于軟交換的固網(wǎng)智能化05-11