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