現(xiàn)場總線與工業(yè)以太網(wǎng)及其應(yīng)用技術(shù) 第2版 課件 第8-10章 TCPIP協(xié)議、SERCOS工業(yè)以太網(wǎng)、時(shí)間敏感網(wǎng)絡(luò)TSN_第1頁
現(xiàn)場總線與工業(yè)以太網(wǎng)及其應(yīng)用技術(shù) 第2版 課件 第8-10章 TCPIP協(xié)議、SERCOS工業(yè)以太網(wǎng)、時(shí)間敏感網(wǎng)絡(luò)TSN_第2頁
現(xiàn)場總線與工業(yè)以太網(wǎng)及其應(yīng)用技術(shù) 第2版 課件 第8-10章 TCPIP協(xié)議、SERCOS工業(yè)以太網(wǎng)、時(shí)間敏感網(wǎng)絡(luò)TSN_第3頁
現(xiàn)場總線與工業(yè)以太網(wǎng)及其應(yīng)用技術(shù) 第2版 課件 第8-10章 TCPIP協(xié)議、SERCOS工業(yè)以太網(wǎng)、時(shí)間敏感網(wǎng)絡(luò)TSN_第4頁
現(xiàn)場總線與工業(yè)以太網(wǎng)及其應(yīng)用技術(shù) 第2版 課件 第8-10章 TCPIP協(xié)議、SERCOS工業(yè)以太網(wǎng)、時(shí)間敏感網(wǎng)絡(luò)TSN_第5頁
已閱讀5頁,還剩191頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第8章

