1寫在前面
上一章節(jié)提供的例程是標(biāo)準(zhǔn)、數(shù)據(jù)幀格式的傳輸例程,結(jié)合前面理論知識,相信你根據(jù)參考例程可以實現(xiàn)遠程幀及其他類型的數(shù)據(jù)傳輸。
前面教程講述內(nèi)容為CAN總線協(xié)議,屬于底層硬件相關(guān)的一些內(nèi)容。從本文開始,將正式講述CANOpen協(xié)議。
CANOpen協(xié)議是基于CAN總線的上一層軟件協(xié)議。該教程前面內(nèi)容是建立底層通信,只有在底層通信成功基礎(chǔ)上,才能實現(xiàn)上一層的通信協(xié)議。
提示:CANOpen協(xié)議內(nèi)容很多,有許多內(nèi)容都是一些抽象的概念。所以,有一些內(nèi)容相對較難理解,隨著慢慢深入即可消除那些疑慮。
2
CANopen協(xié)議總述
CANopen 是一個基于 CAN 串行總線的網(wǎng)絡(luò)傳輸系統(tǒng)的應(yīng)用層協(xié)議,遵循 ISO/OSI 標(biāo)準(zhǔn)模型。
網(wǎng)絡(luò)中不同的設(shè)備通過對象字典或者對象來相互交換數(shù)據(jù),其中,主節(jié)點可以通過過程數(shù)據(jù)對象 (PDO) 或者服務(wù)數(shù)據(jù)對象 (SDO) 來獲取或者修改其它節(jié)點對象字典列表中的數(shù)據(jù)。
CANOpen協(xié)議主要內(nèi)容分為三大塊,如下圖CANopen 的設(shè)備模型。
CANOpen協(xié)議從大方向的劃分,就如上圖所示三大塊。但是,這三大塊里面的內(nèi)容就牽涉到許多......
初學(xué)者可以以上圖模型為中心,再結(jié)合實際例程理解CANOpen協(xié)議的各種抽象概念。
下面章節(jié)將進一步講述模型中三大塊內(nèi)容的一些概念,初學(xué)者能理解盡量理解,不能理解可以先做了解即可。
3
通信對象
CANopen協(xié)議中常用的通信對象包含如下幾點:
1) 網(wǎng)絡(luò)管理對象(NMT)
網(wǎng)絡(luò)管理對象包括 Boot-up 消息, Heartbeat 協(xié)議及 NMT 消息,基于主從通信模式, NMT 用于管理和監(jiān)控網(wǎng)絡(luò)中的各個節(jié)點,主要實現(xiàn)三種功能:節(jié)點狀態(tài)控制、錯誤控制和節(jié)點啟動。
2) 服務(wù)數(shù)據(jù)對象 (SDO)
包括接收 SDO(R-SDO) 和發(fā)送 SDO(T-SDO)。
通過使用索引和子索引, SDO 使客戶機能夠訪問設(shè)備對象字典中的項。
SDO 通過 CAL 中多元域的 CMS 對象來實現(xiàn),允許傳送任何長度的數(shù)據(jù),當(dāng)數(shù)據(jù)超過 4 個字節(jié)時分拆成幾個報文。
協(xié)議是確認(rèn)服務(wù)類型,為每個消息生成一個應(yīng)答。 SDO 請求和應(yīng)答報文總是包含 8 個字節(jié)。
3) 過程數(shù)據(jù)對象(PDO)
包括接收 PDO(RPDO) 和發(fā)送 PDO(TPDO)。
用來傳輸實時數(shù)據(jù),數(shù)據(jù)從一個創(chuàng)建者傳到一個或多個接收者。數(shù)據(jù)傳送限制在 1 到 8 個字節(jié)。
每個 CANopen 設(shè)備包含 8 個缺省的 PDO 通道, 4 個發(fā)送 PDO 通道和 4 個接收 PDO 通道。
PDO 包含同步和異步兩種傳輸方式,由該 PDO 對應(yīng)的通信參數(shù)決定。
PDO 消息的內(nèi)容是預(yù)定義的,由該 PDO 對應(yīng)的映射參數(shù)決定。
4) 同步對象 (SYNC)
同步對象是由 CANopen 主站周期性地廣播到 CAN 總線的報文,用來實現(xiàn)基本的網(wǎng)絡(luò)時鐘信號,每個設(shè)備可以根據(jù)自己的配置,決定是否使用該事件來跟其它網(wǎng)絡(luò)設(shè)備進行同步通信。
5) 緊急報文 (EMCY)
設(shè)備內(nèi)部通信故障或者應(yīng)用故障錯誤時發(fā)送的報文。
4
對象字典
對象字典是設(shè)備規(guī)范中最重要的部分。它是一組參數(shù)和變量的有序集合,包含了設(shè)備描述及設(shè)備網(wǎng)絡(luò)狀態(tài)的所有參數(shù)。
通過網(wǎng)絡(luò)可以采用有序的預(yù)定義的方式來訪問的一組對象。這里就牽涉到定義對象字典的生成問題,后面我會講述關(guān)于對象字典生成工具相關(guān)內(nèi)容。
CANopen 協(xié)議采用了帶有 16 位索引和 8 位子索引的對象字典。你可以理解為一本漢語字典,我們需要查找里面的某個漢子(可以理解定義的某個數(shù)據(jù)),我們就會從拼音或筆畫(索引)進去找到對應(yīng)位置。
CANOpen 協(xié)議對象字典主索引如下圖,這只是一個主要的索引。其實還能細分下去,這里不過多講述,后續(xù)會進一步講述。
5
應(yīng)用
應(yīng)用這一塊的內(nèi)容包含應(yīng)用程序、設(shè)備子協(xié)議實現(xiàn)??梢詮腃ANopen 的設(shè)備模型明白,對外就是IO接口,也就是供我們調(diào)用的接口。
應(yīng)用這一塊包含CANOpen協(xié)議上層的內(nèi)容,可以簡單理解封裝的一些供用戶讀寫操作的函數(shù)。
應(yīng)用這一塊內(nèi)容在后面結(jié)合實例分析會牽涉,初學(xué)者可以簡單了解有這么一塊,且知道這一塊在CANOpen協(xié)議中大致的作用即可。
-
CAN
+關(guān)注
關(guān)注
57文章
2920瀏覽量
467808 -
CANopen
+關(guān)注
關(guān)注
8文章
406瀏覽量
44895 -
NMT
+關(guān)注
關(guān)注
0文章
7瀏覽量
3743
發(fā)布評論請先 登錄
CANopen轉(zhuǎn)EtherCAT協(xié)議轉(zhuǎn)換案例解析


