1.對象字典OD
對象字典是每個(gè)CANopen設(shè)備必須具有的功能,它包含了設(shè)備所有可以被訪問的參數(shù),客戶端使用索引(Index)和子索引(Sub-index)來讀寫對象字典里的參數(shù)。
對象字典主要用來設(shè)定設(shè)備組態(tài)及進(jìn)行非即時(shí)的通訊。每個(gè)對象采用16位索引的方式來尋址,為了尋訪數(shù)據(jù)結(jié)構(gòu)中的單個(gè)元素,又定義了8位的子索引。同時(shí)對象字典也對數(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ò)中每個(gè)節(jié)點(diǎn)都有一個(gè)對象字典。對象字典包含了描述這個(gè)設(shè)備和它的網(wǎng)絡(luò)行為的所有參數(shù)。一個(gè)節(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ā)生沖突時(shí),CANbus 的仲裁機(jī)制會使 COB-ID 最小的訊息繼續(xù)傳送,不用等待或重傳。不同通訊對象對8字節(jié)數(shù)據(jù)的使用及各字節(jié)代表的意義不同。
不同通訊對象對8字節(jié)數(shù)據(jù)的使用及各字節(jié)代表的意義不同,以下是一個(gè)標(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)之下只有一個(gè)主站,而此主站可以搭配多個(gè)從站。所有的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ù)主要用于非時(shí)間關(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í)數(shù)據(jù),從一個(gè)生產(chǎn)者到一個(gè)或多個(gè)消費(fèi)者。可用來在許多節(jié)點(diǎn)之間交換即時(shí)的數(shù)據(jù)。
PDO分為兩種:傳送用的TPDO及接收用的RPDO。一個(gè)節(jié)點(diǎn)的TPDO是將資料由此節(jié)點(diǎn)傳輸?shù)狡渌?jié)點(diǎn),而RPDO則是接收由其他節(jié)點(diǎn)傳輸?shù)馁Y料。本產(chǎn)品一個(gè)節(jié)點(diǎn)分別有4個(gè)TPDO及4個(gè)RPDO。
每個(gè) PDO 在對象字典中由兩個(gè)對象描述:通信參數(shù)和映射參數(shù)。PDO 通信參數(shù)指明使用哪個(gè) COB-ID,傳輸類型,禁用時(shí)間和定時(shí)時(shí)間;PDO 映射參數(shù)用于設(shè)定 PDO報(bào)文中的數(shù)據(jù)的映射關(guān)系,確定要傳輸?shù)臄?shù)據(jù)在 CAN 報(bào)文數(shù)據(jù)域中的定位。該參數(shù)允許 PDO 的生產(chǎn)者和消費(fèi)者知道正在傳輸什么信息,而不需要在 CAN 報(bào)文中增加額外的協(xié)議控制信息,使傳輸?shù)男蔬_(dá)到最高。一個(gè) PDO 最多可以映射 64 個(gè)對象。

PDO在數(shù)據(jù)字節(jié)的使用:
| 功能碼 | 節(jié)點(diǎn)ID | RTR | 數(shù)據(jù)長度 | 數(shù)據(jù) | |
| 長度 | 4位元 | 7位元 | 1位元 | 4位元 | 過程數(shù)據(jù)對象(PDO)的8個(gè)字節(jié)全部用來傳輸實(shí)時(shí)數(shù)據(jù)。 |
審核編輯:湯梓紅
-
通訊
+關(guān)注
關(guān)注
9文章
949瀏覽量
36545 -
CANopen
+關(guān)注
關(guān)注
8文章
492瀏覽量
49138 -
IO模塊
+關(guān)注
關(guān)注
0文章
177瀏覽量
14457
發(fā)布評論請先 登錄
一篇文章讀懂工業(yè)“橋梁”:PLC網(wǎng)絡(luò)通訊模塊詳解
PCF8574A:I2C總線8位遠(yuǎn)程I/O擴(kuò)展器的深度解析
PCA9557:遠(yuǎn)程8位I2C和SMBus低功耗I/O擴(kuò)展器的深度解析
PCA9554A:遠(yuǎn)程 8 位 $I^{2}C$ 和 SMBus I/O 擴(kuò)展器的深度解析
淺談光學(xué)I/O模塊的熱挑戰(zhàn)
ZLG致遠(yuǎn)電子C系列遠(yuǎn)程IO模塊,支持多種主流工業(yè)通訊協(xié)議,是您I/O擴(kuò)展的極致性價(jià)比之選。
TCA9537遠(yuǎn)程4位I2C/SMBus I/O擴(kuò)展器技術(shù)解析與應(yīng)用指南
施耐德電氣推出Quantum I/O to X80快速連接方案
開疆智能ModbusTCP轉(zhuǎn)Devicenet網(wǎng)關(guān)連接遠(yuǎn)程I/O配置案例
新升級!功能更強(qiáng)大的串口I/O聯(lián)網(wǎng)模塊,ASK/OOK超外差無線射頻模塊
無線遠(yuǎn)程模塊:工業(yè)/農(nóng)業(yè)/物流的“遠(yuǎn)程遙控”已就位
工業(yè)遠(yuǎn)程I/O模塊 CANopen通訊
評論