基于 ARM 和 Linux 通用工控平臺設計與實現(xiàn)
1 移植MiniGUI前準備
MiniGUI 1.3.3是MiniGUI的開源版本,并且資源豐富,性能穩(wěn)定,因此選用MiniGUI 1.3.3作為GUI的開發(fā)環(huán)境。進行MiniGUI移植需要準備表3所列的文件,它們可在互聯(lián)網(wǎng)上獲得。本文引用地址:http://butianyuan.cn/article/161879.htm
2 PC模擬器開發(fā)環(huán)境搭建
建立自己的開發(fā)目錄,解壓文件libminigui-1.3.3.tar.gz和minigui-res-1.3.3.tar.gz;編譯安裝MiniGUI運行所需庫文件libminigui;安裝資源文件minigui-res-1.3.3;修改/etc/ld.so.conf 文件,加入一行/usr/local/lib,然后執(zhí)行[root]# ldconfig 按照硬件平臺配置與開發(fā)環(huán)境的設置修改minigui配置文件,包括修改路徑,屏幕分辨率等。
PC模擬器開發(fā)環(huán)境搭建完畢后,就可在 PC上開發(fā)應用程序,在 qvfb中執(zhí)行,驗證程序的正確后,就可以進行交叉編譯下載運行。
3 交叉編譯Minigui1.3.3
解壓arm-Linux-2.95.3.bz2文件安裝交叉編譯工具?cross-2.95.3,安裝之后修改.bashrc腳本,設置環(huán)境變量:PATH=$PATH:/sbin:/usr/local/arm/2.95.3/bin:/usr/local/bin:/usr/local。
接下來依次安裝 zlib庫,png庫、libttf庫,它們的作用分別是:其他的庫的編譯基礎、顯示PNG圖形、顯示文字。完成以上附加庫的交叉編譯工作后就可以編譯libminigui了。把/usr/local/arm/2.95.3/arm-Linux/lib中相應的庫拷到目標板/usr/lib目錄下,拷貝時先對庫文件執(zhí)行arm-Linux-strip命令,去除文件中的調(diào)試信息。同時把資源文件復制到目標平臺的/usr/local/lib目錄下。這樣就完成了交叉編譯工作,可以將PC上調(diào)試好的應用程序下載到目標硬件平臺下進行應用了。
通用工控平臺人機界面開發(fā)
1 人機交互界面需求分析及總體設計
通用工控平臺通信人機交互界面是集功能演示、信息采集、設備狀態(tài)、通信交互等功能于一身的人機交互平臺,可以高效、直觀的顯示通用工控平臺的基本信息,同時有效的指導用戶的操作,提高使用效率,是用戶和通用工控平臺交互的主要方式。
該人機交互界面顯示器選用PHILIPS公司的14英寸彩色顯示屏,軟件運行環(huán)境選用嵌入式操作系統(tǒng)Linux 2.6.21和GUI開發(fā)環(huán)境MiniGUI 1.3.3構(gòu)成,整個軟件的設計過程需要完成以下功能:
(1) 實時顯示該平臺具體信息,及本網(wǎng)內(nèi)在線的其他工控設備的信息;
(2) 以該平臺為控制器實現(xiàn)對本網(wǎng)內(nèi)在線的其他常見設備的多線程信息采集與控制;
(3) 以UDP及RS485兩種通信方式實時控制工控網(wǎng)絡內(nèi)部;
(4) 對工控設備掉線自動斷開連接,防止用戶誤操作;
通用工控平臺通信人機交互界面主要是針對UDP和RS485兩種組網(wǎng)方式基于Modbus協(xié)議完成工控系統(tǒng)中功能演示、信息采集、設備狀態(tài)、通信交互的功能,設計上要求簡單實用,操作方便,而復雜的界面會帶來不必要的開銷并影響性能。根據(jù)需求分析設定人機交互界面整體設計方案及效果圖如圖3、圖4所示。
圖3 人機交互界面整體設計方案
圖4 總體效果圖
2 界面設計流程
利用MiniGUI進行界面設計流程如圖5所示。
圖5 界面設計流程
基于工業(yè)測控Modbuss協(xié)議的通信實現(xiàn)方案
一個好的工控平臺必須具備高效通信的功能,才能跟上工業(yè)發(fā)展的要求。本文所設計的通用工控平臺,可以作為控制中心對通信網(wǎng)絡內(nèi)的其他設備進行數(shù)據(jù)采集和控制,包括工控現(xiàn)場典型意義上的數(shù)模轉(zhuǎn)換設備,模數(shù)轉(zhuǎn)換設備,數(shù)字量設備等,隨時掌握各個工作現(xiàn)場的情況。由于Modbus協(xié)議是工業(yè)測控領域的標準通信協(xié)議,協(xié)議簡單,應用廣泛,因此本平臺通信軟件的設計就采用Modbus協(xié)議。
工業(yè)測控領域常見的組網(wǎng)方式主要有UDP方式和RS485方式,分別以自身獨特的優(yōu)勢在工業(yè)組網(wǎng)占據(jù)著一定地位。為實現(xiàn)工控平臺通用性的設計目標,本平臺將兩種組網(wǎng)方式融合在通信人機交互界面中,圖6為本平臺通信的拓撲結(jié)構(gòu)圖。
圖6 通信拓撲結(jié)構(gòu)
結(jié)語
在基于ARM和Linux的通用工控平臺的研制過程中,硬件平臺選擇合適的ARM微處理器AT91RM9200,并對其外圍部件進行擴展,以適應當前工控現(xiàn)場更加豐富的技術要求,并結(jié)合現(xiàn)場總線技術,擴展多種通信接口,滿足用戶的通信需求;軟件平臺采用嵌入式領域應用最廣的Linux為操作系統(tǒng),同時構(gòu)建交叉編譯環(huán)境,并充分利用開源軟件,基于圖形界面開發(fā)的MiniGUI,針對工控領域的總線協(xié)議Modbus設計出基于UDP和RS485兩種通信結(jié)構(gòu)的工控人機交互界面,實現(xiàn)了以網(wǎng)絡溝通能力強、接口豐富為技術指標的基于ARM和Linux的通用工控平臺。
本通用工控平臺的主要特色有:
(1)硬件接口豐富,適應工業(yè)測控領域各種需求;
(2)使用3U插槽,增強通用性及擴展性;
(3)基于Linux操作系統(tǒng)及MiniGUI圖形界面開發(fā)環(huán)境,人機交互界面友好便捷;
(4)采用工業(yè)測控Modbus通信協(xié)議,基于串行RS485及網(wǎng)絡UDP構(gòu)建通信拓撲結(jié)構(gòu),應用范圍廣泛、性能可靠、實時性高。
評論