乙太網是一種區域網。早期標準為IEEE 802.3,數據鏈路層使用CSMA/CD,10Mb/s速度物理層有:
(1)10 Base 5粗同軸電纜,RG-8,一段最長為500m;
(2)10 Base 2細同軸電纜,RG-58,一段最長為185m;
(3)10 Base T雙絞線,UTP或STP,一段最長為100m。
快速乙太網為100Mb/s,標準為802.3a,介質為100 Base Tx雙絞線、100 Base Fx光纖。
另外從距離而言,非屏蔽雙絞線(UTP)為100m,多模光纖可達2~3km,單模光纖可大於100km。千兆乙太網1000Mb/s為802.3z/802.3ab,萬兆乙太網10Gb/s為802.3ae。
二、工業乙太網與商用乙太網的區別
什麼是工業乙太網?技術上,它與IEEE802.3兼容,故從邏輯上可把商用網和工業網看成是一個乙太網,而用戶可根據現場情況,靈活裝配自己的網絡部件,但從工業環境的惡劣和抗幹擾的要求,設計者希望採用市場上可找到的乙太網晶片和媒介,兼顧考慮下述工業現場的特殊要求:首先要考慮高溫、潮溼、振動;二是對工業抗電磁幹擾和抗輻射有一定要求,如滿足EN50081-2、EN50082-2標準,而辦公室級別的產品未經這些工業標準測試,表1列出了一些常用工業標準。為改善抗幹擾性和降低輻射,工業乙太網產品多使用多層線路板或雙面電路板,且外殼採用金屬如鑄鋁屏蔽幹擾;三是電源要求,因集線器、交換機、收發器多為有源部件,而現場電源的品質又較差,故常採用雙路直流電或交流電為其供電,另外考慮方便安裝,工業乙太網產品多數使用DIN導軌或面板安裝;四是通信介質選擇,在辦公室環境下多數配線使用UTP,而在工業環境下推薦用戶使用STP(帶屏蔽雙絞線)和光纖。
三、TCP/IP
1. 為什麼使用TCP/IP?
最主要的一個原因在於它能使用在多種物理網絡技術上,包括區域網和廣域網技術。TCP/IP協議的成功很大程度上取決於它能適應幾乎所有底層通信技術。
20世紀80年代初,先在X.25上運行TCP/IP協議;而後又在一個撥號語音網絡(如電話系統)上使用TCP/IP協議,又有TCP/IP在令牌環網上運行成功;最後又實現了TCP/IP遠程分組無線網點與其他Internet網點間TCP/IP通信。所以TCP/IP協議極其靈活,具備連接不同網絡的能力。
另外,使用TCP/IP也簡化了OSI模型,因為它省略了表示層和會話層。如果現在把乙太網的物理層和數據鏈路層加到OSI模型就構成了基於乙太網的TCP/IP網,如圖1所示。用乙太網實現TCP/IP也是經濟的一種方式。
2. InternetProtocol(IP)
IP是Internet最基本的協議,用戶可從www.ietf.org下載RFC79來得到其文件,(要求評論RFC: Request For Comments:一系列備忘錄的名稱,包括概述、評價、意見、技術和研究,以及所提出的和被接受的網際網路標準)。
IP層主要目的是找到IP報文的「下一個連接點」,它可以是路由器、計算機、控制器甚至I/O,關鍵該設備須有自己的IP位址。凡在網絡層使用IP協議的網絡,都通過IP位址尋址,所以使用時首先要進行複雜的設置,每個節點至少需一個「IP位址」、一個「子網掩碼」、一個「默認網點」和一個「主機名」,如此複雜的設置,對於一些初識網絡的用戶來說的確帶來不便,不過隨著對網絡熟悉,有許多IP位址配置工具,可方便進行IP設置,甚至是自動設置。
IP是面向報文的協議,它獨立處理每個報文包,每個報文包必須含有完整的尋址信息。IP報文包的格式如圖2所示。
IP位址的類型共有4種(如圖3所示):A類用於處理超大型網絡,最多16387064個主機(1~126);B類網絡最多可有64516個主機(網絡地址的第一段為128~191);C類用於小型網絡,最多可有254個主機(網絡地址的第一段為192~223);D類用於多點播送,用於多目的信息的傳輸。全零(「0.0.0.0」)地址對應於當前主機,全1地址(「255.255.255.255」)是當前子網的廣播地址。
3. TransmissionControl Protocol (TCP)
TCP是基於傳輸層的協議(如圖4所示),協議文件可從RFC793得到,使用廣泛,面向連接的可靠協議。它能把報文分解為數段,在目的站再重新裝配這些段,支持重新發送未被收到的段,提供兩臺設備間的全雙工連接,允許它們高效地交換大量數據。TCP使用滑動窗口協議來高效使用網絡。由於TCP很少幹預底層投遞系統的工作,它適應各種投遞系統;且提供流量控制,能使各種不同速率的系統進行通信。報文段是TCP所使用的基本傳輸單元,用於傳輸數據或控制信息。
4. TCP埠
TCP是使用埠(Socket)號把信息傳到上層,為用戶提供不同服務,埠號跟蹤同一時間內通過網絡的不同會話。RFC1700中定義了眾所周知的特殊埠號,常用埠如表2所列。其中502埠是自動化公司唯一所擁有的埠號碼。
5. 協議(Protocal)的功能
組建網絡時,必須選擇一種網絡通信協議,使得用戶之間能相互進行「交流」。協議是網絡設備用來通信的一套規則,可理解為一種彼此都能聽懂的公用語言。如在網絡層使用IP協議,在傳輸層使用TCP協議,就構成了目前常用的TCP/IP協議,現在幾乎所有廠商和作業系統都支持它。同時,TCP/IP也是Internet的基礎協議。
如在應用層使用工業上事實標準的Modbus協議(如圖5所示),就構成了完整工業乙太網應用。
四、開放和標準的Modbus TCP
Modbus是開放協議,IANA(Internet Assigned NumbersAuthority, 網際網路編號分配管理機構)給Modbus協議賦予TCP埠502,Modbus協議可免費從www.Modbus.org得到。
Modbus是標準協議,它已提交給IETF(Internet Engineering TaskForce, 網際網路工程任務部),將成為Internet標準。因自1978年,工業自動化行業已安裝了百萬計串口Modbus設備和十萬計ModbusTCP/IP設備,擁有超過300個Modbus兼容設備廠商,還有90%的第三廠家I/O支持Modbus TCP/IP,所以是使用廣泛的事實標準。Modbus的普及得益於使用門坎很低,無論用串口還是用乙太網,硬體成本低廉,Modbus和Modbus TCP都可以免費得到,不需交任何費用,且在網上有很多免費資源,如C/C++、JAVA樣板程序、ActiveX控制項、各種測試工具等,所以用戶使用很方便。另外,幾乎可找到任何現場總線到Modbus TCP的網點,方便用戶實現各種網絡之間的互聯。
1. Modbus TCP/IP
如果使用TCP/IP乙太網的5層:
第一層:物理層,提供設備的物理接口,與市售的介質/網絡適配器相兼容;
第二層:數據鏈路層,格式化信號到源/目的硬體地址的數據幀;
第三層:網絡層,實現帶有32位IP位址的IP報文包;
第四層:傳輸層,實現可靠性連接、傳輸、查錯、重發、埠服務、傳輸調度;
第五層:應用層,Modbus協議報文。
2. Modbus TCP數據幀
在TCP/IP乙太網上傳輸,支持EthernetII和802.3兩種幀格式。圖6所示,Modbus TCP數據幀包含報文頭、功能代碼和數據3部分。
MBAP報文頭(MBAP、Modbus Application Protocol、Modbus應用協議)分4個域,共7個字節,如表3所示。
3. Modbus功能代碼
共有3種類型分別為:
(1)公共功能代碼(如表4所示):已定義好的功能碼,保證其唯一性,由Modbus.org認可;
(2)用戶自定義功能代碼有兩組,分別為65~72和100~110,無需認可,但不保證代碼使用的 唯一性。如變為公共代碼,需交RFC認可;(3)保留的功能代碼,由某些公司使用在某些傳統設備的代碼,不可作為公共用途。
功能代碼劃分:按應用深淺,可分為3個類別。
類別0,對於客戶機/伺服器最小的可用子集:讀多個保持寄存器(fc.3);寫多個保持寄存器(fc.16)。
類別1,可實現基本互易操作的常用代碼:讀線圈(fc.1);讀開關量輸入(fc.2);讀輸入寄存器(fc.4);寫線圈(fc.5);寫單一寄存器(fc.6)。
類別2,用於人機界面、監控系統的例行操作和數據傳送功能:
強制多個線圈(fc.15);讀通用寄存器(fc.20);寫通用寄存器(fc.21);屏蔽寫寄存器(fc.22);讀寫寄存器(fc.23)。
4. Modbus應用舉例
讀寄存器(見表5)。
Modbus TCP請求報文舉例(見表6)。
Modbus TCP客戶端的實況。
用Connect()命令建立目標設備TCP502埠的連接數據通信的過程:
準備Modbus報文,包括7個字節的MBAP在內的請求;
使用send()命令發送;
在同一連接等待應答;
同recv()讀報文,完成一次數據交換過程。
當通信任務結束時,關閉TCP連接,使伺服器可以為其他服務。
Modbus TCP的樣板程序
用戶可通過網站www.transparent-factory.com下載到:
JAVA的應用程式;
基於Unix系統下,C的應用程式;
基於Win32系統下,C的應用程式。
Modbus TCP協議
協議文本的英文版可從www. modbus.org下載,如需協議文本的中文版,可向施耐德電氣(中國)投資有限公司各地區辦事處索要。
五、使用TCP/IP Modbus的原因
TCP/IP已成為信息行業的事實標準:世界上93%的網絡都使用TCP/IP,只要在應用層使用Modbus TCP,就可實現工業乙太網數據交換;
易於與各種系統互連:可用於管理網、實時監控網及現場設備通信;
網絡實施價格低廉:可全部使用通用網絡部件;
用戶強烈要求:目前中國已把Modbus TCP作為工業網絡標準之一,用戶可免費獲得協議及樣板程序,可在Unix、Linux、Windows下運行,不需要專門驅動程序。在國外,Modbus TCP被國際半導體業SEMI定為網絡標準,國際水處理、電力系統也把它作為應用的事實標準,還有越來越多行業作為標準來用;
高速的數據:用戶最關心的是所使用網絡的傳輸能力,100M乙太網的傳輸結果為:每秒4000個Modbus TCP報文,而每個報文可傳輸125個字(16bit),故相當於4000×125=500000個模擬量數據(8000000開關量!);
廠家能提供完整解決方案:工業乙太網的接線元件,包括工業集成器、工業交換機、工業收發器、工業連接電纜。工業乙太網伺服器,包括遠程、分布式I/O掃描功能,設備地址IP的設置功能,故障設備在線更換。功能,分組的信息發布與訂閱功能,網絡動態監視功能,還有支持瘦客戶機的Web服務。
其他工控設備的支持:如工業用人機界面、變頻器、軟起動器、電動機控制中心、乙太網I/O、各種現場總線的網橋、甚至帶TCP/IPModbus的傳感器,都為用戶使用提供了方便。