當(dāng)前位置:機(jī)電之家首頁 >> PLC技術(shù)>> PLC基礎(chǔ) >> 現(xiàn)場總線 >> 工業(yè)現(xiàn)場嵌入式控制器軟件的分析和設(shè)計(jì)
工業(yè)現(xiàn)場嵌入式控制器軟件的分析和設(shè)計(jì)

【摘要】:本文分析了 Linux 在嵌入式系統(tǒng)中應(yīng)用的可能性及優(yōu)勢,并設(shè)計(jì)了基于嵌入式 Linux 的工業(yè)現(xiàn)場控制器軟件,并實(shí)際應(yīng)用于計(jì)算機(jī)集散控制系統(tǒng)(DCS)中,滿足了一般甚至核電領(lǐng)域中DCS 系統(tǒng)對現(xiàn)場控制器的要求。

關(guān)鍵詞:嵌入式 Linux;DCS;現(xiàn)場控制器

Abstract The possibilities and advantages of application of Linux in bbbbbded systems are first analyzed in this paper, and then an bbbbbded Linux based industrial field control station software is designed and actually applied in the Distributed Control System (DCS), and satisfies the requirements for field control station in DCS of general even nubbbbb power plant fields.

Keywords: bbbbbded Linux; DCS; Filed Control Station

1.引言
        現(xiàn)場控制器是DCS系統(tǒng)的核心組成部分,擔(dān)負(fù)著接收并執(zhí)行控制算法、采集現(xiàn)場數(shù)據(jù)并 進(jìn)行大量數(shù)據(jù)處理等職能,且具有控制周期短,運(yùn)行穩(wěn)定、可靠等要求。因此,如何選用高 性能的硬件,開發(fā)穩(wěn)定可靠的嵌入式操作系統(tǒng),并設(shè)計(jì)現(xiàn)場控制器軟件系統(tǒng)成為DCS系統(tǒng)開 發(fā)中的關(guān)鍵之一。
本文分析并設(shè)計(jì)了基于嵌入式Linux的工業(yè)現(xiàn)場控制器的控制軟件系統(tǒng)。

2. bbbbbded Linux的優(yōu)勢
bbbbbded Linux 具有如下特點(diǎn)[1]:
         第一,Linux 系統(tǒng)內(nèi)核源碼完全開放。因?yàn)?Linux 的內(nèi)核源碼是完全開發(fā)的,所以不同 領(lǐng)域和層次的用戶可以免費(fèi)得到 Linux 內(nèi)核源碼,并根據(jù)自己的應(yīng)用需要方便的對內(nèi)核進(jìn)行 修改。這樣可以有效控制成本,并設(shè)計(jì)和開發(fā)出滿足其需要的嵌入式系統(tǒng)。
         第二,強(qiáng)大的網(wǎng)絡(luò)功能。Linux 的網(wǎng)絡(luò)連接能力緊密的和 Linux 內(nèi)核結(jié)合在一起,為用 戶提供了完善而強(qiáng)大的網(wǎng)絡(luò)功能。實(shí)際上,Linux 就是依靠互聯(lián)網(wǎng)才迅速發(fā)展了起來。Linux 支持所有標(biāo)準(zhǔn) Internet 協(xié)議,可以輕松地與 TCP/IP、LAN Manager、bbbbbbs for Workgroups、 Novell Netware 或 bbbbbbs NT 網(wǎng)絡(luò)集成在一起??梢栽?Linux 的網(wǎng)絡(luò)協(xié)議?;A(chǔ)上開發(fā)出 嵌入式的 TCP/IP 網(wǎng)絡(luò)協(xié)議棧,使得嵌入式設(shè)備具有強(qiáng)大的網(wǎng)絡(luò)功能。
        第三,Linux 是 Unix 兼容,完全符合 IEEE POSIX.1 標(biāo)準(zhǔn)。許多運(yùn)行在 Unix 上的軟件 可以不加修的運(yùn)行在 Linux 上。因此嵌入式 Linux 具有很多豐富的免費(fèi)軟件資源可以利用。 第四,Linux 具備完整的開發(fā)工具鏈,嵌入式系統(tǒng)開發(fā)者容易建立嵌入式系統(tǒng)的開發(fā)環(huán) 境和交叉運(yùn)行環(huán)境,可以跨越嵌入式系統(tǒng)開發(fā)中仿真工具的障礙。從編輯階段,編譯階段到調(diào)試階段,可以方便的使用 GNU 提供的 EMACS,GCC,GDB,KGDB 等工具鏈。 第五,Linux 具有廣泛的硬件支持。Linux 能運(yùn)行在,無論是 RISC 還是 CISC、32 位還是 64 位等各種處理器上。Linux 支持各種主流的硬件設(shè)備和最新的硬件技術(shù),可以在沒有MMU 的處理器上運(yùn)行。所以嵌入式 Linux 有廣泛的應(yīng)用前景。

