產品分類

      當前位置: 首頁 > 工業電氣產品 > 端子與連接器 > 線路板連接器

      類型分類:
      科普知識
      數據分類:
      線路板連接器

      基于MiniGUI的機車顯示終端圖形用戶界面研究

      發布日期:2022-04-27 點擊率:55 品牌:恩艾_NI

      摘要:為解決當前基于DOS的機車顯示終端圖形用戶界面開發難度大和工作量大的問題,本文研究了基于MiniGUI的機車顯示終端的整體設計,重點分析了MiniGUI的裁減、移植以及基于MiniGUI的顯示終端圖形用戶界面的開發。
      關鍵詞:MiniGUI;顯示終端;Linux;圖形用戶界面

      機車顯示終端是機車乘務員與機車設備之間進行人機信息交互的主要設備。在實際運用中,顯示終端將機車的行車安全信息、故障信息和設備狀態等反映給乘務員,以便有效地指導乘務員操作,確保機車安全,減小機車故障的影響。

      機車顯示終端用戶界面是機車乘務員與機車顯示終端相互交流信息的主要方式。機車乘務員對機車顯示終端的關鍵技術并不熟悉,所以要求顯示終端用戶界面必須直觀、認讀性好,且與乘務員交互性好。目前我國的機車顯示終端大多采用DOS操作系統。為了使用圖形界面,開發工作必須從底層開始,難度和工作量都很大。

      MiniGUI是一個自由軟件項目,其目標是為基于Linux的實時嵌入式系統提供一個輕量級的圖形用戶界面支持系統。免費的MiniGUI庫文件和資源文件等可以從因特網上下載。在本文中,作者下載到的是其1.3.3版本。利用MiniGUI技術,本文研究并開發出以嵌入式Linux為操作系統的機車顯示終端的圖形用戶界面。

      系統整體設計方案

      顯示終端硬件設計

      機車車載顯示終端硬件主要由研華科技PCM-9372型號的PC/104主板作為硬件平臺核心,其CPU為VIA Eden系列的處理器,與x86體系完全兼容。機車顯示終端顯示器選用SHARP公司的10寸彩色TFT液晶顯示屏。

      顯示終端軟件設計

      機車顯示終端軟件主要由嵌入式Linux和MiniGUI構成,并需要對Linux進行裁減并移植到機車顯示終端的硬件平臺上。機車顯示終端圖形用戶界面程序以及有關應用程序的開發則基于MiniGUI完成。機車顯示終端軟件結構如圖1所示。


      圖1 機車顯示終端軟件結構圖

      MiniGUI的裁減與移植

      在開發主機上進行MiniGUI的配置、編譯和安裝之后,MiniGUI的體積大小為10M左右,對于嵌入式系統來說,這個體積過于龐大,必須對其進行裁減。MiniGUI的裁減工作可利用編譯選項和修改配置文件來完成。最終,其體積可裁減到2M,滿足機車顯示終端嵌入式系統的要求。裁減工作具體做法如下:

      (1)在編譯libminigui時,使用如下配置選項:

      ./configure
      --disable-static ;不支持靜態鏈接庫
      --disable-lite;編譯成thread版本
      --disable-debug ;在應用程序調試成功后,不支持調試信息
      --disable-tracemsg ;不支持跟蹤信息
      --enable -flatstyle;支持平面窗口,而不是3D窗口
      --disable-svgalib
      ;不支持svgalib引擎
      --disable-libggi
      ;不支持libggi引擎
      --enable-fblin
      ;16支持16bpp的FrameBuffer引擎
      --enable -nativeial
      ;支持本地ial

      這樣,編譯Libminigui時僅僅生成動態鏈接庫,MiniGUI體積也就大大減小。

      (2)修改/usr/local/etc/MiniGUI.cfg配置文件

      MiniGUI.cfg中可供裁減的內容包括systemfont、truetypefonts、cursorinfo、iconinfo、bitmapinfo以及imeinfo等選項。

      在裁減完成后,需要將以下文件拷貝到目標機存儲器的相應位置:

      ①MiniGUI的函數庫,包括libminigui、libmywins和libmgext等,還包括其他的應用程序函數庫等。
      ②MiniCUI的配置文件,即/usr/local/etc/MiniGUI.cfg文件。
      ③MiniGUI所使用的資源文件,即usr/local/lib/minigui/res。
      這樣,就將裁減后的文件移植到目標機上。

      基于MiniGUI的圖形用戶界面設計與開發

      機車車載顯示終端的圖形用戶界面主要完成數據的顯示、查詢和用戶輸入等功能,在設計上要求簡單實用、操作方便。

      MiniGUI是一種基于線程的窗口系統,界面控制線程和應用邏輯可以用不同的線程來完成,且線程相互之間通過消息來完成數據傳遞。MiniGUI使用消息驅動作為應用程序的創建架構,主窗口可以單獨屬于一個線程,也可以附屬于其它主窗口。

      本文將機車車載顯示終端正常狀態下的顯示界面設定為主窗口,MiniGUI為每個主窗口建立單獨的消息隊列,在該主窗口基礎上派生出的其它主窗口、對話框及其控件均使用同一消息隊列。在主函數MiniGUIMain中創建并顯示主窗口,同時建立窗口結構與窗口過程的聯系,然后從窗口管理器中獲取、翻譯并分發消息,而窗口過程則負責處理各個窗口的消息。消息可以有許多種類型,不同類型的消息可以完成不同的處理,如MSG_PAINT消息的處理通常用來繪制窗口,而MSG_CLOSE消息的處理則用來完成應用的結束。需要說明的是,也可以在MiniGUIMain函數中建立其它應用線程。綜合上述過程,得出主界面設計流程圖如圖2所示。


      圖2 主界面設計流程圖

      設計完成的顯示終端主界面如圖3所示。


      圖3 機車車載顯示終端主界面

      在主界面中可以實現的工作主要包括:

      (1) 刷新數據顯示:需要刷新的數據包括速度、限速、信號機編號和類型、距信號機距離、時間等;
      (2) 刷新狀態指示顯示:包括當前色燈以及屏幕右邊的各種狀態指示;
      (3) 刷新圖形顯示:根據當前的數據,畫出前方4km和后方1km的速度、限速曲線以及平縱斷面和道橋隧等。
      (4) 機車位置顯示:主界面左側約1/5處有一條垂直分割線,表示此處為當前機車位置。機車由一個藍色圖標表示。

      其它圖形用戶界面設計中,主要利用面向對象的方法,采用對話框模板來進行界面編程。該模板中定義了對話框本身的一些屬性,比如位置和大小,同時還定義了對話框中所有控件的初始信息,包括位置、大小、風格等。

      結語

      本文給出了機車顯示終端的總體設計方案,針對目前基于DOS的機車顯示終端圖形用戶界面開發難度大的狀況,研究并開發了基于MiniGUI的機車顯示終端圖形用戶界面,為新一代的機車顯示終端軟件開發提供了一種新思路和技術嘗試。

      參考文獻
      1. 劉剛.基于MiniGUI的嵌入式瀏覽器的研究與開發.華中科技大學碩士學位論文. 2005
      2. http://www.minigui.com
      3.谷豐.基于Linux的機車顯示系統平臺的設計.機車電傳動,2005,1
      4.魏永明.MiniGUI編程手冊.北京飛漫軟件有限公司,2003
      5.魏永明.面向實時嵌入式系統的圖形用戶界面支持系統----MiniGUI編譯、安裝和配置.http://www.cn.ibm.com/developerWorks/Linux/

      下一篇: PLC、DCS、FCS三大控

      上一篇: 索爾維全系列Solef?PV

      推薦產品

      更多
      主站蜘蛛池模板: 色偷偷一区二区无码视频| 久久久久人妻一区二区三区vr| 搜日本一区二区三区免费高清视频| 内射少妇一区27P| 人妻无码久久一区二区三区免费 | 无码毛片视频一区二区本码| 日本一区二区三区久久| 69福利视频一区二区| 亚洲中文字幕丝袜制服一区| 怡红院AV一区二区三区| 亚洲国产美女福利直播秀一区二区| 国模无码视频一区| 精品成人乱色一区二区| 亚洲AV无码一区二区三区DV| 中文字幕在线视频一区| 一区二区三区电影网| 精品一区二区久久久久久久网精| 末成年女AV片一区二区| 色国产精品一区在线观看| 成人日韩熟女高清视频一区| 日韩一区二区三区在线观看 | 激情内射日本一区二区三区| 国产一区二区在线观看视频| 久久青青草原一区二区| 国产日韩一区二区三区在线播放| 无码人妻久久一区二区三区| 日本不卡一区二区三区| 成人免费区一区二区三区| 国产精品乱码一区二区三区| 一区二区网站在线观看| 亚洲成人一区二区| 国产成人综合精品一区| 中文字幕一区视频一线| 国产精华液一区二区区别大吗| 国精品无码一区二区三区在线蜜臀| 久久久精品日本一区二区三区| 国产精品亚洲产品一区二区三区| 中文字幕精品无码一区二区| 国产一区二区三区在线2021| 无码精品视频一区二区三区| 亚洲狠狠狠一区二区三区|