<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

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

CANOpen輕松入門(mén)之過(guò)程數據對象(PDO)和服務(wù)數據對象(SDO)

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

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

本文引用地址:http://dyxdggzs.com/article/284308.htm

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


  圖1 PDO和就像水果籮筐

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


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

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


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

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


  圖4 PDO和SDO的預定義連接ID分配

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

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

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

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

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

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

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


  表1 PDO與SDO的CAN-ID定義

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








關(guān)鍵詞: CANOpen SDO

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>