3. 工業(yè)控制DCS系統(tǒng)的組成
         DCS 是分散控制系統(tǒng)(Distributed Control System)的簡稱,國內(nèi)一般習(xí)慣稱為集散控 制系統(tǒng)。它是一個(gè)由過程控制級(jí)和過程監(jiān)控級(jí)組成的以通信網(wǎng)絡(luò)為紐帶的多級(jí)計(jì)算機(jī)系統(tǒng), 綜合了計(jì)算機(jī)(Computer)、通訊(Communication)、顯示(CRT)和控制(Control)等 4C 技術(shù),其基本思想是分散控制、集中操作、分級(jí)管理、配置靈活、組態(tài)方便。

點(diǎn)擊察看原圖



DCS 具有以下特點(diǎn)[2]:
(1)高可靠性
        由于 DCS 將系統(tǒng)控制功能分散在各臺(tái)計(jì)算機(jī)上實(shí)現(xiàn),系統(tǒng)結(jié)構(gòu)采用容錯(cuò)設(shè)計(jì),因此某 一臺(tái)計(jì)算機(jī)出現(xiàn)的故障不會(huì)導(dǎo)致系統(tǒng)其它功能的喪失。此外,由于系統(tǒng)中各臺(tái)計(jì)算機(jī)所承擔(dān) 的任務(wù)比較單一,可以針對需要實(shí)現(xiàn)的功能采用具有特定結(jié)構(gòu)和軟件的專用計(jì)算機(jī),從而使 系統(tǒng)中每臺(tái)計(jì)算機(jī)的可靠性也得到提高。
(2)開放性
        DCS 采用開放式、標(biāo)準(zhǔn)化、模塊化和系列化設(shè)計(jì),系統(tǒng)中各臺(tái)計(jì)算機(jī)采用局域網(wǎng)方式 通信,實(shí)現(xiàn)信息傳輸,當(dāng)需要改變或擴(kuò)充系統(tǒng)功能時(shí),可將新增計(jì)算機(jī)方便地連入系統(tǒng)通信 網(wǎng)絡(luò)或從網(wǎng)絡(luò)中卸下,幾乎不影響系統(tǒng)其他計(jì)算機(jī)的工作。
