siemens x
工業(yè)安全

工業(yè)以太網(wǎng)與Modbus TCP

2025China.cn   2010年02月03日

 一 以太網(wǎng)的標(biāo)準(zhǔn)

  以太網(wǎng)是一種局域網(wǎng)。早期標(biāo)準(zhǔn)為IEEE 802.3,數(shù)據(jù)鏈路層使用CSMA/CD,10Mb/s速度物理層有:

(1)10 Base 5粗同軸電纜,RG-8,一段最長為500m;

(2)10 Base 2細(xì)同軸電纜,RG-58,一段最長為185m;

(3)10 Base T雙絞線,UTP或STP,一段最長為100m。


  快速以太網(wǎng)為100Mb/s,標(biāo)準(zhǔn)為802.3a,介質(zhì)為100 Base Tx雙絞線、100 Base Fx光纖。

  目前10/100M以太網(wǎng)使用最為普遍,很多企事業(yè)用戶已實(shí)現(xiàn)100M到以太網(wǎng)桌面,確實(shí)體驗(yàn)到高速“沖浪”的快感,另外從距離而言,非屏蔽雙絞線(UTP)為100m,多模光纖可達(dá)2~3km,單模光纖可大于100km。千兆以太網(wǎng)1000Mb/s為802.3z/802.3ab,萬兆以太網(wǎng)10Gb/s為802.3ae,將為新一輪以太網(wǎng)的發(fā)展帶來新的機(jī)遇與沖擊。

二 工業(yè)以太網(wǎng)與商用以太網(wǎng)的區(qū)別

  什么是工業(yè)以太網(wǎng)?技術(shù)上,它與IEEE802.3兼容,故從邏輯上可把商用網(wǎng)和工業(yè)網(wǎng)看成是一個(gè)以太網(wǎng),而用戶可根據(jù)現(xiàn)場情況,靈活裝配自己的網(wǎng)絡(luò)部件,但從工業(yè)環(huán)境的惡劣和抗干擾的要求,設(shè)計(jì)者希望采用市場上可找到的以太網(wǎng)芯片和媒介,兼顧考慮下述工業(yè)現(xiàn)場的特殊要求:首先要考慮高溫、潮濕、振動(dòng);二是對工業(yè)抗電磁干擾和抗輻射有一定要求,如滿足EN50081-2、EN50082-2標(biāo)準(zhǔn),而辦公室級別的產(chǎn)品未經(jīng)這些工業(yè)標(biāo)準(zhǔn)測試,表1列出了一些常用工業(yè)標(biāo)準(zhǔn)。為改善抗干擾性和降低輻射,工業(yè)以太網(wǎng)產(chǎn)品多使用多層線路板或雙面電路板,且外殼采用金屬如鑄鋁屏蔽干擾;三是電源要求,因集線器、交換機(jī)、收發(fā)器多為有源部件,而現(xiàn)場電源的品質(zhì)又較差,故常采用雙路直流電或交流電為其供電,另外考慮方便安裝,工業(yè)以太網(wǎng)產(chǎn)品多數(shù)使用DIN導(dǎo)軌或面板安裝;四是通信介質(zhì)選擇,在辦公室環(huán)境下多數(shù)配線使用UTP,而在工業(yè)環(huán)境下推薦用戶使用STP(帶屏蔽雙絞線)和光纖。

三 TCP/IP

1. 為什么使用TCP/IP?

  最主要的一個(gè)原因在于它能使用在多種物理網(wǎng)絡(luò)技術(shù)上,包括局域網(wǎng)和廣域網(wǎng)技術(shù)。TCP/IP協(xié)議的成功很大程度上取決于它能適應(yīng)幾乎所有底層通信技術(shù)。

    20世紀(jì)80年代初,先在X.25上運(yùn)行TCP/IP協(xié)議;而后又在一個(gè)撥號語音網(wǎng)絡(luò)(如電話系統(tǒng))上使用TCP/IP協(xié)議,又有TCP/IP在令牌環(huán)網(wǎng)上運(yùn)行成功;最后又實(shí)現(xiàn)了TCP/IP遠(yuǎn)程分組無線網(wǎng)點(diǎn)與其他Internet網(wǎng)點(diǎn)間TCP/IP通信。所以TCP/IP協(xié)議極其靈活,具備連接不同網(wǎng)絡(luò)的能力。

  另外,使用TCP/IP也簡化了OSI模型,因?yàn)樗÷粤吮硎緦雍蜁?huì)話層。如果現(xiàn)在把以太網(wǎng)的物理層和數(shù)據(jù)鏈路層加到OSI模型就構(gòu)成了基于以太網(wǎng)的TCP/IP網(wǎng),如圖1所示。用以太網(wǎng)實(shí)現(xiàn)TCP/IP也是經(jīng)濟(jì)的一種方式。


