devicenet™設備網(wǎng)和controlnet™控制網(wǎng)已經(jīng)是廣為人知的工業(yè)網(wǎng)絡,分別歸odva(開放devicenet供應商協(xié)會)和controlnetinternational兩家國際性制造商組織所擁有,它們都在應用層采用了cip協(xié)議(通用工業(yè)協(xié)議)。最近,odva和controlnetinternational共同推出了ethernet/ip(標準工業(yè)以太網(wǎng))。本文將介紹它的技術原理和傳輸機制,以及如何在基于tcp/udp/ip協(xié)議的以太網(wǎng)®上實現(xiàn)網(wǎng)絡服務和數(shù)據(jù)對象的一致性。
i.簡介
工業(yè)自動化系統(tǒng)的網(wǎng)絡必須為用戶提供三種主要的服務。首先是控制,這也是最為重要的功能??刂品罩饕糜谕瓿煽刂圃O備(例如plc)與i/o設備(例如變頻器、傳感器以及其它執(zhí)行機構)之間的數(shù)據(jù)交換,并且有苛刻的實時性要求。因此,相應的傳輸網(wǎng)絡必須為這類數(shù)據(jù)的傳輸設定較高的優(yōu)先權或者中斷等級。其次,還要提供配置服務,方便用戶對自動化設備進行設置和維護。通常,用戶需要使用個人計算機(pc)或者類似設備對系統(tǒng)中不同的設備進行編程和配置。這項任務不僅需要單獨執(zhí)行,而且還要在控制系統(tǒng)運行的情況下,支持配置服務。比如,批量處理過程中的配方管理就需要這樣功能。最后,用戶需要采集自動化系統(tǒng)運行過程中的各種數(shù)據(jù),用于人機界面顯示、數(shù)據(jù)分析、趨勢圖繪制、故障處理和維護??梢姡I(yè)自動化系統(tǒng)的網(wǎng)絡必須提供:控制、配置和數(shù)據(jù)采集三種服務,這樣才能讓網(wǎng)絡更加高效、靈活,從而提高自動化系統(tǒng)的整體性能。
在網(wǎng)絡中,生產(chǎn)者/消費者通訊模式比源/目標通訊模式更容易支持控制、配置和數(shù)據(jù)采集服務。在網(wǎng)絡應用層協(xié)議中,利用分布式對象和生產(chǎn)者/消費者通訊模式,將會更好地滿足自動化系統(tǒng)的應用要求。
如圖1所示,一個典型的工業(yè)自動化系統(tǒng)網(wǎng)絡結構。由于每種網(wǎng)絡都有不同的物理層和數(shù)據(jù)鏈路層,其屬性和特點也各不相同。因此,在這樣的系統(tǒng)中,不要指望某種單一的網(wǎng)絡能夠滿足所有的應用要求,而是需要采用多層網(wǎng)絡架構,并且要求不同網(wǎng)絡之間的數(shù)據(jù)具有一致性,從而方便網(wǎng)絡間的數(shù)據(jù)交換與共享。
如果在以太網(wǎng)上實現(xiàn)控制、配置和數(shù)據(jù)采集服務,同樣不可避免其它網(wǎng)絡服務也要在網(wǎng)絡上運行。因此,生產(chǎn)者/消費者通訊模式必須做到在同一網(wǎng)段上完全能夠與其它服務共存(比如用于網(wǎng)頁瀏覽的http服務)。
在圖1中可以看到,一個典型的工業(yè)自動化系統(tǒng)網(wǎng)絡包括:1、信息層網(wǎng)絡,通過以太網(wǎng)來實現(xiàn)。許多控制器廠商早就提供對以太網(wǎng)的支持;2、控制層網(wǎng)絡,通常利用網(wǎng)絡的確定性和介質(zhì)是否冗余等傳統(tǒng)標準來衡量某一網(wǎng)絡能否作為控制層網(wǎng)絡,controlnet屬于這類網(wǎng)絡;3、設備層網(wǎng)絡,要求傳輸數(shù)據(jù)較少,能夠通過一根結實、耐用的電纜來完成數(shù)據(jù)傳輸和設備供電,devicenet屬于這類網(wǎng)絡。
odva(開放devicenet供應商協(xié)會)和controlnetinternational兩家組織推出了新的cip協(xié)議成員——ethernet/ip,從而實現(xiàn)了通過以太網(wǎng)提供控制、配置和數(shù)據(jù)采集服務。因此,它能夠作為圖1中的信息層網(wǎng)絡和控制層網(wǎng)絡來使用。
ii.cip協(xié)議在以太網(wǎng)上的實現(xiàn)
ethernet/ip協(xié)議規(guī)范被細分為多個章節(jié)和附錄,主要內(nèi)容如圖2所示。
從圖2可以看出,ethernet/ip、devicenet和controlnet三種網(wǎng)絡具有統(tǒng)一的應用層、應用對象庫和設備描述。也就是說,在七層osi網(wǎng)絡參考模型中,這三種網(wǎng)絡只有最低的四層不同,如圖3所示。
圖2描述了ethernet/ip的協(xié)議結構,通過使用這些不同層面的協(xié)議,實現(xiàn)了對控制、配置、數(shù)據(jù)采集服務的優(yōu)化,使得ethernet/ip在控制領域的應用更加切實可行、更加安全可靠。
iii.與其它internet協(xié)議共存
ethernet/ip網(wǎng)絡的主要優(yōu)勢在于大多數(shù)用戶能夠通過利用現(xiàn)有的以太網(wǎng)技術知識和網(wǎng)絡設施,讓它們發(fā)揮最大的作用,獲得更多的投資回報。
目前,眾多廠商都能提供以太網(wǎng)設備,使得組建網(wǎng)絡的費用大大降低。因此,用戶更希望能夠利用目前市面上已有的網(wǎng)絡設備,從而控制系統(tǒng)成本。
如果ethernet/ip網(wǎng)絡需要采用指定廠商的特殊物理介質(zhì)來構建,那么它的優(yōu)勢就不復存在。同樣道理,如果ethernet/ip網(wǎng)絡需要一個專門的網(wǎng)絡環(huán)境來運行,或者不能與現(xiàn)有的企業(yè)網(wǎng)絡相連接,那么它的優(yōu)勢也會黯然失色。因此,ethernet/ip網(wǎng)絡必須能夠與現(xiàn)有的internet和intranet網(wǎng)絡協(xié)議共存。這就意味著,在任何地方都要使用tcp/ip協(xié)議。
a.以太網(wǎng)通訊協(xié)議
以太網(wǎng)技術本身只定義了物理介質(zhì)和介質(zhì)的訪問方式(csma/cd),并采用簡單的數(shù)據(jù)幀格式和源/目標通訊模式來完成局域網(wǎng)設備之間的數(shù)據(jù)交換。就其本身而言,以太網(wǎng)缺少更為復雜的功能來實現(xiàn)局域網(wǎng)的全部應用要求。正因為如此,在實際使用過程中,還需要讓以太網(wǎng)支持一個或多個通訊協(xié)議,讓它們作為以太網(wǎng)的上層協(xié)議,負責數(shù)據(jù)傳輸,實現(xiàn)網(wǎng)絡管理等功能。因此,這種上層的通訊協(xié)議決定了網(wǎng)絡所支持的功能,以及什么樣的設備能夠連接網(wǎng)絡,怎樣實現(xiàn)網(wǎng)絡設備之間的互操作。
曾經(jīng)有許多協(xié)議在以太網(wǎng)上應用過,例如decnet™、novellipx™、map™、top、osistack、appletalk™以及tcp/ip。在這些協(xié)議中,tcp/ip協(xié)議最為引人矚目,因為為它不僅實現(xiàn)了全球internet的互聯(lián),還能用于構建企業(yè)內(nèi)部的intranet網(wǎng)絡,實現(xiàn)企業(yè)信息的共享和數(shù)據(jù)交換。tcp/ip作為internet的協(xié)議,不僅可以運行在以太網(wǎng)上,還支持其它物理介質(zhì)。當然,以太網(wǎng)也支持其它協(xié)議。但是,由于tcp/ip協(xié)議與以太網(wǎng)的結合,實現(xiàn)了intranet和internet的無縫集成。所以,它們之間的關系也就越來越密切。在工業(yè)現(xiàn)場,無論是現(xiàn)在,還是在不遠的將來,tcp/ip協(xié)議遲早都會成為在以太網(wǎng)中占有統(tǒng)制地位的“中間層”協(xié)議,如圖3所示。#p#分頁標題#e#
b.tcp/ip協(xié)議的起源與特點
多年來,世界上主流的計算機平臺都提供對tcp/ip協(xié)議的支持。現(xiàn)在,它已經(jīng)內(nèi)置到windowsnt™、windows2000等操作系統(tǒng)中,成為用戶構建計算機網(wǎng)絡的首選協(xié)議。在許多公司,可能擁有數(shù)臺工作站、網(wǎng)絡打印機、服務器、中型甚至大型計算機,單單某一家廠商很難提供所有這些設備。因此,這些設備都采用了統(tǒng)一的tcp/ip協(xié)議,使得它們都能夠集成到局域網(wǎng)中。
tcp/ip協(xié)議也采用了分層結構,它與osi七層網(wǎng)絡參考模型的對應關系如圖3所示。從圖3可以看出,以太網(wǎng)技術只定義了物理層和數(shù)據(jù)鏈路層。網(wǎng)際協(xié)議(ip)對應于第三層——網(wǎng)絡層,tcp傳輸控制協(xié)議和udp用戶數(shù)據(jù)報協(xié)議對應于第四層——傳輸層。在基于tcp/ip協(xié)議的網(wǎng)絡中,用戶服務協(xié)議屬于第七層——應用層。tcp/ip協(xié)議組沒有osi網(wǎng)絡參考模型的第五層和第六層。
osi網(wǎng)絡參考模型中的每一層都需要使用其下一層協(xié)議所提供的服務。比如,一個tcp連接需要在以太網(wǎng)上向另外的設備發(fā)送一個數(shù)據(jù)包。首先,它需要將這個數(shù)據(jù)包交給ip協(xié)議進行處理,由ip協(xié)議將這個數(shù)據(jù)包發(fā)送給以太網(wǎng)接口,并確定這個數(shù)據(jù)包傳送到了目標設備。同時,作為接收方,ip協(xié)議要通過以太網(wǎng)接口接收數(shù)據(jù)包,然后將其交給tcp協(xié)議進行處理,建立通訊連接。
tcp/ip協(xié)議的最底層是網(wǎng)絡層,也是ip協(xié)議所在的層面。ip協(xié)議用于在兩個網(wǎng)絡設備之間,采用無連接和無確認應答的方式發(fā)送數(shù)據(jù)包。因此,ip協(xié)議并不能對數(shù)據(jù)的傳輸提供擔保,而需要由傳輸層協(xié)議或者應用層協(xié)議來完成這一任務。ip協(xié)議可以運行在以太網(wǎng)和多種其它局域網(wǎng)或廣域網(wǎng)中,這正是ip協(xié)議能夠實現(xiàn)企業(yè)內(nèi)部intranet網(wǎng)絡和internet無縫連接的原因。
在網(wǎng)絡層中,還有地址分辨協(xié)議(arp)。arp協(xié)議用于實現(xiàn)ip地址到以太網(wǎng)地址的映射,以及維護網(wǎng)絡設備中的地址映射表。當某一設備要將一個ip數(shù)據(jù)包傳送給其它設備時,發(fā)送設備首先會嘗試使用本地廣播報文去詢問目標ip地址的設備,然后將其以太網(wǎng)地址返回給發(fā)送設備。這一應答結果將被存入發(fā)送設備內(nèi)部的地址映射表,方便以后使用。值得注意的是,以太網(wǎng)廣播報文只能在集線器、交換機和網(wǎng)橋之間傳輸,不能穿透路由器。因此,以太網(wǎng)廣播報文被限制在一個子網(wǎng)內(nèi),而不可能擴散到全球范圍的internet網(wǎng)絡中。
ip地址是32位的二進制數(shù)字,由獨立的internic網(wǎng)絡信息中心負責分配,在某一網(wǎng)絡中不能重復。任何企業(yè)網(wǎng)內(nèi)部的設備需要和外界通訊,都必須使用事先分配好的ip地址。這與以太網(wǎng)地址不同,以太網(wǎng)地址是由生產(chǎn)廠商固定在以太網(wǎng)硬件設備中的地址,不能進行更改。用戶可以根據(jù)自身企業(yè)信息系統(tǒng)的相關規(guī)定和要求,配置網(wǎng)絡設備的ip地址和子網(wǎng)。有時候可能需要改變網(wǎng)絡設備的ip地址,但是應該在此之前做好心細的規(guī)劃,防止網(wǎng)絡上某一設備已經(jīng)占用了特定的ip地址,從而造成ip地址沖突,使得已有的網(wǎng)絡不能正常工作。
如果一個內(nèi)部的局域網(wǎng)通過路由器與internet相連接,那么這些設備的ip地址必須屬于已分配給它使用的ip地址段。如果內(nèi)部局域網(wǎng)不與internet相連接,那么它的ip地址分配就可以按照自己的要求來進行。隨著internet的普及和廣泛應用,可用的ip地址資源已經(jīng)瀕臨枯竭。目前,人們正在研究使用新的ip地址形式,也就是ipv6,它支持48位二進制的ip地址形式,這樣一來,就有充足的ip地址供人們使用。
與以太網(wǎng)地址類似的是,ip地址也分為非廣播(單目標)、多點傳送(目標組)和廣播(網(wǎng)絡上的每個設備都能接收)地址。因此,ip地址必須通過相應的ip軟件和以太網(wǎng)驅動程序將其映射成對應的以太網(wǎng)地址。
tcp/ip協(xié)議制定了tcp(傳輸控制協(xié)議)和udp(用戶數(shù)據(jù)報協(xié)議)兩種協(xié)議用于數(shù)據(jù)傳輸。它們都屬于osi七層網(wǎng)絡參考模型中的傳輸層。tcp協(xié)議是一種面向連接的協(xié)議,用于確保數(shù)據(jù)的可靠傳輸。一旦在兩個設備之間建立起tcp連接,tcp協(xié)議將用于拆分、組裝數(shù)據(jù)包,檢測錯誤、數(shù)據(jù)重新發(fā)送,通常用于在兩個網(wǎng)絡設備之間提供高質(zhì)量的數(shù)據(jù)傳輸。tcp協(xié)議能夠確保數(shù)據(jù)從一個網(wǎng)絡設備傳輸?shù)狡渌W(wǎng)絡設備。一旦由于某種原因造成傳輸失敗,tcp協(xié)議將確保tcp連接的收發(fā)雙方應用程序能夠得知這一故障。tcp協(xié)議將數(shù)據(jù)以字節(jié)流的形式提供給它上一層的應用層協(xié)議。同時,應用層還要對字節(jié)流數(shù)據(jù)進行識別和分割。
tcp協(xié)議只適合于非廣播(點對點)傳輸方式,通常在telnet(終端仿真)、ftp(文件傳輸)以及http(web服務)等應用中采用。在工業(yè)自動化應用中,tcp協(xié)議通常用于計算機向plc下載梯形圖程序,或者人機界面軟件對plc數(shù)據(jù)進行讀寫,以及兩臺plc之間的點對點信息交換。
udp是一種非常簡單的傳輸協(xié)議,它采用無連接的通訊方式,用于在兩個網(wǎng)絡設備之間進行簡單的數(shù)據(jù)報文收發(fā)。它并不能保證數(shù)據(jù)能夠從一個網(wǎng)絡設備發(fā)送到另外一個,也沒有數(shù)據(jù)重發(fā)功能,甚至不知道目標設備是否已經(jīng)收到了數(shù)據(jù)。因此,需要應用層協(xié)議實現(xiàn)設備之間的握手信號或者連接管理,通常在較小流量要求的服務中才使用udp協(xié)議,例如snmp(簡單網(wǎng)絡管理協(xié)議)和nfs(網(wǎng)絡文件系統(tǒng))。udp協(xié)議與tcp協(xié)議相比,傳輸能力和資源占用都比較低,因而能夠進行更小、更簡單、更快捷的數(shù)據(jù)傳輸。udp協(xié)議支持非廣播、多點傳送和廣播三種不同的傳輸方式。在工業(yè)自動化應用中,udp協(xié)議通常用于網(wǎng)絡管理、對可靠性要求不高的數(shù)據(jù)傳輸,或者由應用程序的其它功能實現(xiàn)自身的可靠性,比如在網(wǎng)絡設備中采用閃存芯片進行編程。
有關tcp/ip協(xié)議及其應用的技術資料已經(jīng)被歸檔,稱為請求評注(rfc),由internet工程任務組(ietf)負責維護。ietf是一個獨立性的組織,用于制定internet的各種標準協(xié)議。所有rfc資料都是公開的,用戶可以從ietf的網(wǎng)站免費下載。
c.應用層協(xié)議及互操作性
tcp/ip協(xié)議提供一系列的服務,無論是在局域網(wǎng)中,還是在廣闊的internet中,都可以保證兩個設備之間的相互通訊。但是,單獨采用tcp/ip協(xié)議并不能確保網(wǎng)絡設備的通訊效率,它只能保證應用層信息能夠成功地在兩個設備之間進行傳輸。
為了提高通訊效率,需要在相應的網(wǎng)絡設備上安裝兼容的應用軟件。應用軟件必須相互懂得對方所提供的服務,能夠在tcp/ip(udp/ip)協(xié)議的基礎上,使用通用的報文格式進行通訊。rfc資料提供了internet常用應用服務的文檔,例如ftp、http、telnet、snmp、smtp(e-mail)等,詳細定義了它們的工作機理。因此,任何廠商只要根據(jù)rfc資料的要求進行生產(chǎn)和程序開發(fā),就可以確保設備之間能夠相互通訊,甚至是不同廠商的設備。這種通過應用層協(xié)議實現(xiàn)不同廠商設備之間相同通訊的能力被稱為互操作性。
雖然文件傳輸(ftp)、終端仿真(telnet)、電子郵件(smtp)和其它通用的服務已經(jīng)在ietf的領導下確定下來。但是在工業(yè)自動化領域,情況卻不是這么簡單。雖然某些自動化廠商的設備能夠工作在以太網(wǎng)上,也采用了tcp/ip協(xié)議,但是它們卻有著不同的應用層協(xié)議。這樣一來,在車間現(xiàn)場中,不同自動化廠商的設備即便可以與局域網(wǎng)相連接,在物理上能夠實現(xiàn)共存,卻不能進行設備之間的互操作。比如,a廠商的plc不能通過tcp/ip連接,方便地共享b廠商plc中的數(shù)據(jù);或者a廠商工作站內(nèi)的軟件不能對b廠商的設備編程或者配置??梢?,由于缺乏互操作性,即便在同一個項目,同一個以太網(wǎng)中,用戶也很難將不同廠商的以太網(wǎng)設備集成在一起,構成一個系統(tǒng)。
ethernet/ip協(xié)議能夠與任何現(xiàn)有的協(xié)議共存,它們都可以運行在tcp/udp傳輸層之上。