(3)靈活性 通過組態(tài)軟件根據(jù)不同的流程應(yīng)用對象進(jìn)行軟硬件組態(tài),即確定測量與控制信號(hào)及相互
間連接關(guān)系、從控制算法庫選擇適用的控制規(guī)律以及從圖形庫調(diào)用基本圖形組成所需的各種 監(jiān)控和報(bào)警畫面,從而方便地構(gòu)成所需的控制系統(tǒng)。
(4)易于維護(hù) 功能單一的小型或微型專用計(jì)算機(jī),具有維護(hù)簡單、方便的特點(diǎn),當(dāng)某一局部或某個(gè)計(jì)算機(jī)出現(xiàn)故障時(shí),可以在不影響整個(gè)系統(tǒng)運(yùn)行的情況下在線更換,迅速排除故障。
(5)協(xié)調(diào)性 各工作站之間通過通信網(wǎng)絡(luò)傳送各種數(shù)據(jù),整個(gè)系統(tǒng)信息共享,協(xié)調(diào)工作,以完成控制 系統(tǒng)的總體功能和優(yōu)化處理。
(6)控制功能齊全 控制算法豐富,集連續(xù)控制、順序控制和批處理控制于一體,可實(shí)現(xiàn)串級(jí)、前饋、解耦、 自適應(yīng)和預(yù)測控制等先進(jìn)控制,并可方便地加入所需的特殊控制算法。
        DCS 的構(gòu)成方式十分靈活,可由專用的管理計(jì)算機(jī)站、操作員站、工程師站、記錄站、 現(xiàn)場控制站和數(shù)據(jù)采集站等組成,也可由通用的服務(wù)器、工業(yè)控制計(jì)算機(jī)和可編程控制器構(gòu)成。
       處于底層的過程控制級(jí)一般由分散的現(xiàn)場控制站、數(shù)據(jù)采集站等就地實(shí)現(xiàn)數(shù)據(jù)采集和控 制,并通過數(shù)據(jù)通信網(wǎng)絡(luò)傳送到生產(chǎn)監(jiān)控級(jí)計(jì)算機(jī)。生產(chǎn)監(jiān)控級(jí)對來自過程控制級(jí)的數(shù)據(jù)進(jìn) 行集中操作管理,如各種優(yōu)化計(jì)算、統(tǒng)計(jì)報(bào)表、故障診斷、顯示報(bào)警等。隨著計(jì)算機(jī)技術(shù)的 發(fā)展,DCS 可以按照需要與更高性能的計(jì)算機(jī)設(shè)備通過網(wǎng)絡(luò)連接來實(shí)現(xiàn)更高級(jí)的集中管理 功能,如計(jì)劃調(diào)度、倉儲(chǔ)管理、能源管理等。

4. 嵌入式控制器軟件設(shè)計(jì)
        嵌入式控制器是指在 DCS 的硬件體系結(jié)構(gòu)中的現(xiàn)場控制站,即圖 1 中被紅色橢圓圈中 的部分。在設(shè)定的控制周期下,主控制器循環(huán)的執(zhí)行從 I/O 設(shè)備采集現(xiàn)場數(shù)據(jù)、控制邏輯運(yùn) 算、與操作員站進(jìn)行數(shù)據(jù)交換、故障診斷、冗余等任務(wù)。
        主控制器向下通過 I/O 插件或者現(xiàn)場總線網(wǎng)絡(luò),連接現(xiàn)場的各種 I/O 設(shè)備、執(zhí)行設(shè)備等; 向上通過系統(tǒng)網(wǎng)絡(luò)與操作員站、工程師站等連接。
         DCS 系統(tǒng)的性能、可靠性等重要指標(biāo)主要體現(xiàn)在主控制器上[3]。因此,設(shè)計(jì)出高效穩(wěn)定 的現(xiàn)場控制器軟件系統(tǒng),對于設(shè)計(jì)整個(gè) DCS 系統(tǒng)的關(guān)鍵之一。
4.1 控制器硬件及系統(tǒng)平臺(tái)嵌入式控制器的硬件平臺(tái)為 Inbbb® XScale IXP425 嵌入式開發(fā)板;操作系統(tǒng)采用嵌入式Linux,版本為 2.6.16。
4.2 控制器軟件結(jié)構(gòu)
         控制器軟件設(shè)計(jì)為運(yùn)行于嵌入式 Linux 平臺(tái)上的單線程應(yīng)用程序,調(diào)度策略為實(shí)時(shí)的先 入先出(FIFO)方式,現(xiàn)場運(yùn)行采用雙機(jī)熱備份方式。由于控制器軟件要完成的各種功能 相對獨(dú)立,因此本文中將控制器軟件程序設(shè)計(jì)成多模塊結(jié)構(gòu)。模塊之間的關(guān)系如下圖所示。