TCP/IP協(xié)議8.1TCP/IP協(xié)議的體系結(jié)構(gòu)TCP/IP協(xié)議的體系結(jié)構(gòu)分為四層,這四層由高到低分別是:應(yīng)用層、傳輸層、網(wǎng)絡(luò)層和鏈路層,如圖8-1所示。其中每一層完成不同的通信功能,具體各層的功能和各層所包含的協(xié)議說明如下。8.1.1TCP/IP協(xié)議的四個(gè)層次圖8-1TCP/IP協(xié)議的層次結(jié)構(gòu)鏈路層在TCP/IP協(xié)議棧的最低層,也稱為數(shù)據(jù)鏈路層或網(wǎng)絡(luò)接口層,通常包括操作系統(tǒng)中的設(shè)備驅(qū)動(dòng)程序和計(jì)算機(jī)中對應(yīng)的網(wǎng)絡(luò)接口卡。鏈路層的功能是把接收到的網(wǎng)絡(luò)層數(shù)據(jù)報(bào)(也稱IP數(shù)據(jù)報(bào))通過該層的物理接口發(fā)送到傳輸介質(zhì)上,或從物理網(wǎng)絡(luò)上接收數(shù)據(jù)幀,抽出IP數(shù)據(jù)報(bào)并交給IP層。8.1.1TCP/IP協(xié)議的四個(gè)層次1.鏈路層網(wǎng)絡(luò)層也稱為互聯(lián)網(wǎng)層,由于該層的主要協(xié)議是IP協(xié)議,因而也可簡稱為IP層。它是TCP/IP協(xié)議棧中最重要的一層,主要功能是可以把源主機(jī)上的分組發(fā)送到互聯(lián)網(wǎng)中的任何一臺(tái)目的主機(jī)上。2.網(wǎng)絡(luò)層我們通常所說的兩臺(tái)主機(jī)之間的通信其實(shí)是兩臺(tái)主機(jī)上對應(yīng)應(yīng)用程序之間的通信,傳輸層提供的就是應(yīng)用程序之間的通信,也叫端到端(EndtoEnd)的通信。8.1.1TCP/IP協(xié)議的四個(gè)層次3.傳輸層應(yīng)用層向使用網(wǎng)絡(luò)的用戶提供特定的、常用的應(yīng)用程序,如使用最廣泛的遠(yuǎn)程登錄(Telnet)、文件傳輸協(xié)議(FTP)、超文本傳輸協(xié)議(HTTP)、域名系統(tǒng)(DNS)、簡單網(wǎng)絡(luò)管理協(xié)議(SNMP)和簡單郵件傳輸協(xié)議(SMTP)等。要注意有些應(yīng)用層協(xié)議是基于TCP協(xié)議的(如FTP和HTTP等),有些應(yīng)用層協(xié)議是基于UDP協(xié)議的(如SNMP等)。4.應(yīng)用層8.1.2TCP/IP協(xié)議模型中的操作系統(tǒng)邊界和地址邊界TCP/IP協(xié)議分為四層結(jié)構(gòu),這四層結(jié)構(gòu)中有兩個(gè)重要的邊界:一個(gè)是將操作系統(tǒng)與應(yīng)用程序分開的邊界,另一個(gè)是將高層互聯(lián)網(wǎng)地址與低層物理網(wǎng)卡地址分開的邊界,如圖8-2所示。圖8-2TCP/IP協(xié)議模型的兩個(gè)邊界操作系統(tǒng)邊界的上面是應(yīng)用層,應(yīng)用層處理的是用戶應(yīng)用程序(用戶進(jìn)程)的細(xì)節(jié)問題,提供面向用戶的服務(wù)。這部分的程序一般不包含在操作系統(tǒng)內(nèi)核中,由一些獨(dú)立的應(yīng)用程序組成,我們在本書中設(shè)計(jì)的網(wǎng)絡(luò)程序就屬于這一層。操作系統(tǒng)邊界的下面各層包含在操作系統(tǒng)內(nèi)核中,是由操作系統(tǒng)來實(shí)現(xiàn)的,它們共同處理數(shù)據(jù)傳輸過程中的通信問題8.1.2TCP/IP協(xié)議模型中的操作系統(tǒng)邊界和地址邊界1.操作系統(tǒng)邊界地址邊界的上層為網(wǎng)絡(luò)層,網(wǎng)絡(luò)層用于對不同的網(wǎng)絡(luò)進(jìn)行互聯(lián),連接在一起的所有網(wǎng)絡(luò)為了能互相尋址,要使用統(tǒng)一的互聯(lián)網(wǎng)地址(IP地址)。而地址邊界的下層為各個(gè)物理網(wǎng)絡(luò),不同的物理網(wǎng)絡(luò)使用的物理地址各不相同,因此,在地址邊界的下面只能是各個(gè)互聯(lián)起來的網(wǎng)絡(luò)使用自己能識(shí)別的物理地址。2.地址邊界8.2IP協(xié)議不同的網(wǎng)絡(luò)使用的協(xié)議不同,地址長度和尋址方式不同,數(shù)據(jù)幀的長度不同,物理網(wǎng)絡(luò)的這些差別是無法改變的,也就是說,我們無法做到物理網(wǎng)絡(luò)的“統(tǒng)一”。但是,我們可以對互聯(lián)的不同物理網(wǎng)絡(luò)(具體表現(xiàn)就是不同網(wǎng)絡(luò)的網(wǎng)絡(luò)接口卡和設(shè)備驅(qū)動(dòng)程序互不相同)上傳輸?shù)臄?shù)據(jù)幀都加上一層相同的“包裝”,使加了“包裝”后的網(wǎng)絡(luò)數(shù)據(jù)幀對外有統(tǒng)一的“外表”(為了區(qū)別數(shù)據(jù)幀,我們就把它叫“數(shù)據(jù)報(bào)”),并且有足夠的地址信息(就是下一節(jié)要講的IP地址)用來識(shí)別數(shù)據(jù)報(bào)從何而來(信源),要到什么地方去(信宿)。對于這樣的數(shù)據(jù)報(bào),不同網(wǎng)絡(luò)中的節(jié)點(diǎn)(主要是路由器)都可以識(shí)別,因此,就可以根據(jù)數(shù)據(jù)報(bào)的目的地址,把它從一個(gè)節(jié)點(diǎn)轉(zhuǎn)發(fā)到另一個(gè)節(jié)點(diǎn),直到目的主機(jī),最后由目的主機(jī)對數(shù)據(jù)報(bào)的內(nèi)容進(jìn)行解釋。上述方法其實(shí)就是利用信息隱蔽原理,在互聯(lián)網(wǎng)中把不同網(wǎng)絡(luò)的實(shí)現(xiàn)細(xì)節(jié)通過IP層隱藏起來,達(dá)到在網(wǎng)絡(luò)層邏輯上一致的目的,如圖8-3所示。8.2.1IP互聯(lián)網(wǎng)原理圖8-3IP對不同數(shù)據(jù)幀的統(tǒng)一IP協(xié)議是TCP/IP協(xié)議族中最重要的協(xié)議,從協(xié)議體系結(jié)構(gòu)來看,它向下屏蔽了不同物理網(wǎng)絡(luò)的低層,向上提供一個(gè)邏輯上統(tǒng)一的互聯(lián)網(wǎng)?;ヂ?lián)網(wǎng)上的所有數(shù)據(jù)報(bào)都要經(jīng)過IP協(xié)議進(jìn)行傳輸,它是通信網(wǎng)絡(luò)與高層協(xié)議的邊界,如圖8-4所示。8.2.2IP協(xié)議的地位與IP互聯(lián)網(wǎng)的特點(diǎn)圖8-4IP協(xié)議在TCP/IP協(xié)議族中的地位使用IP協(xié)議的互聯(lián)網(wǎng)具有以下重要特點(diǎn):(1)IP協(xié)議是一種無連接(Connectionless)不可靠(Unreliable)的數(shù)據(jù)報(bào)傳輸協(xié)議。(2)IP互聯(lián)網(wǎng)中的計(jì)算機(jī)沒有主次之分,所有主機(jī)地位平等也沒有主次之分。(3)IP互聯(lián)網(wǎng)沒有確定的拓?fù)浣Y(jié)構(gòu)。(4)在IP互聯(lián)網(wǎng)中的任何一臺(tái)主機(jī),都至少有一個(gè)獨(dú)一無二的IP地址,有多個(gè)網(wǎng)絡(luò)接口卡的計(jì)算機(jī)每個(gè)接口可以有一個(gè)IP地址,這樣一臺(tái)主機(jī)可能就有多個(gè)IP地址。有多個(gè)IP地址的主機(jī)叫多宿主機(jī)(Multi-homeHost)。(5)在互聯(lián)網(wǎng)中有IP地址的設(shè)備不一定就是一臺(tái)計(jì)算機(jī),如IP路由器、網(wǎng)關(guān)等,因?yàn)榕c互聯(lián)網(wǎng)有獨(dú)立連接的設(shè)備都要有IP地址。8.2.2IP協(xié)議的地位與IP互聯(lián)網(wǎng)的特點(diǎn)互聯(lián)網(wǎng)是由很多網(wǎng)絡(luò)連接而成的,互聯(lián)網(wǎng)中的數(shù)據(jù)報(bào)有些是在本網(wǎng)內(nèi)主機(jī)之間傳輸?shù)模行┦且偷交ヂ?lián)網(wǎng)中其他網(wǎng)絡(luò)中的主機(jī)中去的,因此,IP地址不但要標(biāo)識(shí)在本網(wǎng)內(nèi)的主機(jī)號,還要標(biāo)識(shí)在互聯(lián)網(wǎng)中的網(wǎng)絡(luò)號,如圖8-5所示。8.2.3IP地址1.IP地址的結(jié)構(gòu)Internet現(xiàn)在使用的IP協(xié)議是IPv4(第四版),它使用32位二進(jìn)制數(shù)(即4個(gè)字節(jié))表示一個(gè)IP地址,在進(jìn)行程序設(shè)計(jì)時(shí)一般用長整型。2.IP地址的表示格式圖8-5IP地址結(jié)構(gòu)IP地址由網(wǎng)絡(luò)號和主機(jī)號兩部分組成,如圖8-6所示。8.2.3IP地址3.IP地址的分類IP地址用來標(biāo)識(shí)互聯(lián)網(wǎng)中的主機(jī),但少數(shù)IP地址有特殊用途,不能分配給主機(jī),這些IP地址有網(wǎng)絡(luò)地址、直接廣播地址、有限廣播地址、本網(wǎng)特定主機(jī)地址、回送地址、本網(wǎng)絡(luò)本主機(jī)。圖8-6IP地址的分類IP地址最初使用兩層地址結(jié)構(gòu)(包括網(wǎng)絡(luò)地址和主機(jī)地址),在這種結(jié)構(gòu)中A類和B類網(wǎng)絡(luò)所能容納的主機(jī)數(shù)非常龐大,但使用C類IP地址的網(wǎng)絡(luò)只能接入254臺(tái)主機(jī)。隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的不斷普及,有大量的個(gè)人用戶和小型局域網(wǎng)接入互聯(lián)網(wǎng),對于這樣的用戶,即使分配一個(gè)C類網(wǎng)絡(luò)地址仍然會(huì)造成IP地址的很大浪費(fèi)。因此,人們提出了三層結(jié)構(gòu)的IP地址,把每個(gè)網(wǎng)絡(luò)可以進(jìn)一步劃分成若干個(gè)子網(wǎng)(Subnet),子網(wǎng)內(nèi)主機(jī)的IP地址由三部分組成,如圖8-7所示,把兩級IP地址結(jié)構(gòu)中的主機(jī)地址分割成子網(wǎng)地址和主機(jī)地址兩部分。8.2.4子網(wǎng)與子網(wǎng)掩碼1.子網(wǎng)與子網(wǎng)地址子網(wǎng)掩碼用32位二進(jìn)制數(shù)表示,常用點(diǎn)分十進(jìn)制數(shù)格式來書寫,掩碼中用于標(biāo)識(shí)網(wǎng)絡(luò)號和子網(wǎng)號的位置為1,主機(jī)位為0。2.子網(wǎng)掩碼圖8-7子網(wǎng)IP地址結(jié)構(gòu)IP協(xié)議是TCP/IP協(xié)議族中最為核心的協(xié)議,前面我們已經(jīng)討論過,它提供不可靠、無連接的數(shù)據(jù)報(bào)傳輸服務(wù)。IP層提供的服務(wù)是通過IP層對數(shù)據(jù)報(bào)的封裝與拆封來實(shí)現(xiàn)的。IP數(shù)據(jù)報(bào)的格式分為報(bào)頭區(qū)和數(shù)據(jù)區(qū)兩大部分,其中數(shù)據(jù)區(qū)包括高層協(xié)議需要傳輸?shù)臄?shù)據(jù),報(bào)頭區(qū)是為了正確傳輸高層數(shù)據(jù)而加的各種控制信息。IP數(shù)據(jù)報(bào)的格式如圖8-8所示。8.2.5IP數(shù)據(jù)報(bào)格式圖8-8IP數(shù)據(jù)報(bào)格式IP數(shù)據(jù)報(bào)中的每一個(gè)域包含了IP報(bào)文所攜帶的一些信息,正是用這些信息來完成IP協(xié)議功能的,現(xiàn)說明如下。(1)版本號版本號占用4位二進(jìn)制數(shù),表示該IP數(shù)據(jù)報(bào)使用的是哪個(gè)版本的IP協(xié)議。目前在Internet中使用的TCP/IP協(xié)議族中,IP協(xié)議的版本號為4,所以也常稱為IPv4。下一個(gè)IP協(xié)議的版本號為6,即IPv6,當(dāng)前正在試驗(yàn)中。(2)頭長度頭長度用4位二進(jìn)制數(shù)表示,此域指出整個(gè)報(bào)頭的長度(包括選項(xiàng)),該長度是以32位二進(jìn)制數(shù)為一個(gè)計(jì)數(shù)單位的,接收端通過此域可以計(jì)算出報(bào)文頭在何處結(jié)束及從何處開始讀數(shù)據(jù)。普通IP數(shù)據(jù)報(bào)(沒有任何選項(xiàng))該字段的值是5(即20個(gè)字節(jié)的長度)。(3)服務(wù)類型(TOS,TypeOfService)服務(wù)類型用8位二進(jìn)制數(shù)表示,規(guī)定對本數(shù)據(jù)報(bào)的處理方式。(4)總長度總長度用16位二進(jìn)制數(shù)表示,總長度字段是指整個(gè)IP數(shù)據(jù)報(bào)的長度,以字節(jié)為單位。利用頭部長度字段和總長度字段,就可以計(jì)算出IP數(shù)據(jù)報(bào)中數(shù)據(jù)內(nèi)容的起始位置和長度。由于該字段長度為16位二進(jìn)制數(shù),所以從理論上來說,IP數(shù)據(jù)報(bào)最長可達(dá)65535字節(jié)(實(shí)際由于受物理網(wǎng)絡(luò)的限制,要比這個(gè)數(shù)值小得多)。8.2.5IP數(shù)據(jù)報(bào)格式1.IP數(shù)據(jù)報(bào)各字段的功能(5)生存時(shí)間(TTL,TimeToLive)生存時(shí)間用8位二進(jìn)制數(shù)表示,它指定了數(shù)據(jù)報(bào)可以在網(wǎng)絡(luò)中傳輸?shù)淖铋L時(shí)間。在實(shí)際應(yīng)用中為了簡化處理過程,把生存時(shí)間字段設(shè)置成了數(shù)據(jù)報(bào)可以經(jīng)過的最大路由器數(shù)。TTL的初始值由源主機(jī)設(shè)置(通常為32、64、128或者256),一旦經(jīng)過一個(gè)處理它的路由器,它的值就減去1。當(dāng)該字段的值減為0時(shí),數(shù)據(jù)報(bào)就被丟棄,并發(fā)送ICMP報(bào)文(8.4節(jié)介紹)通知源主機(jī),這樣可以防止進(jìn)入一個(gè)循環(huán)回路時(shí),數(shù)據(jù)報(bào)無休止地傳輸。(6)上層協(xié)議標(biāo)識(shí)上層協(xié)議標(biāo)識(shí)用8位二進(jìn)制數(shù)表示,從圖8-4可知,IP協(xié)議可以承載多種上層協(xié)議,目的端根據(jù)協(xié)議標(biāo)識(shí),就可以把收到的IP數(shù)據(jù)報(bào)送至TCP或UDP等處理此報(bào)文的上層協(xié)議。(7)校驗(yàn)和校驗(yàn)和用16位二進(jìn)制數(shù)表示,這個(gè)域用于協(xié)議頭數(shù)據(jù)有效性的校驗(yàn),可以保證IP報(bào)頭區(qū)在傳輸時(shí)的正確性和完整性。頭部校驗(yàn)和字段是根據(jù)IP協(xié)議頭部計(jì)算出的校驗(yàn)和碼,它不對頭部后面的數(shù)據(jù)進(jìn)行計(jì)算。(8)源地址源地址是用32位二進(jìn)制數(shù)表示的發(fā)送端IP地址。(9)目的地址目的地址是用32位二進(jìn)制數(shù)表示的目的端IP地址。8.2.5IP數(shù)據(jù)報(bào)格式(1)最大傳輸單元MTUIP數(shù)據(jù)報(bào)在互聯(lián)網(wǎng)上傳輸,可能要經(jīng)過多個(gè)物理網(wǎng)絡(luò)才能從源端傳輸?shù)侥康亩?。不同的網(wǎng)絡(luò)由于鏈路層和介質(zhì)的物理特性不同,因此在進(jìn)行數(shù)據(jù)傳輸時(shí),對數(shù)據(jù)幀的最大長度都有一個(gè)限制,這個(gè)限制值即最大傳輸單元MTU(MaximumTransmissionUnit)。(2)分片當(dāng)一個(gè)IP數(shù)據(jù)報(bào)要通過鏈路層進(jìn)行傳輸時(shí),如果IP數(shù)據(jù)報(bào)的長度比鏈路層MTU的值大,那么IP層就需要對將要發(fā)送的IP數(shù)據(jù)報(bào)進(jìn)行分片,把一個(gè)IP數(shù)據(jù)報(bào)分成若干個(gè)長度小于或等于鏈路層MTU的IP數(shù)據(jù)報(bào),才能經(jīng)過鏈路層進(jìn)行傳輸。這種把一個(gè)數(shù)據(jù)報(bào)為了適合網(wǎng)絡(luò)傳輸而分成多個(gè)數(shù)據(jù)報(bào)的過程稱為分片(Fragmentation)。一定要注意,被分片后的各個(gè)IP數(shù)據(jù)報(bào)可能經(jīng)過不同的路徑到達(dá)目的主機(jī)。(3)重組當(dāng)分了片的IP數(shù)據(jù)報(bào)被傳輸?shù)阶罱K目的主機(jī)時(shí),目的主機(jī)要對收到的各分片重新進(jìn)行組裝,以恢復(fù)成源主機(jī)發(fā)送時(shí)的IP數(shù)據(jù)報(bào),這個(gè)過程叫IP數(shù)據(jù)報(bào)的重組。8.2.5IP數(shù)據(jù)報(bào)格式2.IP數(shù)據(jù)報(bào)分片與重組8.3ICMP協(xié)議ICMP報(bào)文和其他協(xié)議的報(bào)文一樣,也是由ICMP報(bào)文頭區(qū)和數(shù)據(jù)區(qū)兩部分組成的。ICMP報(bào)文是封裝在IP數(shù)據(jù)報(bào)中通過鏈路層在網(wǎng)絡(luò)中進(jìn)行傳輸?shù)?,如圖8-9所示。8.3.1ICMP報(bào)文的封裝與格式圖8-9ICMP報(bào)文及封裝格式1.ICMP報(bào)文的封裝ICMP報(bào)文的格式如圖8-10所示,其中報(bào)文頭分為三部分:類型、代碼和校驗(yàn)和。2.ICMP報(bào)文的格式圖8-10ICMP報(bào)文的格式回送請求報(bào)文由源主機(jī)發(fā)出,目的主機(jī)應(yīng)答,用于測試另一臺(tái)主機(jī)或路由器是否可達(dá)。其報(bào)文格式如圖8-11所示。8.3.2ICMP請求與應(yīng)答報(bào)文1.回送請求與應(yīng)答報(bào)文圖8-11回送請求與應(yīng)答ICMP報(bào)文格式在劃分了子網(wǎng)的網(wǎng)絡(luò)中,有些主機(jī)(如無盤工作站)并不知道自己的子網(wǎng)掩碼。ICMP地址掩碼請求報(bào)文可用于主機(jī)在引導(dǎo)過程中獲取自己的子網(wǎng)掩碼,方法是主機(jī)在本網(wǎng)廣播ICMP地址掩碼請求報(bào)文,通常由本網(wǎng)中的路由器向請求主機(jī)發(fā)送一個(gè)ICMP地址掩碼應(yīng)答報(bào)文。地址掩碼請求與應(yīng)答報(bào)文的格式與圖8-16所示的回送請求與應(yīng)答ICMP報(bào)文格式相似,但數(shù)據(jù)區(qū)是一個(gè)4字節(jié)的地址掩碼。掩碼請求報(bào)文的類型字段地址為17,地址掩碼應(yīng)答報(bào)文為18,代碼字段都為0。2.地址掩碼請求與應(yīng)答報(bào)文8.4ARP協(xié)議TCP/IP協(xié)議族專門設(shè)計(jì)了用于地址解析的協(xié)議ARP(AddressResolutionProtocol),它可以把一個(gè)IP地址映射成對應(yīng)的物理地址。另外,對于無法保存IP地址的主機(jī)(如無盤工作站),TCP/IP協(xié)議族中也提供了從物理地址到IP地址映射的反向地址解析協(xié)議RARP(ReverseAddressResolutionProtocol),如圖8-12所示。圖8-12ARP和RARP在常用的以太網(wǎng)中,ARP報(bào)文被封裝成如圖8-13所示的以太網(wǎng)數(shù)據(jù)幀,然后以廣播方式發(fā)送到物理網(wǎng)絡(luò)。ARP報(bào)文格式如圖8-14所示。8.4.1ARP報(bào)文格式圖8-13ARP報(bào)文的以太網(wǎng)封裝格式圖8-14ARP報(bào)文格式8.4.1ARP報(bào)文格式ARP報(bào)文格式說明如下:(1)硬件類型。硬件類型字段占2個(gè)字節(jié),表示發(fā)送者硬件地址的類型。它的值為1即表示以太網(wǎng)地址。(2)協(xié)議類型。協(xié)議類型字段占2個(gè)字節(jié),表示發(fā)送方要映射的協(xié)議地址類型,該字段的常用值如表8-4所示。協(xié)議地址為IP地址時(shí),它的值為0x0800。它的值與包含IP數(shù)據(jù)報(bào)的以太網(wǎng)數(shù)據(jù)幀中的類型字段的值相同。表8-4協(xié)議類型字段常用值(即以太網(wǎng)協(xié)議類型字段)8.4.1ARP報(bào)文格式(3)硬件地址長度和協(xié)議地址長度。硬件地址長度和協(xié)議地址長度各占一個(gè)1字節(jié),分別指出硬件地址和協(xié)議地址的長度,以字節(jié)為單位。對于以太網(wǎng)上IP地址的ARP請求或應(yīng)答來說,它們的值分別為6和4。(4)操作代碼。ARP和RARP在設(shè)計(jì)時(shí)的協(xié)議格式完全相同,只有操作代碼字段可以對它們進(jìn)行區(qū)分。該字段指出四種操作報(bào)文類型:值為1時(shí)表示ARP請求報(bào)文,值為2時(shí)表示ARP應(yīng)答報(bào)文,值為3時(shí)表示RARP請求報(bào)文,值為4時(shí)表示RARP應(yīng)答報(bào)文。(5)發(fā)送方硬件地址和發(fā)送方協(xié)議地址。該地址長度由硬件地址長度字段和協(xié)議地址長度字段指定。(6)目的方硬件地址和目的方協(xié)議地址。該地址長度由硬件地址長度字段和協(xié)議地址長度字段指定。ARP工作時(shí),首先由知道目的主機(jī)IP地址但不知道目的主機(jī)物理地址的主機(jī)發(fā)出一份ARP請求報(bào)文,該報(bào)文中填有發(fā)送方硬件地址、發(fā)送方IP地址和目的方IP地址,操作代碼為1,目的方硬件地址填的是廣播地址(在以太網(wǎng)中為全1),因此該網(wǎng)絡(luò)內(nèi)的所有主機(jī)都可以收到該報(bào)文,其含意是“如果你是這個(gè)IP地址的擁有者,請回答你的硬件地址”。目的主機(jī)的ARP層收到這份廣播報(bào)文后,識(shí)別出這是發(fā)送方在尋問它的IP地址,于是發(fā)送一個(gè)ARP應(yīng)答報(bào)文。這個(gè)ARP應(yīng)答報(bào)文包含它的IP地址及對應(yīng)的硬件地址,操作代碼為2,把原來的發(fā)送方硬件地址和協(xié)議地址填入目的方硬件地址和協(xié)議地址位置,即這時(shí)目的方變成了發(fā)送方,發(fā)送方變成了目的方。請求方收到ARP應(yīng)答報(bào)文后,就可以使用目的方物理地址進(jìn)行IP數(shù)據(jù)報(bào)的發(fā)送了。8.4.2ARP工作原理一臺(tái)主機(jī)向另一臺(tái)主機(jī)發(fā)送數(shù)據(jù)報(bào)后,可能不久還要發(fā)送,如果每發(fā)送一次數(shù)據(jù)報(bào)就進(jìn)行一次ARP請求,那么ARP的工作效率就會(huì)很低。另外,由于ARP請求是以廣播方式發(fā)送的,因此頻繁使用ARP會(huì)使造成網(wǎng)絡(luò)擁擠,影響網(wǎng)絡(luò)的正常工作。解決該問題的關(guān)鍵是使用ARP高速緩存技術(shù)。在網(wǎng)絡(luò)中,每臺(tái)主機(jī)上都有一個(gè)ARP高速緩存,這個(gè)高速緩存存放了最近IP地址到硬件地址之間的映射記錄。高速緩存區(qū)中表項(xiàng)建立的方法是:(1)請求主機(jī)收到ARP應(yīng)答后,主機(jī)就把獲得的IP地址與物理地址的映射關(guān)系存入ARP表中。(2)由于ARP請求報(bào)文是廣播發(fā)送的,所有收到ARP請求報(bào)文的主機(jī)都可以把其中發(fā)送方的物理地址和IP地址映射存入自己的高速緩存中,以備將來使用。(3)網(wǎng)絡(luò)中的主機(jī)在啟動(dòng)時(shí),可以主動(dòng)廣播自己的IP地址和物理地址的映射關(guān)系,以免其他主機(jī)對它提出ARP請求(這也使一臺(tái)主機(jī)在啟動(dòng)時(shí),就可以知道自己的IP地址與網(wǎng)絡(luò)中其他主機(jī)的IP地址有沒有沖突)。8.4.3ARP高速緩存8.5端到端通信和端口號在互聯(lián)網(wǎng)中,任何兩臺(tái)通信的主機(jī)之間,從源端到目的端的信道都是由一段一段的點(diǎn)到點(diǎn)通信線路組成的(一個(gè)局域網(wǎng)中兩臺(tái)主機(jī)通信時(shí)只有一段點(diǎn)到點(diǎn)的線路)。如圖8-15所示。8.5.1端到端通信圖8-15傳輸層端到端通信為了識(shí)別傳輸層之上不同的網(wǎng)絡(luò)通信程序(進(jìn)程),傳輸層引入了端口的概念。在一臺(tái)主機(jī)上,要進(jìn)行網(wǎng)絡(luò)通信的進(jìn)程首先要向系統(tǒng)提出動(dòng)態(tài)申請,由系統(tǒng)(操作系統(tǒng)內(nèi)核)返回一個(gè)本地惟一的端口號,進(jìn)程再通過系統(tǒng)調(diào)用把自己和這個(gè)特定的端口聯(lián)系在一起,這個(gè)過程叫綁定(Binding)。這樣,每個(gè)要通信的進(jìn)程都與一個(gè)端口號對應(yīng),傳輸層就可以使用其報(bào)文頭中的端口號,把收到的數(shù)據(jù)送到不同的應(yīng)用程序,如圖8-16所示。8.5.2傳輸層端口圖8-16傳輸層端到端通信在TCP/IP協(xié)議中,傳輸層使用的端口號用一個(gè)16位的二進(jìn)制數(shù)表示。因此,在傳輸層如果使用TCP協(xié)議進(jìn)行進(jìn)程通信,則可用的端口號共有216個(gè)。由于UDP也是傳輸層一個(gè)獨(dú)立于TCP的協(xié)議,因此使用UDP協(xié)議時(shí)也有216個(gè)不同的端口。每個(gè)要通信的進(jìn)程在通信之前都要先通過系統(tǒng)調(diào)用動(dòng)態(tài)地申請一個(gè)端口號,TCP/IP協(xié)議在進(jìn)行設(shè)計(jì)時(shí)就把服務(wù)器上守候進(jìn)程的端口號進(jìn)行了靜態(tài)分配。這些端口號由Internet號分配機(jī)構(gòu)IANA(InternetAssignedNumbersAuthority)來管理。一些常用服務(wù)的TCP和UDP的眾所周知端口號見表8-5和表8-6。8.5.2傳輸層端口表8-5常用的眾所周知的TCP端口號每個(gè)要通信的進(jìn)程在通信之前都要先通過系統(tǒng)調(diào)用動(dòng)態(tài)地申請一個(gè)端口號,TCP/IP協(xié)議在進(jìn)行設(shè)計(jì)時(shí)就把服務(wù)器上守候進(jìn)程的端口號進(jìn)行了靜態(tài)分配。這些端口號由Internet號分配機(jī)構(gòu)IANA(InternetAssignedNumbersAuthority)來管理。一些常用服務(wù)的TCP和UDP的眾所周知端口號見表8-5和表8-6。8.5.2傳輸層端口表8-6常用的眾所周知的UDP端口號256~1023之間的端口號通常都是由Unix系統(tǒng)占用的,以提供一些特定的Unix服務(wù)。現(xiàn)在IANA管理1~1023之間所有的端口號。任何TCP/IP實(shí)現(xiàn)所提供的服務(wù)都使用1~1023之間的端口號。8.6TCP協(xié)議在傳輸層,如果要保證端到端數(shù)據(jù)傳輸?shù)目煽啃?,就要使用TCP協(xié)議。TCP提供一種面向連接的、可靠的數(shù)據(jù)流服務(wù)。因?yàn)樗母呖煽啃?,使TCP協(xié)議成為傳輸層最常用的協(xié)議,同時(shí)也是一個(gè)比較復(fù)雜的協(xié)議。TCP和IP一樣,是TCP/IP協(xié)議族中最重要的協(xié)議。TCP報(bào)文段(常稱為段)與UDP數(shù)據(jù)報(bào)一樣也是封裝在IP中進(jìn)行傳輸?shù)?,只是IP報(bào)文的數(shù)據(jù)區(qū)為TCP報(bào)文段。TCP報(bào)文段的格式如圖8-17所示。8.6.1TCP報(bào)文段格式圖8-17TCP報(bào)文段的格式TCP源端口號長度為16位,用于標(biāo)識(shí)發(fā)送方通信進(jìn)程的端口。目的端在收到TCP報(bào)文段后,可以用源端口號和源IP地址標(biāo)識(shí)報(bào)文的返回地址。8.6.1TCP報(bào)文段格式1.TCP源端口號TCP目的端口號長度為16位,用于標(biāo)識(shí)接收方通信進(jìn)程的端口。源端口號與IP頭部中的源端IP地址,目的端口號與目的端IP地址,這4個(gè)數(shù)就可以惟一確定從源端到目的端的一對TCP連接。2.TCP目的端口號序列號長度為32位,用于標(biāo)識(shí)TCP發(fā)送端向TCP接收端發(fā)送數(shù)據(jù)字節(jié)流的序號。序列號的實(shí)際值等于該主機(jī)選擇的本次連接的初始序號ISN(InitialSequenceNumber)加上該報(bào)文段中第一個(gè)字節(jié)在整個(gè)數(shù)據(jù)流中的序號。由于TCP為應(yīng)用層提供的是全雙工通信服務(wù),這意味著數(shù)據(jù)能在兩個(gè)方向上獨(dú)立地進(jìn)行傳輸,因此,連接的每一端必須保持每個(gè)方向上傳輸數(shù)據(jù)的序列號到達(dá)232-1后又從0開始。序列號保證了數(shù)據(jù)流發(fā)送的順序性,是TCP提供的可靠性保證措施之一。3.序列號確認(rèn)號長度為32位。因?yàn)榻邮斩耸盏降拿總€(gè)字節(jié)都被計(jì)數(shù),所以確認(rèn)號可用來標(biāo)識(shí)接收端希望收到的下一個(gè)TCP報(bào)文段第一個(gè)字節(jié)的序號。確認(rèn)號包含發(fā)送確認(rèn)的一端希望收到的下一個(gè)字節(jié)的序列號,因此確認(rèn)號應(yīng)當(dāng)是上次已成功收到數(shù)據(jù)字節(jié)的序列號加1。確認(rèn)號字段只有ACK標(biāo)志(下面介紹)為1時(shí)才有效。8.6.1TCP報(bào)文段格式4.確認(rèn)號該字段用4位二進(jìn)制數(shù)表示TCP頭部的長短,它以32位二進(jìn)制數(shù)為一個(gè)計(jì)數(shù)單位。TCP頭部長度一般為20個(gè)字節(jié),因此通常它的值為5。但當(dāng)頭部包含選項(xiàng)時(shí)該長度是可變的。頭部長度主要用來標(biāo)識(shí)TCP數(shù)據(jù)區(qū)的開始位置,因此又稱為數(shù)據(jù)偏移。5.頭部長度保留字段長度為6位,該域必須置0,準(zhǔn)備為將來定義TCP新功能時(shí)使用。6.保留標(biāo)志域長度為6位,每1位標(biāo)志可以打開或關(guān)閉一個(gè)控制功能,這些控制功能與連接的管理和數(shù)據(jù)傳輸控制有關(guān)。7.標(biāo)志窗口大小字段長度為16位,它是接收端的流量控制措施,用來告訴另一端它的數(shù)據(jù)接收能力。連接的每一端把可以接收的最大數(shù)據(jù)長度(其本質(zhì)為接收端TCP可用的緩沖區(qū)大小)通過TCP發(fā)送報(bào)文段中的窗口字段通知對方,對方發(fā)送數(shù)據(jù)的總長度不能超過窗口大小。窗口的大小用字節(jié)數(shù)表示,它起始于確認(rèn)號字段指明的值,窗口最大長度為65535個(gè)字節(jié)。通過TCP報(bào)文段頭部的窗口刻度選項(xiàng),它的值可以按比例變化,以提供更大的窗口。8.6.1TCP報(bào)文段格式8.窗口大小校驗(yàn)和字段長度為16位,用于進(jìn)行差錯(cuò)校驗(yàn)。校驗(yàn)和覆蓋了整個(gè)的TCP報(bào)文段的頭部和數(shù)據(jù)區(qū)。9.校驗(yàn)和緊急指針字段長度為16位,只有當(dāng)URG標(biāo)志置1時(shí)緊急指針才有效,它的值指向緊急數(shù)據(jù)最后一個(gè)字節(jié)的位置(如果把它的值與TCP頭部中的序列號相加,則表示緊急數(shù)據(jù)最后一個(gè)字節(jié)的序號,在有些實(shí)現(xiàn)中指向最后一個(gè)字節(jié)的下一個(gè)字節(jié))。如果URG標(biāo)志沒有被設(shè)置,緊急指針域用0填充。10.緊急指針選項(xiàng)的長度不固定,通過選項(xiàng)使TCP可以提供一些額外的功能。每個(gè)選項(xiàng)由選項(xiàng)類型(占1個(gè)字節(jié))、該選項(xiàng)的總長度(占1個(gè)字節(jié))和選項(xiàng)值組成,如圖8-18所示。8.6.1TCP報(bào)文段格式11.選項(xiàng)填充字段的長度不定,用于填充以保證TCP頭部的長度為32位的整數(shù)倍,值全為0。12.填充圖8-18TCP選項(xiàng)格式在互聯(lián)網(wǎng)中兩臺(tái)要進(jìn)行通信的主機(jī),在一般情況下,總是其中的一臺(tái)主動(dòng)提出通信的請求(客戶機(jī)),另一臺(tái)被動(dòng)地響應(yīng)(服務(wù)器)。如果傳輸層使用TCP協(xié)議,則在通信之前要求通信的雙方首先要建立一條連接。TCP使用“3次握手”(3-wayHandshake)法來建立一條連接。所謂3次握手,就是指在建立一條連接時(shí)通信雙方要交換3次報(bào)文。具體過程如下。第1次握手:由客戶機(jī)的應(yīng)用層進(jìn)程向其傳輸層TCP協(xié)議發(fā)出建立連接的命令,則客戶機(jī)TCP向服務(wù)器上提供某特定服務(wù)的端口發(fā)送一個(gè)請求建立連接的報(bào)文段,該報(bào)文段中SYN被置1,同時(shí)包含一個(gè)初始序列號x(系統(tǒng)保持著一個(gè)隨時(shí)間變化的計(jì)數(shù)器,建立連接時(shí)該計(jì)數(shù)器的值即為初始序列號,因此不同的連接初始序列號不同)。第2次握手:服務(wù)器收到建立連接的請求報(bào)文段后,發(fā)送一個(gè)包含服務(wù)器初始序號y,SYN被置1,確認(rèn)號置為x+1的報(bào)文段作為應(yīng)答。確認(rèn)號加1是為了說明服務(wù)器已正確收到一個(gè)客戶連接請求報(bào)文段,因此從邏輯上來說,一個(gè)連接請求占用了一個(gè)序號。第3次握手:客戶機(jī)收到服務(wù)器的應(yīng)答報(bào)文段后,也必須向服務(wù)器發(fā)送確認(rèn)號為y+1的報(bào)文段進(jìn)行確認(rèn)。同時(shí)客戶機(jī)的TCP協(xié)議層通知應(yīng)用層進(jìn)程,連接已建立,可以進(jìn)行數(shù)據(jù)傳輸了。8.6.2TCP連接的建立與關(guān)閉1.建立連接通過以上3次握手,兩臺(tái)要通信的主機(jī)之間就建立了一條連接,相互知道對方的哪個(gè)進(jìn)程在與自己進(jìn)行通信,通信時(shí)對方傳輸數(shù)據(jù)的順序號應(yīng)該是多少。連接建立后通信的雙方可以相互傳輸數(shù)據(jù),并且雙方的地位是平等的。如果在建立連接的過程中握手報(bào)文段丟失,則可以通過重發(fā)機(jī)制進(jìn)行解決。如果服務(wù)器端關(guān)機(jī),則客戶端收不到服務(wù)器端的確認(rèn),客戶端按某種機(jī)制重發(fā)建立連接的請求報(bào)文段若干次后,就通知應(yīng)用進(jìn)程,連接不能建立(超時(shí))。還有一種情況是當(dāng)客戶請求的服務(wù)在服務(wù)器端沒有對應(yīng)的端口提供時(shí),服務(wù)器端以一個(gè)復(fù)位報(bào)文應(yīng)答(RST=1),連接也不能建立。最后要說明一點(diǎn),建立連接的TCP報(bào)文段中只有報(bào)文頭(無選項(xiàng)時(shí)長度為20個(gè)字節(jié)),沒有數(shù)據(jù)區(qū)。8.6.2TCP連接的建立與關(guān)閉1.建立連接由于TCP是一個(gè)全雙工協(xié)議,因此在通信過程中兩臺(tái)主機(jī)都可以獨(dú)立地發(fā)送數(shù)據(jù),完成數(shù)據(jù)發(fā)送的任何一方可以提出關(guān)閉連接的請求。關(guān)閉連接時(shí),由于在每個(gè)傳輸方向既要發(fā)送一個(gè)關(guān)閉連接的報(bào)文段,又要接收對方的確認(rèn)報(bào)文段,因此關(guān)閉一個(gè)連接要經(jīng)過4次握手。具體過程如下(下面設(shè)客戶機(jī)首先提出關(guān)閉連接的請求):第1次握手:由客戶機(jī)的應(yīng)用進(jìn)程向其TCP協(xié)議層發(fā)出終止連接的命令,則客戶TCP協(xié)議層向服務(wù)器TCP協(xié)議層發(fā)送一個(gè)FIN被置1的關(guān)閉連接的TCP報(bào)文段。第2次握手:服務(wù)器的TCP協(xié)議層收到關(guān)閉連接的報(bào)文段后,就發(fā)出確認(rèn),確認(rèn)號為已收到的最后一個(gè)字節(jié)的序列號加1,同時(shí)把關(guān)閉的連接通知其應(yīng)用進(jìn)程,告訴它客戶機(jī)已經(jīng)終止了數(shù)據(jù)傳送。在發(fā)送完確認(rèn)后,服務(wù)器如果有數(shù)據(jù)要發(fā)送,則客戶機(jī)仍然可以繼續(xù)接收數(shù)據(jù),因此把這種狀態(tài)叫半關(guān)閉(Half-close)狀態(tài),因?yàn)榉?wù)器仍然可以發(fā)送數(shù)據(jù),并且可以收到客戶機(jī)的確認(rèn),只是客戶方已無數(shù)據(jù)發(fā)向服務(wù)器了。第3次握手:如果服務(wù)器應(yīng)用進(jìn)程也沒有要發(fā)送給客戶方的數(shù)據(jù)了,就通告其TCP協(xié)議層關(guān)閉連接。這時(shí)服務(wù)器的TCP協(xié)議層向客戶機(jī)的TCP協(xié)議層發(fā)送一個(gè)FIN置1的報(bào)文段,要求關(guān)閉連接。第4次握手:同樣,客戶機(jī)收到關(guān)閉連接的報(bào)文段后,向服務(wù)器發(fā)送一個(gè)確認(rèn),確認(rèn)號為已收到數(shù)據(jù)的序列號加1。當(dāng)服務(wù)器收到確認(rèn)后,整個(gè)連接被完全關(guān)閉。8.6.2TCP連接的建立與關(guān)閉2.關(guān)閉連接連接建立和關(guān)閉的過程如圖8-19所示,該圖是通信雙方正常工作時(shí)的情況。關(guān)閉連接時(shí),圖中的u表示服務(wù)器已收到數(shù)據(jù)的序列號,v表示客戶機(jī)已收到數(shù)據(jù)的序列號。8.6.2TCP連接的建立與關(guān)閉2.關(guān)閉連接圖8-19TCP連接的建立與關(guān)閉TCP的確認(rèn)方式有兩種:一種是利用只有TCP頭部,而沒有數(shù)據(jù)區(qū)的專門確認(rèn)報(bào)文段進(jìn)行確認(rèn);另一種是當(dāng)通信雙方都有數(shù)據(jù)要傳輸時(shí),把確認(rèn)“捎帶”在要傳輸?shù)膱?bào)文段中進(jìn)行確認(rèn),因此TCP的確認(rèn)報(bào)文段和普通數(shù)據(jù)報(bào)文段沒有什么區(qū)別。數(shù)據(jù)和確認(rèn)都有可能在傳輸過程中丟失,為此,TCP通過在發(fā)送數(shù)據(jù)時(shí)設(shè)置一個(gè)超時(shí)定時(shí)器來解決這個(gè)問題。在數(shù)據(jù)傳送出去的同時(shí)定時(shí)器開始計(jì)數(shù),如果當(dāng)定時(shí)器到(溢出)時(shí)還沒有收到接收方的確認(rèn),那么就重發(fā)該數(shù)據(jù),定時(shí)器也開始重新計(jì)時(shí),這就是超時(shí)重發(fā)。8.6.3TCP的超時(shí)重發(fā)機(jī)制UDP(UserDatagramProtocol)是與網(wǎng)絡(luò)層相鄰的上一層常用的一個(gè)非常簡單的協(xié)議,它的主要功能是在IP層之上提供協(xié)議端口功能,以標(biāo)識(shí)源主機(jī)和目的主機(jī)上的通信進(jìn)程。因此,UDP只能保證進(jìn)程之間通信的最基本要求,而沒有提供數(shù)據(jù)傳輸過程中的可靠性保證措施,通常把它稱為無連接、不可靠的通信協(xié)議。UDP協(xié)議具有如下特點(diǎn):(1)UDP是一種無連接、不可靠的數(shù)據(jù)報(bào)傳輸服務(wù)協(xié)議。UDP不與遠(yuǎn)端的UDP模塊保持端對端的連接,它僅僅是把數(shù)據(jù)報(bào)發(fā)向網(wǎng)絡(luò),并從網(wǎng)絡(luò)接收傳來的數(shù)據(jù)報(bào)。關(guān)于連接的問題,學(xué)完TCP后可能更容易理解。(2)UDP對數(shù)據(jù)傳輸過程中惟一的可靠保證措施是進(jìn)行差錯(cuò)校驗(yàn),如果發(fā)生差錯(cuò),則只是簡單地拋棄該數(shù)據(jù)報(bào)。(3)如果目的端收到的UDP數(shù)據(jù)報(bào)中的目的端口號不能與當(dāng)前已使用的某端口號匹配,則將該數(shù)據(jù)報(bào)拋棄,并發(fā)送目的端口不可達(dá)的ICMP差錯(cuò)報(bào)文。(4)UDP協(xié)議在設(shè)計(jì)時(shí)的簡單性,是為了保證UDP在工作時(shí)的高效性和低延時(shí)性。因此,在服務(wù)質(zhì)量較高的網(wǎng)絡(luò)中(如局域網(wǎng)),UDP可以高效地工作。(5)UDP常用于傳輸延時(shí)小,對可靠性要求不高,有少量數(shù)據(jù)要進(jìn)行傳輸?shù)那闆r,如DNS(域名服務(wù))、TFTP(簡單文件傳輸)等。8.6.4UDP協(xié)議第9章