2. Internet Protocol(IP)

  IP是Internet最基本的協(xié)議,用戶可從下載RFC79來得到其文件,(要求評論RFC: Request For Comments:一系列備忘錄的名稱,包括概述、評價(jià)、意見、技術(shù)和研究,以及所提出的和被接受的互聯(lián)網(wǎng)標(biāo)準(zhǔn))。

  IP層主要目的是找到IP報(bào)文的“下一個(gè)連接點(diǎn)”,它可以是路由器、計(jì)算機(jī)、控制器甚至I/O,關(guān)鍵該設(shè)備須有自己的IP地址。凡在網(wǎng)絡(luò)層使用IP協(xié)議的網(wǎng)絡(luò),都通過IP地址尋址,所以使用時(shí)首先要進(jìn)行復(fù)雜的設(shè)置,每個(gè)節(jié)點(diǎn)至少需一個(gè)“IP地址”、一個(gè)“子網(wǎng)掩碼”、一個(gè)“默認(rèn)網(wǎng)點(diǎn)”和一個(gè)“主機(jī)名”,如此復(fù)雜的設(shè)置,對于一些初識網(wǎng)絡(luò)的用戶來說的確帶來不便,不過隨著對網(wǎng)絡(luò)熟悉,有許多IP地址配置工具,可方便進(jìn)行IP設(shè)置,甚至是自動(dòng)設(shè)置。

  IP是面向報(bào)文的協(xié)議,它獨(dú)立處理每個(gè)報(bào)文包,每個(gè)報(bào)文包必須含有完整的尋址信息。IP報(bào)文包的格式如圖2所示。

  IP地址的類型共有4種(如圖3所示):A類用于處理超大型網(wǎng)絡(luò),最多16387064個(gè)主機(jī)(1~126);B類網(wǎng)絡(luò)最多可有64516個(gè)主機(jī)(網(wǎng)絡(luò)地址的第一段為128~191);C類用于小型網(wǎng)絡(luò),最多可有254個(gè)主機(jī)(網(wǎng)絡(luò)地址的第一段為192~223);D類用于多點(diǎn)播送,用于多目的信息的傳輸。全零(“”)地址對應(yīng)于當(dāng)前主機(jī),全1地址(“”)是當(dāng)前子網(wǎng)的廣播地址。

3. Transmission Control Protocol (TCP)

  TCP是基于傳輸層的協(xié)議(如圖4所示),協(xié)議文件可從RFC793得到,使用廣泛,面向連接的可靠協(xié)議。它能把報(bào)文分解為數(shù)段,在目的站再重新裝配這些段,支持重新發(fā)送未被收到的段,提供兩臺設(shè)備間的全雙工連接,允許它們高效地交換大量數(shù)據(jù)。TCP使用滑動(dòng)窗口協(xié)議來高效使用網(wǎng)絡(luò)。由于TCP很少干預(yù)底層投遞系統(tǒng)的工作,它適應(yīng)各種投遞系統(tǒng);且提供流量控制,能使各種不同速率的系統(tǒng)進(jìn)行通信。報(bào)文段是TCP所使用的基本傳輸單元,用于傳輸數(shù)據(jù)或控制信息。


4. TCP端口

  TCP是使用端口(Socket)號把信息傳到上層,為用戶提供不同服務(wù),端口號跟蹤同一時(shí)間內(nèi)通過網(wǎng)絡(luò)的不同會(huì)話。RFC1700中定義了眾所周知的特殊端口號,常用端口如表2所列。其中502端口是自動(dòng)化公司唯一所擁有的端口號碼。


5. 協(xié)議(Protocal)的功能

  組建網(wǎng)絡(luò)時(shí),必須選擇一種網(wǎng)絡(luò)通信協(xié)議,使得用戶之間能相互進(jìn)行“交流”。協(xié)議是網(wǎng)絡(luò)設(shè)備用來通信的一套規(guī)則,可理解為一種彼此都能聽懂的公用語言。如在網(wǎng)絡(luò)層使用IP協(xié)議,在傳輸層使用TCP協(xié)議,就構(gòu)成了目前常用的TCP/IP協(xié)議,現(xiàn)在幾乎所有廠商和操作系統(tǒng)都支持它。同時(shí),TCP/IP也是Internet的基礎(chǔ)協(xié)議。

         如在(如圖5所示),就構(gòu)成了完整工業(yè)以太網(wǎng)應(yīng)用。

