1.對象字典OD
對象字典是每個CANopen設(shè)備必須具有的功能,它包含了設(shè)備所有可以被訪問的參數(shù),客戶端使用索引(Index)和子索引(Sub-index)來讀寫對象字典里的參數(shù)。
對象字典主要用來設(shè)定設(shè)備組態(tài)及進(jìn)行非即時的通訊。每個對象采用16位索引的方式來尋址,為了尋訪數(shù)據(jù)結(jié)構(gòu)中的單個元素,又定義了8位的子索引。同時對象字典也對數(shù)據(jù)類型做出了定義。
索引(hex) | 對象 |
0000 | 保留 |
0001-001F | 基本數(shù)據(jù)類型 |
0020-003F | 復(fù)雜數(shù)據(jù)類型 |
0040-005F | 制造商規(guī)定的數(shù)據(jù)類型 |
0060-007F | 設(shè)備子協(xié)議的基本數(shù)據(jù)類型 |
0080-009F | 設(shè)備子協(xié)議的復(fù)雜數(shù)據(jù)類型 |
00A0-0FFF | 保留 |
1000-1FFF | 通信子協(xié)議區(qū)域 |
2000-5FFF | 制造商特定子協(xié)議區(qū)域 |
6000-9FFF | 標(biāo)準(zhǔn)設(shè)備子協(xié)議區(qū)域 |
A000-BFFF | 標(biāo)準(zhǔn)接口子協(xié)議區(qū)域 |
C000-FFFF | 保留 |
CANopen網(wǎng)絡(luò)中每個節(jié)點(diǎn)都有一個對象字典。對象字典包含了描述這個設(shè)備和它的網(wǎng)絡(luò)行為的所有參數(shù)。一個節(jié)點(diǎn)的對象字典是在電子數(shù)據(jù)文檔(EDS:Electronic Data Sheet)中描述或者記錄在紙上。節(jié)點(diǎn)本身只需要能夠提供對象字典中必需的對象,以及其它可選擇的、構(gòu)成節(jié)點(diǎn)部分可配置功能的對象。
2.CANopen通訊
CANopen 的物理層 CANbus 每次傳送的數(shù)據(jù)量不大,其中包括 11 位元的 ID、遠(yuǎn)端傳輸請求(RTR)位元及大小不超過8字節(jié)的數(shù)據(jù)。CANopen 將 CANbus 的 11 位元 ID 稱為通訊對象 ID (COB-ID)。當(dāng)傳輸數(shù)據(jù)發(fā)生沖突時,CANbus 的仲裁機(jī)制會使 COB-ID 最小的訊息繼續(xù)傳送,不用等待或重傳。不同通訊對象對8字節(jié)數(shù)據(jù)的使用及各字節(jié)代表的意義不同。
不同通訊對象對8字節(jié)數(shù)據(jù)的使用及各字節(jié)代表的意義不同,以下是一個標(biāo)準(zhǔn)的 CANopen頁框:
功能碼 | 節(jié)點(diǎn)ID | RTR | 數(shù)據(jù)長度 | 數(shù)據(jù) | |
長度 | 4位元 | 7位元 | 1位元 | 4位元 | 0-8位字節(jié) |
CANopen通訊模型主要定義3種通訊協(xié)議,分別為NMT協(xié)定,服務(wù)數(shù)據(jù)對象SDO協(xié)定,過程數(shù)據(jù)對象PDO協(xié)定。
NMT協(xié)定
網(wǎng)絡(luò)管理訊息NM遵循了主站/從站的架構(gòu)進(jìn)行NMT通訊。在這架構(gòu)之下只有一個主站,而此主站可以搭配多個從站。所有的CANopen節(jié)點(diǎn)都有自己專屬的NMT狀態(tài),而主站可以藉由NMT的訊息去控制從站的狀態(tài)。
NMT通訊數(shù)據(jù)主要用于對CANopen網(wǎng)絡(luò)的管理,NMT在數(shù)據(jù)字節(jié)中只使用了兩字節(jié),如圖:
功能碼 | 節(jié)點(diǎn)ID | RTR | 數(shù)據(jù)長度 | 標(biāo)識符 | 字節(jié)0 | 字節(jié)1 | |
長度 | 4位元 | 7位元 | 1位元 | 4位元 | 0x000 | 命令字 | 從節(jié)點(diǎn)ID |
服務(wù)數(shù)據(jù)對象SDO
服務(wù)數(shù)據(jù)對象SDO用來讀寫CANopen設(shè)備的對象字典。提供對象字典的節(jié)點(diǎn)稱為SDO server,存取對象字典的節(jié)點(diǎn)稱為SDO client。SDO 通訊一定由SDO client 開始,并提供初始化相關(guān)的參數(shù)。
在CANopen的術(shù)語中,上傳是指由 SDO server 中讀取數(shù)據(jù),而下載是指設(shè)定 SDO server 的數(shù)據(jù)。
SDO通訊數(shù)據(jù)主要用于非時間關(guān)鍵數(shù)據(jù),比如通訊參數(shù)。SDO在數(shù)據(jù)字節(jié)的使用:
功能碼 | 節(jié)點(diǎn)ID | RTR | 數(shù)據(jù)長度 | 字節(jié)0 | 字節(jié)1 | 字節(jié)2 | 字節(jié)3-7 | |
長度 | 4位元 | 7位元 | 1位元 | 4位元 | SDO命令 | 索引 | 子索引 | 數(shù)據(jù) |
過程數(shù)據(jù)對象PDO
PDO用于傳輸實(shí)時數(shù)據(jù),從一個生產(chǎn)者到一個或多個消費(fèi)者。可用來在許多節(jié)點(diǎn)之間交換即時的數(shù)據(jù)。
PDO分為兩種:傳送用的TPDO及接收用的RPDO。一個節(jié)點(diǎn)的TPDO是將資料由此節(jié)點(diǎn)傳輸?shù)狡渌?jié)點(diǎn),而RPDO則是接收由其他節(jié)點(diǎn)傳輸?shù)馁Y料。本產(chǎn)品一個節(jié)點(diǎn)分別有4個TPDO及4個RPDO。
每個 PDO 在對象字典中由兩個對象描述:通信參數(shù)和映射參數(shù)。PDO 通信參數(shù)指明使用哪個 COB-ID,傳輸類型,禁用時間和定時時間;PDO 映射參數(shù)用于設(shè)定 PDO報文中的數(shù)據(jù)的映射關(guān)系,確定要傳輸?shù)臄?shù)據(jù)在 CAN 報文數(shù)據(jù)域中的定位。該參數(shù)允許 PDO 的生產(chǎn)者和消費(fèi)者知道正在傳輸什么信息,而不需要在 CAN 報文中增加額外的協(xié)議控制信息,使傳輸?shù)男蔬_(dá)到最高。一個 PDO 最多可以映射 64 個對象。

