色猫咪av在线网址_91精品国产福利在线观看雪梨还会玩转热点_丁香花的视频免费观看_国产手机在线A∨免费视频_十八禁av无码免费网站APP_综合色一区二区亚洲_日韩精品小电影_漂亮人妻熟睡中被公侵犯_全新成人高清无码片_高级厕所偷窥白领美女嘘嘘

當前位置: 首頁 >應(yīng)用方案 >技術(shù)應(yīng)用 >

CANopen總線使用指南

CANopen總線是一種架構(gòu)在控制局域網(wǎng)絡(luò)(CAN總線)上的高層通信協(xié)議,包括通信子協(xié)議及設(shè)備子協(xié)議,常在嵌入式系統(tǒng)中使用,也是工業(yè)控制常用到的一種工業(yè)現(xiàn)場總線。前文我們好了CANOPEN協(xié)議詳解,本文我們重點介紹CANopen總線協(xié)議使用指南。


CANopen協(xié)議通訊


CANopen總線有兩種通訊方式:SDOPDO。SDO通常由主站發(fā)送用于讀取從站信息或配置從站PDO運行方式,從站接收到消息后需要應(yīng)答,如下圖所示。

1  CANopen總線協(xié)議使用指南


PDO為生成者消費者模式,消息發(fā)出后不需要等待回復(fù),一條消息可以有多個消費者。從站進入操作模式后會按照配置的通訊參數(shù)周期發(fā)送PDO消息或事件觸發(fā)發(fā)送PDO。如果配置了SYNC功能,收到指定個數(shù)的同步幀后發(fā)送PDO。當然主站也可發(fā)送PDO消息。如下圖所示。

2  CANopen總線協(xié)議使用指南

撥動canopen總線無線IO設(shè)備的撥碼開關(guān),將節(jié)點號設(shè)置為2,波特率設(shè)置為10k。如下圖所示。

3  CANopen總線協(xié)議使用指南

設(shè)備上電后會向主站先后發(fā)送兩條幀ID0x700+NOD_ID,數(shù)據(jù)為00(設(shè)備處于初始化狀態(tài))和7F(設(shè)備處于預(yù)操作狀態(tài))的消息,如下圖所示。

4  CANopen總線協(xié)議使用指南

此時設(shè)備處于預(yù)操作狀態(tài),在ECanTools工具選擇canopen選項,點擊添加從站ID2。選擇NMT功能選項,選擇“start remoteb node”后點擊NMT,如下圖所示。

5  CANopen總線協(xié)議使用指南

此時上位機會發(fā)送一條幀ID000,數(shù)據(jù)為01(運行狀態(tài))02(節(jié)點2,如果廣播則為00)的數(shù)據(jù)。此時節(jié)點2的無線IO設(shè)備會開始通過PDO(生產(chǎn)者消費者模式)發(fā)送幀ID182,數(shù)據(jù)長度為2字節(jié)的消息,其兩字節(jié)數(shù)據(jù)對應(yīng)16DI口,若DI有輸入對應(yīng)位置1。注意此功能為廣成自定義,并非標準cia301協(xié)議。效果如下圖所示。

6  CANopen總線協(xié)議使用指南

當然使用can工具手動發(fā)送數(shù)據(jù)也是一樣的效果,如下圖所示。

7  CANopen總線協(xié)議使用指南

閱讀EDS文件可知索引2000h子索引01h可知設(shè)置其中的值可以改變TPDO1inhibit time(禁止時間)。禁止時間的作用是設(shè)置pdo發(fā)送的最小間隔。這里使用手動發(fā)送SOD(一問一答模式)進行演示。

8  CANopen總線協(xié)議使用指南

手動發(fā)送時將幀ID設(shè)置為602600代表是SDO功能+節(jié)點號2,第一個數(shù)據(jù)2B代表寫入兩字節(jié)。注意后面的數(shù)據(jù)低字節(jié)在前,所以2000h索引寫做0020h,寫入的數(shù)據(jù)1FF寫做01FF。發(fā)送后從站返回幀ID582數(shù)據(jù)頭為60的一條消息,代表剛才的寫入成功。重新進入操作狀態(tài)后,觀察此時的從站發(fā)送的PDO數(shù)據(jù)的時間戳,變?yōu)榱?/span>511us1FF。但是要注意的是標準的cia301協(xié)議中,禁止時間的單位是100us。如何使用SDO讀取和寫入長度超過4字節(jié)的數(shù)據(jù)見詳細文檔。

想要配置DO口的輸出狀態(tài)需要從站在操作狀態(tài)下,主站向從站發(fā)送幀ID0X200+NOD_ID長度為2字節(jié)的PDO消息。如下圖所示,發(fā)送數(shù)據(jù)為0F 00此時0-3DO口全部打開(低字節(jié)在前)。

9  CANopen總線協(xié)議使用指南

由于此產(chǎn)品PDO功能不全,接下來用舉例子的方式解釋如何使用SDO配置PDO功能。剛才說過2000索引01字索引中的數(shù)據(jù)可以改變DI數(shù)據(jù)的PDO發(fā)送最小間隔,現(xiàn)在假設(shè)這個數(shù)據(jù)是可以映射的。下圖是各個TPDORPODCOB-ID、通訊參數(shù)、映射參數(shù)的數(shù)值。

