楊新凱
1 引言
LonWorks是美國Echelon公司于1990年發(fā)布的技術(shù),用以把傳感器、執(zhí)行器等組成網(wǎng)絡(luò)來完成控制任務(wù)。它是一種開放性的控制網(wǎng)絡(luò)平臺,提供完整的系統(tǒng)解決方案,支持多種介質(zhì),如雙絞線、電力線、光纖、紅外線等,并具有互操作性。LonWorks的眾多優(yōu)點使它有著非常廣泛的應(yīng)用,如樓宇自動化、工廠自動化、智能家居、能源管理、交通運輸系統(tǒng)等。但是從網(wǎng)絡(luò)的角度看,這些系統(tǒng)中的應(yīng)用屬于局部的小型網(wǎng)絡(luò),它們形成了所謂的“信息孤島”。隨著互聯(lián)網(wǎng)的迅猛發(fā)展,這些信息孤島與互聯(lián)網(wǎng)的融合也成為一種必然的趨勢。Echelon公司認(rèn)識到了這一趨勢,在其許多產(chǎn)品中都提供了對于IP網(wǎng)絡(luò)的支持。該公司于2000年初發(fā)布的i.LON 1000網(wǎng)絡(luò)設(shè)備就是這樣一種產(chǎn)品,通過這個設(shè)備可以把LonWorks網(wǎng)絡(luò)與互聯(lián)網(wǎng)進(jìn)行無縫連接。這是借助硬件產(chǎn)品實現(xiàn)遠(yuǎn)程監(jiān)控。另外從軟件的角度看,通過Java技術(shù)也可以實現(xiàn)遠(yuǎn)程監(jiān)控。我們在實驗室建立了一個具體的LonWorks網(wǎng)絡(luò),分別實現(xiàn)了兩種不同的監(jiān)控方案。
2 LonWorks控制網(wǎng)絡(luò)實例
圖1 LonWorks網(wǎng)絡(luò)模型
我們建立的LonWorks網(wǎng)絡(luò)演示模型如圖1所示,用來對HVAC模擬系統(tǒng)進(jìn)行控制。HVAC系統(tǒng)包括報警子系統(tǒng)、空調(diào)子系統(tǒng)和溫度檢測子系統(tǒng)。報警子系統(tǒng)由紅外探頭、蜂鳴器和信號燈組成,在有外界侵入時控制聲光報警輸出。空調(diào)子系統(tǒng)由冷卻塔風(fēng)機(jī)、冷卻水水泵、冷卻水流量檢測儀表和水冷機(jī)組組成,可以通過指令控制系統(tǒng)的開啟和關(guān)閉,并在冷卻水流量過小時自動關(guān)閉系統(tǒng)。溫度檢測子系統(tǒng)由溫度傳感器和電動閥門組成,在外界溫度發(fā)生變化時自動控制水管閥門的開度,通過調(diào)節(jié)熱媒水的流量來控制溫度。LonWorks網(wǎng)絡(luò)由模擬量輸入模塊AI、模擬量輸出模塊AO、開關(guān)量輸入模塊DI、開關(guān)量輸出模塊DO1和DO2共五個LonWorks節(jié)點組成。節(jié)點之間根據(jù)需要進(jìn)行網(wǎng)絡(luò)變量的綁定,例如AI模塊把溫度傳感器檢測到的溫度值通過變量綁定的方式發(fā)送給AO模塊,AO模塊則輸出相應(yīng)的數(shù)據(jù)去控制電動閥門的開度。由這五個節(jié)點組成的網(wǎng)絡(luò)已經(jīng)可以完成HVAC系統(tǒng)所需規(guī)定的監(jiān)控任務(wù),但為了實現(xiàn)Web監(jiān)控,需要增加一臺PC機(jī)以運行LNS Server和Web Server。
3 基于i.LON的Web監(jiān)控方案
基于Web管理的LonWorks網(wǎng)絡(luò)遠(yuǎn)程監(jiān)控方案的構(gòu)成比較簡單,在如圖1所示的LonWorks網(wǎng)絡(luò)的基礎(chǔ)上,只要添加一臺i.LON設(shè)備(該設(shè)備需要接入Internet),并使用HTML語言進(jìn)行相應(yīng)的編程工作就可以了。i.LON設(shè)備以Web Server方式運行,在互聯(lián)網(wǎng)上做為實際網(wǎng)絡(luò)的代理,具體實現(xiàn)細(xì)節(jié)對監(jiān)控端是完全透明的。監(jiān)控端可以是任何一臺接入Internet并運行瀏覽器程序的PC機(jī),PC機(jī)的接入方式非常靈活,如通過局域網(wǎng)接入、電話撥號、xDSL等方式都可以。
圖2 i.LON實現(xiàn)Web監(jiān)控的主界面
圖3 空調(diào)子系統(tǒng)監(jiān)控界面
針對這個具體的網(wǎng)絡(luò),我們需要制作相應(yīng)的網(wǎng)頁代碼,并將其上傳到i.LON 1000,之后就可以通過瀏覽器來訪問,并通過主頁進(jìn)行監(jiān)控。這個監(jiān)控系統(tǒng)的主界面如圖2所示。如在圖2所示界面中點擊“空調(diào)子系統(tǒng)”,就可以看到圖3所示界面,可以在這個界面中選擇開啟或者關(guān)閉空調(diào)系統(tǒng),所對應(yīng)的HTML源文件代碼的主體部分如下。報警、溫度子系統(tǒng)的界面及源文件與空調(diào)子系統(tǒng)非常類似,因此不做贅述。
<HTML>
<HEAD>
<META HTTP-EQUIV="refresh" content="1"> <TITLE>中央空調(diào)監(jiān)視</TITLE>
<SCRIPT LANGUAGE="JavaScript">
function dispy() {…}
function listview() {…}
</SCRIPT></HEAD>
<body bgcolor="#ccccff" >
<form name="KongTiao1" method="get" action= "KongTiao1.htm"><ILONWEB_URL>
<div align=center>
<FONT SIZE=5 COLOR="#0000ff">中央空調(diào)監(jiān)視界面</FONT>
<HR WIDTH=344 >
<P>   啟動按鈕:<iLonWeb func=Hidden size=2 symbol=NVL_zndi_DIv1>
<input name="NVL_zndi_DIv1" size=2> </iLonWeb>
<input name="AnNiu" size=4 value="0"> </P>
<P>冷卻塔風(fēng)機(jī):<iLonWeb func=Hidden size=2 symbol=NVL_zndo1_DOv1>
<input name="NVL_zndo1_DOv1" size=2 ></iLonWeb>
<input name="FengJi" size=4 value="0"> </P>
<P>  冷卻水泵:<iLonWeb func= Hidden size=2 symbol=NVL_zndo2_DOv0>
<input name="NVL_zndo2_DOv0" size=2 ></iLonWeb>
<input name="ShuiBeng" size=4 value="0"> </P>
<P>   水冷機(jī)組:<iLonWeb func=Hidden symbol=NVL_zndo2_DOv1>
<input name="NVL_zndo2_DOv1" size=2 ></iLonWeb>
<input name="JiZu" size=4 value="0"></P>
<P>冷卻水流量:<iLonWeb func=Hidden symbol=NVL_znai_AIv0!FORMAT:RAW>
<input name="NVL_znai_AIv0" size=6 ></iLonWeb>
<input name="LiuLiang" size=4 value="0"> T/h</P>
<P><A HREF="startK.htm" ><H5>開啟空調(diào)</H5></A>
<A HREF="closeK.htm" ><H5>關(guān)閉空調(diào)</H5></A></P>
</div></form></body></HTML>
從程序可以看出,它與普通網(wǎng)頁不同的地方在于使用了iLonWeb標(biāo)簽,i.LON 1000內(nèi)置的Web Server能夠理解這個標(biāo)簽的意義,當(dāng)Web Server向瀏覽器發(fā)送頁面時,它把其中對于網(wǎng)絡(luò)變量的引用轉(zhuǎn)換成具體的數(shù)值,這個數(shù)值則是通過i.LON 1000 向網(wǎng)絡(luò)中所對應(yīng)的設(shè)備獲取的。由于瀏覽器自身的特點,必須通過頁面刷新才能實現(xiàn)網(wǎng)絡(luò)變量數(shù)值的更新。即在需要獲得新的變化情況時,通過點擊瀏覽器頁面的刷新按鈕,向Web Server發(fā)送請求,i.LON 1000才會把新值返回給瀏覽器。
4 基于Java的Web監(jiān)控方案
在這個方案中不需要i.LON 1000,只需要將圖1所示系統(tǒng)通過一臺PC機(jī)連接到互聯(lián)網(wǎng),并在PC機(jī)上運行Web Server,編寫網(wǎng)頁代碼,就可以通過瀏覽器來訪問LonWorks網(wǎng)絡(luò),對HVAC系統(tǒng)進(jìn)行相關(guān)的控制和監(jiān)測。在實驗室我們把這個系統(tǒng)接入局域網(wǎng),在PC機(jī)上運行PWS,然后通過瀏覽器進(jìn)行監(jiān)控。所使用的網(wǎng)頁代碼如下:
<HTML>
<HEAD>
<META NAME="GENERATOR" ><TITLE> LonWorks Web Control</TITLE>
</HEAD>
<BODY background = "blue">
<DIV align=center>
<APPLET code=Myapplet.class align="middle" height="300" width="400"
archive = "lonweb.jar, lnshmi.jar"><PARAM NAME="192.168.1.41" VALUE="yxk">
</APPLET> </DIV></BODY></HTML>
從程序可以看出,這個網(wǎng)頁代碼相當(dāng)簡單,其主要部分就是嵌入的Java小程序,所有的監(jiān)控任務(wù)都是通過Java小程序?qū)崿F(xiàn)的。這個Java小程序所實現(xiàn)的界面如圖4所示。
圖4 Java Applet實現(xiàn)監(jiān)控的主界面
從圖4可以看到監(jiān)控主界面分為上、中、下三部分,上面的部分稱做UpPanel,分別顯示服務(wù)器的IP地址(我們是在局域網(wǎng)的范圍內(nèi)進(jìn)行測試)、網(wǎng)絡(luò)名稱、網(wǎng)絡(luò)中所有的節(jié)點名稱和所選中節(jié)點所包含的網(wǎng)絡(luò)變量名稱。中間的部分稱做MidPanel,分別用來顯示報警、空調(diào)和溫度檢測子系統(tǒng)的各種狀態(tài)和檢測值;連接到服務(wù)器后,系統(tǒng)的各種信息就自動顯示在這里,并且隨著系統(tǒng)的變化而不斷刷新。下面的部分稱做DownPanel,由三個按鈕組成,當(dāng)按下“開啟空調(diào)”按鈕后,空調(diào)子系統(tǒng)會進(jìn)入啟動過程,冷卻塔風(fēng)機(jī)、冷卻水水泵和水冷機(jī)組會依次打開,在MidPanel面板可以看到系統(tǒng)狀態(tài)的改變;“關(guān)閉空調(diào)”按鈕用于關(guān)閉空調(diào)子系統(tǒng);按下“關(guān)于”按鈕后會彈出一個信息框,顯示程序的一些相關(guān)信息。
實現(xiàn)上述監(jiān)控任務(wù)的程序共有七個文件組成。Myapplet.java是真正的Java applet,它實現(xiàn)了Runnalbe接口,通過調(diào)用三個類LonModel、LonView和LonGlue 來訪問LNS Server,實現(xiàn)對LonWorks網(wǎng)絡(luò)的監(jiān)控任務(wù);UpPanel、MidPanel和DownPanel用來完成界面的顯示和刷新任務(wù)。這些文件都是由冗長的代碼構(gòu)成,由于篇幅的限制,在此就不做詳細(xì)介紹了。
5 結(jié)語
從前面的比較可以看出,通過i.LON 1000這個硬件設(shè)備實現(xiàn)Web監(jiān)控,從實現(xiàn)的角度看要簡單一些,因為主要只是做一些HTML編程方面的工作。但這種方案的缺點在于(1)硬件設(shè)備成本較高;(2)受瀏覽器自身的限制,必須通過不斷刷新頁面才能獲得數(shù)據(jù)的更新;(3)i.LON內(nèi)存有限,只能存放1M的HTML源文件,因此其最好的使用方式是建立與其它Web Server的鏈接。
通過Java 小程序來實現(xiàn)Web 監(jiān)控,則不需要i.LON這樣的硬件設(shè)備,并且能夠?qū)崿F(xiàn)實時數(shù)據(jù)的動態(tài)刷新。但是這種方案需要針對具體的網(wǎng)絡(luò)編寫復(fù)雜的代碼,并借助于Web Server才能實現(xiàn)Web監(jiān)控。
總之,LonWorks技術(shù)在我國的應(yīng)用還處于發(fā)展階段,i.LON互聯(lián)網(wǎng)接入設(shè)備的出現(xiàn)及其廣泛的應(yīng)用前景更加顯現(xiàn)出這種技術(shù)的先進(jìn)性與優(yōu)越性。我們相信,隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展以及對社會生活各個方面的滲透,把我們周圍的電子設(shè)備接入互聯(lián)網(wǎng),真正實現(xiàn)控制網(wǎng)絡(luò)與互聯(lián)網(wǎng)的完全融合,必定能夠帶給人們更加美好的未來。
參考文獻(xiàn):
[1] Reza S, Raji. Control Networks and the Internet. Echelon Corporation, January 1999.
[2] 樊永生, 楊新凱. 基于Web的LonWorks網(wǎng)絡(luò)的監(jiān)控方案. 測控技術(shù), 2001,20(2):37-38.