《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > 網絡儀表數據實時監測功能的實現

網絡儀表數據實時監測功能的實現

2008-02-22
作者:李振宇

摘 要:通過CGI和Flash動態交互技術實現網絡儀表" title="網絡儀表">網絡儀表數據遠程實時監測" title="實時監測">實時監測的方案。描述了系統的設計框架和儀表的硬件組成,移植了ARM-Linux" title="ARM-Linux">ARM-Linux操作系統,選取Boa作為嵌入式Web Server,通過編寫CGI程序并結合Flash無狀態機制實現了遠程監測功能。
關鍵詞:網絡儀表? ARM-Linux? 嵌入式Web Server? CGI? Flash

?

??? 網絡儀表是由指針式儀表、數字儀表、智能儀表發展起來的新一代儀表,它可以實現遠程調試、診斷、數據采集和實時監測,從而提高生產效率和管理水平,并最有效地發揮設備功能[1]
  在實時性要求較高的電力參數" title="電力參數">電力參數測控系統中,為了保證觀測的實時性,以往的處理方法是通過JavaScript或瀏覽器支持的語言定時刷新頁面,但這樣會導致瀏覽器端所顯示的儀表數據不停閃動變換,令觀測者無法接受;而用HTML只能直白的顯示數據,無法動態描繪波形。怎樣既能解決刷新問題,又能通過動態波形描繪儀表數據?通過將CGI與Shock Wave Flash相結合,可以實現儀表數據在瀏覽器上的實時刷新和波形動態描繪,使人機界面更加友好,數據顯示更加直觀,能成功地實現遠程監測儀表數據的目的。
1 網絡儀表數據實時監測系統結構
 ? 系統主要由現場傳感器、網絡儀表和遠程監控端三部分組成。現場傳感器采集待檢測對象的信息并傳送給網絡儀表。網絡儀表以Web Server為核心,接收現場傳感器傳遞來的數據,并通過RJ45網絡接口連接到Internet。遠程監控端可以通過瀏覽器直接訪問網絡儀表服務器,且允許多點訪問,實時監測現場數據,并可以修改參數,對儀表進行相應的調試、校正[2]。系統結構如圖1所示。

?

?


2? 網絡儀表的硬件組成
  一個完整的網絡儀表硬件系統以具有Web通信功能的嵌入式微處理器為核心,處理器選用16/32-bit RISC、高性價比、低功耗、集成度高的Samsung S3C2410,該芯片采用203MHz的ARM920T內核。外圍的16MB的Flash用來存儲實時操作系統內核、TCP/IP協議棧、CGI程序和Web文檔;SDRAM供系統運行時使用;以太網接口實現與Internet/Intranet連接。其核心硬件組成如圖2所示。

?


  該網絡儀表是針對電力變電站的電力參數測量而設計。主控芯片S3C2410集成了一個8路10位A/D轉換器,在2.5MHz轉換時鐘下其最大轉換率為500KSPS,非線性度為正負1位。現場傳感器采集的多路信息通過A/D轉換器將數字量傳遞給主控芯片,可實現電力參數的多通道測量[3]
3 網絡儀表的軟件層及關鍵技術
  儀表軟件層根據功能可分為現場儀表數據采集處理和遠程顯示兩部分。現場儀表軟件層采用ARM-Linux操作系統下的Boa作為儀表的Web Server,建立基于B/S模式的網絡結構,來實現遠程網絡監測功能。
3.1 ARM-Linux操作系統
  為了降低成本,選用開放源代碼的ARM-Linux操作系統,主要包括交叉編譯" title="交叉編譯">交叉編譯工具鏈的安裝和內核的編譯兩部分內容。
3.1.1 安裝交叉編譯工具鏈
  交叉編譯工具鏈是整個網絡儀表軟件系統開發和移植的基礎工具,其正確安裝可以加快系統開發的速度。主要命令如下:
   mkdir –p /usr/local/arm
  ?tar jxvf cross-2.95.3.tar.bz2
  ?mv 2.95.3 /usr/local/arm
  ?export PATH=$PATH:/usr/local/arm/2.95.3/bin
3.1.2 編譯ARM-Linux內核
???? 內核的編譯主要包括配置內核、編譯內核、產生內核映像文件三步[4]。命令如下:
???? ?make menuconfig
???? ?make dep
???? ?make zImage
3.2 Web Server的選擇和移植
  因為儀表采集的數據需要在遠程計算機上瀏覽,必須移植相應的Web Server才能實現該功能。在ARM-Linux下主要有三個Web Server:Boa、httpd和thttpd。Boa是一個單線程的HTTP服務器,它不同于其他傳統的Web服務器,不為每個連接創建一個進程,只有當CGI程序運行時才創建一個新的進程。另外,Boa體積非常小,通常只有幾十KB,非常適合于嵌入式系統中使用。因此通過移植Boa來實現網絡儀表遠程測控功能[5]。在移植過程中,需要注意以下幾點:
??? (1)交叉編譯工具的選擇
  Boa使用configure配置完成后,以arm-linux-gcc作為交叉編譯工具。
??? (2)ServerRoot的定義
  在編譯Boa之前,通過修改defines.h文件來指定boa.conf所在的路徑。
??? (3)boa.conf和MIME.types的配置
  為使Web Server正常運行,必須對boa.conf和MIME.types文件進行配置,主要是指定相應的端口、服務器名稱、錯誤日志文件存放的目錄(必須為可讀寫)、HTML及CGI文件路徑。
