• 
    <ul id="auswy"><sup id="auswy"></sup></ul>
  • <ul id="auswy"></ul>
    ABB
    關(guān)注中國自動(dòng)化產(chǎn)業(yè)發(fā)展的先行者!
    CAIAC 2025
    2025工業(yè)安全大會(huì)
    OICT公益講堂
    當(dāng)前位置:首頁 >> 案例 >> 案例首頁

    案例頻道

    開放的MODBUS TCP(連載二)
    • 企業(yè):施耐德電氣(中國)有限公司     領(lǐng)域:工業(yè)以太網(wǎng)    
    • 點(diǎn)擊數(shù):2136     發(fā)布時(shí)間:2005-06-13 12:05:37
    • 分享到:

    1  為什么要用TCP/IP?

        TCP/IP(Transmission Control Protocol / Internet Protocol,傳送控制協(xié)議/網(wǎng)際協(xié)議)之所以強(qiáng)大的最主要的一個(gè)原因在于它可以使用在多種物理網(wǎng)絡(luò)技術(shù)上,包括局域網(wǎng)和廣域網(wǎng)技術(shù),并能適應(yīng)幾乎所有的底層通信技術(shù)。20世紀(jì)80年代初,先在X.25上運(yùn)行TCP/IP協(xié)議,而后,又在一個(gè)撥號(hào)語音網(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)之間進(jìn)行TCP/IP的通信。
        所以說,TCP/IP協(xié)議是及其靈活的,幾乎所有的底層技術(shù)都可以用于傳輸TCP/IP的通信,也就是說,TCP/IP具備連接不同網(wǎng)絡(luò)的能力。另外,使用TCP/IP也簡(jiǎn)化了OSI的模型,因?yàn)樗÷粤吮硎緦雍蜁?huì)話層。
        如果現(xiàn)在把以太網(wǎng)物理層和數(shù)據(jù)鏈路層加到OSI的模型之中,如圖1所示,就構(gòu)成了基于以太網(wǎng)的TCP/IP網(wǎng)。事實(shí)上用以太網(wǎng)實(shí)現(xiàn)TCP/IP也是最經(jīng)濟(jì)的一種方式。


    圖1  簡(jiǎn)化的OSI模型

    2  協(xié)議的功能

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

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

        Modbus是開放的協(xié)議,IANA(Internet Assigned Numbers Authority,互聯(lián)網(wǎng)編號(hào)分配管理機(jī)構(gòu))給Modbus協(xié)議賦予TCP編口號(hào)為502,這是目前在儀表與自動(dòng)化行業(yè)中唯一分配到的端口號(hào),Modbus協(xié)議可免費(fèi)從www.Modbus.org得到。
        Modbus是標(biāo)準(zhǔn)的協(xié)議,Modbus協(xié)議已提交給IETF(Internet Engineering Task Force,互聯(lián)網(wǎng)工程任務(wù)部),將成為Internet標(biāo)準(zhǔn)。因?yàn)閺?978年以來,在工業(yè)自動(dòng)化行業(yè),已安裝了百萬計(jì)的串口Modbus設(shè)備和10萬計(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樣板程序,Active X控件,各種測(cè)試工具等等,所以用戶使用很方便。另外,幾乎可以找到任何現(xiàn)場(chǎng)總線連接到Modbus TCP的網(wǎng)關(guān),方便用戶實(shí)現(xiàn)各種網(wǎng)絡(luò)之間的互聯(lián)。

    4  Internet Protocol (IP)

        IP是Internet最基本的協(xié)議,用戶可以下載RFC 791(RFC: Request For Comments,要求評(píng)論:一系列備忘錄的名稱,它們包括概述、評(píng)價(jià)、意見、技術(shù)和研究,以及所提出的和被接受的互聯(lián)網(wǎng)標(biāo)準(zhǔn)),來得到其文件。
        IP層的主要目的是找到IP報(bào)文的“下一個(gè)連接點(diǎn)”,它可以是路由器,計(jì)算機(jī),控制器甚至是I/O,關(guān)鍵是這個(gè)設(shè)備必須有自己的IP地址。凡是在網(wǎng)絡(luò)層使用IP協(xié)議的網(wǎng)絡(luò)都是通過IP地址來進(jìn)行尋址的,所以使用時(shí)首先要進(jìn)行復(fù)雜的設(shè)置,每個(gè)節(jié)點(diǎn)至少需要一個(gè)“IP地址”、一個(gè)“子網(wǎng)掩碼”、一個(gè)“默認(rèn)網(wǎng)關(guān)”和一個(gè)“主機(jī)名”。如此復(fù)雜的設(shè)置,對(duì)于一些初識(shí)網(wǎng)絡(luò)的用戶來說的確帶來了不便。不過,隨著對(duì)網(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所示。


    圖2  IP報(bào)文包的格式

    5  IP地址的類

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


    圖3  IP地址的四種類型

    6  Transmission Control Protocol (TCP)

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


    圖4  TCP報(bào)文段

    7  TCP端口

        TCP是使用端口(Socket)號(hào)把信息傳到上層,為用戶提供不同的服務(wù),端口號(hào)用來跟蹤同一時(shí)間內(nèi)通過網(wǎng)絡(luò)的不同會(huì)話。
        RFC1700中定義了眾所周知的特殊編口號(hào),常用的端口如表1所示。

    表1  常用端口號(hào)

    十進(jìn)制數(shù)

    關(guān)鍵字

    說明

    20

    ftp-data

    文件傳輸協(xié)議(數(shù)據(jù))

    21

    ftp

    文件傳輸協(xié)議

    23

    telnet

    遠(yuǎn)程登錄

    25

    Smtp

    簡(jiǎn)單郵件傳輸協(xié)議

    53

    Domain

    域名服務(wù)器

    67

    bootps

    啟動(dòng)協(xié)議服務(wù)器

    80

    http

    超文本傳輸協(xié)議

    110

    pop3

    郵件接收協(xié)議

    502

    Modbus

    自動(dòng)化信息傳輸

        502端口目前是所有自動(dòng)化公司中,唯一用于自動(dòng)化信息傳輸?shù)亩丝谔?hào)。

    8  Modbus TCP/IP

        Modbus TCP/IP使用以太網(wǎng)OSI模型中的五層,如圖5所示。
        第一層:物理層,提供設(shè)備的物理接口,與市售的介質(zhì)/網(wǎng)絡(luò)適配器相兼容。
        第二層:數(shù)據(jù)鏈路層,格式化信號(hào)到包含源/目的硬件地址的數(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)文。


    圖5  Modbus TCP/IP的五層OSI模型

    9  Modbus TCP/IP

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


    圖6  Modbus TCP數(shù)據(jù)幀

    熱點(diǎn)新聞

    推薦產(chǎn)品

    x
    • 在線反饋
    1.我有以下需求:



    2.詳細(xì)的需求:
    姓名:
    單位:
    電話:
    郵件: