1 概述
在工業自動化的通訊系統中,包含了種類繁多的通訊協議,有多種封閉私有的協議,也有基于開放的現場總線和工業以太網協議,但整體的趨勢是朝向開放標準的協議遷移,因為這樣做有很多的好處,其中之一就是容易部署、安裝、調試和維護,并增加了不同系統和設備間的互易操作。
在工業自動化行業不斷變化的同時,一個明顯的趨勢是工業網絡也快速地向開放標準的因特網世界遷移,這一過程的焦點就是使得不同類型的應用能夠在因特網/內聯網上共享數據。工業自動化的解決方案與新一代因特網的SOAP Web服務聯系在一起,施耐德電氣已經把這一新技術集成到PLC平臺上,使得數據可以從實時的生產過程直接與商業/信息系統的應用進行交換。
2 工業自動化的通訊
過去的幾十年中,各大廠商都在開發自己的通訊協議和網絡競爭工業自動化這一市場,希望自己的網絡能夠贏得優勢。如Modbus,FF,Profibus,Interbus,Devicenet,Asi等,可以列出一大串名單的私有協議,各自也都有自己的特點,如內置診斷功能,總線為設備供電,或者能夠具有特殊的性能等。
商業軟件系統和SCADA(監控與數采)系統必須支持眾多的私有通訊協議,才能從工廠和車間的設備中獲取生產的數據,這些系統(商務系統)通常需要多個接口和網絡,這使得系統的安裝和維護變得非常復雜并且價格昂貴。
因特網的蓬勃發展刺激了以太網的不斷增長,跨越了商業和工業的應用,目前TCP/IP以太網已經成為了公共的網絡平臺。因此,很多現場總線組織已經定義了基于TCP/IP以太網的協議標準,如Modbus/TCP,Profinet,Ethernet/IP等,雖然這些不同的協議可以在同一個物理的以太網上運行,但設備之間仍然不能通訊(因為設備仍然使用不同的協議),軟件提供商(商務軟件和SCADA軟件)仍然要對不同的以太網協議提供支持。
2.1 OPC:一個工業自動化通訊的標準
1996年,OPC基金會建立了第一個用于工業自動化過程控制的通訊標準,OPC-DA(數據訪問),這一標準使得兼容OPC-DA的軟件(商業軟件和SCADA軟件),可以通過標準的協議接口來訪問PLC和其他現場設備的數據。工業自動化的供應商迅速地提供了OPC服務器軟件,捆綁他們下游的現場協議,連接到PLC和現場設備,而SCADA的供應商只要提供OPC的客戶端接口即可。這種方式很快得到了廣泛應用,并且取得了成功――它是一種開放的技術,不倚賴任何一個廠商,提供了一種簡單一致的方法訪問工廠的數據,而且與下游使用的現場設備無關。
第一個OPC標準(OPC-DA)是基于微軟早期的COM(組件對象模型)和DCOM(分布式組件對象模型)技術而產生的,而這一技術的基礎就是遠程過程調用(RPC),這種方法允許任意一個應用發起一個對遠程應用的調用或請求(是一種客戶端-服務器或者請求-應答關系)。
第一個OPC-DA(基于COM/DCOM)標準的局限性為:
?緊密的捆綁和倚賴微軟的技術;
?不能支持其他應用通過因特網(通過安全防火墻)支持遠程訪問;
?通訊信息僅限于RPC方法。
其他供應商也提供了類似于微軟COM/DCOM 的RPC服務,比如CORBA(Unix)和RMI(Java),但他們也缺少跨平臺的支持,而OPC基金會也沒有提出解決這一問題的方法。我們后面就會討論:怎樣采用業界公認RPC方法,基于廣泛接受的因特網標準(稱為Web服務)。
OPC基金會也采用了一些標準,用于不同類型數據的交換,如歷史數據,批處理數據,復雜數據結構和用于OPC服務器之間的數據交換(OPC-DX)等,基金會的最新工作進展為OPC-UA(統一體系結構),使用Web服務把所有OPC的標準聚集在一起。
3 遠程訪問的需求
二十世紀九十年代末期,因特網的迅猛發展驅動了遠程設備、移動設備對所有信息資源訪問的需求。在工業自動化的領域里,這意味著需要把實時的生產數據及時地送到上游的商務軟件或數據采集軟件中去,僅把當前的生產數據存放在本地的HMI中是不夠的,同樣的數據現在也要實時地登錄到企業的數據庫和商務軟件中。另外,通過因特網和內聯網連接,實現遠程數據訪問,通過無線網使用手機、手持式PC和PDA、使用Web訪問的需求也不斷增加。
新一代自動化設備采用了具有Web服務的技術,在現有的網絡結構中,提供滿足上面需求的劃時代解決方案。1999年,施耐德電氣第一個把Web技術應用到工業自動化領域,開發了第一臺基于PLC的Web服務器,因此通過標準的Web瀏覽器界面,就可以實現數據的遠程(因特網/內聯網)的可視化訪問。使用大眾都熟悉的Web瀏覽器具有很多的益處:客戶端不需要任何的私有軟件(許可證的費用),訪問過程非常簡單,和上因特網的過程是一樣的,遠程客戶端的數量是沒有限制的等等。
3.1 Web技術和Web服務
Web 技術是對通過因特網的數據和內容表述的精致程度而不斷演變發展的。早期的Web技術提供的是平面數據和內容的靜態表述,僅用于人與機器的對話,然后的技術提供了動態的活動頁面和與用戶的互動功能,這里的數據和內容能夠根據用戶的輸入和選擇信息主動地更新。到了九十年代末,產生了對不同應用軟件之間通過Web連接實現數據交換的需求,這是一個從人與機器的數據表述到機器與機器數據交換的重要轉移。2001年,主要的因特網和軟件供應商產生了建立開放標準的熱情,于是,一種新的數據交換機制―“Web服務”標準浮出水面。
Web服務是一種軟件應用,它能夠通過因特網使用標準的Web協議訪問其他不同類型的軟件數據。因此,Web服務允許不同應用軟件之間的數據交換。現在來看看在因特網和Web服務中扮演重要角色的里程碑和相關技術:
(1) 標準的 Web 技術
TCP/IP 傳輸控制協議 / 因特網協議
HTTP 超文本傳輸協議
HTML 超文本標記語言
JAVA 一種開放,安全,輕便的編程語言
ASP / JSP 主動服務器頁面 / Java 服務器頁面
(2) 新一代 Web Services 技術基于
XML 擴展型標記語言
SOAP 簡單對象訪問協議
WSDL Web 服務描述語言
UDDI 通用描述, 發現和綜合
3.2 標準Web 技術
3.2.1 TCP/IP―傳輸控制協議/因特網協議
因特網中的骨干,TCP/IP 是一種傳輸機制,通過因特網來傳輸數據包 (如Web 網頁,電子郵件,文件等)。它關注于信息的可靠傳輸, 并且確定數據的傳輸路由。
3.2.2 HTML―超文本標記語言
HTML 是一種編程語言,它能夠在因特網上創建可視型畫面,它的目的在于描述Web網頁中的顯示文本的位置和格式、顏色、尺寸、表格數據、圖片位置和與其他Web網頁或網站的超級鏈接。HTML是關于機器對人眼可見屏幕內容的描述語言。
(1) HTML 舉例
在Web瀏覽器中,要顯示一個文本的表格:
HTML的編碼可通過點擊瀏覽器窗口的View-Source命令看到:
<table>
<tr>
<td><b>Name</b></td>
<td><b>Surname</b></td>
</tr>
<tr>
<td>John</td>
<td>Smith</td>
</tr>
</table>
所有的標記 <tags> 在HTML 語言中都有嚴格的定義,它們不能隨意改變或者加入、刪除。HTML缺少真正的編程能力,但其他技術能夠容易地對這一缺陷給予彌補,現有的程序諸如Java小程序,ActiveX控件或者Flash對象等,它們可以完成很強的圖形模擬和動態網頁顯示功能,可以容易地嵌入到HTML程序中。
3.2.3 JAVA
中文翻譯成“爪哇”,這原是太平洋的一個小島的名稱。這里所說的Java是一種開放的、面向對象的編程語言,是由Sun微系統公司于90年代最早開發出來的,它的目的是用于便攜的、伸縮的和安全的應用程序開發。Java 對于因特網上的內容顯示有著重大的影響。一開始,Java的源碼就是開放的,可以從網上免費下載,這一舉動無疑引起了業界的震動,后來Java又建立了一種開放的主動參與機制,增進了用戶和開發者的互動,這不僅促進了Java的普及,而且加快了Java的市場增長。
Java 小程序(Applets)是為網頁專門設計的特殊程序,它可以嵌入在標準的HTML網頁之中,它為原來的基于平面文本的HTML網頁帶來了激情、交互和動畫。Java小程序運行于Java虛擬機(JVM)上,所以PC的瀏覽器必須安裝虛擬機程序,才可以正常顯示動態畫面。Java虛擬機提供了一種安全機制,可以防止諸如病毒或者對操作系統的讀/寫操作,后一特點是獨一無二的,這確保了Java一開始就與眾不同,并且取得了廣泛接受和巨大成功。
3.2.4 ASP / JSP-活動服務器網頁/Java服務器網頁
微軟的活動服務器頁 (ASP) 和 Java 服務器頁 (JSP) 是類似的服務器端技術,它提供了一種創建活動網頁的方法,可以根據用戶的選擇和輸入內容,生成和顯示動態網頁,如一種報價申請表格的網頁需要客戶回答一系列問題,根據第一頁的選擇和輸入的數據,會出現不同的子頁面,ASP (現在稱 ASP.NET) 是微軟的自有技術, 而JSP 是開放的 Java 對等技術。
3.3 Web服務技術
3.3.1 XML―擴展型標記語言
對數據描述的需求(和圖形的Web網頁相對)驅使了XML語言的發展,XML語言已經在1998年成為萬維網聯盟(W3C)的一個標準,它用于描述數據和數據結構。盡管HTML標記符號有了很好的定義并固定下來,XML為用戶提供了更好的靈活性,根據應用來創建和定義各種標簽。如一個客戶化的地圖應用需要以下的數據結構:
<country>
<capital city>
<population>
<Top 3 Places of Interest>
<Place of Interest 1>
<Place of Interest 2>
<Place of Interest 3>
<languages spoken>
<area sq km>
<Cities Population gtr 10000>
<Cities Population gtr 100000>
這些用戶定義的標簽很容易按XML計劃文件進行定義,其他應用需要訪問這些數據時,只要遵從計劃書中定義的結構就可以了。所以說HTML是解決從機器給人的數據顯示問題,而XML是解決機器到機器的數據交換問題。XML是擴展的意思,因為它能夠適應今后的任何特殊用途。延展性是衡量一個系統是否在將來容易擴展或伸展的指標,一個可擴展的系統是一個具有柔性機制、擴展實施容易、并且對整個系統影響到最小的系統。
現在有幾百種XML的應用在開發、測試和廣泛使用,見表1。
表1
3.3.2 SOAP―簡單對象訪問協議
SOAP是一種XML應用,開發它有著特殊的目的:在因特網網上實現異構系統之間的基于XML信息的交換(這是一種開放的、增強型的COM/DCOM版本)。
SOAP克服了早期COM/DCOM技術的很多不足:
? SOAP不是依賴微軟的COM/DCOM;
? SOAP 對防火墻很友好;
? SOAP 不限制只使用RPC(請求-應答)型的信息交換,它內在的擴展能力允許實現不同類型的信息交換(MEP:信息交換類型),如廣播、討論和通知等;
? SOAP不捆綁任何特殊的傳輸協議,雖然大多數場合與HTTP一起使用,它也可以和FTP、SMTP、WAP一起使用,因此它是一種開放的、寬范的、可用于多種應用的協議。
正是對這種開放方式的應用需求,SOAP幾乎在一夜之間得到了業界的普遍認可,而且得到了行業的巨頭如微軟、IBM、Sun和SAP的支持。在2000年,SOAP已經成為W3C(W3C:萬維網聯盟)采納的新標準。可以這樣定義:SOAP是一種基于XML的協議,它允許運行于不同操作系統上的不同應用程序、使用任何語言、運行任何平臺、通過因特網實現數據交換,而且SOAP已經被軟件的領導廠商所支持。大多數人都認為SOAP是今后因特網的傳輸機制,并且轉變了應用于Web進行商業數據交換方法的觀念。軟件廠商的新產品包括了對SOAP的支持,如微軟的Visual Studio, .NET, Office, SQL Server,IBM的Web Sphere,Sun的Java,以及Eclipse, Lotus, Oracle, SAP的產品等。
3.3.3 OPC XML-DA
OPC基金會已經發布了基于Web服務和SOAP XML的新接口規范―OPC XML-DA,其使用SOAP XML做為傳輸機制。OPC XML-DA克服了前面提到的早期COM/DCOM技術的局限,所以現在已經開始朝著今后的OPC-UA(統一架構)標準進行轉移。
3.3.4 WSDL - Web 服務描述語言
WSDL文檔是一種用XML編寫的文件,它描述了一種Web服務。告訴你這種服務的工作方式,以及怎樣使用這種服務。它包括了詳細的服務地點,運行于什么樣的網絡(多數運行在TCP/IP的以太網上),數據格式,服務支持的方法。WSDL文件可以被視作一個規則書,或者Web服務器與遠程客戶端的契約書,客戶端必須使用WSDL文件定義的規則,才能利用好所提供的服務。
4 從現場設備到業務報告
商業最優化的結果是需要獲得來自現場設備的實時生產數據,這樣才能構成一個響應快速的閉環回路,比較生產的計劃是否按期進行,質量是否得到保證。
由于通信系統和數據交換方式具有多種選擇,現場數據送到上游系統的方法也很多,下面我們就對這些方法進行比較。我們假設過程數據已經存在一個可編程控制器(PLC)中,最終要把這些數據放入微軟的Excel表格之中,用于生產報告(注:微軟的Excel能夠和任何業務報告交換數據,這里選擇它是因為大家都非常熟悉)。
在下面的標題下,我們介紹了不同的方法,也定義了它們相關技術的新穎性,當然沒有一種方法是“最好的”;一個工業自動化解決方案總是根據應用需要,由下面的方法組合而成。
(1) 傳統技術
? SCADA:工業自動化最常用的過程數據采集方法,它把數據存放到上游的數據庫中,同時使用報告工具完成報告。
? OPC: 這里不需要完整的SCADA軟件包,PLC的數據可以通過OPC的接口直接送往數據庫和報告工具。
? 采用上述技術數據傳送3步曲:
PLC →SCADA→數據庫→報告
PLC →OPC →數據庫→報告
(2) 新技術
新一代面板安裝型HMI設備可以提供高性價比的數據采集和日志登錄方法,只要應用需要,就可以和傳統的SCADA互補使用。這樣過程數據存儲于本地的HMI之中,什么時候需要,就可以使用以太網FTP協議,把數據送到數據庫或報告工具之中,供今后使用。
? 采用上述技術數據傳送3步曲:
PLC →HMI→FTP→報告
(3) 劃時代技術
一個 FactoryCast HMI 主動型 Web 服務器模塊, 插在 PLC 的基架上,能夠把數據直接傳送到遠程的數據庫中,省去了SCADA / OPC 等中間設備。數據傳送變2步:
PLC (Web 服務器) ?數據庫 ?報告
(4) 跨時代技術
FactoryCast HMI 主動型 Web 服務器還支持 SOAP / XML Web 服務,所以一個 SOAP 客戶端應用 (我們的 Excel 表格) 能夠直接訪問 PLC 的數據。 數據傳送1 步完成:
PLC (Web 服務器) 通過 SOAP/XML ?報告
5 SOAP Web 服務帶來的益處
?開放
SOAP是一種開源技術,公共的開發環境,不依賴于任何一家軟件廠商,甚至與操作系統和硬件平臺無關,現今已經在所有主要的硬件和軟件平臺上得到了使用。
?業界支持
SOAP已經得到所有的軟件廠商全力支持,業界已經形成共識:SOAP將是未來因特網的傳輸機制。今后各廠商發布的軟件也都會支持SOAP協議。
?訪問容易
現有主要的數據庫都支持XML語言,這意味著PLC可以直接同企業的數據庫進行對話,而不需中間件。同理,企業上游的IT部門也可以直接訪問工廠層面的信息,如監視生產或維護數據,然后打包實時數據進入管理報告。
?靈活性
一個組織貫徹Web服務,希望它的供應商也能實現Web服務(WSDL),這樣就可以實現統一管理。這與這個供應商使用的應用軟件、硬件和操作系統平臺無關,只要它們使用同樣的Web服務機制就可以實現對話,以相同的XML格式數據進行通信。
?擴展性
因為SOAP內在的擴展能力,所以將來的系統擴展可以無需重新設計即可實現。
?可訪問性
除了非常熟悉的應用,安全防火墻通常屏蔽任何請求命令,而SOAP使用HTTP/XML通道,通常允許通過防火墻。因此,應用程序使用SOAP和另一個應用進行通信是容易完成的,而不管這個應用在哪里。因為Web服務是建于Web標準HTTP、XML之上,所以它可以使用IT領域里的現成的安全設施,如IP屏蔽和防火墻等。
?簡單
SOAP是一種基于文本格式的語言,可讀性強,也容易寫,所以開發和調試非常容易。
?熟悉
一個SOAP服務器就是一個Web服務器,現在幾乎所有的業務都圍繞著Web服務來展開,所以部署Web服務器或者開發Web應用人們已經非常熟悉了,而這些經驗也會推動SOAP客戶端應用的發展。
6 把Web服務應用于工業自動化
在1999年,施耐德電氣第一個把Web技術應用于工業自動化領域,推出第一臺嵌入式Web的PLC,通過不斷地創新,施耐德電氣為用戶提供“透明就緒”的系列產品和服務,成為“Web自動化”的領先者。在2005年,施耐德電氣再次第一個推出支持SOAP/XML的Web服務器,在PLC設備上實現了與上游管理層的直接通信。
Web服務的貫徹,不光為施耐德電氣設備提供了開放的應用開發環境,而且為最終客戶提供了實現系統集成更簡單的方法。和商業伙伴緊密合作,施耐德電氣現在可以提供基于Web技術的集成解決方案,使得商用軟件可以直接訪問PLC,簡化了系統結構,省去了中間設備。這樣的應用軟件有:生產過程的跟蹤(UGS公司),報告生成(Citect公司,Arc信息公司),處方和生產管理(Productys公司)等。
6.1 使用FactoryCast HMI主動Web 服務器
劃時代和跨時代Web技術是通過施耐德電氣的FactoryCast HMI 主動服務器、一個支持SOAP/XML 和 WSDL Web 服務的PLC模塊來完成的。這個模塊還可以提供以下的諸多的服務功能:
(1)嵌入式的PLC Web診斷網頁,可以實現遠程的診斷和控制;
(2)客戶化的網頁空間,可以幫助用戶創建自己的、基于標準HTML的HMI應用;
(3)內置的基于Java小應用程序的圖形庫,可以幫助用戶建立動態的對話頁面;
(4)主動的服務器頁面:采用推送技術,可以由PLC內部的實時值來刷新HMI中的數據和畫面,這樣可以節省帶寬,這在
使用電話線調制解調器時尤為必要;
(5)支持具有SOAP/XML功能的PDA,顯示動態的變量表;
(6)PLC數據直接登錄到遠程的數據庫中(例如:微軟的SQL,Oracle,mySQL等);
(7)以XML格式表示處方數據;
(8)發送電子郵件到SMTP服務器中(根據PLC的報警);
(9)Web服務(SOAP XML服務器或客戶端)
?Modbus XML 數據訪問
?變量名 XMA 數據訪問
(10)做為SOAP服務器:為其他客戶端應用提供PLC的實時數據;
(11)做為SOAP客戶端:PLC可以從其他的遠程SOAP服務器中請求數據。
7 結論
Web服務已經從因特網的Web技術轉變成支持不同平臺、不同應用之間的數據交換的開放標準。業界的主要廠商普遍認為現在數據交換技術已經過時,而支持SOAP的Web技術代表了未來。所以在今后的產品發布時,都會支持有SOAP的Web服務。施耐德電氣把這一技術引入PLC平臺,這也是第一次把這一新技術應用到工業自動化系統,使得商業軟件可以直接訪問PLC的數據。對于工業自動化用戶,更早的采用Web服務技術意味著將從以下方面得到益處:
?簡化體系結構:減少了不必要的中間設備,PLC 可以和信息系統直接相連;
?靈活性:越來越多的廠商支持這一開放的技術,所以跨平臺、跨應用的數據交換有了更容易的解決方案;
?異構系統之間的互操作性大大地增強了;
?減少生命周期中的成本:通過簡化貫徹、部署、診斷和支持各個步驟來做到;
?緊跟未來Web技術的發展,把握企業發展的新機遇。