當(dāng)前位置: 首頁 > 工業(yè)電氣產(chǎn)品 > 工業(yè)安全產(chǎn)品 > 安全觸邊
發(fā)布日期:2022-04-17 點(diǎn)擊率:254 品牌:組態(tài)王_Kingview
1 引言
近年來,嵌入式系統(tǒng)在工業(yè)控制領(lǐng)域的應(yīng)用越來越廣泛。隨著嵌入式控制系統(tǒng)的發(fā)展,嵌入式控制系統(tǒng)將在一定程度上取代現(xiàn)有的工業(yè)PC控制系統(tǒng),在微型TDCS(集散控制系統(tǒng))、現(xiàn)場(chǎng)總線系統(tǒng)、PLC控制系統(tǒng)、智能化儀表等領(lǐng)域得到廣泛的應(yīng)用。由于其相對(duì)于大型的TDCS系統(tǒng)來說具有較強(qiáng)的成本優(yōu)勢(shì)和靈活性,其應(yīng)用領(lǐng)域正在進(jìn)一步擴(kuò)大。本文建立了一套完整的嵌入式控制系統(tǒng)軟件平臺(tái),該平臺(tái)建構(gòu)于嵌入式硬件系統(tǒng)之上,包括嵌入式實(shí)時(shí)操作系統(tǒng)、軟PLC系統(tǒng)、嵌入式組態(tài)軟件等。
平臺(tái)包括運(yùn)行環(huán)境和開發(fā)環(huán)境兩部分。使用開發(fā)環(huán)境,用戶可以方便組態(tài)和二次開發(fā),而將開發(fā)重點(diǎn)集中到具體的控制系統(tǒng)應(yīng)用上,而諸如系統(tǒng)的軟件架構(gòu)設(shè)計(jì)、實(shí)時(shí)性保證、通用的控制系統(tǒng)軟件如網(wǎng)絡(luò)通信、控制算法等復(fù)雜而繁瑣的軟件工作,則交由平臺(tái)完成。
2.3平臺(tái)的總體框架
嵌入式控制系統(tǒng)平臺(tái)是以嵌入式實(shí)時(shí)操作系統(tǒng)為核心,包括硬件平臺(tái)、硬件驅(qū)動(dòng)、圖形庫運(yùn)行環(huán)境、實(shí)時(shí)數(shù)據(jù)庫管理與通信、人機(jī)界面、軟PLC、網(wǎng)絡(luò)通信、用戶應(yīng)用程序等。
嵌入式控制系統(tǒng)平臺(tái)總體框架如圖1所示。
圖1嵌入式控制系統(tǒng)軟件平臺(tái)總體框架
由圖1可知,嵌入式控制系統(tǒng)軟件平臺(tái)主要包括以下部分:
(1) 嵌入式硬件平臺(tái) (2) 嵌入式實(shí)時(shí)操作系統(tǒng) (3) 硬件驅(qū)動(dòng)程序 (4) 圖形庫與運(yùn)行環(huán)境 (5) 實(shí)時(shí)數(shù)據(jù)庫管理與通信 (6) 人機(jī)界面 (7) 軟PLC (8) 網(wǎng)絡(luò)通信 (9) 用戶應(yīng)用程序
3嵌入式控制系統(tǒng)軟件平臺(tái)主要模塊的實(shí)現(xiàn)
嵌入式控制系統(tǒng)軟件平臺(tái)是個(gè)非常復(fù)雜的系統(tǒng),從總體框架圖可以看出平臺(tái)包括實(shí)時(shí)操作系統(tǒng)、實(shí)時(shí)數(shù)據(jù)庫管理與通信、圖形庫與運(yùn)行環(huán)境、人機(jī)界面等許多模塊,本章著重介紹嵌入式實(shí)時(shí)操作系統(tǒng)、實(shí)時(shí)數(shù)據(jù)庫管理與通信等模塊的實(shí)現(xiàn)。
3.1嵌入式Linux實(shí)時(shí)操作系統(tǒng)
Linux是一種能運(yùn)行于多種平臺(tái)、功能強(qiáng)大、源代碼公開、免費(fèi)的操作系統(tǒng),基于Linux開發(fā)一個(gè)開放的、標(biāo)準(zhǔn)的、高效廉價(jià)的實(shí)時(shí)操作系統(tǒng)是完全可行的。本文介紹的嵌入式控制系統(tǒng)軟件平臺(tái)就采用嵌入式Linux實(shí)時(shí)操作系統(tǒng),使用雙內(nèi)核RTAI解決方案。RTAI的實(shí)現(xiàn)方案類似于RT-Linux,是雙內(nèi)核系統(tǒng),即利用Linux內(nèi)核,同時(shí)增加一個(gè)實(shí)時(shí)內(nèi)核,兩個(gè)內(nèi)核共同工作。RTAI利用Linux提供的內(nèi)核模塊機(jī)制完成實(shí)時(shí)任務(wù),提供實(shí)時(shí)服務(wù)。模塊是內(nèi)核的一部分,但是沒有被編譯到內(nèi)核里去。模塊被編譯成一組目標(biāo)文件,根據(jù)需要,這些文件能夠被插入到正在運(yùn)行的內(nèi)核中,也可以從正在運(yùn)行的內(nèi)核中移去。RTAI實(shí)現(xiàn)的主要模塊有RTAI核心模塊、RTAI調(diào)度器模塊、RTAI先進(jìn)先出模塊、RTAI共享內(nèi)存模塊和LXRT模塊等。
3.1.3基于RTAI的Linux實(shí)時(shí)操作系統(tǒng)的實(shí)現(xiàn)
我們實(shí)現(xiàn)基于RTAI的Linux實(shí)時(shí)操作系統(tǒng)的過程是:在標(biāo)準(zhǔn)Linux的基礎(chǔ)上,打上RTAI的實(shí)時(shí)補(bǔ)丁包,根據(jù)特定硬件條件和運(yùn)行環(huán)境的要求進(jìn)行適當(dāng)?shù)呐渲?再對(duì)內(nèi)核進(jìn)行裁剪后編譯成一個(gè)支持實(shí)時(shí)性的內(nèi)核。
3.1.4基于RTAI-Linux的應(yīng)用程序開發(fā)
在編寫基于RTAI-Linux的應(yīng)用程序時(shí),根據(jù)實(shí)時(shí)系統(tǒng)的具體要求,將應(yīng)用程序分為實(shí)時(shí)任務(wù)和非實(shí)時(shí)任務(wù)。實(shí)時(shí)任務(wù)是實(shí)時(shí)模塊,作為L(zhǎng)inux核心可加載模塊運(yùn)行在核心態(tài)。一般地,定義init_module()函數(shù),它在執(zhí)行insmod命令裝載模塊時(shí)被調(diào)用,在該函數(shù)中一般是作一些初試化工作,并且啟動(dòng)實(shí)時(shí)任務(wù)。同樣的,還需要定義cleanup_module()函數(shù),它在執(zhí)行rmmod卸載模塊時(shí)被調(diào)用,在該函數(shù)中一般是做一些資源釋放工作。實(shí)時(shí)任務(wù)的設(shè)計(jì)應(yīng)該盡可能簡(jiǎn)單,僅包含那些有強(qiáng)實(shí)時(shí)要求的處理模塊,如實(shí)時(shí)數(shù)據(jù)采集、外部設(shè)備控制等。
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV