canopen轻松入门之过程数据对象(pdo)和服务数据对象(sdo)

上传人:小** 文档编号:64097018 上传时间:2018-12-26 格式:PDF 页数:2 大小:177.49KB
返回 下载 相关 举报
canopen轻松入门之过程数据对象(pdo)和服务数据对象(sdo)_第1页
第1页 / 共2页
canopen轻松入门之过程数据对象(pdo)和服务数据对象(sdo)_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《canopen轻松入门之过程数据对象(pdo)和服务数据对象(sdo)》由会员分享,可在线阅读,更多相关《canopen轻松入门之过程数据对象(pdo)和服务数据对象(sdo)(2页珍藏版)》请在金锄头文库上搜索。

1、 广州致远电子广州致远电子股份股份有限公司有限公司 文库资料文库资料 2015 Guangzhou ZHIYUAN Electronics Stock Co., Ltd. 文章源自 ZLG 致远电子,转载或引用请注明出处 1 CANOpenCANOpen 轻松入门之轻松入门之过程数据对象(过程数据对象(PDOPDO)和服务数据对象()和服务数据对象(SDOSDO) 摘要:CANopen 是一种架构在控制局域网路(Controller Area Network, CAN)上的高层通讯协议, 对其协议的学习很多人都觉得有难度,看来看去都觉得是云里来雾里去的,本文将让 CANOpne 协议不再那 么

2、神秘,带你跨过 CANOpen 学习道路的第一道门槛。 应用 CANopen 时,需要传递的配置信息和应用信息都放在过程数据对象 PDO(Process data object) 和服务数据对象 SDO (Service data object)里面。这些对象就和市场上卖水果的箩筐,大小是一样的, 只是装的东西(应用数据)不一样,如图 1 所示。这就是 CiA301 协议所规定的基础协议“箩筐” ,而 CiA4xx 的子协议或者用户自定义的对象就是“箩筐”里面的东西。 图 1 PDO 和 SDO 就像水果箩筐 PDO 和 SDO 的通讯区别在于,PDO 属于过程数据,即单向传输,无需接收节点回

3、应 CAN 报文来确认,从 通讯术语上来说是属于“生产消费”模型。如图 2 所示。 图 2 生产消费模型 而 SDO 属于服务数据,有指定被接收节点的地址(Node-ID) ,并且需要指定的接收节点回应 CAN 报文 来确认已经接收,如果超时没有确认,则发送节点将会重新发送原报文。这种通讯方式属于常见的“服务 器客户端”的通信模型,即我们通常所说的轮询式。如图 3 所示。 图 3 服务器客户端模型 对于 PDO 和 SDO 的报文 ID 分配,为了减少网络的组态工作量,CANopen 预定义了强制性的缺省标识符 (CAN-ID) 分配表, 该分配表是基于 11 位CAN-ID 的标准帧格式。

4、将其划分为 4 位的功能码 (Function-ID) 和 7 位的节点号(Node-ID) 。如图 4 所示. 图 4 PDO 和 SDO 的预定义连接 ID 分配 广州致远电子广州致远电子股份股份有限公司有限公司 文库资料文库资料 2015 Guangzhou ZHIYUAN Electronics Stock Co., Ltd. 文章源自 ZLG 致远电子,转载或引用请注明出处 2 在 CANopen 里也通常把 CAN-ID 称为 COB-ID(通信对象编号) 。所以我们可以分清楚两个易于混淆的 名称: COB-ID:Communication Object Identifier,即

5、CANopen 中对某种通讯对象的报文帧 ID,即 CAN 报文的 11 位 ID。代表了一种通讯含义。 Node-ID:节点 ID 号,即 CANopen 网络中的节点地址,CANopen 规定了逻辑上最大 128 个节点, 所以 Node-ID 最大为 128(7 位) 。 COB-ID 和 Node-ID 无必然联系,但在过程数据对象(PDO)和服务数据对象(SDO)中,COB-ID 中包 含了 Node-ID。 由于需要区分每个 CANopen 节点的输入和输出,所以 PDO 分为 TPDO(发送 PDO)和(接收 RPDO),发送 和接收是以 CANopen 从站节点为参考(如果 C

6、AN 主站就相反) 。TPDO 和 RPDO 分别有 4 个数据对象(如 TPDO 有 TPDO1、TPDO2、TPDO3、TPDO4;RPDO 有 RPDO1、RPDO2、RPDO3、RPDO4) ,每种数据对象就是 1 条 CAN 报 文封装,如表 1 所示,这些都是数据收发的容器,就像图 1 所示,水果箩筐为使用者准备好,就看使用者 在里面放什么水果了。 而 SDO 就相对比较简单固定,发起通讯的“问”SDO 的 CAN 帧 ID 就是 600h +node-ID,这里的 Node-ID 是被问的节点地址,而被问的节点应“答”SDO 的 CAN 帧 ID 就是 580h +node-ID

7、。一般在 CANopen 网络中, 只有 NMT 主机能发起 SDO 通讯,进行节点参数配置或者关键性参数的传递。当然从节点也可以对其他从节 点发起 SDO 通讯。 如表 1 所示。为 CANopen 预定义报文的 PDO 报文和 SDO 报文中的 ID 分类。使用者务必牢记! 表 1 PDO 与 SDO 的 CAN-ID 定义 Object 对象 Specification 规 范 CAN-ID(COB-ID) TPDO1 发送过程数据对象 1 CiA301 181h to 1FFh(180h +node-ID) RPDO1 接收过程数据对象 1 CiA301 201h to 27Fh(20

8、0h +node-ID) TPDO2 发送过程数据对象 2 CiA301 281h to 2FFh(280h +node-ID) RPDO2 接收过程数据对象 2 CiA301 301h to 37Fh(300h +node-ID) TPDO3 发送过程数据对象 3 CiA301 381h to 3FFh(380h +node-ID) RPDO3 接收过程数据对象 3 CiA301 401h to 47Fh(400h +node-ID) TPDO4 发送过程数据对象 4 CiA301 481h to 4FFh(480h +node-ID) RPDO4 接收过程数据对象 4 CiA301 501

9、h to 57Fh(500h +node-ID) Default SDO server-to-client 服务数据对象“答” CiA301 581h to 5FFh(580h +node-ID) Default SDO client-to-server 服务数据对象“问” CiA301 601h to 67Fh(600h +node-ID) XGate-COP10 嵌入式 CANOPEN 从站模块是 ZLG 致远电子开发的一款拥有自主知识产权的 CANopen 从站 通信模块。内部已经集成了 CANopen 从站协议栈代码,使用简单的串口通信协议即可实现与 XGate-COP10 的通信,并提供串口通信协议标准 C 文件,使现有的设备以最快的速度拥有 CANopen 通信能力。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号