點(diǎn)擊察看原圖


各模塊分別設(shè)計(jì)為:
(1)總控模塊??偪啬K指的是對系統(tǒng)整體運(yùn)行進(jìn)行監(jiān)控的模塊,它協(xié)調(diào)和調(diào)度其他 模塊的運(yùn)行,包括系統(tǒng)開始啟動(dòng)時(shí)的初始化、程序結(jié)束時(shí)所進(jìn)行的清理以及按照周期性調(diào)度 其它模塊的運(yùn)行。
(2)時(shí)間管理模塊。在控制器軟件中,維護(hù)一個(gè)與校時(shí)無關(guān)的時(shí)間計(jì)數(shù),系統(tǒng)根據(jù)這 個(gè)計(jì)數(shù)來進(jìn)行計(jì)時(shí)和調(diào)度。工作機(jī)和備份機(jī)之間通過校時(shí)使得絕對時(shí)間和計(jì)數(shù)都能保持一 致。
(3)通訊模塊。此模塊提供控制器軟件的網(wǎng)絡(luò)通訊功能,設(shè)計(jì)為具體網(wǎng)絡(luò)協(xié)議對上層 應(yīng)用即通訊服務(wù)模塊透明。同時(shí),通訊模塊應(yīng)該實(shí)現(xiàn)將網(wǎng)絡(luò)上的字節(jié)流封裝成具有特定功能 單元的數(shù)據(jù)包,及將具有特定功能單元的數(shù)據(jù)包轉(zhuǎn)換成網(wǎng)絡(luò)字節(jié)流,以供通訊服務(wù)模塊使用。
(4)通訊服務(wù)模塊。通訊服務(wù)模塊和通訊模塊密切相關(guān),是控制器軟件對外提供的服 務(wù)接口??刂破鬈浖x了一組標(biāo)準(zhǔn)的通訊服務(wù),外部只要按照規(guī)定的格式向控制器發(fā)送通 訊請求,控制器就會(huì)給出應(yīng)答或結(jié)果。通訊服務(wù)模塊實(shí)質(zhì)上是對通訊模塊所接收到的數(shù)據(jù)的 處理;并將處理結(jié)果交給通訊模塊發(fā)送。
(5)冗余模塊。冗余主要是涉及到工作機(jī)和備份機(jī)之間的通訊,采用網(wǎng)絡(luò)方式。主機(jī) 需要向從機(jī)傳送的數(shù)據(jù)主要包括:下裝文件、運(yùn)行數(shù)據(jù)、相關(guān)通訊服務(wù)命令等,另外工作機(jī) 和備份機(jī)之間的校時(shí)也通過冗余模塊完成。
(6)診斷模塊。診斷模塊負(fù)責(zé)檢測控制器運(yùn)行狀態(tài),并對出現(xiàn)及可能出現(xiàn)的異常狀態(tài) 進(jìn)行修正。
(7)錯(cuò)誤信息處理模塊??刂破鬈浖懈髂K通過此錯(cuò)誤信息處理模塊將各種錯(cuò)誤信 息記錄下來,通過通訊服務(wù),記錄的錯(cuò)誤信息可以被提取出來進(jìn)行分析,以便于分析、解決 出現(xiàn)的問題。
(8)狀態(tài)顯示模塊。狀態(tài)顯示模塊主要是負(fù)責(zé)按照要求控制控制器面板上顯示部件 LED
燈顯示相應(yīng)信息。
(9)掉電保護(hù)模塊。掉電保護(hù)模塊周期性地將重要數(shù)據(jù)保存,當(dāng)系統(tǒng)掉電重啟后,可 恢復(fù)運(yùn)行數(shù)據(jù)。本文中設(shè)計(jì)為周期性的將重要的運(yùn)行數(shù)據(jù)保存到 SRAM 中,保存完畢后, 設(shè)置掉電保護(hù)有效標(biāo)志;當(dāng)控制器重新啟動(dòng)后,檢查此標(biāo)志,若有效,則恢復(fù)運(yùn)行數(shù)據(jù)。
(10)數(shù)據(jù)交換模塊??刂破鬈浖同F(xiàn)場 IO 模件進(jìn)行數(shù)據(jù)交換:DP 主站從輸入模塊 收集輸入數(shù)據(jù)并發(fā)送給控制器,在 IEC 運(yùn)算后,控制器軟件將輸出數(shù)據(jù)發(fā)送給 DP 主站,
DP 主站將輸出數(shù)據(jù)分發(fā)給輸出設(shè)備。本文設(shè)計(jì)為 DP 主站將從現(xiàn)場智能設(shè)備收集的輸入數(shù) 據(jù)存放在雙口 RAM 中,然后控制器軟件從雙口 RAM 中獲得輸入數(shù)據(jù);控制器軟件將輸出 數(shù)據(jù)存放在雙口 RAM 中,然后 DP 主站從雙口 RAM 獲得輸出數(shù)據(jù),然后分發(fā)給現(xiàn)場智能設(shè)備。
(11)IEC 任務(wù)調(diào)度模塊。IEC 任務(wù)調(diào)度模塊負(fù)責(zé)對各種 IEC 任務(wù)進(jìn)行調(diào)度,包括周期 性任務(wù)、連續(xù)性任務(wù)、內(nèi)部事件任務(wù)和外部事件觸發(fā)的任務(wù)。IEC 任務(wù)調(diào)度模塊還要維護(hù)雙 機(jī)之間的同步,通過發(fā)送和應(yīng)答同步標(biāo)號(hào)保證雙機(jī)之間的 IEC 任務(wù)運(yùn)算的節(jié)拍一致。如果 同步失敗,工作機(jī)要向備份機(jī)拷貝運(yùn)行數(shù)據(jù),然后備份機(jī)重新運(yùn)行。
控制器軟件的代碼設(shè)計(jì)如下所示。
int main(int argc, c har *argv[])
{
/* General initialization */
/* Redundancy initialization */
/* Communication initialization */
/* DP initialization */
/* Power-safe initialization */
/* LED display initialization */
/* Diagnosis initialization */
while (1) {
/* Handle communication services */
/* LED display */
/* Collect bbbbb data from DP master*/
/* Schedule IEC tasks */
/* Deliver output data to DPmaster*/
/* Redundancy synchronization control*/
/* Diagnosis functions */
/* Possible delay */
}
/* Finalization */
}
        控制器軟件程序在啟動(dòng)后,對冗余模塊、通訊模塊、數(shù)據(jù)交換模塊、掉電保護(hù)模塊、狀態(tài)顯示模塊、診斷模塊進(jìn)行初始化;之后進(jìn)入 while 無限循環(huán)并周期性的調(diào)用或執(zhí)行通訊模 塊、狀態(tài)顯示模塊、數(shù)據(jù)交換模塊輸入部分、IEC 任務(wù)調(diào)度模塊、數(shù)據(jù)交換模塊輸出部分、 冗余同步模塊、診斷模塊、及可能的延時(shí);當(dāng)程序遇到意外情況需要終止時(shí)(如用戶發(fā)送Ctrl + C 中斷),程序進(jìn)入清理部分,釋放占用的資源,最后結(jié)束運(yùn)行。