3.3 CGI結合Flash的動態實現機理
  CGI(Common Gateway Interface)的工作流程是瀏覽器將用戶輸入的數據傳遞給服務器,Web Server根據接收到的數據設置環境變量,并新開一子進程來執行CGI腳本。CGI腳本從環境變量中讀取數據,然后使用STDOUT輸出HTML形式的結果文件,顯示給遠程瀏覽器端用戶[6]。工作流程如圖3所示。

?


  Flash是Macromedia公司出品的用于瀏覽器上動態顯示且可互動的一種Active控件。因為Flash是一種完全由程序來描述且區別于點陣圖的矢量控件,所以體積特別小,可輕松移植到嵌入式設備中,滿足嵌入式開發的小型化需求。此外,Flash內嵌了一種強大的面向對象編程語言ActionScript,開發動態控件變得異常簡單,并可用Loadvariables(url, target, method)方法接收外部變量,實現Flash的無狀態刷新和無狀態響應機制[7]。Flash向Boa服務器發送請求并調用CGI程序源代碼如下:
??? if(strcmp(getenv('REQUEST_METHOD'),'POST'))?
????//getenv()用來取得環境變量的內容
??? {?
? ???? cl = atoi(getenv('CONTENT_LENGTH'));?
 ???? for(x=0;cl && (!feof(stdin));x++)
??? //feof檢查文件流是否到達文件尾
 ???? {
???? ??m=x;
???? ??entries[x].val = fmakeword(stdin,'&',&cl);
???? ??plustospace(entries[x].val);
???? ??unescape_url(entries[x].val);
???? ??entries[x].name = makeword(entries[x].
???? ?val,'=');
?? ??? }
????? }
4 遠程儀表數據動態顯示的實現
  動態功能通過Flash每秒自動向Boa服務器發送請求,CGI程序接受請求后,通過設置ADCCON模數轉換控制寄存器,啟動轉換器,讀取實時采集的數據,同時指定相應轉換通道,當A/D轉換結束后,讀取ADCDAT模數轉換數據寄存器的內容,然后再將結果以固定的字符串格式發送給Flash[8]。電力參數顯示結果如圖4所示。

?


??? 由于Flash的無狀態刷新和無狀態響應機制,可以無需刷新瀏覽器就實時讀取儀表數據,同時借助Flash強大的動態繪圖功能,可以實時地接受CGI發送過來的數據,并轉換成波形動態描繪出來,創新性地實現了數據在瀏覽器上的實時刷新和動態描繪,達到了網絡儀表數據遠程實時監測的目的。
  基于網絡儀表的電力參數測量都是以傳統的靜態HTML頁面刷新機制來實現實時監測功能的。這一機制用于顯示需要動態刷新的數據點時存在閃爍缺陷。本文基于動態Web技術,通過編寫Flash程序來無刷新請求CGI,合理地解決了上述缺陷,節約了開發成本,是一種全新的軟件系統構造技術。
參考文獻
[1] ?麥偉明,金肇光.網絡儀表的原理及其在電力變電站的應用[J].電機電器技術,2004,(4):41-43.
[2] ?吳鋒,李成鐵,何風行等.基于Web技術的遠程監控系統研究[J]. 儀器儀表學報,2005,26(8):241-243.
[3] ?李正軍,楊洪軍,宋曉慶.新型電力網絡儀表的諧波測量方法與實現[J].電力系統及其自動化學報, 2006,18(3):28-33.
[4] ?李長明. 基于ARM和Linux嵌入式系統的軟件開發.工業控制計算機,2006,19(3):47-51.
[5]? 駱懿,章堅武.嵌入式Linux Webserver軟件BOA實現與應用[J].杭州電子工業學院學報,2004,24(1):52-55.
[6] ?王磊, 姚成虎. 如何實際構造嵌入式Web?服務器[J].計算機應用, 2004,24(12):7-9.
[7] ?王均.用Flash實現鐵路列車運行組織的動態模擬[J].鐵路計算機應用,2005,14(2):37-39.
[8] ?江甫,黃少先.基于計算機與網絡儀表的電力參數測量系統[J].儀表技術與傳感器,2003,(11):26-27.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 亚洲gv天堂gv无码男同| 伦理片中文字幕2019在线| 四虎在线免费视频| 在线观看国产精品va| 一本久久精品一区二区 | 国产一区二区在线视频| 黄色网站在线免费| 国产精品久久久久免费a∨| 97049.com| 在线麻豆国产传媒60在线观看| 一本大道无码日韩精品影视_ | 免费1夜情网站| 精品国产乱码一区二区三区麻豆| 国产亚洲欧美另类专区| 高贵娇妻被多p| 国产成人综合美国十次| 亚洲五月激情综合图片区| 国内不卡一二三四区| av无码a在线观看| 夫妻免费无码V看片| 一二三四日本视频中文| 怡红院免费的全部视频| 中文字幕丝袜制服| 无码人妻一区二区三区免费视频| 久久国产乱子伦精品在| 最近2019中文字幕mv免费看| 亚洲人在线视频| 欧美又大又粗又爽视频| 亚洲成年人专区| 欧美日韩亚洲国产精品| 亚洲欧美成人在线| 欧美老熟妇牲交| 亚洲欧美国产精品完整版| 法国女人与动zozoz0z0| 亚洲第一网站男人都懂| 波少野结衣色在线| 亚洲色图视频在线观看| 爱情岛论坛亚洲永久入口口| 亚洲黄色高清视频| 焰灵姬下面夹得好紧| 亚洲综合色网站|