摘??要: 針對加油站分布廣、通信協議不統一難于實現集成監控,提出了一種基于嵌入式Web的集成監控系統。基于Intel Xscale IXP-422 RISC CPU的嵌入式Web服務器,通過工業以太網互聯現場各加油站服務器,完成對現場設備的集成監控。Web瀏覽控制采用Apache+Html+PHP的方案實現。測試結果表明,該系統安全級別高、實時性好、抗干擾能力強、環境適應性好。
關鍵詞: 嵌入式系統; IFSF; 協議轉換; 網絡監控系統
?
目前將Web技術用于工業監控領域[1-3]已成為熱點話題,用普通Web瀏覽器可在任何地方通過Internet對現場控制設備進行訪問與監控[4-6],可方便地達到監控現場設備的目的。通過存儲在現場控制設備中的網頁,可以準確、實時地采集現場數據,并進行檢測分析、設備控制和維護系統等。本文以油品零售網絡加油站監控系統為背景,提出一種基于嵌入式Web的網絡監控系統,文中對相關設計和實現問題進行了探討。
1 基于嵌入式Web的網絡監控系統
基于嵌入式Web的油品油料零售網絡站級管理監控系統結構如圖1所示。加油站前庭的現場設備有:普通加油機、卡機聯動加油機、油罐液位儀、價格指示牌、洗車設備和支付柱等。這些設備可通過嵌入式Web服務器直接連接到Intranet/Internet,再通過以太網口或無線網口連接到Web瀏覽監控站或Web瀏覽移動監控站,可方便地實現智能通信、站級設備可在線配置與控制、實時數據存儲轉發以及保證數據傳送的完整性和安全性。
?
?
(1)智能通信。將不同種類加油設備的數據通過智能控制前端設備先進行智能處理以方便系統監控管理與擴展。采用工業級、能適應惡劣工業環境的嵌入式智能電腦作為載體,根據通信需要可連接不同的設備,從系統層次對智能通信軟件進行總體設計和面向對象的結構化程序開發,將不同設備的數據通信設計成不同的模塊,以實現通信的智能控制,有利于對不同加油設備進行統一控制與管理。
(2)設備在線配置與控制。采用基于Linux的Apache+PHP+數據文件的Web開發模式,通過Web頁面可方便靈活地實現設備配置和設置各種前庭設備的工作狀態;實時動態地反映各種設備的狀態,如加油機的油槍狀態、加油累計量、加油累計金額、油罐液位儀的液位位置等;查看前庭控制器FCC(Forecourt Controller)運行的日志文件、統計分析FCC日志文件、獲得FCC運行統計數據,為排錯、糾錯提供依據;根據權限設定訪問的內容,使每個管理系統的用戶都有不同的權限,以保證數據在網絡上的安全傳輸;實時更新加油機的油品油料油價表和上載加油機的油品油料油價表;實現對各種前庭設備的控制,如加油機的開、關,油槍的開、關等,對多種加油設備進行情況更復雜、難度更高的監控。
(3)實時數據存儲轉發。能方便地將智能控制前端設備的內置 ROM分成Boot Loader、Linux Kernel、Mini Root File System和User Root File System等四個區。Mini Root File System在因用戶程序的原因而導致根文件系統崩潰時,可用作緊急根文件系統使用;當Boot Loader加載User Root File System失敗時,激活Mini Root File System。可引入一種內嵌機制以防止系統崩潰,保證系統的穩定可靠性。在實際的加油站控制系統中,若后臺網絡系統一旦出現故障,可使用Store-Forward的數據通信方法,在通信故障期間可將數據存放到JFFS2文件系統上,待故障排除后,系統能自動地將采集數據轉發至加油站控制系統中的相應主機上, 而不影響加油機及相關設備的正常工作,以保證數據的完整性和安全性。
2 系統軟硬件結構
2.1?硬件結構
Web服務器是一臺使用Intel Xscale IXP-422 266MHz RISC CPU的高性能嵌入式計算機,它區別于普通采用CISC設計的X86 CPU的計算機性能。IXP-422采用高性能的半導體集成技術和RISC設計架構,在減少熱量產生的同時,提供強大的計算功能,內置的32MB NOR Flash ROM和128MB SDRAM提供了充足的內存資源,使應用程序可輕松地直接下載到裝置內部。該智能計算機具備8個RS-232/422/485串口,雙10/100Mb/s以太網絡端口,PCMCIA作無線通信,8通道數字輸入和8通道數字輸出,以及擴充用的CompactFlash接口。Web服務器的內部結構框圖如圖2所示。
?
2.2 軟件系統結構
系統的核心部件[7-9]是一臺高性能的嵌入式智能計算機,內置安全穩定和性能優越的MontaVista Embedded Linux嵌入式系統,其結構如圖3所示。Web Server以Apache+Html+PHP的構架方案[10]實現動態瀏覽,該方案可動態地修改Web Server計算機的系統配置等,采用GCC等開發工具開發用戶應用程序以實現對加油站現場設備的監控。Web Server可以實現如下功能:
(1)實時查看多臺多品牌加油機的狀態,并可分別配置加油站設備和設置加油機的工作狀態。
(2)查看Web智能服務器運行的日志文件,統計分析運行的統計數據,為排錯提供依據。
(3)權限訪問設置,可保證數據在網絡上的安全傳輸,并提供密鑰安全訪問功能。
(4)可在一定安全級別控制下,控制加油機工作狀態、設置油罐和計價牌等設備的參數。
3 協議轉換實現
協議轉換模塊的功能是實現從加油站的現場前庭智能設備接口協議到基于TCP/IP的IFSF協議[11]的信息轉換,以實現在嵌入式Web服務器中對加油站現場前庭設備的實時信息處理。該模塊由基于TCP/IP的IFSF協議接口模塊和加油站現場前庭智能設備接口協議與IFSF協議轉換的兩個模塊組成。基于TCP/IP的IFSF協議接口模塊由四個子模塊組成,如圖4所示。
?
(1) IFSF應用程序子模塊,用于前庭設備控制應用程序的實現。
(2) IP協議棧子模塊,用于網絡連接、實現IP協議、提供網絡連接管理和IP地址解析等功能。
(3) DHCP服務器子模塊,用于給連接在以太網上的設備分配IP地址。DHCP服務器可以是IFSF設備的一個功能模塊,也可以是單獨的一個設備。
(4) IFSF與IP的轉換子模塊,完成三個功能:利用HeartBeat Proxy接收和發送Heartbeat;借助連接控制器模塊管理所有已連接的TCP連接表;發送和接收所有通過TCP連接的數據。
前庭設備接口協議與IFSF協議之間的轉換由兩個功能模塊組成:前庭設備協議接口模塊和IFSF代理模塊,如圖5所示。前庭設備協議接口模塊實現與具體的前庭設備的接口,其主要功能是解析前庭設備通信幀,實時監控加油過程,更新加油機通用信息,對加油機的特殊情況作出響應。IFSF代理模塊用于響應各IFSF節點的讀/寫請求,按IFSF協議及IFSF幀格式實現對各IFSF節點間的訪問。
?
前庭設備協議接口模塊和IFSF代理模塊之間的通信通過Database進行,IFSF代理模塊通過訪問Database來訪問前庭設備。因為Database存放了加油機及前庭設備的所有信息,包括加油機油槍狀態、加油機協議版本、油品油價版本、交易記錄表、交易累計統計數據等。在這些信息中,對時效性要求較高的數據都帶有時間戳。其他IFSF節點發出的讀/寫信息,如果要訪問對時間敏感的數據,可直接通過Database訪問;如果要訪問一些對時間不敏感的數據(如交易累計統計數據),可通過前庭設備協議接口模塊和IFSF代理模塊之間的另一條信息傳送通道,向前庭設備協議接口模塊發送數據請求命令,前庭設備協議接口模塊在一定時間內作出回應。
對Database中的一些數據文件(如油品文件、油站通用信息文件)的控制管理功能可以通過Web服務器中的集成監控模塊實現,前庭設備協議接口模塊一旦感知到文件發生了變化,就會在程序中自動啟動普通信息查詢命令,進入信息更新階段。控制管理的作用是向上一級管理計算機傳送所有加油機的交易記錄,如果上一級管理計算機不在線(如線路故障臨時中斷),這時,交易記錄可直接在本地保存,待故障排除后將自動向上傳送數據,從而保證數據的完整性。
4 Web Server的實現
Web Server所有用戶界面都通過WWW瀏覽器實現。其中部分事務邏輯可在前端實現,但是主要事務邏輯仍然在服務器端實現,形成所謂的3-tier結構,如圖6所示。
?
B/S模式是Web Server和Brower之間的直接訪問,客戶和服務器間的中間節點不對HTTP請求及響應做任何操作,應用程序放在Server,處理HTTP請求時客戶端只需采用如IE這樣的瀏覽器對服務器上的數據進行瀏覽,不用開發客戶端程序。Web開發技術有兩種:CGI(Common Gateway Interface)技術和嵌入式技術。本文采用后者,它是將Java script、Vb script和PHP等特定的腳本語言利用特殊的標記嵌入到HTML中,當客戶端Browser提出請求時,Web Server會使用相應的腳本解釋引擎對腳本解釋執行,根據具體的條件完成對后臺數據庫的查詢、修改等操作,并把結果送回到Browser端。基于Linux的Apache+PHP+大型(或小型)數據庫的方案已經成為當前眾多商業網站的首選Web開發模式。Apache是一種開放源碼的HTTP服務器,可以在大多數計算機操作系統中運行,通過簡單的API擴展,Perl/Python等解釋器可被編譯到服務器中。PHP是一種用于在服務器端創建執行Web頁面的典型服務器端腳本語言,并內置了文件上傳密碼認證Cookie操作、郵件收發、動態GIF生成、XML、共享內存等功能;更為重要的是它對數據庫強有力的操縱能力,支持幾乎所有主流和非主流的數據庫。它既可以作為一個獨立的CGI外部程序獨立運行,也可以與Apache服務器緊密結合,作為模塊嵌入到Apache中,不僅實現了代碼的簡化,而且無需占用額外進程便可完成對數據庫的操作,執行起來高效快捷。因此,PHP已成為目前開發Web非常流行的一種語言。
5 系統功能測試
系統功能測試在網絡環境下進行,測試信號源用模擬信號代替。其具體測試方法是用兩臺PC機分別模擬電子收款系統POS(Point of Sells)機和加油機(Dispenser)的收發數據和命令,在高性能嵌入式智能計算機MOXA上安裝Apache+php服務器,將協議轉換主程序及相關程序經編譯后傳送到MOXA,同時將Web Server網頁代碼也傳送到MOXA,由顯示畫面直接觀察測試結果。從圖7的參數設置網頁界面可以看出,通過網頁可以查看和修改端口配置文件。POS模擬機可以控制加油機加油,設置加油參數,控制加油卡插入與退出等;也可以模擬加油機作抬槍、加油、掛槍、結算等操作。實際
測試結果表明,該協議轉換程序能成功地完成加油機和POS機的協議轉換,并能實現由POS機控制加油機的所有功能。
?
Web在加油站站級設備控制管理中的應用研究表明,基于嵌入式Web的網絡監控系統可以更好地實現油品供給和消費狀態資料的共享,對庫存、跑冒滴漏、資金流向、貨款回籠等能更好地實現監控,對各種通信協議的有效整合能使設備維修更加簡單。
參考文獻
[1]?CERCONE N, HOU Li Jun,KESELJ V, et al. From computational intelligence to Web intelligence[J]. Computer,?Volume 35, issue 11, Nov. 2002:72-76.
[2]?SMIMOV A, PASHKIN M, CHILOV N, et al.Agent based ?Web intelligence for logistics support in networked organizations[C]. Intelligent Transportation System. 2004. Proceedings. The 7th International IEEE Conference on,3-6?Oct. 2004:922-927.
[3]?BUTZ C J, HUA S, MAGUIRE R B.? A Web based?intelligent tutoring system for computer programming[J].
Web Intelligence, 2004,WI 2004. Proceedings IEEE/WIC/AMC International Conference on, 20-24 Sept. 2004:159-165.
[4] ?徐巍,譚德榮. 基于網絡的加油站控制管理系統的研制[J]. 山東理工大學學報(自然科學版),2004,18(4):
59-63.
[5]?宋宏偉, 甄然. 加油站中央控制系統的設計與實現[J]. 微計算機信息, 2006,22(6):106-108.
[6]?吳秋芹. 基于嵌入式Web服務器的測控系統[J]. 西華大學學報(自然科學版), 2006,25(6):39-41.
[7] ?Linux網絡編程[M]. 李卓恒譯. 北京:機械工業出版社,2000.
[8]? WEHRLE K, PAHLKE F. The Linux networking architecture[M]. America ,Prentice Hall, 2004.
[9]?MATTHEW N, STONES R. Beginning Linux programming[M]. The 3rd Edition,Canada, Wiley Publishing, Inc,2004:187-189.
[10] PHP與其他CGI的比較. http://www.51iter.com/wangzhan//php/200508/wangzhan_7308.html
[11]?International Forecourt Standard Forum. Communication on?specification over TCP/IP[S], version1.00, England, 2001.