【EtherCAT】COE对象字典与PDO映射简介

简介

     将CANopen作为EtherCAT的应用层,在保证兼容性的同时,为了适配EtherCAT数据链路层接口,充分发挥EtherCAT的网络优势,需要对CANopen协议相应的功能扩充,然后就有了COE(CANopen over EtherCAT)。

COE对象字典(OD):可以这样理解,“一切信息皆对象”,比如某个数据,属性,设备ID,大小,方向,某个IO变量的值等等。对象字典就是对象的集合。每个对象都有对应的索引和索引。根据索引和子索引就能找到字典里的字(对象)。主站和从站都需要有对象字典,其目的个人理解为方便主站和从站进行信息交换。

RxPDO:主站主动传输RxPDO数据给从站。

TxPDO:从站主动传输TxPDO数据给主站。

一、PDO映射

PDO:过程数据对象。由对象字典中能够被映射到PDO的对象组成。

            PDO映射对象包含一个对象引用列表以及以bit为单位的长度。

          【简言之,PDO由多个对象组成,且是有映射关系的对象,比如PDO_1由Object1,Object2,Object3组成,每个对象有个长度。】

PDO映射:指应用对象(实时过程数据)从对象字典到PDO的映射。 

映射表:包含被映射对象的数目,和具体被映射的对象。

        【即由ssc工具生成的Object.h中实时过程数据的对象结构体。如下】

/**
* \brief Object structure
*/
typedef struct OBJ_STRUCT_PACKED_START {
UINT16 u16SubIndex0;
UINT16 Aninput1; /* Subindex1 - Analoginput1 */
UINT16 Analoginput2; /* Subindex2 - Analoginput2 */
UINT16 Analoginput3; /* Subindex3 - Analoginput3 */
UINT32 Analoginput4; /* Subindex4 - Analoginput4 */
UINT32 Analoginput5; /* Subindex5 - Analoginput5 */
UINT32 Analoginput6; /* Subindex6 - Analoginput6 */
} OBJ_STRUCT_PACKED_END
TOBJ6020;

/**
* \brief Object variable
*/
PROTO TOBJ6020 AIInputs0x6020 = {6,0x0000,0x0000,0x0000,0x00000000,0x00000000,0x00000000};

RxPDO的映射表位于对象目录索引0x1600~0x17FF中。

TxPDO的映射表位于对象目录索引0x1A00~0x1BFF中。

                    

                                     图例1-PDO映射

二、同步管理器PDO分配

同步管理器通道:SM通道。由若干PDO组成。

同步管理器PDO分配表:包括已分配PDO的数量,及具体被分配的PDO。

        【即由ssc工具生成的Object.h中PDO分配的对象结构体。如下】

/**
* \brief Object structure
*/
typedef struct OBJ_STRUCT_PACKED_START {
UINT16   u16SubIndex0;  /**< \brief Subindex 0 */
UINT16  aEntries[2];  /**< \brief Subindex 1 - 2 */
} OBJ_STRUCT_PACKED_END
TOBJ1C13;

/**
* \brief Object variable
*/
PROTO TOBJ1C13 sTxPDOassign = {2,{0x1A00,0x1A02}};

同步管理器PDO分配表位于对象目录索引0x1C10~1C2F中。

                                         图例2-同步管理器PDO分配

三、以xml为例简述对象字典与PDO的关系

四个sm通道分别对应MBoxOut,MBoxIn,Outputs,Inputs。

sm2分配0x1600,0x1602两个RxPDO对象。

sm3分配0x1A00,0x1A02两个TxPDO对象。

0x1600映射两个Entry,0x1602映射两个Entry。

0x1A00映射两个Entry,0x1A02映射6个Entry。

每个Entry对应一个实时过程数据(应用对象)。

-------------------------------------------------------------------------------------------------------------------------------如有问题请联系本人:QQ614139707

  • 23
    点赞
  • 94
    收藏
    觉得还不错? 一键收藏
  • 29
    评论
评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值