求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

Canopen檢視原始碼討論檢視歷史

事實揭露 揭密真相
前往: 導覽搜尋
Canopen

CANopen是一種架構在控制局域網絡(Controller Area Network, CAN)上的高層通信協議,包括通信子協議及設備子協議,常在嵌入式系統中使用,也是工業控制常用到的一種現場總線。

簡介

CANopen是一種架構在控制局域網路(Controller Area Network, CAN)上的高層通訊協定,包括通訊子協定及設備子協定常在嵌入式系統中使用,也是工業控制常用到的一種現場總線。CANopen 實現了OSI模型中的網絡層以上(包括網絡層)的協定。CANopen 標準包括尋址方案、數個小的通訊子協定及由設備子協定所定義的應用層。 CANopen 支援網絡管理、設備監控及節點間的通訊,其中包括一個簡易的傳輸層,可處理資料的分段傳送及其組合。一般而言數據鏈結層及物理層會用CAN來實作。除了 CANopen 外,也有其他的通訊協定(如EtherCAT)實作 CANopen 的設備子協定。CANopen由非營利組織CiA(CAN in Automation)進行標準的起草及審核工作,基本的 CANopen 設備及通訊子協定定義在 CAN in Automation (CiA) draft standard 301中。針對個別設備的子協定以 CiA 301 為基礎再進行擴充。如針對 I/O 模組的 CiA401 及針對運動控制的 CiA402。

評價

通訊單元 處理和網絡上其他模組通訊所需要的通訊協定。 設備的啟動及重置由狀態機(state machine)控制。狀態機需包括以下的幾個狀態:Initialization, Pre-operational, Operational 及 Stopped。當接收到網絡管理 (NMT) 通訊對象,狀態機會轉換到對應的狀態。 對象字典 (Object Dictionary) 是一個有 16 位元索引 (Index) 的變量陣列。每個變量可以(但非必須)有 8 位元的子索引 (Subindex)。變量可用來調整設備的組態,也可以對應設備量測的資料或設備的輸出。 當狀態機設定為 operational 之後,設備的應用 (application) 部份就會實現設備預期的機能。此部份可以由對象字典中的變量調整其設定,而資料由通訊層傳送或接收。索引 (Index):對象 16 位元的位址。 對象名稱 (Object name):一個代表對象的 symbolic type,可以是陣列、紀錄或只是一個變量。 名稱 (Name):描述此 entry 的字串。 形態 (Type):變量的資料形態。 屬性 (Attribute):提供此 entry 是否可讀/可寫的資料,有下列四種:可讀/寫、只讀、唯寫、只讀常數。 必須 (Mandatory)/可選 (Optional)字段定義屬於特定設備規範下的設備,是否必須實現某些對象。 在 CANopen 標準中定義了對象字典中的基本資料型態,包括邏輯值、整數及浮點數。也定義了複合對象:如陣列、記錄及字串。複合對象用一個 8 位元的數值作為其子索引(subindex)。記錄或陣列中子索引 0 的位置記錄此數據結構的元素個數,資料型態為 UNSIGNED8。 [1]

參考文獻

  1. Canopen搜狗