應(yīng)用層使用工業(yè)上事實(shí)標(biāo)準(zhǔn)的Modbus協(xié)議

 四 開放和標(biāo)準(zhǔn)的Modbus TCP

  Modbus是開放協(xié)議,IANA(Internet Assigned Numbers Authority, 互聯(lián)網(wǎng)編號分配管理機(jī)構(gòu))給Modbus協(xié)議賦予TCP端口502,Modbus協(xié)議可免費(fèi)從得到。

  Modbus是標(biāo)準(zhǔn)協(xié)議,它已提交給IETF(Internet Engineering Task Force, 互聯(lián)網(wǎng)工程任務(wù)部),將成為Internet標(biāo)準(zhǔn)。因自1978年,工業(yè)自動(dòng)化行業(yè)已安裝了百萬計(jì)串口Modbus設(shè)備和十萬計(jì)Modbus TCP/IP設(shè)備,擁有超過300個(gè)Modbus兼容設(shè)備廠商,還有90%的第三廠家I/O支持Modbus TCP/IP,所以是使用廣泛的事實(shí)標(biāo)準(zhǔn)。Modbus的普及得益于使用門坎很低,無論用串口還是用以太網(wǎng),硬件成本低廉,Modbus和Modbus TCP都可以免費(fèi)得到,不需交任何費(fèi)用,且在網(wǎng)上有很多免費(fèi)資源,如C/C++、JAVA樣板程序、ActiveX控件、各種測試工具等,所以用戶使用很方便。另外,幾乎可找到任何現(xiàn)場總線到Modbus TCP的網(wǎng)點(diǎn),方便用戶實(shí)現(xiàn)各種網(wǎng)絡(luò)之間的互聯(lián)。

1. Modbus TCP/IP

  如果使用TCP/IP以太網(wǎng)的5層:

    第一層:物理層,提供設(shè)備的物理接口,與市售的介質(zhì)/網(wǎng)絡(luò)適配器相兼容;

    第二層:數(shù)據(jù)鏈路層,格式化信號到源/目的硬件地址的數(shù)據(jù)幀;

    第三層:網(wǎng)絡(luò)層,實(shí)現(xiàn)帶有32位IP地址的IP報(bào)文包;

    第四層:傳輸層,實(shí)現(xiàn)可靠性連接、傳輸、查錯(cuò)、重發(fā)、端口服務(wù)、傳輸調(diào)度;

    第五層:應(yīng)用層,Modbus協(xié)議報(bào)文。

2. Modbus TCP數(shù)據(jù)幀

  在TCP/IP以太網(wǎng)上傳輸,支持Ethernet II和802.3兩種幀格式。圖6所示,Modbus TCP數(shù)據(jù)幀包含報(bào)文頭、功能代碼和數(shù)據(jù)3部分。


    MBAP報(bào)文頭(MBAP、Modbus Application Protocol、Modbus應(yīng)用協(xié)議)分4個(gè)域,共7個(gè)字節(jié),如表3所示。

MBAP報(bào)文頭

3. Modbus功能代碼

  共有3種類型分別為:

    (1)公共功能代碼(如表4所示):已定義好的功能碼,保證其唯一性,由認(rèn)可;

    (2)用戶自定義功能代碼有兩組,分別為65~72和100~110,無需認(rèn)可,但不保證代碼使用的  唯一性。如變?yōu)楣泊a,需交RFC認(rèn)可;(3)保留的功能代碼,由某些公司使用在某些傳統(tǒng)設(shè)備的代碼,不可作為公共用途。


  功能代碼劃分:按應(yīng)用深淺,可分為3個(gè)類別。

  1. 類別0,對于客戶機(jī)/服務(wù)器最小的可用子集:讀多個(gè)保持寄存器(fc.3);寫多個(gè)保持寄存器(fc.16)。

  2. 類別1,可實(shí)現(xiàn)基本互易操作的常用代碼:讀線圈(fc.1);讀開關(guān)量輸入(fc.2);讀輸入寄存器(fc.4);寫線圈(fc.5);寫單一寄存器(fc.6)。

  3. 類別2,用于人機(jī)界面、監(jiān)控系統(tǒng)的例行操作和數(shù)據(jù)傳送功能:強(qiáng)制多個(gè)線圈(fc.15);讀通用寄存器(fc.20);寫通用寄存器(fc.21);屏蔽寫寄存器(fc.22);讀寫寄存器(fc.23)。

