樓登峰,曹 瑩
1 引言
方興未艾的現場總線技術正在不斷改善控制器和現場儀表之間的通信方式,而控制器與上位監控機之間的通信往往還建立在較為低速或其它專用的網絡基礎上,生產過程中的實時信息要通過多層網絡,多種協議轉換才能到達人機界面或企業的過程數據庫。隨著控制系統多界面支持的需求以及企業管控一體化需求的提高,傳統的監控網絡在通信速率和組網靈活性上已很難滿足企業要求,那么能不能將控制器直接接入相對高速且組網靈活的以太網呢?美國OPTO22公司新近推出的SNAP I/OTM控制單元正是代表這一趨勢的典型產品之一。
2 OPTO22公司SNAP I/O產品的介紹
美國OPTO 22公司是一家專門設計、生產控制類產品的企業,其控制類產品在美國市場的占有率是處于較前列的。OPTO22產品的一大特點是它有自己的系統構架和與之相對應的一整套軟硬件解決方案。例如與它的上一代控制器MISTIC相配套,OPTO22公司提供了一整套的組態軟件,包括基于流程圖的過程控制設計軟件OPTO CONTROL。
2000年和2001年,OPTO22公司相繼推出了SNAP ETHERNET I/O和SNAP ULTIMATE I/O兩大類產品,它們模式相同,都是以SNAP I/O Processor(或稱Brain)為核心,在其構架(rack)上再結合一些I/O模塊組成的一個SNAP I/O Unit,如圖1所示。與上一代的控制器和其它的PLC相比,SNAP I/O Unit體積更小,將控制層運算更分散化,因此,稱其為控制單元更確切一點。
SNAP I/O控制單元有三大特點:
? 體積更小巧,運算分散化,組網更為靈活。
? 支持以太網接入,設有標準的RJ45接口,可以選配無線收發器。
? 更趨通用,所支持的通信協議更廣,應用XML(eXtensible Markup Language)協議可以實現WEB監控。
圖1 SNAP I/O Unit示意圖
應用SNAP I/O控制單元構建的新一代控制系統在通信速度、可靠性、可維護性和組網靈活性上都有很大的優勢,其產品不僅可用于工業控制領域,還可以在智能建筑、智能家居領域得到很好推廣。
3 SNAP I/O Processor的各種以太網聯接方案
SNAP I/O Processor是SNAP I/O控制單元的運算核心,在兩個香煙盒大小的Processor內集成了CPU和一定量的RAM/ROM。由于SNAP I/O Processor提供的多種通信接口(RS-232/485、Arcnet、Ethernet),SNAP I/O Processor在硬軟件的聯接模式上是非常靈活多樣的。
SNAP I/O Processor提供多種聯網方式,典型的有以下五種:
? 通過交叉網線直接與PC相連。
? 掛接一個現有的TCP/IP以太網。
? 組建一個獨立的以太局域網。
? 通過Modem聯接。
? 利用無線收發器組建無線局域網。
圖2 SNAP I/O控制單元的網絡聯接
具體采用何種組網方案則主要要看監控任務對通信速度的要求,網絡中PC和控制器的數量以及傳輸數據的安全性的要求。圖2是一個典型的網絡聯接方案。
在軟件通信上,SNAP I/O Processor不僅可以通過XML實現WEB監控,而且還可以通過E-mail或SNMP等方式傳遞事件的信息。之所以可以實現這多種的通信功能是基于SNAP I/O Processor在物理層、傳輸層和應用層所擁有的多種通信協議,如圖3所示。
圖3 SNAP I/O Processor多樣的通信實現途徑
從圖3可以看到,SNAP I/O Processor在物理層支持10/100Mbps以太網聯接和Modem聯接,也支持無線局域網Wireless LAN的聯接;在傳輸層,SNAP I/O Processor支持TCP/IP和UDP/IP協議;在應用層,由于SNAP I/O Processor內部固化的格式程序和傳輸層的支持,使得上位機和控制單元之間可以方便地應用多種通信模式,包括HTTP、SMTP、MODBUS、SNMP、IEEE-1394和數據流等。圖中最上一層示意的是作為上位機的PC或SERVER上應用程序可采用的通信模式。
4 基于XML的SNAP I/O Processor以太網接入實現
作為互聯網技術發展的重要方向之一,XML技術使數據本身和顯示格式相對獨立,從而使數據通信更為迅速,數據的顯示和存儲、檢索更為便捷。SNAP I/O Processor內部固化有XML文件,通過鏡像I/O模塊上的數據,這些XML文件可以方便地將監測數據上傳到PC機或SERVER,這樣在Internet Explorer 5.0以上版本的瀏覽器中,就可以得到基于WEB的實時監測信息。
除了SNAP I/O Processor內部固化的XML文件之外,用戶還可以自己編制和下載XML文件到控制器上,與之相對應,用戶還需在上位機編設XSL文件和HTML文件,才能按理想的格式在瀏覽器上顯示監控信息。下面就定制文件的這一過程,包括對XML技術的核心思想進行以下介紹。
4.1 XML簡介
XML是90年代末興起的新一代標識語言,現在各種介紹XML的書籍都把XML描述成有三大要素和若干特點的SGML(Standard Generalized Markup Language)類語言,但如果把XML和HTML(HyperText Markup Language)作一比較,也許可以對它的認識會更形象一些:
? XML是類似于HTML的語言,它們同是SGML的一個子集。
? XML是被設計用來描述數據的;而HTML是數據和顯示格式一起描述的。
? XML是可擴展的,允許用戶自定義自己的標記和自己的文檔結構;而在HTML中所有的標記和文檔結構都是預先定義的,用戶只有權利使用規范的HTML標記。
XML的起源思想是想在新一代的WEB構架中將網站的文檔內容、表現樣式和程序邏輯由不同的文件或程序來提供,這也就形成了XML語言在技術上較先進的幾個特點,即結構化的數據存儲、良好的可擴展性和在異構環境中的應用。
XSL(eXtensible Stylesheet Language)則是可以把XML文檔中的數據格式化地在瀏覽器上顯示的樣式單語言。因為XML文檔只是用來描述數據,其中的一些標記是由用戶定義且不為瀏覽器所認識的,所以,為了能夠正確顯示存放在XML文檔中的數據,需要另外的一個XSL文件將其轉換為格式化的HTML頁面。
4.2 生成和下載XML文件
生成和下載XML文件的過程可以分為三步來完成:
(1) 分析要采集的I/O數據點和要實現的控制功能,分配在各個XML文檔中的內容。SNAP I/O Processor內共有64KB的存儲空間供存放文件。
(2) 編制相應的XML文檔,在其中可以應用自己定義的各個標記名。下面的程序演示了一個典型的XML數據采集文檔,其中的MemMap插件是I/O點的存儲映射地址。
<?xml version="1.0" standalone="yes"?>
<SwitchStatus>
<Switch>
<Name>A</Name>
<State><!--#MemMap adr=F0800000&onoff=on/off--></State>
</Switch>
<Switch>
<Name>B</Name>
<State><!--#MemMap adr=F0800040&onoff=on/off--></State>
</Switch>
</SwitchStatus>
(3) 編制完相應的文檔后,就可以將XML文檔下載到SNAP I/O Processor,在這個過程中需要明確的是各個Processor的IP地址。下載的文檔經過試運行確認無誤后,可以從SNAP I/O Processor的RAM再次寫入到控制器的Flash Memory中。
4.3 在I.E.瀏覽器中實時顯示采集信息
在Internet Explorer中要查看XML文件很方便,查看未經格式化的XML文檔只需在I.E.地址欄輸入要查看的SNAP I/O Processor的IP地址和目標文檔的全名即可。例如,要查看IP地址為10.22.55.01的控制器上的文檔,只需在上位機(可以是子網內的任一臺PC/SERVER)輸入URL地址和文件名:http://10.22.55.01/SwitchStatus.xml。未經格式化的XML數據在Internet Explorer中的顯示格式如下:
<?xml version="1.0" standalone="yes"?>
-<SwitchStatus>
-<Switch>
<Name>A</Name>
<State>Off</State>
</Switch>
-<Switch>
<Name>B</Name>
<State>On</State>
</Switch>
</SwitchStatus>
上面已經提到,XML文檔只是用來描述數據而沒有格式化信息,如果要在Web瀏覽器中清晰顯示數據或利用JavaScript技術仿真測控儀表,則至少需要三個文件:控制器中的XML文檔、上位機中的XSL文件和HTML合成文件。HTML文件中的JavaScript程序段將調用XML文件中的數據和XSL文件中的格式信息,將它們合成后在瀏覽器中顯示,如圖4所示。
圖4 格式化后的XML文件顯示結果
4.4 在I.E.瀏覽器中設定輸出控制值
除了數據顯示,還可以通過相同的技術在瀏覽器上實現控制值的輸出設定。實現過程中,可以先定制一個HTML格式的輸出界面,其中至少包括一個數據輸入框和執行的確認按鈕,然后需要在XSL文檔中指定HTML文件所包含元素的屬性,包括接收設定量的參數地址、執行后要返回的界面等。
下面的例子中說明了模擬量輸出設定的編設過程,開關量的設定過程基本相同,就不再贅述了。
第一步:設計一個HTML格式的輸出界面,如圖5所示;
圖5 模擬量輸出值的設定界面
第二步:在XSL文檔中指定HTML文件所包含元素的屬性,如下所示。
5 結語
基于XML技術的SNAP I/O控制單元以太網接入實現不僅從軟件上提供了一個高效、快捷、開放、靈活的實現途徑,而且在硬件上也深刻改變了控制系統上層網絡的構架模式,使應用于企業生產聯網內的每臺計算機都可以直接聯通控制單元。
通過這種實現途徑,不僅可以利用I.E.瀏覽器獲取遠程、超遠程的實時信息,并且在監控生產過程的同時,實現生產信息在數據庫中的快速存檔和加工。如果有合理的安全體系,甚至可以在世界的任何角落實現監控任務。
參考文獻:
[1] 孫德輝. 微型計算機控制系統[M]. 北京: 冶金工業出版社, 2002.5-7.
[2] OPTO22. SNAP ETHERNET BRAIN USER’S GUIDE [Z]. 美國: OPTO22公司, 2002.
[3] OPTO22. SNAP ULTIMATE I/O SYSTEM USER’S GUIDE [Z]. 美國: OPTO22公司, 2002.