電磁流量計(jì)是隨著電子技術(shù)的發(fā)展而迅速發(fā)展起來(lái)的新型流量測(cè)量?jī)x表。由于不受溫度、黏度、壓力等物理參數(shù)的影響,因此電磁流量計(jì)具有管道中無(wú)任何阻力部件、節(jié)能效果顯著等諸多優(yōu)點(diǎn),受到了國(guó)內(nèi)外眾多廠商的青睞,現(xiàn)已發(fā)展成為工業(yè)用四大流量計(jì)之一。
目前,現(xiàn)有的電磁流量計(jì)一般都是以單片機(jī)為核心控制器,采用點(diǎn)陣式液晶顯示,小容量 EEPROM存儲(chǔ)數(shù)據(jù),其測(cè)量精度、人機(jī)操作、信息存儲(chǔ)等方面均存在著一定的局限性,已不能滿足實(shí)際工業(yè)生產(chǎn)中流量測(cè)量與控制的需要。為此,本文提出一種基于ARM- Linux嵌入式開(kāi)發(fā)平臺(tái),使用 MINIGUI開(kāi)發(fā)環(huán)境進(jìn)行圖形用戶界面graphical user interface,CUI)設(shè)計(jì)。該設(shè)計(jì)提供了友好的人機(jī)界面、大量數(shù)據(jù)存儲(chǔ)與管理以及網(wǎng)絡(luò)通信等功能,實(shí)現(xiàn)了電磁流量計(jì)的智能化、信息化與網(wǎng)絡(luò)化。
1.電磁流量計(jì)的總體設(shè)計(jì)
電磁流量計(jì)的總體結(jié)構(gòu)如圖1所示。流量計(jì)主要由流量測(cè)量單元、智能監(jiān)控終端和遠(yuǎn)程主機(jī)三部分組成。該儀表將嵌入式、數(shù)據(jù)庫(kù)、圖形開(kāi)發(fā)和網(wǎng)絡(luò)等技術(shù)集成到傳統(tǒng)的電磁流量計(jì)中,構(gòu)建了一個(gè)集流量測(cè)量、數(shù)據(jù)存儲(chǔ)與管理和遠(yuǎn)程監(jiān)控于一體的綜合系統(tǒng)。
流量測(cè)量單元包括激磁電路、流量信號(hào)處理電路和存儲(chǔ)器等模塊,主要完成對(duì)流量的高精度測(cè)量,并將處理后的數(shù)據(jù)信息通過(guò) Modbus總線傳輸?shù)街悄鼙O(jiān)控終端。智能監(jiān)控終端運(yùn)行基于LCD觸摸屏的現(xiàn)場(chǎng)監(jiān)控軟件,并對(duì)整個(gè)電磁流量計(jì)系統(tǒng)進(jìn)行現(xiàn)場(chǎng)實(shí)時(shí)監(jiān)控,實(shí)現(xiàn)儀表參數(shù)設(shè)定、串口設(shè)置、流量和電勢(shì)標(biāo)定等多種功能,且提供友好的人機(jī)界面、數(shù)據(jù)管理和網(wǎng)絡(luò)服務(wù)。
遠(yuǎn)程主機(jī)可以通過(guò)以太網(wǎng)登陸電磁流量計(jì)的遠(yuǎn)程監(jiān)控系統(tǒng),進(jìn)行流量信息的實(shí)時(shí)查看、數(shù)據(jù)査詢和用戶管理等操作。
2.智能監(jiān)控終端硬件設(shè)計(jì)
電磁流量計(jì)智能監(jiān)控終端的硬件系統(tǒng)以基于ARMI1內(nèi)核的S306410為核心處理器,包括電源模塊、存儲(chǔ)器模塊(64MB~2 GB Nand Flash和128MBSDRAM)、串行通信接口、10/100Mbit/s以太網(wǎng)口和
LCD液晶顯示屏等外圍接口。智能監(jiān)控終端硬件結(jié)構(gòu)如圖2所示。
智能監(jiān)控終端硬件設(shè)計(jì)主要包括控制模塊、存儲(chǔ)模塊和外圍接口模塊的設(shè)計(jì)。各模塊介紹如下。
①控制模塊采用S3C6410作為MCU。S3C6410是由 Samsung公司生產(chǎn)的低功耗、高集成度的32位RISC微處理器,它提供豐富的外圍模塊,集成有獨(dú)立的16kB指令緩存、16kB數(shù)據(jù)緩存、ICD控制器、4通道UART、2通道SPI和1通道IIC等功能,可以滿足電磁流量計(jì)智能監(jiān)控終端所需性能要求。
②存儲(chǔ)模塊選用 Samsung公司生產(chǎn)的 Nand Flash芯片K9F1208U0M作為存儲(chǔ)器,用于保存啟動(dòng)代碼、Linux鏡像文件、大容量程序和數(shù)據(jù)等;選用 Hynix公司生產(chǎn)的 SDRAM芯片HYS7V61620BT-H運(yùn)行程序、維護(hù)數(shù)據(jù)和堆棧區(qū),其單片容量為32MB。系統(tǒng)使用兩片HY57V561620BT-H構(gòu)成32位、64MB的 SDRAM存儲(chǔ)器系統(tǒng)。
③外圍接口模塊包含以太網(wǎng)接口、LCD液晶觸摸式顯示屏以及串行通信接口等。系統(tǒng)選用NEC公司生產(chǎn)的型號(hào)為NL2432HC22-22B的TFT真彩液晶屏作為顯示器,并在軟件上實(shí)現(xiàn)LCD的驅(qū)動(dòng)。S3C6410沒(méi)有集成以太網(wǎng)控制器,所以系統(tǒng)外接了以太網(wǎng)控制器DM9000A,實(shí)現(xiàn)以太網(wǎng)接入。在電路設(shè)計(jì)時(shí)需要完成DM900OA與S306410總線的連接,以及網(wǎng)絡(luò)隔離變壓器PHI63539和以太網(wǎng)水晶接頭RJ45的連接。
3.智能監(jiān)控終端軟件設(shè)計(jì)
電磁流量計(jì)智能監(jiān)控終端的軟件系統(tǒng)主要由4部分組成:硬件平臺(tái)、嵌入式操作系統(tǒng)、設(shè)備驅(qū)動(dòng)層和應(yīng)用軟件層。系統(tǒng)的軟件設(shè)計(jì)主要包括嵌人式開(kāi)發(fā)平臺(tái)的建立和應(yīng)用軟件的設(shè)計(jì),其軟件結(jié)構(gòu)如圖3所示。
3.1嵌入式開(kāi)發(fā)平臺(tái)的建立
系統(tǒng)選用嵌入式Linux操作系統(tǒng)作為智能監(jiān)控終端的軟件開(kāi)發(fā)平臺(tái),選用 MINIGUI 作為圖形用戶界面開(kāi)發(fā)環(huán)境。嵌人式Linux操作系統(tǒng)源碼開(kāi)放,可移植性好,可以根據(jù)用戶的需要進(jìn)行相應(yīng)的裁剪、定制,且具有強(qiáng)大的網(wǎng)絡(luò)通信功能。 MINIGUI具有可伸縮性強(qiáng)、占用資源少、可配置性和支持多種嵌入式操作系統(tǒng)等特點(diǎn),為嵌入式 Linux系統(tǒng)提供了完整的圖形系統(tǒng)支持。 MINIGUI的運(yùn)行需要一些動(dòng)態(tài)鏈接庫(kù)的支持,系統(tǒng)移植的庫(kù)文件主要有:Zlib庫(kù)、PNG庫(kù)、JPEG庫(kù)。要在目標(biāo)板上運(yùn)行 MINIGUI for Linux應(yīng)用程序,首先要使用PC宿主機(jī)對(duì) MINIGUI的源代碼進(jìn)行交又編譯,生成 MINIGUI靜態(tài)鏈接庫(kù)文件;然后 MINIGUI應(yīng)用程序在宿主機(jī)上進(jìn)行交又編譯,并且與 MINIGUI靜態(tài)鏈接庫(kù)和POSX線程庫(kù)鏈接生成,*.axf映象文件或*.bin二進(jìn)制文件;ZUI后將 MINIGUI應(yīng)用程序下載到目標(biāo)板并運(yùn)行。
3.2應(yīng)用軟件的設(shè)計(jì)
3.2.1數(shù)據(jù)管理模塊設(shè)計(jì)
系統(tǒng)采用 Sqlite數(shù)據(jù)庫(kù)對(duì)測(cè)量數(shù)據(jù)和報(bào)吝等記錄進(jìn)行存儲(chǔ)和管理。 Sqlite是 Hipp D R于2000年開(kāi)發(fā)的款輕型C庫(kù)實(shí)現(xiàn)的關(guān)系數(shù)據(jù)庫(kù),其設(shè)計(jì)目標(biāo)就是為嵌人式系統(tǒng)服務(wù),而且源代碼是完全公開(kāi)的。 Sqlite數(shù)據(jù)庫(kù)提供的API函數(shù)有多個(gè),系統(tǒng)使用到的函數(shù)有sqlite3_open()、 sqlite3_exe()、 sqlite3_get_ table()、sqlite3_ close()。當(dāng)用戶需要存儲(chǔ)和管理流量信息時(shí)只需構(gòu)造對(duì)應(yīng)的SQL語(yǔ)句即可。
3.2.2用戶界面操作模塊設(shè)計(jì)
在 MNIGUI開(kāi)發(fā)的人機(jī)交互界面中,用戶可以通過(guò)操作觸摸屏操控儀表。主界面的菜單欄中包含了登錄管理、參數(shù)設(shè)置、數(shù)據(jù)管理、儀表標(biāo)定、幫助和退出六個(gè)選項(xiàng),每個(gè)選項(xiàng)又包含若干子選項(xiàng)。用戶點(diǎn)擊相應(yīng)的彈出式菜單按鈕,可進(jìn)入相應(yīng)的子窗口執(zhí)行操作主菜單頁(yè)面中還顯示當(dāng)前的流量信息,包括流量、流速、百分比和空管比等測(cè)量值以及當(dāng)前儀表報(bào)警情況。
3.2.3串行通信模塊設(shè)計(jì)
系統(tǒng)采用 Modbus的RTU模式進(jìn)行信息傳輸,Modbus規(guī)定RTU模式中有效功能碼范圍為1-255,設(shè)計(jì)選擇67~71作為智能監(jiān)控終端(主機(jī))請(qǐng)求功能碼,196~199作為流量測(cè)量單元(從機(jī))回應(yīng)功能碼。智能監(jiān)控終端啟動(dòng)后,首先向從機(jī)發(fā)送功能碼為67的請(qǐng)求幀,獲取流量測(cè)量單元的儀表參數(shù),然后調(diào)用 check_ setting(),比對(duì)消息幀的參數(shù)和智能監(jiān)控終端的參數(shù)。比對(duì)相同時(shí),系統(tǒng)采用流量測(cè)量單元的參數(shù),否則,重新發(fā)送功能碼。監(jiān)控程序正常運(yùn)行時(shí),根據(jù)設(shè)定的時(shí)間間隔向流量測(cè)量單元發(fā)送流量數(shù)據(jù)和報(bào)警數(shù)據(jù)請(qǐng)求幀,如果在設(shè)定的通信時(shí)間內(nèi)沒(méi)有響應(yīng),則通信超時(shí),主機(jī)重新發(fā)送請(qǐng)求幀。當(dāng)用戶在智能監(jiān)控終端通過(guò)GUI完成儀表的參數(shù)設(shè)定或標(biāo)定設(shè)置后,智能監(jiān)控終端發(fā)送功能碼為70或71的消息幀,把參數(shù)發(fā)送到流量測(cè)量單元,監(jiān)控程序按設(shè)定的時(shí)間間隔讀取串口數(shù)據(jù),并調(diào)用 analysis_data()解析從機(jī)的應(yīng)答消息幀。解析時(shí),先獲得從機(jī)地址,然后判斷功能碼并采取不同的處理措施。解析流程圖如圖4所示。
3.2.4網(wǎng)絡(luò)服務(wù)模塊的設(shè)計(jì)
在 Linux下進(jìn)行網(wǎng)絡(luò)通信可以通過(guò)調(diào)用 Linux內(nèi)置的TCP/IP協(xié)議提供的 Socket套接字接口函數(shù)來(lái)實(shí)現(xiàn),常見(jiàn)的 Socket主要有三種類(lèi)型:流式 Socket、數(shù)據(jù)報(bào) Socket、原始 Socket。本系統(tǒng)選用流式 Socket,即采用C/S模式,將智能監(jiān)控終端構(gòu)建成通信服務(wù)器,以響應(yīng)監(jiān)控軟件的連接請(qǐng)求和操作。監(jiān)控軟件利用C++ Builder6為開(kāi)發(fā)平臺(tái),在通信中作為客戶端發(fā)起連接請(qǐng)求,監(jiān)控電磁流量計(jì)的運(yùn)行狀態(tài)。
系統(tǒng)運(yùn)行后,主進(jìn)程首先新建一個(gè)子進(jìn)程,隨后主進(jìn)程運(yùn)行 MINIGUI的圖形界面應(yīng)用程序,由該子進(jìn)程運(yùn)行 Socket通信服務(wù)器程序。為了支持多個(gè)客戶端同時(shí)訪問(wèn)本服務(wù)器,系統(tǒng)采用多進(jìn)程技術(shù),每接收到一個(gè)連接請(qǐng)求,系統(tǒng)即創(chuàng)建一個(gè)新的子進(jìn)程,由該進(jìn)程負(fù)責(zé)與客戶端的通信。
4.結(jié)束語(yǔ)
本文結(jié)合嵌入式、數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)和圖形開(kāi)發(fā)等技術(shù),設(shè)計(jì)了一種基于嵌入式技術(shù)的電磁流量計(jì)智能監(jiān)控終端。系統(tǒng)以高性能的S3C6410為核心處理器,以嵌入式 Linux操作系統(tǒng)為軟件開(kāi)發(fā)平臺(tái),具有可靠性高、人機(jī)界面友好、網(wǎng)絡(luò)功能強(qiáng)大等特點(diǎn),彌補(bǔ)了傳統(tǒng)電磁流量計(jì)監(jiān)控終端設(shè)計(jì)存在的局限性。目前,該系統(tǒng)已進(jìn)入產(chǎn)品測(cè)試階段,試驗(yàn)結(jié)果表明,監(jiān)控終端運(yùn)行穩(wěn)定、可靠,滿足了企業(yè)的需求,具有一定的實(shí)用價(jià)值和推廣價(jià)值。
上一條:
電磁流量計(jì)勵(lì)磁頻率對(duì)測(cè)量的影響
下一條:
現(xiàn)場(chǎng)總線智能電磁流量計(jì)轉(zhuǎn)換器的實(shí)現(xiàn)