SERCOS工業(yè)

以太網(wǎng)9.1開放式機(jī)床數(shù)控系統(tǒng)及接口技術(shù)80~90年代,美國和歐洲先進(jìn)制造技術(shù)國家先后實(shí)施了自動(dòng)化系統(tǒng)的開放式體系結(jié)構(gòu),經(jīng)過多年的發(fā)展,開放式體系結(jié)構(gòu)已深入人心。IEEE國際組織規(guī)定:開放式系統(tǒng)能提供具有相同的用戶接口,多個(gè)廠家的產(chǎn)品能實(shí)現(xiàn)兼容,可方便進(jìn)行裁減。開放式控制系統(tǒng)相關(guān)研究在國外開展得比較早,發(fā)展源于1981年,已經(jīng)有很完善的體系及規(guī)范,并在許多數(shù)控技術(shù)廠商中得到應(yīng)用。為了制定開放式控制系統(tǒng)的體系結(jié)構(gòu)標(biāo)準(zhǔn),工業(yè)發(fā)達(dá)國家集中各方力量,制定相關(guān)的研究計(jì)劃并開展了具體的研究工作,其中影響較大的計(jì)劃有以下幾個(gè):9.1.1開放式機(jī)床數(shù)控系統(tǒng)開放式數(shù)控系統(tǒng)能很好地解決變化頻繁的需求與封閉控制之間的矛盾,從而建立一個(gè)統(tǒng)一的可重構(gòu)的系統(tǒng)平臺(tái),增強(qiáng)數(shù)控系統(tǒng)的柔性,降低制造成本。開放的目的就是使NC控制器與當(dāng)今的PC機(jī)類似。系統(tǒng)構(gòu)筑于一個(gè)開放的PC平臺(tái)上,具有模塊化的組織結(jié)構(gòu)。允許用戶根據(jù)需要進(jìn)行選配和集成,更改或擴(kuò)展系統(tǒng)的功能使其迅速適應(yīng)不同的應(yīng)用需求,即系統(tǒng)具有互換性、可伸縮性、可移植性、互操作性、可擴(kuò)展性等。它實(shí)質(zhì)上是一種通用計(jì)算機(jī)上的標(biāo)準(zhǔn)應(yīng)用程序,而非傳統(tǒng)數(shù)控系統(tǒng)那樣包含許多插件板的專有硬件系統(tǒng)。⑴美國NGC和OMAC計(jì)劃。NGC(NextGenerationWork-station/MachineController,下一代機(jī)床控制器)于1989年開始實(shí)行,開發(fā)相關(guān)的標(biāo)準(zhǔn)規(guī)范。在NGC的資助下,美國Ford、GM和Chrysler等公司聯(lián)合提出OMAC(OpenSystemArchitectureforControlWithinAutomationSystem)開發(fā)計(jì)劃。容許把流行的硬件和軟件集成為控制器,兼容不同廠家產(chǎn)品,為商品化中的各種問題提供共同的解決方案。⑵歐盟OSACA(OpenSystemArchitectureforControlWithinAutomationSystem)計(jì)劃。該計(jì)劃是1990年由德國和法國等國家聯(lián)合發(fā)起的,數(shù)控平臺(tái)由軟件和硬件組成,包括通信體系結(jié)構(gòu)、參考體系結(jié)構(gòu)、配置系統(tǒng)三個(gè)主要組成部分,系統(tǒng)平臺(tái)通過應(yīng)用程序接口對外提供服務(wù),屏蔽了物理硬件的相關(guān)性。⑶日本OSEC(OpenSystemEnvironmentforController)計(jì)劃。該計(jì)劃由日本發(fā)起,隨著PC技術(shù)的不斷發(fā)展,試圖借助PC技術(shù)開發(fā)新一代高性價(jià)的開放式機(jī)床數(shù)控系統(tǒng)。該系統(tǒng)體系結(jié)構(gòu)包括了七個(gè)處理層,每一個(gè)處理層包括了NC基本功能部分和可變功能部分,通過可變功能部分實(shí)現(xiàn)開放性。9.1.1開放式機(jī)床數(shù)控系統(tǒng)現(xiàn)場總線技術(shù)運(yùn)用在運(yùn)動(dòng)控制領(lǐng)域滿足了開放式機(jī)床數(shù)控系統(tǒng)對數(shù)據(jù)通信的要求,引起了廣泛的關(guān)注和重視,國外各大數(shù)控系統(tǒng)公司紛紛推出了基于現(xiàn)場總線技術(shù)的高檔數(shù)字化接口協(xié)議,應(yīng)用于運(yùn)動(dòng)控制的現(xiàn)場總線接口主要有MACRO、FireWire和SERCOS,三種接口性能對比如表9-1所示。(1)MACRO(MotionAndControlRingOptical)物理層是環(huán)形結(jié)構(gòu),以串行方式通信,每個(gè)站有數(shù)據(jù)接收和發(fā)送口。MACRO不是標(biāo)準(zhǔn)化接口,其應(yīng)用始終局限于DeltaTau公司的產(chǎn)品體系,不具有開放性。(2)FireWire的系統(tǒng)FireWire類似于Ethernet,是一個(gè)標(biāo)準(zhǔn)的高速協(xié)議(IEEE1394),有較低的產(chǎn)品成本和廣泛的支持。其優(yōu)點(diǎn)是:等時(shí)傳輸數(shù)據(jù)的能力利于各軸間的精確同步控制,數(shù)據(jù)傳輸率較高。FireWire只規(guī)定了物理層,其它層由生產(chǎn)商自行定義,導(dǎo)致不同廠商之間的總線接口不相容,具有專用性,不具開放性。(3)SERCOS(SerialReal-timeCommunicationSpecification)9.1.2開放式機(jī)床數(shù)控系統(tǒng)接口技術(shù)9.2SERCOS概述SERCOS(SerialReal-timeCommunicationSpecification,串行實(shí)時(shí)通信協(xié)議)是一種專門用于在工業(yè)機(jī)械電氣設(shè)備的控制單元與數(shù)字伺服裝置及可編程控制器之間實(shí)現(xiàn)串行實(shí)時(shí)數(shù)據(jù)通信的協(xié)議標(biāo)準(zhǔn)。1986年,德國電力電子協(xié)會(huì)與德國機(jī)床協(xié)會(huì)聯(lián)合召集了歐洲一些機(jī)床、驅(qū)動(dòng)系統(tǒng)和CNC設(shè)備的主要制造商(Bosch,ABB,AMK,Banmuller,Indramat,Siemens,PacificScientific等)組成了一個(gè)聯(lián)合小組。該小組旨在開發(fā)出一種用于數(shù)字控制器與智能驅(qū)動(dòng)器之間的開放性通信接口,以實(shí)現(xiàn)CNC技術(shù)與伺服驅(qū)動(dòng)技術(shù)的分離,從而使整個(gè)數(shù)控系統(tǒng)能夠模塊化、可重構(gòu)與可擴(kuò)展,達(dá)到低成本、高效率、強(qiáng)適應(yīng)性地生產(chǎn)數(shù)控機(jī)床的目的。經(jīng)過多年的努力,此技術(shù)終于在1989年德國漢諾威國際機(jī)床博覽會(huì)上展出,這標(biāo)志著SERCOS總線正式誕生。9.2.1SERCOS的發(fā)展第I代和第II代SERCOS網(wǎng)絡(luò)由一個(gè)主站和若干個(gè)從站(1~254個(gè)伺服、主軸或PLC)組成,各站之間采用光纜聯(lián)接,構(gòu)成環(huán)形網(wǎng),如圖9-1所示,站間的最大距離為80m(塑料光纖)或250m(玻璃光纖),最大設(shè)備數(shù)量為254,數(shù)據(jù)傳輸率為2Mbit/s到16Mbit/s。一個(gè)控制單元可以連接一個(gè)或多個(gè)SERCOS環(huán)路,如圖9-2所示,每個(gè)環(huán)路由一個(gè)主站和多個(gè)從站組成,主站將控制單元連接到網(wǎng)絡(luò)中,從站負(fù)責(zé)將伺服、PLC等裝置連接到網(wǎng)絡(luò)中,每個(gè)從站又可連接一個(gè)或多個(gè)伺服裝置。9.2.2SERCOS的基本特征圖9-1SERCOS通信結(jié)構(gòu)圖9-2SERCOS網(wǎng)絡(luò)結(jié)構(gòu)針對前兩代,SERCOSIII的主要特點(diǎn)如下:1)高的傳輸速率,達(dá)到全雙工100Mbit/s。2)采用時(shí)間槽技術(shù)避免了以太網(wǎng)的報(bào)文沖突,提高了報(bào)文的利用率。3)向下兼容,兼容以前SERCOS總線的所有協(xié)議。4)降低了硬件的成本。5)集成了IP協(xié)議。6)使從站之間可以交叉通信CC(CrossCommunication)。7)支持多個(gè)運(yùn)動(dòng)控制器的同步C2C(ControltoControl)。8)擴(kuò)展了對I/O等控制的支持。9)支持與安全相關(guān)的數(shù)據(jù)的傳輸。10)增加了通信冗余、容錯(cuò)能力和熱插拔功能。9.2.2SERCOS的基本特征SERCOS具有如下特性:(1)標(biāo)準(zhǔn)性(2)開放性(3)兼容性因?yàn)樗械腟ERCOS接口都是按照國際標(biāo)準(zhǔn)設(shè)計(jì),支持不同廠家的應(yīng)用程序,也支持用戶自己開發(fā)的應(yīng)用程序。接口的功能與具體操作系統(tǒng)、硬件平臺(tái)無關(guān)。不同的接口之間可以相互替代,移植花費(fèi)的代價(jià)很小。(4)實(shí)時(shí)性(5)擴(kuò)展性9.2.3SERCOS的特性SERCOS技術(shù)在工業(yè)自動(dòng)化、印刷機(jī)械、包裝機(jī)械、工業(yè)機(jī)器人、半導(dǎo)體制造設(shè)備和機(jī)床工業(yè)中得到較為廣泛的應(yīng)用,特別是在一些高可靠性高精度多軸控制的高端設(shè)備中得到很好的應(yīng)用。9.2.4SERCOS工業(yè)應(yīng)用9.3基于SERCOS總線的通信接口SERCOS為3層計(jì)算機(jī)網(wǎng)絡(luò)協(xié)議,定義了物理層、數(shù)據(jù)鏈路層和應(yīng)用層,并采用了專用的協(xié)議控制器芯片。9.3.1SERCOS協(xié)議簡介采用SERCOS接口連接運(yùn)動(dòng)控制單元和數(shù)字伺服裝置,實(shí)現(xiàn)串行數(shù)據(jù)實(shí)時(shí)通信,具有以下優(yōu)點(diǎn):1)簡化控制單元和伺服裝置之間的接線。2)簡化控制硬件,使調(diào)試更方便;可以傳輸參數(shù)、指令和狀態(tài)等數(shù)據(jù)。3)數(shù)據(jù)量增大,通信受干擾影響較小,實(shí)現(xiàn)長距離傳輸。1.物理層2.數(shù)據(jù)鏈路層3.工作時(shí)序4.非周期服務(wù)通道數(shù)據(jù)傳輸5.過程命令傳送機(jī)制物理層位于計(jì)算機(jī)網(wǎng)絡(luò)的最低層,是一個(gè)有形的實(shí)體,為實(shí)時(shí)數(shù)據(jù)的傳輸提供物理通路,包括傳輸媒介,如電纜、光纖、連接頭,如光纖轉(zhuǎn)換接口,中繼器等。SERCOS物理層協(xié)議包括以下三個(gè)方面:拓?fù)浣Y(jié)構(gòu),物理信道,編碼格式。1)拓?fù)浣Y(jié)構(gòu)協(xié)議規(guī)定以環(huán)形拓?fù)浣Y(jié)構(gòu)實(shí)現(xiàn)一個(gè)控制單元與多個(gè)SERCOS環(huán)路連接起來。每個(gè)環(huán)路由主站和若干個(gè)從站構(gòu)成,每個(gè)從站又可以包含多個(gè)伺服裝置。2)物理信道物理信道由發(fā)送器、接收器和光纖構(gòu)成。發(fā)送器和接收器均封裝在屏蔽套中,該屏蔽套具有符合國際標(biāo)準(zhǔn)IEC874-2的螺紋接頭F-SMA。發(fā)送端輸出電信號,經(jīng)過光纖發(fā)送器發(fā)出波長為640nm~675nm的紅光。光纖接收器將接收到的紅光轉(zhuǎn)換成電信號輸出。采用塑料光纖與玻璃光纖,節(jié)點(diǎn)與節(jié)點(diǎn)之間的最大傳輸距離分別可達(dá)40m和800m。3)信號編碼信號編碼格式采用不歸零反向NRZI(NoReturnZeroInverted)編碼格式,可以從接收信號中提取接收時(shí)鐘,保證了SERCOS環(huán)路上所有從站的內(nèi)部定時(shí)器都與主站的發(fā)送時(shí)鐘同步。9.3.1SERCOS協(xié)議簡介1.物理層SERCOS協(xié)議規(guī)定了主站同步報(bào)文、主站數(shù)據(jù)報(bào)文、伺服報(bào)文三種報(bào)文結(jié)構(gòu),SERCOS協(xié)議的報(bào)文結(jié)構(gòu)如表9-2所示。1)主站同步報(bào)文MST(MasterSyncTelegram):主站以廣播形式周期性向各從站發(fā)送MST,主要用于同步主站和各個(gè)從站的通信周期。2)主站數(shù)據(jù)報(bào)文MDT(MasterDataTelegram):主站周期性以廣播形式向各從站發(fā)送MDT,各從站從MDT報(bào)文中提取屬于自己的數(shù)據(jù)。MDT主要包括位置指令值、速度指令值、系統(tǒng)參數(shù)或過程命令等數(shù)據(jù)。3)伺服報(bào)文AT(DriveTelegram):各從站周期性發(fā)送AT報(bào)文到主站,反饋從站實(shí)際位置值、實(shí)際速度值、狀態(tài)數(shù)據(jù)或過程命令應(yīng)答等數(shù)據(jù)。9.3.1SERCOS協(xié)議簡介2.數(shù)據(jù)鏈路層表9-2SERCOS協(xié)議的報(bào)文結(jié)構(gòu)SERCOS接口運(yùn)行過程分為五個(gè)通信階段CP0~CP4,每個(gè)通信階段由主站發(fā)送報(bào)文報(bào)文,從站被動(dòng)接收,并中繼和反饋數(shù)據(jù)回主站。CP0~CP3為通信初始化階段,用來設(shè)定整個(gè)通信統(tǒng)周期通信所需要的參數(shù),當(dāng)這4個(gè)相位成功執(zhí)行并設(shè)定完參數(shù)后,才能進(jìn)入正常的操作模式CP4,即伺服工作階段。整個(gè)初始化設(shè)定即以非周期性傳輸來建立系統(tǒng)的周期性傳輸。每個(gè)通信階段都有特定的的功能,必須依序進(jìn)行,否則SERCOS無法進(jìn)入正常運(yùn)行階段,即CP4,如果通信期間出現(xiàn)錯(cuò)誤,必須重新返回CP0進(jìn)行初始化。9.3.1SERCOS協(xié)議簡介3.工作時(shí)序SERCOS接口的運(yùn)行過程如下:CP0:由主站發(fā)送MST發(fā)起一個(gè)通信周期,從站接收到MST利用本身的中繼功能瞬時(shí)發(fā)往下一個(gè)從站,同理MST被接力傳送回主站。由此,主站通過判斷是否接收到MST來判斷環(huán)路的閉合。CP1:主站與連接在環(huán)路上的各個(gè)從站進(jìn)行數(shù)據(jù)交換完成伺服裝置的識(shí)別任務(wù)。CP2:主站以非周期數(shù)據(jù)傳輸?shù)姆绞脚c各伺服從站通信,配置支持周期通信所要設(shè)置的一些參數(shù)。主要包括:控制單元周期時(shí)間,CP3、CP4通信周期,AT報(bào)文發(fā)送時(shí)刻,MDT報(bào)文發(fā)送時(shí)刻,指令值有效及報(bào)文反饋時(shí)刻,各伺服從站數(shù)據(jù)在MDT報(bào)文中偏移位置,MDT報(bào)文中數(shù)據(jù)記錄的總長度,報(bào)文類型以及運(yùn)行模式。CP3:通過非周期數(shù)據(jù)傳輸設(shè)置各伺服裝置運(yùn)行參數(shù)。設(shè)置參數(shù)后完成初始化過程,進(jìn)入CP4階段。CP4:正常運(yùn)行階段。傳輸?shù)母髋渲脜?shù)開始生效,此時(shí)總線時(shí)間槽上周期性傳輸MST、各從站伺服報(bào)文AT及MDT,主站接收到所有的伺服報(bào)文,開始發(fā)送主站數(shù)據(jù)報(bào)文MDT,MDT中包含了屬于各個(gè)從站的控制信息,從站能夠從中提取屬于自己的數(shù)據(jù)記錄,至此就完成了數(shù)據(jù)交換的通信過程。9.3.1SERCOS協(xié)議簡介3.工作時(shí)序根據(jù)SERCOS協(xié)議內(nèi)容,周期性數(shù)據(jù)的傳輸是建立在非周期數(shù)據(jù)傳輸?shù)幕A(chǔ)上,只有通過對各個(gè)從站進(jìn)行非周期數(shù)據(jù)的傳輸才能設(shè)置從站與主站的通信參數(shù),才能完成整個(gè)SERCOS通信的初始化,因此掌握非周期數(shù)據(jù)傳輸機(jī)制對SERCOS通信非常關(guān)鍵。從SERCOS報(bào)文結(jié)構(gòu)知道,SERCOS協(xié)議利用數(shù)據(jù)記錄的可配置部分傳輸周期數(shù)據(jù),利用數(shù)據(jù)記錄的固定部分傳輸非周期數(shù)據(jù)。非周期數(shù)據(jù)通過SERCOS協(xié)議的服務(wù)通道傳輸,執(zhí)行以下任務(wù):1)SERCOS接口的初始化。2)傳輸一個(gè)數(shù)據(jù)塊的所有元素。3)傳輸過程命令。4)設(shè)置伺服裝置的配置參數(shù)。5)從伺服裝置獲取詳細(xì)的狀態(tài)信息。6)診斷功能。非周期數(shù)據(jù)傳輸?shù)奶攸c(diǎn)是:待傳輸?shù)臄?shù)據(jù)是一種數(shù)據(jù)塊結(jié)構(gòu),不僅包含數(shù)據(jù)值,另外還有IDN(識(shí)別號)、名稱、屬性、單位、極限值,每個(gè)元素都有特定的含義,通過這種方式實(shí)現(xiàn)SERCOS的高效率運(yùn)動(dòng)控制數(shù)據(jù)交換。但是完成一次數(shù)據(jù)塊交換需要在幾個(gè)通信周期才能完成,每個(gè)通信周期只負(fù)責(zé)傳輸數(shù)據(jù)塊的一個(gè)元素,這種通信方式稱為非周期數(shù)據(jù)傳輸。通過實(shí)時(shí)更改MDT報(bào)文的控制位和AT報(bào)文的狀態(tài)位實(shí)現(xiàn)服務(wù)數(shù)據(jù)塊的讀寫,也就完成了參數(shù)傳輸。9.3.1SERCOS協(xié)議簡介4.非周期服務(wù)通道數(shù)據(jù)傳輸在SERCOS接口中通過服務(wù)通道來傳輸過程命令??梢园岩粋€(gè)過程命令視作一個(gè)特殊的非周期數(shù)據(jù)。它在驅(qū)動(dòng)器和主站中調(diào)用某一固定的函數(shù)過程。這些過程命令可能要占用較多時(shí)間。為此,一個(gè)過程命令只是啟動(dòng)一個(gè)函數(shù)過程,在啟動(dòng)了它的功能后,服務(wù)通道又可以立即傳送其他的非周期數(shù)據(jù)或過程命令。過程命令功能由主站啟動(dòng),由從站執(zhí)行。通過寫元素7,主站通過MDT的主站服務(wù)數(shù)據(jù)域?qū)ⅰ斑^程命令控制”發(fā)往伺服裝置,控制過程命令的設(shè)置、啟動(dòng)、中斷和撤銷。從站通過AT的伺服服務(wù)數(shù)據(jù)域?qū)ⅰ斑^程命令應(yīng)答”反饋回主站,并結(jié)合AT狀態(tài)字向主站報(bào)告過程命令的執(zhí)行情況。9.3.1SERCOS協(xié)議簡介5.過程命令傳送機(jī)制實(shí)時(shí)性在計(jì)算機(jī)網(wǎng)絡(luò)中指數(shù)據(jù)的快速響應(yīng)能力,在嵌入式控制系統(tǒng)中指事件能夠準(zhǔn)確的時(shí)間內(nèi)發(fā)生,有較好的定時(shí)機(jī)制,各處的時(shí)鐘能達(dá)到一致。也即數(shù)據(jù)可訪問時(shí)間的可確定性。機(jī)床數(shù)控系統(tǒng)對控制指令執(zhí)行的實(shí)時(shí)性和同步性較為苛刻,通信實(shí)時(shí)性是影響系統(tǒng)實(shí)現(xiàn)高速、高精加工的主要瓶頸之一,特別在多軸聯(lián)動(dòng)伺服運(yùn)行控制應(yīng)用場合。9.3.2SERCOS實(shí)時(shí)通信與同步機(jī)理1.實(shí)時(shí)性傳輸基于脈沖給定的數(shù)控機(jī)床各軸的速度和位置命令是通過信號電纜給定的。各種驅(qū)動(dòng)對設(shè)定值的執(zhí)行是自由的,這意味著各軸之間執(zhí)行指令無法保證同步。采用SERCOS總線結(jié)構(gòu)可以改善各個(gè)進(jìn)給驅(qū)動(dòng)的同步性進(jìn)而改善各個(gè)軸的協(xié)調(diào)性。SERCOS同步機(jī)制如下:SERCOS通信周期以主站發(fā)送MST同步報(bào)文為基準(zhǔn),由于MST同步報(bào)文非常短,在忽略光纖環(huán)路的時(shí)間延遲下,MST同步報(bào)文將同時(shí)到達(dá)各伺服從站,各伺服從站同時(shí)讀取到同步信息,以此基準(zhǔn),設(shè)定接口芯片內(nèi)部硬件定時(shí)器,并開始計(jì)數(shù),與存儲(chǔ)在主從站內(nèi)部的各時(shí)間參數(shù)作比較,如果相等則觸發(fā)相應(yīng)的事件,使每個(gè)伺服從站保證它的發(fā)送時(shí)間槽和反饋采集捕捉點(diǎn)同步,有效地保證了指令數(shù)據(jù)的同時(shí)到達(dá)及反饋數(shù)據(jù)的同時(shí)采集。采用周期性的傳輸也可忽略位填充引起的短暫波動(dòng)。2.SERCOS同步機(jī)理9.4SERCOS通信協(xié)議SERCOS協(xié)議的發(fā)展歷程如下:1995:IECStandardIEC61491(Ed.9.0)1999:ENStandardIEC61491(Ed.9.0)2002:IECStandardIEC61491(Ed.2.0)2007:IECStandardIEC61800-7(Ed9.0,SERCOSDriveProfile)IECStandardIEC61784-1(Ed2.0andIEC61158Standards,F(xiàn)ieldbusProfiles,SERCOSI/II)ECStandardIEC61784-2(Ed9.0andIEC61158Standards,Real-TimeEthernetProfiles,SERCOSIII)IECStandardIEC61784-3(Ed9.0,Safetybuses,CIPSafety)經(jīng)過多年的發(fā)展和完善,SERCOS協(xié)議已成為覆蓋驅(qū)動(dòng)、I/O控制和安全控制的標(biāo)準(zhǔn)總線之一。下面主要以SERCOSIII為例介紹它的協(xié)議。SERCOSIII是建立在以太網(wǎng)IEEE802.3標(biāo)準(zhǔn)上的,其物理層對通信介質(zhì)、速度和拓?fù)浣Y(jié)構(gòu)等的要求基本相同,每一個(gè)SERCOS從站有兩個(gè)通信接口P1和P2,P1和P2可以交換。通信通道被分成兩條,第一通道P和第二通道S,如圖9-3所示。9.4.1SERCOS物理層的通信接口和拓?fù)浣Y(jié)構(gòu)圖9-3SERCOS通信接口一個(gè)站點(diǎn)內(nèi)的通信傳遞方式有三種,雙通道向前方式(Fast-Forward)、第一通道環(huán)路返回(Loopback)及向前方式和第二通道環(huán)路返回及向前方式。SERCOSIII采用線形或環(huán)形拓?fù)浣Y(jié)構(gòu),如圖9-4所示。9.4.1SERCOS物理層的通信接口和拓?fù)浣Y(jié)構(gòu)圖9-4SERCOS拓?fù)浣Y(jié)構(gòu)SERCOSIII信息幀如圖9-6所示。9.4.2SERCOS報(bào)文結(jié)構(gòu)圖9-4SERCOS拓?fù)浣Y(jié)構(gòu)SERCOSIII信息幀具體解釋如下:1)IDLE:表示通信空閑狀態(tài)。2)SSD:通信數(shù)據(jù)流起始標(biāo)識(shí)符。3)Preamble:為前導(dǎo)碼,表示MAC幀的開始。4)SFD:界定符(StartFrameDelimiter)。5)目的地址(DestinationAddress)。6)源地址(SourceAddress)。7)類型:0x88CD表示是SERCOSIII通信幀。8)MST:SERCOSIII信息頭。9)DataField:數(shù)據(jù)區(qū)。10)FCS:效驗(yàn)碼(FrameCheckSequence)。11)ESD:通信數(shù)據(jù)流結(jié)束標(biāo)識(shí)符。報(bào)文結(jié)構(gòu)同標(biāo)準(zhǔn)以太網(wǎng)的報(bào)文類似,其中在類型和長度字段用0x88CD表示這是一幀SERCOS報(bào)文,數(shù)據(jù)區(qū)長度有40~1494字節(jié)長,根據(jù)具體使用環(huán)境設(shè)置。一幀SERCOS報(bào)文長度為72~1526字節(jié),需要5.8μs~122.1μs的時(shí)間傳遞。MST的第一個(gè)字節(jié)為SERCOS類型標(biāo)志。SERCOSIII通信循環(huán)一般由RT實(shí)時(shí)通道和NRT非實(shí)時(shí)IP通道組成,其中RT通道由2~8個(gè)SERCOS幀組成,其中1~4個(gè)主站數(shù)據(jù)報(bào)文MDT(MasterDataTelegram)和1~4個(gè)伺服報(bào)文AT(AcknowledgeTelegram),循環(huán)周期為39.25μs到65ms,如圖9-7所示。9.4.2SERCOS報(bào)文結(jié)構(gòu)圖9-7SERCOS通信幀的組成每一個(gè)MDT和AT都是一個(gè)以太網(wǎng)通信幀,概括來講它由三部分組成,以太網(wǎng)報(bào)文頭HDR(Header)、MST和數(shù)據(jù)區(qū),其中第一個(gè)MDT0的MST用于通信的幀同步,如圖9-8所示。每一個(gè)循環(huán)都由MDT0始,從以太網(wǎng)報(bào)頭開始到MST共22個(gè)字節(jié),傳輸需要固定的2.24μs,從站收到這個(gè)MST后進(jìn)行幀同步處理。9.4.2SERCOS報(bào)文結(jié)構(gòu)圖9-8幀同步數(shù)據(jù)區(qū)MDT/AT的組成如圖9-9所示。9.4.2SERCOS報(bào)文結(jié)構(gòu)圖9-9數(shù)據(jù)區(qū)的組成SERCOS的網(wǎng)絡(luò)通信由主站建立,從初始化到開始循環(huán)實(shí)時(shí)通信分為五個(gè)階段CP0~CP4,在圖9-8中的MST狀態(tài)位中說明,表9-8是其詳細(xì)說明,其中CP0~CP3為初始化階段,完成初始化后,進(jìn)入正常工作階段CP4。在任何高階的通信階段都可以回到CP0階段從新進(jìn)行初始化工作,而向高級階段升級必須要逐步一級一級轉(zhuǎn)變。9.4.3通信的建立表9-8MST狀態(tài)位通過在主站MST的狀態(tài)字中設(shè)置不同的通信階段字,從站接收到狀態(tài)字后進(jìn)行處理,如果正常,則通知主站,主站開始下一階段工作;如果不正常,則退回到開始,重新進(jìn)行網(wǎng)絡(luò)初始化,圖9-10是狀態(tài)轉(zhuǎn)移圖,圖9-10中的CPx表示轉(zhuǎn)換過程。9.4.3通信的建立圖9-10狀態(tài)轉(zhuǎn)移圖SERCOS通信建立的流程如下:1)系統(tǒng)上電后主站和從站都直接進(jìn)入通常的以太網(wǎng)模式,也就是通信只有NRT通道開放,可進(jìn)行一般的以太網(wǎng)通信。2)CP0階段主站開始初始化工作,用來檢查環(huán)路是否閉合以及識(shí)別所有連在網(wǎng)絡(luò)上的從站。3)CP1階段用來配置從站進(jìn)行非循環(huán)的通信。4)CP2階段進(jìn)行從站參數(shù)的設(shè)置及對從站的循環(huán)通信進(jìn)行配置。5)CP3階段用來對從站進(jìn)行進(jìn)一步的配置,并準(zhǔn)備好循環(huán)實(shí)時(shí)通信方式。6)CP4階段開始SERCOS的循環(huán)實(shí)時(shí)通信。正常通信過程中如果有熱插拔發(fā)生,則通過HP0~HP2三個(gè)階段又恢復(fù)到正常通信狀態(tài)。9.4.3通信的建立非周期性數(shù)據(jù)的傳遞分為參數(shù)傳遞和過程命令傳遞兩類,每個(gè)參數(shù)和過程命令都有唯一的標(biāo)識(shí)號IDN,主要包括通信參數(shù)、診斷參數(shù)、報(bào)文內(nèi)容定義參數(shù)、伺服模式參數(shù)、伺服運(yùn)行參數(shù)、電動(dòng)機(jī)參數(shù)和機(jī)械參數(shù)等,通過服務(wù)通道可以進(jìn)行:1)通信的初始化工作。2)IDN數(shù)據(jù)塊所有元素的傳遞。3)過程命令的傳遞。4)改變極限值操作。5)改變控制環(huán)參數(shù)的操作。6)獲取從站詳細(xì)的狀態(tài)信息。7)診斷功能。9.4.4數(shù)據(jù)傳遞過程SERCOS中所有參數(shù)和過程命令都是以IDN(IdentificationNumber)的形式存儲(chǔ)和傳遞,以前版本的SERCOS僅僅針對伺服系統(tǒng),現(xiàn)在SERCOSIIIIDN將其擴(kuò)展到了I/O設(shè)備、人機(jī)界面監(jiān)視器等控制領(lǐng)域。每一個(gè)IDN都對應(yīng)一個(gè)數(shù)據(jù)塊,通過IDN號就能唯一確定數(shù)據(jù)塊的內(nèi)容,如表9-12所示。它由7個(gè)元素組成,其中有可選擇的元素,元素1、3、7是必選的,具體元素由服務(wù)通道的控制字相應(yīng)位來選擇。9.4.5SERCONIDN表9-12IDN數(shù)據(jù)塊IDN的結(jié)構(gòu):IDN分成標(biāo)準(zhǔn)的IDN和特殊產(chǎn)品的IDN兩類,每一類又分為8個(gè)參數(shù)集,每一個(gè)集包含4095個(gè)IDN,每一個(gè)IDN可含有256個(gè)結(jié)構(gòu)實(shí)例和256個(gè)結(jié)構(gòu)元素,在報(bào)文中IDN以32Bit二進(jìn)制數(shù)進(jìn)行傳遞,如表9-13所示。9.4.5SERCONIDN表9-13IDN結(jié)構(gòu)SERCOSIII采用了CIP安全標(biāo)準(zhǔn),它在原來SERCOS安全機(jī)制的基礎(chǔ)上增加了安全應(yīng)用層,如圖9-16所示。9.4.6SERCOS安全網(wǎng)絡(luò)圖9-16SERCOS安全網(wǎng)絡(luò)9.5SERCOS在數(shù)控系統(tǒng)中應(yīng)用SERCOS接口在控制器和驅(qū)動(dòng)器間傳送光數(shù)據(jù),有效地排除了噪聲干擾。每一光纜環(huán)可以連接的驅(qū)動(dòng)器數(shù)量取決于周期時(shí)間、數(shù)據(jù)量、傳輸速率。每一控制器連接的驅(qū)動(dòng)器數(shù)量可以用多個(gè)光纜來擴(kuò)展。SERCOS接口規(guī)范標(biāo)準(zhǔn)化了控制器和驅(qū)動(dòng)器間交換操作數(shù)據(jù)段格式和比例因子。在初始化階段,根據(jù)控制器和驅(qū)動(dòng)器的工作特征,配置對接口的操作。無論驅(qū)動(dòng)器還是控制器都能執(zhí)行速度和位置控制,由于數(shù)據(jù)格式的靈活性,可用于多種控制結(jié)構(gòu)和操作模式。通過命令值和反饋值的周期數(shù)據(jù)交換、精確等長的時(shí)序、測量值和命令值的同步,控制器能夠與所有被連接的驅(qū)動(dòng)器同步。9.5.1工作原理SERCOS接口采用環(huán)形拓?fù)浣Y(jié)構(gòu),一個(gè)控制單元可以帶一個(gè)或多個(gè)SERCOS環(huán)路。每個(gè)環(huán)路由一個(gè)主站和多個(gè)從站組成,主站負(fù)責(zé)將控制單元連接到環(huán)路上,從站負(fù)責(zé)將伺服裝置連接到環(huán)路上。每個(gè)從站又可以連接一個(gè)或多個(gè)伺服裝置。從理論上說,一個(gè)主站最多可以控制254個(gè)伺服裝置,但在實(shí)際應(yīng)用中,每個(gè)主站控制的伺服裝置總數(shù)受諸多因數(shù)的影響,例如:SERCOS通信周期時(shí)間、運(yùn)行模式以及數(shù)據(jù)傳輸率等。除了采用更快的協(xié)議芯片獲得更高的數(shù)據(jù)傳輸率,使每個(gè)環(huán)路可以連接更多的伺服裝置以外,還可以通過增加環(huán)路數(shù)量,來增加每個(gè)控制單元所控制的伺服裝置總數(shù)。環(huán)路上一個(gè)主站與多個(gè)從站結(jié)構(gòu)如圖9-17所示。9.5.2SERCOS接口拓?fù)浣Y(jié)構(gòu)圖9-17環(huán)路上一個(gè)主站與多個(gè)從站結(jié)構(gòu)SERCOS接口實(shí)現(xiàn)了周期數(shù)據(jù)傳送中的同步,即控制器的操作周期與接口通信周期和驅(qū)動(dòng)器的操作周期同步,從而避免了各周期間的差拍,把控制環(huán)的延遲降到最小。這也暗示了所有驅(qū)動(dòng)器同時(shí)起動(dòng)新的命令,同時(shí)進(jìn)行測量,把測量值作為反饋值發(fā)送到控制器,它要求傳送周期嚴(yán)格等長。具體同步機(jī)制如下:SERCOS通信周期以主站發(fā)送MST同步報(bào)文為基準(zhǔn),由于MST同步報(bào)文非常短,在忽略光纖環(huán)路的時(shí)間延遲下,MST同步報(bào)文將同時(shí)到達(dá)各伺服從站,各伺服從站同時(shí)讀取到同步信息,以此基準(zhǔn),設(shè)定接口芯片內(nèi)部硬件定時(shí)器,并開始計(jì)數(shù),與存儲(chǔ)在主從站內(nèi)部的各時(shí)間參數(shù)作比較,如果相等則觸發(fā)相應(yīng)的事件,使每個(gè)伺服從站保證它的發(fā)送時(shí)間槽和反饋采集捕捉點(diǎn)同步,有效地保證了指令數(shù)據(jù)的同時(shí)到達(dá)及反饋數(shù)據(jù)的同時(shí)采集??刂破髋c驅(qū)動(dòng)器間的所有數(shù)據(jù)交換都是通過報(bào)文來進(jìn)行的。SERCOS接口協(xié)議定義了三種報(bào)文:(1)主站同步報(bào)文MST(MasterSyncTelegram):主站以廣播形式周期性向各從站發(fā)送MST,主要用于同步主站和各個(gè)從站的通信周期。(2)主站數(shù)據(jù)報(bào)文MDT(MasterDataTelegram):主站周期性以廣播形式向各從站發(fā)送MDT,各從站從MDT報(bào)文中提取屬于自己的數(shù)據(jù)。MDT主要包括位置指令值、速度指令值、系統(tǒng)參數(shù)或過程命令等數(shù)據(jù)。9.5.3數(shù)據(jù)傳輸模式主站數(shù)據(jù)報(bào)文MDT的報(bào)文結(jié)構(gòu)如圖9-18所示。9.5.3數(shù)據(jù)傳輸模式圖9-18主站數(shù)據(jù)報(bào)文MDT的報(bào)文結(jié)構(gòu)(3)伺服報(bào)文AT(DriveTelegram):各從站周期性發(fā)送AT報(bào)文到主站,反饋從站實(shí)際位置值、實(shí)際速度值、狀態(tài)數(shù)據(jù)或過程命令應(yīng)答等數(shù)據(jù)。伺服從站AT的報(bào)文結(jié)構(gòu)如圖9-19所示。圖9-19伺服從站AT的報(bào)文結(jié)構(gòu)所有由SERCOS接口處理的數(shù)據(jù)都賦予一個(gè)ID號(IDN),此類數(shù)據(jù)稱為操作數(shù)據(jù),它包括參數(shù)、系統(tǒng)過程命令、命令值和反饋值。參數(shù):它用于調(diào)整驅(qū)動(dòng)器和控制器,以保證系統(tǒng)的無措操作。系統(tǒng)過程命令:它用于激活驅(qū)動(dòng)器內(nèi)的函數(shù)過程或者控制器和驅(qū)動(dòng)器間的函數(shù)。命令值和反饋值:通常作為周期交換數(shù)據(jù)包含在報(bào)文中。按照不同通信階段數(shù)據(jù)傳輸內(nèi)容的不同,可分為周期傳輸數(shù)據(jù)和非周期傳輸數(shù)據(jù)。1)周期模式交換的數(shù)據(jù)在一個(gè)通信周期內(nèi),從控制器向每個(gè)驅(qū)動(dòng)器發(fā)送一個(gè)控制字,從每個(gè)驅(qū)動(dòng)器向控制器發(fā)送回一個(gè)狀態(tài)字??梢园芽刂谱趾蜖顟B(tài)字的信息分為兩類:①與數(shù)據(jù)傳送相關(guān)的信息:控制非周期傳送(控制/確認(rèn)),為周期傳送提供兩個(gè)實(shí)時(shí)控制/狀態(tài)位;②與驅(qū)動(dòng)器相關(guān)的信息:在控制字內(nèi):要求的操作模式,發(fā)送“驅(qū)動(dòng)器啟動(dòng)”和“驅(qū)動(dòng)器使能”命令。2)非周期傳輸模式交換的數(shù)據(jù)傳輸?shù)臄?shù)據(jù)包括參數(shù)和過程命令,數(shù)據(jù)交換的速度比周期傳輸模式慢得多。9.5.4數(shù)據(jù)傳送內(nèi)容SERCOS接口的運(yùn)行過程分為如下五個(gè)通信階段CP0~CP4:1)CP0階段用于檢查環(huán)路是否閉合。2)CP1階段用于識(shí)別所有連接在環(huán)路上的伺服裝置。3)CP2階段的主要任務(wù)是通過非周期數(shù)據(jù)傳輸設(shè)置周期通信所需要的配置參數(shù)。4)CP3階段通過非周期數(shù)據(jù)傳輸設(shè)置各伺服裝置的運(yùn)行參數(shù)。5)CP4正常運(yùn)行階段。具體過程如下:1)CP0階段控制系統(tǒng)接通電源后,主站和各從站直接進(jìn)入CP0階段。此時(shí),所有從站都工作在中繼器模式下,只有主站發(fā)送主站同步報(bào)文MST,檢查環(huán)路是否閉合。如果主站能夠連續(xù)10次以上收到自己所發(fā)的MST,表示環(huán)路閉合,系統(tǒng)正常工作,可進(jìn)入CP1階段。2)CP1階段在CP1階段,主站向每個(gè)伺服裝置發(fā)送MDT報(bào)文,此時(shí)MDT的地址域包含待識(shí)別的伺服裝置的地址。如果被識(shí)別的伺服裝置工作正常,它應(yīng)在下一個(gè)通信周期發(fā)送一個(gè)AT報(bào)文作為應(yīng)答。如果所有伺服裝置都正確做出應(yīng)答,則可進(jìn)入CP2階段。9.5.5SERCOS接口初始化3)CP2階段CP2階段為周期性數(shù)據(jù)傳輸做準(zhǔn)備,其數(shù)據(jù)交換采用非周期數(shù)據(jù)傳輸方式完成。主站通過伺服地址分別訪問各個(gè)伺服裝置,進(jìn)行非周期數(shù)據(jù)傳輸,與伺服裝置交換配置參數(shù)。在進(jìn)入CP3之前,主站通過發(fā)送“CP3切換檢查”過程命令,以檢查支持周期性通信的參數(shù)是否已經(jīng)設(shè)置正確。當(dāng)所有伺服裝置都對該過程命令做出正確應(yīng)答,才允許主站發(fā)出CP3切換命令。4)CP3階段主站與伺服裝置以廣播形式進(jìn)行通信,MDT的地址域中包含廣播地址255。CP3階段的工作時(shí)序由CP2階段設(shè)置的參數(shù)決定,CP3階段的主要任務(wù)是通過非周期數(shù)據(jù)傳輸設(shè)置伺服正常允許時(shí)所需的參數(shù)。當(dāng)所有伺服裝置都對該過程命令做出正應(yīng)答,即“過程命令已正確執(zhí)行”以后,才允許主站從CP3切換到CP4。5)CP4階段如果成功切換至CP4階段,則初始化過程結(jié)束,系統(tǒng)進(jìn)入正常運(yùn)行階段。9.5.5SERCOS接口初始化9.6SERCOS接口控制器SERCON816SERCOS接口控制器SERCON816是用于SERCOS接口通信系統(tǒng)的集成電路。SERCOS接口是一個(gè)用于系統(tǒng)之間通信的數(shù)字接口,這些系統(tǒng)必須以固定的短間隔(62.5μs~65ms)周期性地交換信息。它適用于分布式控制或測試設(shè)備的同步操作(例如,驅(qū)動(dòng)器和數(shù)控之間的連接)。SERCOS接口控制器包含SERCOS接口的所有硬件相關(guān)功能,大大降低了硬件成本和微處理器的計(jì)算時(shí)間要求。它是光纖接收器和發(fā)射器與執(zhí)行控制算法的微處理器之間的直接鏈接。SERCON816可用于SERCOS接口主站和從站。SERCON816結(jié)構(gòu)框圖如圖9-20所示。9.6.1SERCON816概述SERCON816結(jié)構(gòu)框圖如圖9-20所示。9.6.1SERCON816概述圖9-20SERCON816結(jié)構(gòu)框圖SERCON816包含以下功能:1)與具有8位或16位數(shù)據(jù)總線寬度的微處理器的接口,以及符合Intel或Motorola標(biāo)準(zhǔn)的控制線。2)一個(gè)串行接口,用于與光纖環(huán)的光學(xué)接收器和發(fā)射器或與電環(huán)或總線的驅(qū)動(dòng)器直接連接。集成了數(shù)據(jù)和時(shí)鐘再生、環(huán)形拓?fù)渲欣^器以及串行發(fā)送器和接收器。監(jiān)測信號并生成測試信號。串行接口的運(yùn)行速度高達(dá)16Mbaud,無需外部電路。3)用于控制和通信數(shù)據(jù)的雙端口RAM(2048*16位)。內(nèi)存的組織是靈活的。4)用于自動(dòng)傳輸和監(jiān)控同步和數(shù)據(jù)報(bào)文的報(bào)文處理。僅處理用于特定接口用戶的傳輸數(shù)據(jù)。傳輸?shù)臄?shù)據(jù)要么存儲(chǔ)在內(nèi)部RAM(單緩沖區(qū)或雙緩沖區(qū))中,要么通過直接內(nèi)存訪問(DMA))傳輸。在多個(gè)通信周期內(nèi)傳輸服務(wù)通道信息自動(dòng)執(zhí)行。除SERCOS接口外,SERCON816還可用于其他實(shí)時(shí)通信任務(wù)。作為光纖環(huán)的替代方案,還支持帶有RS-485信號的總線拓?fù)洹?.6.1SERCON816概述SERCON816具有如下特性:1)SERCOS接口的單片控制器。2)工業(yè)控制系統(tǒng)的實(shí)時(shí)通信。3)8/16位總線接口,Intel和Motorola控制信號。4)帶2048字*16位的雙端口RAM。5)通過光纖環(huán)、RS485環(huán)和RS485總線進(jìn)行數(shù)據(jù)通信。6)帶內(nèi)部時(shí)鐘恢復(fù),最大傳輸速率為16MBaud。7)用于環(huán)形連接的內(nèi)部中繼器。8)全雙工操作。9)光發(fā)射二極管的功率調(diào)制。10)在通信周期中自動(dòng)傳輸同步和數(shù)據(jù)報(bào)文。11)靈活的RAM配置,通信數(shù)據(jù)存儲(chǔ)在RAM中(單緩沖區(qū)或雙緩沖區(qū))或通過DMA傳輸。12)外部信號同步。13)定時(shí)控制信號。14)自動(dòng)服務(wù)通道傳輸。15)監(jiān)視軟件和外部同步信號的看門狗。16)SERCON410BSERCOS接口控制器的兼容模式。17)100引腳QFP封裝。9.6.2SERCON816的特性SERCON816引腳圖如圖9-21所示。9.6.3SERCON816引腳描述圖9-21SERCON816引腳圖9.7SERCON816總線的接口SERCOS接口芯片是實(shí)現(xiàn)運(yùn)動(dòng)控制單元與伺服裝置之間數(shù)字通信的接口,主要實(shí)現(xiàn)SERCOS物理層和數(shù)據(jù)鏈路層協(xié)議報(bào)文的處理。SERCOS接口控制器與微處理器通過總線形式連接,通過中斷響應(yīng)事件來觸發(fā)控制器的工作,如圖9-24所示,由圖9-24可知,SERCON816是一種可以虛擬為微處理器外圍存儲(chǔ)器的外圍設(shè)備。9.7.1SERCON816與微處理器的連接圖9-24SERCON816與微處理器的連接圖SERCON816

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論