<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > CANOpen輕松入門之過(guò)程數(shù)據(jù)對(duì)象(PDO)和服務(wù)數(shù)據(jù)對(duì)象(SDO)

          CANOpen輕松入門之過(guò)程數(shù)據(jù)對(duì)象(PDO)和服務(wù)數(shù)據(jù)對(duì)象(SDO)

          作者: 時(shí)間:2015-12-14 來(lái)源:網(wǎng)絡(luò) 收藏

            摘要:CANopen是一種架構(gòu)在控制局域網(wǎng)路(Controller Area Network, CAN)上的高層通訊協(xié)議,對(duì)其協(xié)議的學(xué)習(xí)很多人都覺(jué)得有難度,看來(lái)看去都覺(jué)得是云里來(lái)霧里去的,本文將讓CANOpne協(xié)議不再那么神秘,帶你跨過(guò)學(xué)習(xí)道路的第一道門檻。

          本文引用地址:http://www.ex-cimer.com/article/284308.htm

            應(yīng)用CANopen時(shí),需要傳遞的配置信息和應(yīng)用信息都放在過(guò)程數(shù)據(jù)對(duì)象PDO(Process data object)和服務(wù)數(shù)據(jù)對(duì)象 (Service data object)里面。這些對(duì)象就和市場(chǎng)上賣水果的籮筐,大小是一樣的,只是裝的東西(應(yīng)用數(shù)據(jù))不一樣,如圖1所示。這就是CiA301協(xié)議所規(guī)定的基礎(chǔ)協(xié)議——“籮筐”,而CiA4xx的子協(xié)議或者用戶自定義的對(duì)象就是“籮筐”里面的東西。


            圖1 PDO和就像水果籮筐

            PDO和的通訊區(qū)別在于,PDO屬于過(guò)程數(shù)據(jù),即單向傳輸,無(wú)需接收節(jié)點(diǎn)回應(yīng)CAN報(bào)文來(lái)確認(rèn),從通訊術(shù)語(yǔ)上來(lái)說(shuō)是屬于“生產(chǎn)消費(fèi)”模型。如圖2所示。


            圖2 生產(chǎn)消費(fèi)模型

            而SDO屬于服務(wù)數(shù)據(jù),有指定被接收節(jié)點(diǎn)的地址(Node-ID),并且需要指定的接收節(jié)點(diǎn)回應(yīng)CAN報(bào)文來(lái)確認(rèn)已經(jīng)接收,如果超時(shí)沒(méi)有確認(rèn),則發(fā)送節(jié)點(diǎn)將會(huì)重新發(fā)送原報(bào)文。這種通訊方式屬于常見(jiàn)的“服務(wù)器客戶端”的通信模型,即我們通常所說(shuō)的輪詢式。如圖3所示。


            圖3 服務(wù)器客戶端模型

            對(duì)于PDO和SDO的報(bào)文ID分配,為了減少網(wǎng)絡(luò)的組態(tài)工作量,CANopen預(yù)定義了強(qiáng)制性的缺省標(biāo)識(shí)符(CAN-ID)分配表,該分配表是基于11位CAN-ID的標(biāo)準(zhǔn)幀格式。將其劃分為4位的功能碼(Function-ID)和7位的節(jié)點(diǎn)號(hào)(Node-ID)。如圖4所示.


            圖4 PDO和SDO的預(yù)定義連接ID分配

            在CANopen里也通常把 CAN-ID 稱為COB-ID(通信對(duì)象編號(hào))。所以我們可以分清楚兩個(gè)易于混淆的名稱:

            COB-ID:Communication Object Identifier,即 CANopen中對(duì)某種通訊對(duì)象的報(bào)文幀ID,即CAN報(bào)文的11位ID。代表了一種通訊含義。

            Node-ID:節(jié)點(diǎn)ID號(hào),即CANopen網(wǎng)絡(luò)中的節(jié)點(diǎn)地址,CANopen規(guī)定了邏輯上最大128個(gè)節(jié)點(diǎn),所以Node-ID最大為128(7位)。

            COB-ID和Node-ID無(wú)必然聯(lián)系,但在過(guò)程數(shù)據(jù)對(duì)象(PDO)和服務(wù)數(shù)據(jù)對(duì)象(SDO)中,COB-ID中包含了Node-ID。

            由于需要區(qū)分每個(gè)CANopen節(jié)點(diǎn)的輸入和輸出,所以PDO分為TPDO(發(fā)送PDO)和(接收RPDO),發(fā)送和接收是以CANopen從站節(jié)點(diǎn)為參考(如果CAN主站就相反)。TPDO和RPDO分別有4個(gè)數(shù)據(jù)對(duì)象(如TPDO有TPDO1、TPDO2、TPDO3、TPDO4;RPDO有RPDO1、RPDO2、RPDO3、RPDO4),每種數(shù)據(jù)對(duì)象就是1條CAN報(bào)文封裝,如表1所示,這些都是數(shù)據(jù)收發(fā)的容器,就像圖 1所示,水果籮筐為使用者準(zhǔn)備好,就看使用者在里面放什么水果了。

            而SDO就相對(duì)比較簡(jiǎn)單固定,發(fā)起通訊的“問(wèn)”SDO的CAN幀ID就是600h +node-ID,這里的Node-ID是被問(wèn)的節(jié)點(diǎn)地址,而被問(wèn)的節(jié)點(diǎn)應(yīng)“答”SDO的CAN幀ID就是580h +node-ID。一般在CANopen網(wǎng)絡(luò)中,只有NMT主機(jī)能發(fā)起SDO通訊,進(jìn)行節(jié)點(diǎn)參數(shù)配置或者關(guān)鍵性參數(shù)的傳遞。當(dāng)然從節(jié)點(diǎn)也可以對(duì)其他從節(jié)點(diǎn)發(fā)起SDO通訊。

            如表1所示。為CANopen預(yù)定義報(bào)文的PDO報(bào)文和SDO報(bào)文中的ID分類。使用者務(wù)必牢記!


            表1 PDO與SDO的CAN-ID定義

            XGate-COP10嵌入式CANOPEN從站模塊是ZLG致遠(yuǎn)電子開(kāi)發(fā)的一款擁有自主知識(shí)產(chǎn)權(quán)的CANopen從站通信模塊。內(nèi)部已經(jīng)集成了CANopen從站協(xié)議棧代碼,使用簡(jiǎn)單的串口通信協(xié)議即可實(shí)現(xiàn)與XGate-COP10的通信,并提供串口通信協(xié)議標(biāo)準(zhǔn)C文件,使現(xiàn)有的設(shè)備以最快的速度擁有CANopen通信能力。








          關(guān)鍵詞: CANOpen SDO

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();