10  CANopen總線協(xié)議使用指南

觀察上圖COB-ID,可知RPDO1被用來讀取數(shù)據(jù),配置DO口的輸出狀態(tài)了,因為剛才就是使用主站控制發(fā)送幀ID為202的PDO數(shù)據(jù)來控制DO口狀態(tài)的。現(xiàn)在我們使用從站的RPDO2來讀取主站發(fā)送的的幀ID為302的TPDO數(shù)據(jù),從而控制從站TPDO1數(shù)據(jù)(即DI口輸入情況)的返回速率。

通訊對象的可配置參數(shù)如下圖所示,注意RPDO和TPDO的通訊對象可配置的參數(shù)范圍和意義不完全相同,詳情見詳細文檔和cia301文檔。

11  CANopen總線協(xié)議使用指南


這里作為簡單演示,我們只用修改1401索引01字索引中COB-ID數(shù)據(jù),使用SDO的方法將其配置為302。其它子索引中的數(shù)據(jù)假設(shè)合理能正常通訊,其具體含義和作用見詳細文檔和cia301文檔。映射對象1601索引中的數(shù)據(jù)構(gòu)成很簡單,1601索引00子索引中存放的值代表:除了00子索引外還有多少子索引,有多個子索引的00子索引中存放的值都是這個意義。由于要修改的數(shù)據(jù)只有一處,且存放在2000索引01子索引數(shù)據(jù)為16位,所以只需要使用SDO1601索引01子索引寫入 0x20000110(最后的10代表存放16位數(shù)據(jù),如果是08代表8位數(shù)據(jù),20代表32位數(shù)據(jù))即可,然后向1601 00索引寫入01。如果要存入的數(shù)據(jù)有多個地址繼續(xù)增加1601的子索引個數(shù),并將00子索引的值改為對應(yīng)個數(shù)即可。但是要注意所以映射索引存儲的數(shù)據(jù)加起來不能超過8字節(jié)。

為了系統(tǒng)的穩(wěn)定性,對通訊對象和映射對象進行修改時,要先使能對應(yīng)PDO01 子索引最高位置1)和清空映射對象00子索引的值。

602    22 01 14 01 02 03 00 80 (將COB-ID設(shè)置為302并失能該PDO

602    22 01 16 00 00 00 00 00  (情況映射對象個數(shù)數(shù)據(jù))

602    22 01 16 01 10 01 00 20 10 格式標識16位,01子索引2000索引)

602    22 01 16 00 01 00 00 00 1個參數(shù))

602    22 01 14 01 02 03 00 00 (使能PDO


配置完成后使用上位機發(fā)送幀ID302PDO信息,從站就會將其存入RPDO2的映射索引2000 01中,從而改變發(fā)送DI狀態(tài)的速率。

打開SYNC功能,主站會按照設(shè)置的時間周期性地發(fā)送幀ID80沒有數(shù)據(jù)的信號,該信號可觸發(fā)從站發(fā)送PDO信息,由于此設(shè)備PDO功能不全無法演示,具體效果和配置方法見詳細文檔和cia301文檔。

EMCY功能是當從站發(fā)送錯誤時返回的報文,也無法演示。

節(jié)點保護服務(wù)的原理是NMT主站可向相應(yīng)的從站發(fā)送包含CAN-ID 700h +節(jié)點ID的RTR消息。隨后從站必須發(fā)送消息進行響應(yīng);從站回復(fù)的消息結(jié)構(gòu)如下。其中位 7 在每次傳送時都會進行交替,從而能夠確定消息是否丟失。在位 6 到 0 中輸入從站當前的 NMT 狀態(tài)。如下圖所示。

12  CANopen總線協(xié)議使用指南

從站等待主站發(fā)送RTR消息的時間為 100Ch:00(守護時間)*100D:00(生存因素),配置完成后在上位機打開節(jié)點保護,效果如下圖所示。

13  CANopen總線協(xié)議使用指南
送至 CAN 總線??赏ㄟ^將對象 1017h:00h 中的創(chuàng)建心跳時間設(shè)為非零值,從而激活該服務(wù)。如下圖所示,將1017h:00h設(shè)置為不為0的數(shù)后從站周期性地返回心跳。

14  CANopen總線協(xié)議使用指南

今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯(lián)化、智能化、自動化的發(fā)展,提升資源利用率,更多產(chǎn)品更多資料,感興趣的小伙伴可以登錄我們的億佰特官網(wǎng)和企業(yè)公眾號(微信號:cdebyte)進行了解,也可以直接撥打400電話咨詢技術(shù)專員!

相關(guān)閱讀:

1、can總線控制器局域網(wǎng)串行通信協(xié)議詳解

2、如何選擇合適的工業(yè)總線

3、CAN總線為何要加終端電阻?



億佰特官網(wǎng) 4000-330-990

https://www.wjx.cn/jq/84863372.aspx