4. Modbus應(yīng)用舉例

讀寄存器(見表5)。

Modbus TCP請求報(bào)文舉例(見表6)。

Modbus TCP客戶端的實(shí)況。

用Connect()命令建立目標(biāo)設(shè)備TCP 502端口的連接數(shù)據(jù)通信的過程:

準(zhǔn)備Modbus報(bào)文,包括7個(gè)字節(jié)的MBAP在內(nèi)的請求;

使用send()命令發(fā)送;

在同一連接等待應(yīng)答;

同recv()讀報(bào)文,完成一次數(shù)據(jù)交換過程。
當(dāng)通信任務(wù)結(jié)束時(shí),關(guān)閉TCP連接,使服務(wù)器可以為其他服務(wù)。

Modbus TCP的樣板程序

用戶可通過網(wǎng)站下載到:

JAVA的應(yīng)用程序;

基于Unix系統(tǒng)下,C的應(yīng)用程序;

基于Win32系統(tǒng)下,C的應(yīng)用程序。

Modbus TCP協(xié)議

協(xié)議文本的英文版可從www. 下載,如需協(xié)議文本的中文版,可向施耐德電氣(中國)投資有限公司各地區(qū)辦事處索要。



五 使用TCP/IP Modbus的原因

  1. TCP/IP已成為信息行業(yè)的事實(shí)標(biāo)準(zhǔn):世界上93%的網(wǎng)絡(luò)都使用TCP/IP,只要在應(yīng)用層使用Modbus TCP,就可實(shí)現(xiàn)工業(yè)以太網(wǎng)數(shù)據(jù)交換;

  2. 易于與各種系統(tǒng)互連:可用于管理網(wǎng)、實(shí)時(shí)監(jiān)控網(wǎng)及現(xiàn)場設(shè)備通信;

  1. 網(wǎng)絡(luò)實(shí)施價(jià)格低廉:可全部使用通用網(wǎng)絡(luò)部件;

  2. 用戶強(qiáng)烈要求:目前中國已把Modbus TCP作為工業(yè)網(wǎng)絡(luò)標(biāo)準(zhǔn)之一,用戶可免費(fèi)獲得協(xié)議及樣板程序,可在Unix、Linux、Windows下運(yùn)行,不需要專門驅(qū)動(dòng)程序。在國外,Modbus TCP被國際半導(dǎo)體業(yè)SEMI定為網(wǎng)絡(luò)標(biāo)準(zhǔn),國際水處理、電力系統(tǒng)也把它作為應(yīng)用的事實(shí)標(biāo)準(zhǔn),還有越來越多行業(yè)作為標(biāo)準(zhǔn)來用;

  1. 高速的數(shù)據(jù):用戶最關(guān)心的是所使用網(wǎng)絡(luò)的傳輸能力,100M以太網(wǎng)的傳輸結(jié)果為:每秒4000個(gè)Modbus TCP報(bào)文,而每個(gè)報(bào)文可傳輸125個(gè)字(16bit),故相當(dāng)于4000×125=500000個(gè)模擬量數(shù)據(jù)(8000000開關(guān)量!);

  1. 廠家能提供完整解決方案:工業(yè)以太網(wǎng)的接線元件,包括工業(yè)集成器、工業(yè)交換機(jī)、工業(yè)收發(fā)器、工業(yè)連接電纜。工業(yè)以太網(wǎng)服務(wù)器,包括遠(yuǎn)程、分布式I/O掃描功能,設(shè)備地址IP的設(shè)置功能,故障設(shè)備在線更換。功能,分組的信息發(fā)布與訂閱功能,網(wǎng)絡(luò)動(dòng)態(tài)監(jiān)視功能,還有支持瘦客戶機(jī)的Web服務(wù)。其他工控設(shè)備的支持:如工業(yè)用人機(jī)界面、變頻器、軟起動(dòng)器、電動(dòng)機(jī)控制中心、以太網(wǎng)I/O、各種現(xiàn)場總線的網(wǎng)橋、甚至帶TCP/IPModbus的傳感器,都為用戶使用提供了方便。

(轉(zhuǎn)載)

標(biāo)簽:工業(yè)以太網(wǎng) Modbus TCP 我要反饋 
2024世界人工智能大會(huì)專題
即刻點(diǎn)擊并下載ABB資料,好禮贏不停~
優(yōu)傲機(jī)器人下載中心
西克
2024全景工博會(huì)
專題報(bào)道