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