【正文】
tc. In the end, the thesis analyzed the related models which needed to be improved and developed in the platform. Then, the future application of embedded system in industry control was prospected. This thesis provided us with a full description on the design and implementation of the embedded system software in industrial control, especially on Linux. It will be the guidance for research and development in embedded control system. Key words: embedded system。 綜觀嵌入式技術的發(fā)展,大致經歷了以下四個階段 : 第一階段是嵌入式系統(tǒng)的早期階段,是以功能簡單的專用計算機或單片機為核心的可編程控制器形式存在,具有監(jiān)測、伺服、指示設備等功能。 山東輕工業(yè)學院 2020 屆本科生畢業(yè)設計(論文) 4 第四階段是以芯片技術和基于 Inter 為標志的嵌入式系統(tǒng),這是一個正在迅速發(fā)展的階段。 ( 4) 嵌入式系統(tǒng)和具體應用有機地結合在一起,它的升級換代也是和具體產品同步進行,因此嵌入式系統(tǒng)產品一旦進入市場,具有較長的生命周期。針對這種情況,控 制系統(tǒng)開發(fā)工程師迫切需要一種集控制功能(如 PLC 功能)和 PC 功能于一身的產品,這種產品具備 PC 的特點:強大的處理器,豐富的軟件,優(yōu)秀的人機界面和足夠的存儲空間,同時也具有良好的實時性、可靠性和穩(wěn)定性。 平臺包括運行環(huán)境和開發(fā)環(huán)境兩部分。一個優(yōu)秀的開發(fā)人員需要了解嵌入式硬件、實時操作系統(tǒng)、編譯系統(tǒng)、網絡通信等等多方面的知識,這往往使得許多僅熟悉單片機或 FLC 的初學者因此望而卻步。顯然,使用這些軟件給工程技術人員帶來了很大的方便,但遺憾的是,這些軟件大多數都不是為嵌入式控制系統(tǒng)所設計的。在該平臺的支持下,用戶可以將開發(fā)重點集中到具體的控制系統(tǒng)應用上,而諸如系統(tǒng)的軟件架構設計、實時性保證、通用的控制系統(tǒng)軟件如網絡通信、控制算法等復雜而繁瑣的軟件 工作則交由平臺完成。需要注意的是,實時軟件與非實時軟件之間也存在通信問題和數據同步等問題,因此在實現雙方可靠通信的同時,又要確保實時軟件的實時性,這對于總體設計 來說 將 十分重要,難度也很大。因此,平臺采用并行化掃描的方式,即允許多任務同時對 I/O 量進行掃描,分別進行處理,從而提高系統(tǒng)效率。另外,硬件驅動程序還包括對設備的初始化,寄存器的讀寫等操作,這些與標準操作系統(tǒng)設備驅動是相同的。 ( 7)軟 PLC 類似于標準 PLC 的功能,支持對 I/O 數據的循環(huán)掃描和用戶程序控制,同時提供類似標準 PLC 的可編程方式。完整的開發(fā)環(huán)境包括如下軟件 : ( 1)平臺定制軟件 該軟件用于配置嵌入式實時操作系統(tǒng)以及控制系統(tǒng)軟件平臺 組件 ,用戶可以根據實際的需求選擇必要的軟件進行組合。 典型的驅動程序設計主要包括如 下 部分 : ( 1)初始化 : 在初始化程序中,驅動程序將完成查找硬件、初始化硬 件等功能,并向系統(tǒng)注冊相應的接口。這可以采用 同 步提交或異步提交的方式。 ( 2)實時系統(tǒng)中的許多任務都有顯式定時限制,要求在規(guī)定的時刻或一定的時間范圍內完成其處理,系統(tǒng)的正確性不僅依賴于任務的邏輯結果,而且依賴于該邏輯結果所產生的時間。 嵌入式操作系統(tǒng)并不一定是實時的,如 WindowsCE,現在比較流行的嵌入式 Linux 的大多數版本也都不是實時的,因為它們最初都是按分時系統(tǒng)設計的,即使作為嵌入 式的應用也無法實現真正的實時性 。 ( 4)時間精度及定時器問題 Linux 系統(tǒng)缺少細粒度和多模式的定時器, Linux 一般提供周期為 100Hz 的定時中斷,因此其時間精度最高即為 10ms,這無法滿足對時間精度要求苛刻的實時應用。在RTLinux 中,實時任務的運行和中斷的處理都與原 Linux 并存于同一臺計算機上,它們可以在任何需要的時候獲得處理機,而不必理會當時 Linux 正在做什么。 Linux 等于被“欺騙”,這樣 Linux 就不能真正地禁止硬件中斷。它們一般都提供了實時性較好的內核、多種任務通信機制、基于 TCP/IP 的網絡組件、文件管理及 I/O 服務,提供了集編輯、編譯、調試、仿真為一體的集成開發(fā)環(huán)境,支持用戶使用 C、 C++等編程語言進行應用程序的開發(fā)。軟 PLC 的運行環(huán)境是軟 PLC 的核心,完成輸入處理、程序執(zhí)行、輸出處理等工作,通 常由 I/O 接口、通信接口、系統(tǒng)管理器、錯誤管理器、調試內核和編譯器組成。 (2)軟 PLC運行系統(tǒng):這一部分是軟 PLC的核心,完成輸入處理、程序執(zhí)行、輸出處理等工作。嵌入式軟 PLC是嵌入式系統(tǒng)和軟 PLC在工業(yè)控制中介和發(fā)展的必然產物。 ( 1) OpenGUI OpenGUI在 Linux系統(tǒng)上存在已經很長時間了。但由于 Qt/Embedded 的結構過于復雜,所以很難進行系統(tǒng)裁剪、擴充、定制和移植,對系統(tǒng)要求比較高。其中,開發(fā)環(huán)境位于宿主機,運行環(huán)境位于目標機 ,其總體結構如圖 25所示 : 圖 25人機界面組態(tài)軟件結構圖 組態(tài)界面編輯器 系統(tǒng)內質資源庫 用戶代碼 組態(tài)描述文件 系統(tǒng)資源配置 編譯連接程序 目標機資源庫 組態(tài)執(zhí)行環(huán)境 界面元素管理 數據庫管理 消息管理 解析器 通信管理 操作系統(tǒng) /圖形界面 實時數據管理與通信平臺 山東輕工業(yè)學院 2020 屆本科生畢業(yè)設計(論文) 20 本章詳細討淪了整個嵌入式控制系統(tǒng)軟件平臺的總體設計思想和軟件架構,并針 對 其某些關鍵的組成部分提出了其各自的軟件結構及相關設計方案。 MiniGUIThreads是 MiniGUI 的最初版本,所有的應用程序都運行在同一個地址空間,這大大提高了程序之間的通訊效率,但這種基于線程的結構也導致了系統(tǒng)整體的脆弱 —— 如果某個線程因為非法的數據訪問而終止運行,則整個進程都將受到影響。 ( 2) MicroWindows MicroWindows是一個開放源碼的項目,目前由美國 Century Software公司主 持開發(fā)。這就需要一個好的人機界面系統(tǒng)來支持。這樣的結構,在開發(fā)系統(tǒng)下可充分利用 PC機豐富的資源,有效提高開發(fā)效率。 ( 3) Wonderware 公司的 InControl Wonderware 公司的 InControl 支持 LD、 SFC、 ST 三種編程語言,開發(fā)環(huán)境集成化,編程簡單,每個程序以文件形式進行管理。因此,在嵌入式實時操 作系統(tǒng)領域,以開放源碼為代表的 Linux 操作系統(tǒng)逐漸引起了人們的廣泛關注,越來越多的系統(tǒng)采用嵌入式 Linux 操作系統(tǒng),本系統(tǒng)也采用嵌入式 Linux 實時操作系統(tǒng) (RTAI)。這樣可以把對內核源碼的改動降低到可以控制的程度,其優(yōu)點是可以避免 RTLinux 對內核源碼改動過大的問題,減少移植新版 Linux 的工作量。事實上, Linux 被當作實時系統(tǒng)的空閑任務,也就是說,只有當系統(tǒng)中沒有任何實時任務需要運行的時候,才來運行它??v觀這些方案,總的說來,可以分類兩類:一類是直接在 Linux 內核上進行改造,以提高其實時性,我們稱之為單內核的解決方案;另一類是建立一個實時內核與 Linux 內核并存,我們稱之為雙內核方案。由于 Linux 操 作系統(tǒng)在內核級是不可搶占的,對于非實時系統(tǒng)可以帶來更多方便,但對于實時系統(tǒng)則造成任務切換延遲的不確定性。不僅如此,實時操作系統(tǒng)還是一個標準的內核,將 CPU 時間、中斷、 I/O、定時器等資源都包裝起來,留給用戶一個標準的 API 接口,并根據各個任務的優(yōu)先級,合理地在不同任務之間分配 CPU 時間。因此,對于不支持主動模式的驅動程序來說,上層應用采集數據時實時數據管理程序應通知驅動程序提供最新數據, 嵌入式實時操作系統(tǒng) 實時操作系統(tǒng) (RTOS)是具有實時特性,能管理控制實時系統(tǒng)有效工作的操作系統(tǒng)。 ( 3) 通信接口 : 根據控制系統(tǒng)的通信要求,驅動程序可以有如下通信方式 : 1)直接讀取數據 實時數據管理平臺直接向驅動程序發(fā)送請求以獲取實時數據。在這一節(jié)里將就 整 個平臺中的一些關鍵性的軟件進行分析,并給出相應的設計方案和軟件架構。因此,網絡通信模塊主要功能是,一方面與實時數據管理模塊進行通信,另一方面通過網絡硬件驅動程序與網 絡適配器進行通信。 ( 5)實時數據庫管理與通信 實時數據庫管理與 通信是平臺中很重要的模塊,管理著全局 I/O 數據,上層用戶應用程序 圖形庫與運行環(huán)境 人機界面組態(tài) 實時數據庫管理與通信 軟 PLC 網絡通信 嵌入式實時操作系統(tǒng) 硬件驅動程序 嵌入式硬件平臺 控制算法 山東輕工業(yè)學院 2020 屆本科生畢業(yè)設計(論文) 10 控制系統(tǒng)軟件如人機界面軟 PLC、控制算法等,將從該模塊中獲取實時數據,并通過該模塊更新實時數據。 山東輕工業(yè)學院 2020 屆本科生畢業(yè)設計(論文) 9 圖 21 嵌入式控制系統(tǒng)軟件平臺總體框架 由圖 21 可知,嵌入式控制系統(tǒng)軟件平臺主要包括以下部分 ( 1)嵌入式硬件 平臺