日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 技術(shù)學(xué)院 > 技術(shù)前線
[導(dǎo)讀]CAN 提供了所有的網(wǎng)絡(luò)管理服務(wù)和報文傳送協(xié)議,但并沒有定義對象的內(nèi)容或者正在通訊的對象的類 型(它只定義了 how,沒有定義 what),而這正是 CANopen 切入點。CANopen 的核心概念是設(shè)備對象字典(OD:Object Dictionary)。CANopen 通訊通過對象字典(OD)能夠訪問驅(qū)動器的所有參數(shù)。

can的數(shù)據(jù)幀結(jié)構(gòu):

canopen在can幀基礎(chǔ)上詳細(xì)分配了COB_ID和數(shù)據(jù)域的用法

通常我們所指 的幀ID就是COB_ID,COB_ID(11bits)=功能碼(4bits)+Node_ID(7bit),這個也在理論上說明了can最多可以有 127 個節(jié)點。不過,在實際應(yīng)用中,最大節(jié)點數(shù)量取決于所用 CAN 收發(fā)器的性能。

功能碼解釋:

剛接觸canopen時候?qū)δ艽a都不是很了解。簡單來說功能碼就是指明了每一個can幀的作用,是SDO還是PDO?是TPDO還是RPDO?,比如:

can幀ID SDO標(biāo)準(zhǔn)結(jié)構(gòu):

600h+Node_ID: 主站發(fā)往從站

580h+Node_ID: 從站回復(fù)主站

can幀ID PDO標(biāo)準(zhǔn)結(jié)構(gòu):

TPDO : 180h+Node_ID RPDO: 200h+Node_ID

280+Node_ID 300h+Node_ID

380+Node_ID 400h+Node_ID

480+Node_ID 500h+Node_ID

有了基本的SDO,PDO格式后,我們放上一張canopen對象字典結(jié)構(gòu)圖:

每個 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)者和消費者知道正在傳輸什么信。

一個 PDO 最多可以映射 4 個對象。

接下來我們在量詳細(xì)說明一下通用子協(xié)議 區(qū)域 是怎樣定義的:

通用子協(xié)議 區(qū)域在對象字典中的索引為1000-1FFFh。其中

1400-15FFh 設(shè)置RPDO 通訊參數(shù)

1600-17FFh 設(shè)置RPDO映射參數(shù)

1800-19FFh 設(shè)置TPDO通訊參數(shù)

1A00-1BFFh 設(shè)置TPDO映射參數(shù)

下面我們以表格的的形式更加直觀的說明一個PDO配置需要在哪些地方操作:

表格里面的額參數(shù)對應(yīng)請參考對象字典通用子協(xié)議 區(qū)域.

PDO 映射流程:

1、設(shè)置 PDO 對應(yīng)映射參數(shù)(1600 h 或 1601 h 或 1A00 h 或 1A01 h)子索引 0 的內(nèi)容為 0;

2、修改 PDO 對應(yīng)映射參數(shù)(1600 h 或 1601 h 或 1A00 h 或 1A01 h)子索引 1~4 的內(nèi)容,映射

數(shù)據(jù);

3、設(shè)置 PDO 對應(yīng)映射參數(shù)(1600 h 或 1601 h 或 1A00 h 或 1A01 h)子索引 0 的內(nèi)容為合法的

數(shù)字(該 PDO 映射的對象數(shù))。

4、 PDO 映射完成。

PDO 可以有多種傳送方式:

同步(通過接收 SYNC 對象實現(xiàn)同步)

周期:傳送在每 1 到 240 個 SYNC 消息后觸發(fā)

異步: 由設(shè)備子協(xié)議中規(guī)定的對象特定事件觸發(fā)傳送。

一個 PDO 可以指定一個禁止時間,即定義兩個連續(xù) PDO 傳輸?shù)淖钚¢g隔時間,避免由于高優(yōu)先級信

息的數(shù)據(jù)量太大,始終占據(jù)總線,而使其它優(yōu)先級較低的數(shù)據(jù)無力競爭總線的問題。禁止時間由 16 位無

符號整數(shù)定義 符號整數(shù)定義,單位 100us。

一個 PDO 可以指定一個事件定時周期,當(dāng)超過定時時間后,一個 PDO 傳輸可以被觸發(fā)(不需要觸發(fā)

位)。事件定時周期由 16 位無符號整數(shù)定義,單位 1ms。

接下來我們通過一個例子說明配置一個PDO的具體操作:

通過SDO配置1個 RPDO映射為 6040h,步驟如下:(假設(shè)我們的設(shè)備節(jié)點ID為10)

60A 2F 00 16 00 00 00 00 00 //RPDO1 stop

60A 23 00 16 01 10 00 40 60 //6040h,長度為16個字節(jié)

60A 2F 00 16 00 01 00 00 00 / / RPDO1 enable

設(shè)置 PDO 通訊參數(shù)

PDO1(發(fā)送)為異步周期性類型 ? transmission_type (1800 h:02 h)= FF h

60A 2F 0018 02 FF 00 00 00

禁止時間 2ms(20×100us) ? inhibit_time (1800 h:03 )=14h

60A 2F 00 18 03 14 00 00 00

周期時間 10ms(10×1ms) ? event_time (1800 h:05 h)= 0A h

60A 2F 00 18 05 0A 00 00 00

這樣我們就配置完成了一個PDO。

我們還需要為RPDO配置COB_ID映射,要不我們會不知道這一幀數(shù)據(jù)要發(fā)送給哪個節(jié)點使用:

60A 23 00 14 01 0A 02.。

PDO 配置完成后,如果要使配置的生效,需要復(fù)位通訊(Reset Communication)。NMT 管理:

00 82 0A //使節(jié)點號為 A 的驅(qū)動器通訊復(fù)位;

再啟動通訊

00 01 0A // //使能節(jié)點A

這樣我們就可以通過幀ID為20A的RPDO對電機6040(控制字)進行配置啦。比如使能電機:

601 2B 40 60 00 06 00 00 00 //設(shè)置 6040h 為 6

601 2B 40 60 00 07 00 00 00 //設(shè)置 6040h 為 7

601 2B 40 60 00 0F 00 00 00 //設(shè)置 6040h 為 F,使電機使能;

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