歷史
DeviceNet通訊協定是由美國的Allen-Bradley公司(後來被洛克威爾自動化公司合併)所開發,以Bosch公司開發的控制器區域網路(CAN)為其通訊協定的基礎。DeviceNet移植了來自ControlNet(另一個由Allen-Bradley公司開發的通訊協定)的技術,再配合控制器區域網路的使用,因此其成本較傳統以RS-485為基礎的通訊協定要低,但又可以有較好的強健性。
為了要推展DeviceNet在世界各地的使用,洛克威爾公司決定將此技術分享給其他廠商。後來DeviceNet通訊協定是由位在美國的獨立組織開放DeviceNet廠商協會(ODVA)管理。ODVA維護DeviceNet的規格、也提供一致化測試),確保廠商的產品符合DeviceNet通訊協定的規格。
後來ODVA將DeviceNet通訊和其他相關的通訊協定整合成通用工業協定(CIP),其中包括以下的通訊協定
•EtherNet/IP(其N為大寫,此處的IP不是網際協定,為“Industrial Protocol”的簡稱)
•ControlNet
•DeviceNet
•CompoNet
技術簡介
定義OSI模型七層架構中的物理層、數據鏈路層及套用層
網路中除了信號外,也包括電源,支援網路自供電機能(一般用在小型的設備中,如光電監測器、限位開關或近接開關等)
允許三種比特率:125 kbit/s、250 kbit/s及500 kbit/s,不同比特率下的主幹線(trunk)長度和比特率成反比
網路中可以使用扁平電纜
單一網路中最多可以有64個節點,節點地址(在DeviceNet中稱為MAC ID)由0到63
有重複節點地址偵測的功能
支援主站-從站(master-slave)及端對端(peer-to-peer)通訊架構,不過大部分的設備是在前者的網路架構下運作
允許單一網路中多重主站的功能
可以在高噪聲的環境下使用
1.定義OSI模型七層架構中的物理層、數據鏈路層及套用層
2.網路中除了信號外,也包括電源,支援網路自供電機能(一般用在小型的設備中,如光電監測器、限位開關或近接開關等)
3.允許三種比特率:125 kbit/s、250 kbit/s及500 kbit/s,不同比特率下的主幹線(trunk)長度和比特率成反比
4.網路中可以使用扁平電纜
5.單一網路中最多可以有64個節點,節點地址(在DeviceNet中稱為MAC ID)由0到63
6.有重複節點地址偵測的功能
7.支援主站-從站(master-slave)及端對端(peer-to-peer)通訊架構,不過大部分的設備是在前者的網路架構下運作
8.允許單一網路中多重主站的功能
9.可以在高噪聲的環境下使用
架構
物理層
DeviceNet網路使用幹線(trunkline)-分支線(dropline)的網路拓撲,允許在網路中使用分接頭,一方面簡化配線及存取網路。而且要從網路中加入或移除設備都相當簡單,減少生產線停機及除錯的時間,提高網路的靈活性。
DeviceNet提供125 kbit/s、250 kbit/s及500 kbit/s三種不同的資料傳輸速度。依使用的通訊線種類不同,DeviceNet允許的通訊線長度也有所不同,若使用圓的粗電纜,通訊線長度最長可以到500米,一般的圓電纜長度可以到100米,扁平型的電纜在比特率125 kbit/s時可以到380米,500 kbit/s時則只能到75米。
數據鏈路層
DeviceNet使用控制器區域網路(CAN)為其數據鏈路層。CAN是一種差動的串列匯流排,其低成本及高干擾性為其優點。CAN的每一個訊息都有其對應的訊息標識符,訊息標識符可用來決定不同訊息的優先權,網路上的設備也根據訊息標識符來判斷是否需處理此一訊息。DeviceNet使用訊息標識符為11位元的CAN 2.0A,CAN資料幀的格式如下
1 Bit = >幀啟始位元
11 Bits = >訊息標識符(ID)
1 Bit = >遠程需求(RTR)位元
6 Bits = >控制欄位
0-8 Bytes = >資料欄位
15 Bits = > CRC序列
1 Bit = > CRC分隔位元
1 Bit = >確認(ACK)位元
1 Bit = >確認分隔位元
7 Bits = >幀結束
>2 Bits = >幀間隔
在送出資訊幀時會先送出幀啟始位元進行同步,訊息標識符及遠程需求位元會用來決定訊息的優先權,CAN使用CSMA的技術,在網路空閒時,任何設備都可以試圖送出資料上傳,在送出資料時,設備也會同步確認網路上資料和送出資料是否一致,此作法可以避免多台設備同時試圖送出資料,也可以驗證送出資料的正確性。在二台或多台設備同時試圖送出資料時,會利用訊息標識符及遠程需求位元進行位元仲裁(Bitwise Arbitration),上述資料最小的訊息有優先權,可以繼續傳送,其他設備則會停止送出訊息,其到網路空閒時才會再次送出資料。
後面的六個位元為控制欄位,其中二個位元固定,後面四個位元標示實際資料的長度。資料欄位中則為實際的資料,長度可以由0到8個個位元組不等,需和控制欄位中標示的長度一致。在資料欄位後面的是15個位元循環冗餘校驗(CRC)欄位,可以在收到資料時確認資料是否正確。CAN提供了許多錯誤檢查及故障隔離(fault confinement)的機制,適合噪聲較大的環境下使用。
套用層
DeviceNet是一個以連線(connection)概念為基礎的通訊協定,若要與一設備通訊,就需要和設備建立連線,可以透過未連線訊息管理器(UCMM)和未連線埠來建立連線,之後就可以和此設備進行通訊。設備藉由連線可以傳送或接收顯式(Explicit)訊息及I/O訊息。
顯式訊息的資料包括有資料及協定內容,一般會用請求/應答的方式進行。典型的顯式訊息包括組態資料及對沒有及時性要求的資料。I/O訊息也稱為隱式(imlicit)訊息,一般都是有及時性要求的資料,資料中不包含通訊協定,因此傳送端及接收端都需事先知道訊息中資料的定義,其優點是通訊的效率較高。在DeviceNet中,二個設備要建立隱式訊息連線之前,需要先透及用顯式訊息進行設定,只要連結設定完成,即可透過CAN識別符將訊息傳送給對應的節點。
一致性測試
DeviceNet設備的製造商可透過一致性測試,宣告其產品和DevicNet規範相容。ODVA在全球有三個獨立的測試實驗室,製造商可將其產品送交進行認證。
廠商在進行一致性測試前,需向ODVA進行註冊供應商,索取供應商ID,再購買DeviceNet規範及一致性測試的軟體及對應的硬體界面卡。廠商可以自行測試其DeviceNet產品,在自行測試完成後提交ODVA的測試實驗室再作驗證。若驗證未通過,廠商需再進行修改及測試,直到通過測試實驗室的獨立驗證為止。
參見
•控制器區域網路(CAN)
•CANopen:另一種以CAN為基礎的工業通訊協定
•通用工業協定
•EtherNet/IP
•ControlNet