DeviceNet協議

用於最低層現場匯流排的協議

DeviceNet 從站協議軟體可以協助您方便快速地開發 DeviceNet設備,它支持DeviceNet2.0規範中定義的所有通信機制,這可以讓開發者將主要精力集中在實際應用上。

特性


DeviceNet協議是一個簡單、廉價而且高效的協議,適用於最低層的現場匯流排,例如:過程感測器、執行器、閥組、電動機起動器、條形碼讀取器、變頻驅動器、面板顯示器、操作員介面和其他控制單元的網路。可通過DeviceNet連接的設備包括從簡單的擋光板到複雜的真空泵各種半導體產品。
DeviceNet也是一種串列通信鏈接,可以減少昂貴的硬接線。DeviceNet所提供的直接互連性不僅改善了設備間的通信,而且同時提供了相當重要的設備級診斷功能,這是通過硬接線I/O介面很難實現的。
除了提供ISO模型的第7層(應用層)定義之外,DeviceNet規範還定義了部分第1層(物理收發器)和第0層(傳輸介質)。如圖所示為DeviceNet在ISO模型中的相關層。對DeviceNet節點的物理連接也作了清楚的規定。連接器、電纜類型和電纜長度,以及與通信相關的指示器、開關、相關的室內銘牌都作了詳細規定。
DeviceNet協議
DeviceNet協議
ISO模型中的DeviceNet相關層
DeviceNet網路最大可以操作64個節點,可用的通訊波特率分別為125kbps、250kbps和500kbps三種。
設備可由DeviceNet匯流排供電(最大總電流8A)或使用獨立電源供電。
DeviceNet網路電纜傳送網路通訊信號,並可以給網路設備供電。寬範圍的應用導致規定了不同規格的電纜:粗電纜、細電纜和扁平電纜,以能夠適用於工業環境。電纜的選用見下表所示。
幹線和支線電纜的長度推薦值
數據通訊幹線長度單根支線
總支線長度
速率粗電纜細電纜扁平電纜最大長度
125kbps500m100m420m156m6m
250kbps250m100m200m78m6m
500kbps100m100m100m39m6m
DeviceNet設備的物理介面可在系統運行時連接到網路或從網路斷開,並具有極性反接保護功能。可通過同一個網路,在處理數據交換的同時對DeviceNet設備進行配置和參數設置,這樣使複雜系統的試運行和維護變得比較簡單;而且現在有許多的高效工具供系統集成者使用,開發變得容易。
DeviceNet使用“生產者-消費者”通訊模型以及CAN協議的基本原理。DeviceNet發送節點生產網路上的數據,而DeviceNet接收節點則消費網路上的數據;兩個或多個設備之間的通信總是符合基於連接的通訊模式。

對象模型


