DeviceNet
DeviceNet是一種用在自動化技術的現場總線標準,由美國的Allen-Bradley公司在1994年開發。DeviceNet使用控制器區域網絡(CAN)為其底層的通訊協定,其應用層有針對不同設備所定義的行規(profile)。主要的應用包括資訊交換、安全設備及大型控制系統[1][2]。在美國的市場佔有率較高[3]。
DeviceNet | |
---|---|
管理機構 | 開放DeviceNet廠商協會(ODVA) |
通訊協定資料 | |
網絡種類 | 設備網絡、程序控制 |
DeviceNet由開放DeviceNet廠商協會(Open DeviceNet Vendors Association,ODVA)所維護,是該協會的通用工業協定(Common Industrial Protocol)中的一部份。
歷史
編輯DeviceNet通訊協定是由美國的Allen-Bradley公司(後來被洛克威爾自動化公司合併)所開發,以Bosch公司開發的控制器區域網絡(CAN)為其通訊協定的基礎[4]。DeviceNet移植了來自ControlNet(另一個由Allen-Bradley公司開發的通訊協定)的技術,再配合控制器區域網絡的使用,因此其成本較傳統以RS-485為基礎的通訊協定要低,但又可以有較好的強健性。
為了要推展DeviceNet在世界各地的使用,洛克威爾公司決定將此技術分享給其他廠商。後來DeviceNet通訊協定是由位在美國的獨立組織開放DeviceNet廠商協會(ODVA)管理。ODVA維護DeviceNet的規格、也提供一致化測試),確保廠商的產品符合DeviceNet通訊協定的規格。[4]
後來ODVA將DeviceNet通訊和其他相關的通訊協定整合成通用工業協定(CIP),其中包括以下的通訊協定
- EtherNet/IP(其N為大寫,此處的IP不是網際協議,為「Industrial Protocol」的簡稱)
- ControlNet
- DeviceNet
- CompoNet
技術簡介
編輯- 定義OSI模型七層架構中的物理層、數據鏈路層及應用層
- 網絡中除了信號外,也包括電源,支援網絡自供電機能(一般用在小型的設備中,如光電監測器、限位開關或近接開關等)[2]
- 允許三種比特率:125 kbit/s、250 kbit/s及500 kbit/s,不同比特率下的主幹線(trunk)長度和比特率成反比
- 網絡中可以使用扁平電纜
- 單一網絡中最多可以有64個節點,節點地址(在DeviceNet中稱為MAC ID)由0到63
- 有重複節點地址偵測的功能
- 支援主站-從站(master-slave)及端對端(peer-to-peer)通訊架構,不過大部份的設備是在前者的網絡架構下運作
- 允許單一網絡中多重主站的功能
- 可以在高雜訊的環境下使用
架構
編輯物理層
編輯DeviceNet網絡使用幹線(trunkline)-分支線(dropline)的網絡拓撲,允許在網絡中使用分接頭,一方面簡化配線及存取網絡。而且要從網絡中加入或移除設備都相當簡單,減少生產線停機及除錯的時間,提高網絡的靈活性。[5]
DeviceNet提供125 kbit/s、250 kbit/s及500 kbit/s三種不同的資料傳輸速度。依使用的通訊線種類不同,DeviceNet允許的通訊線長度也有所不同,若使用圓的粗電纜,通訊線長度最長可以到500公尺,一般的圓電纜長度可以到100公尺,扁平型的電纜在比特率125 kbit/s時可以到380公尺,500 kbit/s時則只能到75公尺。
數據鏈路層
編輯DeviceNet使用控制器區域網絡(CAN)為其數據鏈路層。CAN是一種差動的串列總線,其低成本及高幹擾性為其優點[3]。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)概念為基礎的通訊協定[6],若要與一設備通訊,就需要和設備建立連接,可以透過未連接訊息管理器(UCMM)和未連接埠來建立連接,之後就可以和此設備進行通訊。設備藉由連接可以傳送或接收顯式(Explicit)訊息及I/O訊息。
顯式訊息的資料包括有資料及協議內容,一般會用請求/應答的方式進行。典型的顯式訊息包括組態資料及對沒有及時性要求的資料。I/O訊息也稱為隱式(imlicit)訊息,一般都是有及時性要求的資料,資料中不包含通訊協議,因此傳送端及接收端都需事先知道訊息中資料的定義,其優點是通訊的效率較高。在DeviceNet中,二個設備要建立隱式訊息連接之前,需要先透及用顯式訊息進行設定,只要連結設定完成,即可透過CAN識別符將訊息傳送給對應的節點。
一致性測試
編輯DeviceNet設備的製造商可透過一致性測試,宣告其產品和DevicNet規範相容。ODVA在全球有三個獨立的測試實驗室,製造商可將其產品送交進行認證。[7]
廠商在進行一致性測試前,需向ODVA進行註冊供應商,索取供應商ID,再購買DeviceNet規範及一致性測試的軟件及對應的硬件界面卡。廠商可以自行測試其DeviceNet產品,在自行測試完成後提交ODVA的測試實驗室再作驗證。若驗證未通過,廠商需再進行修改及測試,直到通過測試實驗室的獨立驗證為止。
參見
編輯外部連結
編輯- DeviceNet通訊協定簡介(頁面存檔備份,存於互聯網檔案館)(英文)
- DeviceNet技術及其產品開發(頁面存檔備份,存於互聯網檔案館)
參考資料
編輯- ^ 存档副本. [2011-03-22]. (原始內容存檔於2008-07-02). Controller Area Network Solutions FAQ (Frequently Asked Questions).
- ^ 2.0 2.1 [1] (頁面存檔備份,存於互聯網檔案館), DeviceNet Technology Overview.
- ^ 3.0 3.1 存档副本. [2011-03-30]. (原始內容存檔於2011-01-22). CAN協議及其高層協議DeviceNet和CANopen的比較
- ^ 4.0 4.1 存档副本. [2011-03-22]. (原始內容存檔於2008-07-02). Controller Area Network Solutions FAQ (Frequently Asked Questions)], What is DeviceNet?
- ^ "DeviceNet Technical Overview" (頁面存檔備份,存於互聯網檔案館) from Open DeviceNet Vendor Association, Inc.(ODVA)
- ^ 張戟、程旻、謝劍英. 《基於現場總線DeviceNet的智能設備開發指南》. 西安電子科技大學出版社. 2004. ISBN 7-5606-1388-8.
- ^ 李正軍. 《現場總線及其應用技術》. 機械工業出版社. 2005: p482. ISBN 7-111-15510-6.