小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

CANOpen的幾種操作以及數(shù)據(jù)

 KEruy 2019-12-07

其實(shí)3年前在21ic就準(zhǔn)備做這篇文章了,那時(shí),CANOpen也只是剛剛在國內(nèi)推廣,所以幾乎沒有項(xiàng)目用到?,F(xiàn)在有了實(shí)際的項(xiàng)目,完全確認(rèn)了以前移植和測試的代碼,所以列舉一些CANOpen的底層操作以及數(shù)據(jù)。當(dāng)然,列舉的都是一些簡單的基本的CANOpen通信,不包括其他CANOpen應(yīng)用協(xié)議中的內(nèi)容。

1.心跳
CANOpen節(jié)點(diǎn)會(huì)以一個(gè)固定的頻率發(fā)送心跳報(bào)文。用于告訴主機(jī),偶還活著。。。心跳報(bào)文的格式很簡單,COB-ID為0x700+Node_ID,數(shù)據(jù)為一字節(jié)的狀態(tài)數(shù)據(jù):

圖中,ID為706,表示06號(hào)節(jié)點(diǎn)的心跳,狀態(tài)是0x7F,表示Pre-Operational狀態(tài)(節(jié)點(diǎn)初始化完成后,進(jìn)入Pre-Operational狀態(tài))。查看時(shí)間,每個(gè)心跳報(bào)文時(shí)間間隔大概1秒。

2.NMT
NMT是管理報(bào)文,用于實(shí)現(xiàn)一些管理操作,比如,節(jié)點(diǎn)重啟、進(jìn)入Operational狀態(tài)等等。NMT報(bào)文格式很簡單,ID為000,數(shù)據(jù)為一字節(jié)命令+一節(jié)節(jié)點(diǎn)號(hào)(0表示廣播)。

第2號(hào)報(bào)文就是讓06號(hào)節(jié)點(diǎn),進(jìn)入Operational狀態(tài),運(yùn)行完成后,節(jié)點(diǎn)心跳報(bào)文中的節(jié)點(diǎn)狀態(tài)也變?yōu)镺perational狀態(tài)

同上,發(fā)送stop remote node命令,進(jìn)入Stopped狀態(tài),當(dāng)然,心跳還是有的,只是節(jié)點(diǎn)不干活了

這個(gè)是reset node命令,用于讓節(jié)點(diǎn)復(fù)位。復(fù)位之后,會(huì)首先進(jìn)入Initializing狀態(tài)(對于于心跳報(bào)文中的0x00),初始化完成后,進(jìn)入Pre-Operational狀態(tài)(對應(yīng)心跳報(bào)文中的0x7F)。

3.SDO
SDO 主要用來訪問節(jié)點(diǎn)的對象字典(OD),CANOpen的節(jié)點(diǎn)至少需要支持SDO_Server。對象字典是CANOpen節(jié)點(diǎn)的數(shù)據(jù)組織形式,包含了 CANOpen節(jié)點(diǎn)的各個(gè)參數(shù)和數(shù)據(jù),比如,心跳報(bào)文的發(fā)送頻率、系統(tǒng)啟動(dòng)次數(shù)、節(jié)點(diǎn)的通信參數(shù)等等等等??梢哉f,SDO是用來設(shè)置CANOpen節(jié)點(diǎn)的各個(gè)運(yùn)行參數(shù)的。

圖中,1號(hào)報(bào)文0606: 40 17 10 00 00 00 00 00就是一個(gè)SDO_Read報(bào)文,告訴節(jié)點(diǎn),要讀取的OD索引和子索引,包括數(shù)據(jù)長度。然后節(jié)點(diǎn)會(huì)發(fā)送對應(yīng)的數(shù)據(jù)(后面的那個(gè)8字節(jié)報(bào)文)。第一個(gè)字節(jié)是一些命令的設(shè)定包括參數(shù)的設(shè)定,后2個(gè)字節(jié)是OD的索引,再后面一個(gè)字節(jié)是OD的子索引,最后4個(gè)字節(jié)是數(shù)據(jù)。上圖中,主機(jī)發(fā)送的是一個(gè)讀取OD中 1017:00位置的數(shù)據(jù)命令,這個(gè)位置存放的是心跳頻率,讀取的結(jié)果是0x03EB(1000ms)。

9號(hào)報(bào)文就是SDO_Write,寫OD中1017:00位置的數(shù)據(jù),也就是修改心跳頻率。收到完成應(yīng)答后,心跳頻率就變了(查看時(shí)間)。

4.PDO
PDO 是用來發(fā)送(TPDO)或者接收(RPDO)數(shù)據(jù)的,有幾種不同的觸發(fā)方式,比如:事件觸發(fā)、同步觸發(fā)等等。數(shù)據(jù)內(nèi)容一般有CANOpen的各個(gè)應(yīng)用協(xié)議規(guī)定,比如401文檔中的AI(Analog Input)數(shù)據(jù)等。PDO的數(shù)據(jù)內(nèi)容是通過映射的方式在定義在OD中的,一個(gè)節(jié)點(diǎn)可以有多個(gè)PDO通道。PDO的通信參數(shù)也可以通過SDO訪問OD的方式來修改。

5.應(yīng)急報(bào)文
應(yīng)急報(bào)文用于返回一個(gè)節(jié)點(diǎn)上的錯(cuò)誤,可以是CANOpen命令解析錯(cuò)誤,等等。

待續(xù)。。。。。。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多