DeviceNet通過抽象的對象模型來描述網路中所有可見的數據和功能。一個DeviceNet設備可以定義成為一個對象的集合。這種基於對象的描述提供了一個清晰的設備模型。Devi一個對象代表設備內一個部件的抽象描述。對象由它的數據或屬性、功能或服務以及它所定義的行為決定。
屬性代表數據,設備通過DeviceNet生產這些數據。其中可能包括:對象的狀態、定時器值、設備序列號或者溫度、壓力或位置等過程數據。
服務用於調用一個對象的功能或方式。它可對獨立屬性(如Get_Attribute_Single/Set_Attribute_Single)進行讀或寫操作。另外還可創建新的對象實例,或刪除現有對象。
對象的行為定義了如何對外部或內部事件進行響應。內部事件可以是定時器的運行事件,外部事件可以是設備要響應的新的過程數據。
DeviceNet對象模型
對象分類定義了所有屬性、服務和同一類對象行為的描述。如果設備中存在一個對象,我們把它看作是一個分類實例或者對象實例。所能建立的一個分類的實例數目取決於設備的容量。當對象的分類被定義時,對象的功能和行為也隨之定義。一個分類的所有實例都支持相同的服務、相同的行為並具有相同的屬性。對於每個獨立的屬性來說,每個實例都有自身的狀態和值。
一個對象的數據和服務通過一個分層的定址概念進行定址,它包括以下部分:
設備地址(MACID
分類ID
實例ID
屬性ID
服務代碼
在DeviceNet中通常使用標識符(ID)來定義分類、實例、屬性和服務。每個ID通常用8位整數來表示分類、實例和屬性,7位整數表示服務。這樣分類、實例和屬性就有多達256個可用的ID,而服務則有128個可用ID。分類和實例也可以使用16位整數,這樣它們的地址空間就擴展為65536個不同的ID。但16位模式只被少數設備所支持。
分類、實例、屬性和服務的ID並不完全供用戶自由使用。其中一些保留作將來的規範擴展之用,還有一些保留給廠商使用。
在DeviceNet設備中典型的對象類如下所示:
DeviceNet設備典型對象
對象類編號對象類名稱規範參考
1IdentityVolII,Rel2.0,page6-3
2MessageRouterVolII,Rel2.0,page6-17
3DeviceNetVolI,Rel2.0,page5-50
4AssemblyVolII,Rel2.0,page6-23
5ConnectionVolI,Rel2.0,page5-5
6ParameterVolII,Rel2.0,page6-86
Identity(標識對象VolII,Rel2.0,page6-3)
DeviceNet設備有且只有一個標識對象類實例(實例號為1)。該實例具有以下屬性:供應商ID、設備類型、產品代碼、版本產品名稱,以及檢測脈衝周期等。實例必須支持服務Get_Attribute_Single(服務代碼:0x0e)。
MessageRouter(信息路由對象VolII,Rel2.0,page6-17)
DeviceNet設備有且只有一個信息路由對象類實例(實例號為2)。信息路由對象將顯式信息轉發到相應的對象,對外部並不可見。
注意:信息路由對象的屬性(支持最多連接數、活動連接ID、系統組件使用的連接數)。
DeviceNet(DeviceNet類對象VolI,Rel2.0,page5-50)
DeviceNet設備有且只有一個DeviceNet對象類實例(實例號為3)。DeviceNet對象具有以下屬性:節點MACID、通訊波特率、BOI(離線中斷)、分配信息。實例必須支持服務:Get_Attribute_Single(服務代碼:0x0e)、Set_Attribute_Single(服務代碼:0x10),對象所提供的分類特殊服務Allocate_Master/Slave_Connection_Set(服務代碼:0x4B)、Release_Group_2_Identifier_Set((服務代碼:0x4c))。
Assembly(組合對象VolII,Rel2.0,page6-23)
DeviceNet設備可能具有一個或者多個組合對象類實例(實例號為4)。組合對象類實例的主要作用是將不同應用對象的屬性(數據)組合成為一個單一的屬性,從而可以通過一個報文發送。
Connection(連接對象VolI,Rel2.0,page5-5)
DeviceNet設備至少具有兩個連接類實例(實例號為5)。每個連接對象表示網路上兩個節點之間虛擬連接的一個端點。連接對象分為顯式信息連接、I/O信息連接。顯式報文用於屬性定址、屬性值以及特定服務;I/O報文中數據的處理由連接對象I/O連接實例決定。
Parameter(參數對象VolII,Rel2.0,page6-86)
參數對象(實例號為6)是可選的,用於具有可配置參數的設備中。每個實例分別代表不同的配置參數。參數對象為配置工具提供了一個標準的途徑,用於訪問所有的參數。
Application(應用對象)
通常除了組合對象和參數對象外,設備中至少有一個應用對象。在卷II第6章描述了許多已標準化的應用對象。
四、DeviceNet的連接及報文協議
4.1概述
DeviceNet是一個基於連接的通信網路系統。一個DeviceNet的連接提供了多個應用之間的路徑。當建立連接時,與連接相關的傳送會被分配一個連接ID(CID)。如果連接包含雙向交換那麼應當分配兩個連接ID值。4.2CAN標識符使用
DeviceNet建立在標準CAN2.0A協議之上,並使用11位標準報文標識符,可分成4個單獨的報文組,
見下面所示。同樣,基於擴展CAN2.0B協議的CAN節點也可以兼容設計成一個DeviceNet設備。
報文組的定義
連接ID=CAN標識符(bits10:0)
標識用途
109876543210
0報文ID源MACID報文組1
10MACID報文ID報文組2
11報文ID源MACID報文組3
11111報文ID報文組4
1111111xxxx無效CAN標識符
在DeviceNet中,CAN標識符被稱為連接ID。它包含報文組ID、該組中的報文ID、設備MACID。
源和目標地址都可作為MACID。定義取決於報文組和報文ID。系統中報文的含義由報文ID確定。
4個報文組分別有以下用途:
報文組1
分配了1024個CAN標識符(000H~3FFH),占所有可用標識符的一半。該組中每個設備最多可擁有16個不同的報文。該組報文的優先順序主要由報文ID(報文的含義)決定。如果2個設備同時發送報文,報文ID號較小的設備總是先發送。以這種方式可以相對容易地建立一個16個優先順序的系統。報文組1通常用於I/O報文交換應用數據。
報文組2
分配了512個標識符(400H~5FFH)。該組的大多數報文ID可選擇定義為“預定義主/從連接集”。其中1個報文ID定義為網路管理。優先順序主要由設備地址(MACID)決定,其次由報文ID決定。如果要考慮各位的具體位置,那麼帶8位屏蔽的CAN控制器可以根據MACID濾除自身的報文組2報文。
報文組3
分配了448個標識符(600H~7BFH),具有與報文組1相似的結構。與報文組1不同的是,它主要交換低優先順序的過程數據。此外,該組的主要用途是建立動態的顯式連接。每個設備可有7個不同的報文,
其中2個報文保留作未連接報文管理器埠(UCMMPort)。
報文組4
分配了48個CAN標識符(7C0H~7EFH),不包含任何設備地址,只有報文ID。該組的報文只用於網路管理。通常分配4個報文ID用於“離線連接集”。
其它16個CAN標識符(7F0H~7FFH)在DeviceNet中被禁止。
4.3DeviceNet信息協議
DeviceNet定義了兩種類型的報文:顯式信息報文、I/O信息報文。
I/O信息報文用於在DeviceNet網路中傳輸應用和過程數據。相關的I/O數據總是從一個生產應用傳輸到多個消費應用。I/O報文通常使用高優先順序的報文標識符,連接標識符提供了I/O報文的相關信息。I/O報文傳送通過I/O信息連接對象來實現。在I/O報文被傳輸之前,I/O信息連接對象必須已經建立。
I/O信息報文格式的最重要的特性是完全利用了CAN數據場來傳輸過程數據。連接的端點通過CAN報文標識符來識別過程數據的重要性。每個I/O報文使用1個CAN標識符。
顯式信息報文用於DeviceNet網路中兩個設備之間的一般性數據交換。顯式報文通常使用低優先順序的報文標識符。顯式報文為點對點傳送,採用典型的請求/響應通訊模式,通常用於設備配置、故障診斷。顯式報文傳送通過顯式信息連接對象來實現,在設備中建立顯式信息連接對象。顯式報文請求指明了對象、實例和屬性,以及所要調用的特定分類服務,並由報文路由對象傳遞到相應的對象。
顯式信息報文格式最重要的特性是CAN標識符場的任何一部分都不用於顯式報文傳輸協議。所有協議都包含在CAN數據場當中。CAN標識符場用作連接ID。設備之間的每個顯式連接通道需要2個CAN標識符,一個用於請求報文,另一個用於響應報文。標識符在連接建立時確定。
4.4DeviceNet連接的建立
DeviceNet是一個基於連接的網路系統。只有當對象之間已建立一個連接時,才能通過網路進行報文傳送。DeviceNet規定了兩種類型連接:
I/O連接在一個生產應用及一個或多個消費應用之間提供了專用的,具有特殊用途的通訊路徑。
特定的應用和過程數據通過這些路徑傳輸;
顯式信息連接在兩個設備之間提供了一個通用的、多用途的通訊路徑。顯式信息連接提供典型的面向請求/響應的網路通訊方式。
DeviceNet中的報文總是以基於連接的方式進行交換,因此,在進行通訊之前,首先必須建立連接對象。
DeviceNet節點在開機后能夠立即定址的唯一埠是“非連接信息管理器埠”(UCMM埠)和預定義主/從連接組的“Group2非連接顯式請求埠”。當通過UCMM埠或者Group2非連接顯式請求埠建立一個顯式報文連接后,這個連接可用於從一個節點向其它節點傳送信息,或建立I/O信息連接。一旦建立了I/O信息連接,就可以在網路設備之間傳送I/O數據。
通過UCMM埠可以動態的建立顯式信息連接。一個支持預定義主/從連接組,並且具有UCMM功能的設備稱為Group2伺服器。一個Group2伺服器可被一個或多個客戶機通過一個或多個連接進行定址。
預定義主/從連接組用於簡單而快速地建立一個連接。當使用預定義的主/從連接組時,客戶機(主站)和伺服器(從站)之間只允許存在一個顯式連接。由於在預定義主/從連接組定義內已省略了創建和配置應用與應用之間連接的許多步驟,可以使用較少的網路和設備資源來實現DeviceNet通訊。
不具有UCMM功能,只支持預定義主/從連接組的從設備,被稱為DeviceNet中的僅限Group2伺服器。
只有分配它的主站才可以定址僅限Group2的伺服器。僅限Group2的設備能夠接收的所有報文都在報文組2中被定義。支持預定義主/從連接組對設備製造商來說代表了一個簡單實現的方案。
絕大多數現有的DeviceNet設備都是基於預定義的主/從連接組,因為這在終端設備上實現起來比較簡單。
五、設備描述與EDS文件
為了實現同類設備的互用性並促進其互換性,同類設備間必須具備某種一致性,即每種設備類型必須有一個標準的模型。
設備描述(DeviceProfiles)通過定義標準的設備模型,促進不同廠商同類設備的互操作性,並促進其互換性。ODVA已經規定了一些工業自動化中常用產品的設備描述。例如,通用I/O(離散或模擬)、驅動器、位置控制器等等。
在DeviceNet規範中設備描述分為3個部分。
設備類型的對象模型
對象模型定義了設備中所必需和可選的對象分類。對象模型還指定了實現的對象實例的個數,這些對象如何影響設備的行為,及其與這些對象的介面。
設備類型的I/O數據格式
在設備描述中指定了I/O數據的格式。通常也包括組合對象的定義,組合對象屬性包括了特定的數據的映射。
配置數據和訪問該數據的公共介面
描述了配置數據以及數據的公共介面實現。通常包含在電子數據文檔(EDS)中,EDS包含在設備的用戶文件中。
DeviceNet規範規定了電子數據文檔(EDS)的格式,EDS文件提供訪問和改變設備可配置參數的所有必要信息。當使用電子數據文檔(EDS)時,供貨商可以將產品的特殊信息提供給其它供貨商。這樣可以具有友好的用戶配置工具,可以很容易的更新,無需經常修正配置軟體工具。
ODVA定義了DeviceNet設備和系統的測試和批准程序。會員廠商有機會將它們的設備交給當前3個獨立的DeviceNet兼容性測試中心之一進行一致性檢測。所有DeviceNet設備只作兩個關鍵性測試:互操作性和互換性。
互操作性表示所有廠商的DeviceNet設備都可在網路上互相操作。互換性比其更進一步,可以用相同類型的設備即它們符合相同的設備描述)在邏輯上互相置換,不管這些設備是由哪個廠商製造的。
一致性測試可以分成以下3個部分:
軟體測試對DeviceNet協議的功能進行驗證。在測試時,根據設備複雜性的不同,可傳輸多達數千個報文。
硬體測試檢測物理層的兼容性。該測試檢測規範的所有要求,例如斷線保護、過壓、接地和絕緣、CAN收發器等等。該測試對於不符合DeviceNet規範的設備可能是破壞性的。
系統互用性測試,可以驗證在一個多達64個節點和眾多不同廠商掃描儀的網路中設備的功能。
一致性測試軟體可直接從ODVA獲得。它是基於Windows的工具,運行在不同供應商的幾個PC-CAN介面上。廠商在進行正式的ODVA測試之前可以對其設備進行測試。至現在為止,硬體測試和系統互用性測試只能由3個獨立測試中心完成。
如果設備通過了測試,那麼可以說它已以是通過DeviceNet一致性測試,並加以標記。許多DeviceNet用戶現在都要求有該標識。通過一致性測試的設備在市場上會有顯著的優勢。