協(xié)議大和解:ETHERCAT轉(zhuǎn)CANopen網(wǎng)關(guān)配置


疆鴻智能EtherCAT轉(zhuǎn)CANopen協(xié)議網(wǎng)關(guān)詳解#工業(yè)自動化 #協(xié)議網(wǎng)關(guān) #工業(yè)網(wǎng)關(guān)
EtherCAT轉(zhuǎn)CANopen協(xié)議網(wǎng)關(guān)應(yīng)用詳解

使用ES32實現(xiàn)CANopen從機

EtherCAT轉(zhuǎn)CANopen配置CANopen側(cè)的PDO映射

CANOPEN協(xié)議詳細介紹
2025必備知識,CANopen轉(zhuǎn)EtherCAT協(xié)議允許配備啥協(xié)議的電氣設(shè)備

CANopen協(xié)議架構(gòu)和應(yīng)用原理
MODBUS TCP 轉(zhuǎn) CANOpen

DeviceNet轉(zhuǎn)CANopen協(xié)議網(wǎng)關(guān)(DeviceNet轉(zhuǎn)CANopen)

EtherNet/IP轉(zhuǎn)CANopen主站協(xié)議轉(zhuǎn)換網(wǎng)關(guān)

EtherCAT從站轉(zhuǎn)CANopen主站協(xié)議網(wǎng)關(guān)(JM-ECT-COP)

Profinet轉(zhuǎn)CANopen協(xié)議轉(zhuǎn)化網(wǎng)關(guān)

評論