PDO在數(shù)據(jù)字節(jié)的使用:
功能碼 | 節(jié)點(diǎn)ID | RTR | 數(shù)據(jù)長度 | 數(shù)據(jù) | |
長度 | 4位元 | 7位元 | 1位元 | 4位元 | 過程數(shù)據(jù)對象(PDO)的8個字節(jié)全部用來傳輸實(shí)時數(shù)據(jù)。 |
審核編輯:湯梓紅
-
通訊
+關(guān)注
關(guān)注
9文章
927瀏覽量
35549 -
CANopen
+關(guān)注
關(guān)注
8文章
376瀏覽量
44597 -
IO模塊
+關(guān)注
關(guān)注
0文章
160瀏覽量
13425
發(fā)布評論請先 登錄
新升級!功能更強(qiáng)大的串口I/O聯(lián)網(wǎng)模塊,ASK/OOK超外差無線射頻模塊

無線遠(yuǎn)程模塊:工業(yè)/農(nóng)業(yè)/物流的“遠(yuǎn)程遙控”已就位

I/O接口與I/O端口的區(qū)別
E系列I/O模塊在光伏制絨設(shè)備的應(yīng)用

使用智能高邊開關(guān)優(yōu)化數(shù)字I/O模塊的電源

保護(hù)I/O模塊免受浪涌事件的影響

遠(yuǎn)程I/O模塊在不同領(lǐng)域的應(yīng)用
I/O模塊的主要作用有哪些
魏德米勒u-remote遠(yuǎn)程I/O系統(tǒng)全新升級
IOy系列帶Modbus轉(zhuǎn)IEC104協(xié)議DI、DO、AI、AO、RTD、TC的遠(yuǎn)程模塊

Profinet遠(yuǎn)程IO模塊:單通道PNP和NPN編碼器模塊功能和安裝方法

評論