5. 實(shí)驗(yàn)及結(jié)果分析
        經(jīng)過實(shí)驗(yàn)和對結(jié)果的分析,基于嵌入式 Linux 的嵌入式控制器具有較高性能,能滿足一 般甚至核電領(lǐng)域 DCS 系統(tǒng)中現(xiàn)場控制器的要求??刂破鬈浖邮詹⒄{(diào)度數(shù)個(gè)周期型 IEC 任 務(wù)(代碼和數(shù)據(jù)總大小分別小于 500KB 和 700KB)時(shí)控制周期可達(dá)到 50ms,并且滿足現(xiàn)場 控制器網(wǎng)絡(luò)負(fù)荷率小于 15%,系統(tǒng)總負(fù)荷率小于 40%等要求。
分析原因如下:
IXP425 具有強(qiáng)大的計(jì)算能力和集成的 NPE 具有非常強(qiáng)大的網(wǎng)絡(luò)處理能力[4]; 系統(tǒng)配備大量內(nèi)存(128MB),程序可快速運(yùn)行;
Linux 運(yùn)行于 IXP425 BIG ENDIAN 模式,網(wǎng)絡(luò)協(xié)議??梢詼p少一些轉(zhuǎn)化處理;
Linux 操作系統(tǒng)性能較好,控制器軟件采用模塊化設(shè)計(jì),并優(yōu)化代碼,具有較強(qiáng)處理能力。

點(diǎn)擊察看原圖



6. 總結(jié)
        本文分析了計(jì)算機(jī)集散控制器系統(tǒng)中現(xiàn)場控制器的在工業(yè)控制領(lǐng)域的重要性,并設(shè)計(jì)了 基于嵌入式 Linux 的現(xiàn)場控制器軟件系統(tǒng)。所設(shè)計(jì)出的系統(tǒng)高效、可靠,滿足一般甚至核電領(lǐng)域的工業(yè)控制要求?;谇度胧?Linux 的工業(yè)現(xiàn)場嵌入式控制系統(tǒng)必然有著更美好的前景。


參考文獻(xiàn)
[1] 徐雪松 章兢.嵌入式 Linux 在工業(yè)控制領(lǐng)域中的應(yīng)用.國際電子元器件,2004 年,03 期
[2] 宋威 周偉.集散控制系統(tǒng)應(yīng)用現(xiàn)狀及其發(fā)展.工業(yè)控制計(jì)算機(jī),2004 年,11 期
[3] 郭晨鮮 費(fèi)凌.基于嵌入式控制器及研發(fā)平臺(tái)的分析與研究.西華大學(xué)學(xué)報(bào),2005 年,04 期
[4] 張廣輝 徐江華 邵惠鶴.基于交換式以太網(wǎng)的嵌入式控制系統(tǒng).自動(dòng)化儀表,2008 年,06 期
Analysis and Design of bbbbbded Linux Based Field Control Station Software

作者:未知 點(diǎn)擊:730次 [打印] [關(guān)閉] [返回頂部]
本文標(biāo)簽:工業(yè)現(xiàn)場嵌入式控制器軟件的分析和設(shè)計(jì)
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報(bào)酬未能及時(shí)支付,在此深表歉意,請《工業(yè)現(xiàn)場嵌入式控制器軟件的分析和設(shè)計(jì)》相關(guān)權(quán)利人與機(jī)電之家網(wǎng)取得聯(lián)系。
電子樣本

SN系列樣冊
:鞏經(jīng)理
:13915946763
:南京塞姆泵業(yè)有限公司
個(gè)人求購

曾經(jīng)理 【求購】  定制酒店香...  2025-12-12
張瑜 【求購】  防靜電橡膠...  2025-12-12
劉強(qiáng) 【求購】  保溫板  2025-12-12
曹先生 【求購】  鎂合金  2025-12-12
趙經(jīng)理 【求購】  防火密封膠  2025-12-12
A 【求購】  鐵路接觸網(wǎng)...  2025-12-11
 【求購】  西門子ET...  2025-12-11
唐多 【求購】  DCS系統(tǒng)...  2025-12-11
VIP公司推薦