收藏 分享(赏)

CANopen轻松入门.pdf

上传人:weiwoduzun 文档编号:5397414 上传时间:2019-02-28 格式:PDF 页数:38 大小:2.88MB
下载 相关 举报
CANopen轻松入门.pdf_第1页
第1页 / 共38页
CANopen轻松入门.pdf_第2页
第2页 / 共38页
CANopen轻松入门.pdf_第3页
第3页 / 共38页
CANopen轻松入门.pdf_第4页
第4页 / 共38页
CANopen轻松入门.pdf_第5页
第5页 / 共38页
点击查看更多>>
资源描述

1、 广州致远电子 股份 有限公司 工 程技术笔记 入门教程 TN01010101 V1.00 Date:2015/10/01 CANopen 轻松入门 类别 内容 关键词 CANopen DS301 摘 要 用于初次接触 CANopen的用户,主要以 CANopen DS301为主要教授方向 Technical Note 广州致远电子 股份 有限公 司 入门教程 工程技术笔记 2013 Guangzhou ZHIYUAN Electronics Stock Co., Ltd. i CANopen 轻松入门 修订历史 版本 日期 原因 V1.00 2015/10/01 创建文档 广州致远电子 股份

2、 有限公 司 入门教程 工程技术笔记 2013 Guangzhou ZHIYUAN Electronics Stock Co., Ltd. 1 CANopen 轻松入门 目 录 1. 前言 . 1 2. CANopen 在 ISO 层级中的位置 2 3. CANopen 协议诞生和发展 3 4. CANopen 的预定义报文 ID 分类 5 4.1 网络管理( NMT)与特殊协议( Special protocols)报文 ID 分类 5 4.2 过程数据对象( PDO)和服务数据对象( SDO)的报文 ID 分类 . 7 5. 对象字典 OD( Object dictionary) . 9

3、5.1 对象字典概述 . 10 5.2 通讯对象子协议区( Communication profile area) 10 5.3 通用通讯对象( General communication objects) 10 5.4 制造商特定子协 议( Manufacturer-specific Profile) 11 5.5 标准化设备子协议 (Standardized profile area) 12 5.6 对象字典和 EDS文件实例 . 12 6. 网络管理 NMT( Network management) 与 CANopen 主站 16 6.1 NMT节点状态 . 16 6.2 NMT节点上线

4、报文 . 17 6.3 NMT节点状态与心跳报文 . 18 6.4 NMT节点守护 . 18 6.5 NMT节点状态切换命令 . 19 6.6 CANopen主站设备 20 7. 过程数据对象 PDO( Process data object) 22 7.1 PDO的 CAN-ID 定义 22 7.2 PDO的传输形式 23 7.3 PDO的通信参数 24 7.4 PDO的 映射参数 24 8. 服务数据对象 SDO( Service data object) . 26 8.1 通讯原则( communication principle) . 26 8.2 快速 SDO协议( Expedite

5、d SDO protocol) . 27 8.3 普通 SDO协议( Normal SDO protocol) . 27 9. 特殊协议( Special protocols) . 30 9.1 同步协议( Sync protocol) . 30 9.2 时间戳协议( Time-stamp protocol) . 31 9.3 紧急报文协议( Emergency protocol) . 33 10. 免责声明 . 35 广州致远电子 股份 有限公 司 入门教程 工程技术笔记 2013 Guangzhou ZHIYUAN Electronics Stock Co., Ltd. 1 CANopen

6、 轻松入门 1. 前言 本教程适用于 CIA CANopen协议 DS301又名 CIA301标准。 用户须已经掌握 CAN2.0A协议的基本知识。 即基本的帧结构、 ID、数据、 DLC 等知识, 本文不再从 CAN 底层开始叙述 。 如果读者需要了解 CAN 底层,推荐北京航空航天出版社出版的项目驱动 CAN-bus现场总线基础教程 。 本文由广州致远电子股份有限公司周立功、黄敏思等整理和编撰 。 文章引用 CANopen协会 CiA组织的蔡 豪格主席肖像与多篇示意图,再次表示非常感谢! 广州致远电子 股份 有限公 司 入门教程 工程技术笔记 2013 Guangzhou ZHIYUAN

7、Electronics Stock Co., Ltd. 2 CANopen 轻松入门 2. CANopen 在 ISO 层级 中的位置 从 OSI的 7层 网络模型的角度来看同, CAN( Controller Area Network)现场总线仅仅定义了第 1层 (物理层,见 ISO11898-2标准) 、第 2层 (数据链路层,见 ISO11898-1标准) ;而在 实际设计中,这两层完全由硬件实现,设计人员无需再为此开发相关软件( Software)或固件( Firmware) ,只要了解如何调用相关的接口和寄存器,即可完成对 CAN的控制 。 如图 2.1所示。 图 2.1 CAN 控

8、制器结构 但 CAN没有规定应用层 。也就是 没有规定 与 实际应用 相关的 逻辑,比如开关量输入输出 , 模拟量输入输出。所以 本身 对于应用来说,是 不完整 的 。这就像铁矿石(物理层)冶炼成铁锭(数据链路层), 然后针对具体应用,再加工做成汽车、轮船、钢筋、坦克、钢结构建筑等等。 如 图 2.2所示。 图 2.2 从物理层到应用层 因此,基本每个行业的 CAN 应用,都 需要一个高层协议来定义 CAN 报文中的 11/29位标识符、 8 字节数据的使用。但在 CAN 总线的工业自动化应用中, 由于设备的互通互联的需求越来越多,所以 需要一个开放的、标准化的高层协议:这个协议支持各种 CA

9、N厂商设备的互用性、互换性,能够实现在 CAN网络中提供标准的、统一的系统通讯模式,提供设备功能描述方式,执行网络管理功能。 其中包括: 应用层 (Application layer):为网络中每一个有效设备都能 够提供一组有用的服务与协议。 通讯描述 (Communication profile):提供配置设备、通讯数据的含义,定义数据通讯方式。 设备描述 (Device proflile):为设备(类)增加符合规范的行为。 广州致远电子 股份 有限公 司 入门教程 工程技术笔记 2013 Guangzhou ZHIYUAN Electronics Stock Co., Ltd. 3 CAN

10、open 轻松入门 3. CANopen 协议 诞生和发展 CANopen 协议是在 20 世纪 90 年代末,由总部位于德国纽伦堡的 CiA 组织 CAN-in-Automation,( http:/www.can-cia.org )在 CAL( CAN Application Layer)的基础上发展而来。 图 3.1 CANopen 与 CiA 由于 CANopen协议的创始人团队也是 CAN-bus的创始人团队,此协议充分发挥了CAN-bus所具备的所有优势,特别是 CiA组织的主席蔡豪格( Holger Zeltwanger) 先生对于CANopen协议坚持开放、免费、非盈利的原则。

11、 一经推出便在欧洲得到了广泛的认可与应用。 虽然 CiA组织背后没有强大的财阀支撑,但时至今日已经成为全世 界最为流行的 CAN应用层协议。让我们记住这位可爱的德国老人,如 图 3.2所示。 图 3.2 CiA 组织蔡豪格主席 经过对 CANopen协议规范文本的多次修改,使得 CANopen协议的稳定性、实时性、抗干扰性都得到了进一步的提高。并且 CiA在 CANopen基础协议 CiA 301之上,对 各个行业不断推出设备子协议,使 CANopen协议在各个行业得到更快的发展与推广。 所 谓的 子协议 ,就是 针对不同行业的应用对象,对 CANopen内部的数据含义进行重新定义,或者添加新

12、的控制逻辑 。 目前 CANopen协议已经在运动控制、车辆工业、轨道交通、电机驱动、工程机械、船舶海运等行业得到广泛的应用。 比如轨道交通中的城市轻轨车辆(低地板车)中, CiA联合西门子、庞巴迪等轨道交通厂商,共同制定了以下轨道交通相关的 CANopen子协议: CiA 421 series: Train vehicle control system 列车车辆控制系统 CiA 423 series: Diesel engine control system 柴油机控制系统 CiA 424 series: Door control system 门控制系统 CiA 426 series: E

13、xterior light control system 外部灯控制系统 CiA 430 series: Auxiliary equipment control system 辅助设备 控制系统 广州致远电子 股份 有限公 司 入门教程 工程技术笔记 2013 Guangzhou ZHIYUAN Electronics Stock Co., Ltd. 4 CANopen 轻松入门 CiA 433 series: Interior light control system 内部灯控制系统 如 图 3.3所示,为 CANopen在轨道列车中的地位,主干网为列车总线( WTB),每接车厢采用车辆总线

14、( MVB)来连接与列车行驶相关,对实时性要求高的部件。而 CANopen主要是连接各种非高安全性的部件。 图 3.3 CANopen 在轨道交通中的应用 图 3.4所示为 CANopen设备结构。 CANopen协议通常分为用户应用层、对象字典以及通信三 个部分。 其中 最为核心的是对象字典 ,描述了应用对象和 CANopen报文之间的关系。 CANopen通信是本文关键部分 ,其定义了 CANopen协议通信规则以及与 CAN控制器驱动之间对应关系,熟悉这部分对全面掌握 CANopen协议至关重要。 用户应用层是用户根据实际的需求编写的应用对象,这部分本入门教程将不作详细。 图 3.4 C

15、ANopen 设备结构 广州致远电子 股份 有限公 司 入门教程 工程技术笔记 2013 Guangzhou ZHIYUAN Electronics Stock Co., Ltd. 5 CANopen 轻松入门 4. CANopen 的 预定义 报文 ID 分类 在 CANopen创立之初,即使 在 CAN总线应用最广泛的汽车电子行业,网络中的 CAN节点数量和需要通讯的信息都是比较少的。人们使用 CAN取代 RS485, 主要是看重其可以突发发送的实时性优势 ,而在多节点、长距离应用中, CAN总线和 RS485比起来并无优势,比如同样的波特率下, CAN 的通信距离只能达到 RS485 的

16、 0.6-0.8 倍 ,而多节点通信 CAN无法进行任意的突发发送, 不得不遵循 RS485 那样的轮询通信机制,否则会导致拥堵, 如图 4.1所示。 就像这个十字路口的汽车,如果车只有 10 辆,即使没 有交通灯,根本不会拥堵。而如果有 100辆,如果任意行驶,就会发生严重拥堵。 图 4.1 CAN 的突发优势和多节点拥堵 CANopen 的创始人是非常了解 CAN总线这个特征,所以在设计 CANopen 时,对其定义为 小网络 、 控制信号 的 实时通讯 : 报文传输采用 CAN标准帧格式 。即 11bit的 ID 域,以尽量减小传输时间; 网络控制报文均采用数据最小字节数。比如 心跳报文

17、,只有 1个字节数据; 实时更新的 过程数据无需接收方报文应 答 。即采用生产消费模型,降低总线负载; 需要接收方确认的配置参数一般都是采用快速单字传输。即 1 个报文最多传送 1个 32字节的参数变量,避免了分帧引起的实时性降低。 以上这些定义都是为了节约时间开销,最大限度保证实时性。 同时为了 减小简单网络的组 态工作量, CANopen定义了强制性的缺省标识符 ( CAN帧 ID) 分配表 ,以减少使用者与维护者的学习时间,快速上手。 4.1 网络管理 ( NMT) 与特殊协议( Special protocols) 报文 ID 分类 虽然 CANopen 的通讯发挥了 CAN 的特色,

18、所有节点通信地位平等, 运行时 允许 自行发送报文,但 CANopen网络为了稳定可靠可控,都需要设置一个 网络管理主机 NMT-Master( Network Management-Master),就像一个 交响乐团的指挥家,所有节点的启动、停止都是有他进行指挥,如 图 4.2所示。 广州致远电子 股份 有限公 司 入门教程 工程技术笔记 2013 Guangzhou ZHIYUAN Electronics Stock Co., Ltd. 6 CANopen 轻松入门 图 4.2 NMT-Master 就像交响乐指挥家 NMT主机 一般是 CANopen网络中具备监控的 PLC或者 PC(当

19、然也可以是一般 的功能节点), 所以也成为 CANopen主站 。 相对应的其他 CANopen节点就是 NMT从机 (NMT-slaves)。 NMT主机和 NMT从机之间通讯的报文就称为 NMT网络管理报文 。管理报文负责层管理、网络管理和 ID分配服务。例如,初始化、配置和网络管理(其中包括节点保护)。网络管理中,同一个网络中只允许有一个主节点、一个或多个从节点,并遵循主从模式。 另外,为了 协调各个节点的同步、心跳、时间、错误提示 等通讯控制, CANopen 还定义了一系列 特殊协议 ( Special protocols)报文。 如 表 4.1 所示,为 CANopen 预定义报文

20、( Pre-defined CAN-IDs)的 NMT报文和特殊协议报文。 表 4.1 NMT 与特殊协议 的 CAN-ID 定义 Object对象 Specification规范 CAN-ID NMT网络管理命令 CiA301 000h Global failsafe command 全局故障安全命令 CiA304 001h Flying master动态主站 CiA302-2 071h to 076h Indicate active interface标示活动接口 CiA302-6 07Fh Sync同步报文 CiA301 080h Emergency紧急报文 CiA301 081h to

21、 0FFh( 080h +node-ID) Time stamp 时间戳报文 CiA301 100h Safety-relevant data objects安全相关数据对象 CiA301 101h to 180h CAN-ID 就是这类报文的 COB-ID, 其中 读者 必须 需要记住的是 绿色底纹的这些常用的CAN-ID含义 ,在研发和应用 CANopen中,这三类是最为常用的 NMT与特殊协议报文。 广州致远电子 股份 有限公 司 入门教程 工程技术笔记 2013 Guangzhou ZHIYUAN Electronics Stock Co., Ltd. 7 CANopen 轻松入门 4

22、.2 过程数据对象( PDO)和服务 数据 对象( SDO) 的报文 ID 分类 用户应用 CANopen 时,需要传递的配置信息和应用信息都是放在 过程数据对象 PDO( Process data object) 和 服务数据对象 SDO (Service data object)里面。这些对象就和市场上卖水果的箩筐,大小是一样的,只是装的东西(应用数据)不一样,如 图 4.3所示。这就是 CiA301协议所规定的基础协议 “箩筐” ,而 CiA4xx的子协议 或者用户自定义的对象就是“箩筐”里面的东西。 图 4.3 PDO 和 SDO 就像水果箩筐 PDO 和 SDO 的通讯区别在于 ,

23、PDO 属于过程数据,即单向传输,无需接收节点回应CAN报文来确认,从通讯术语上来说是属于“生产消费”模型 。如 图 4.4所示。 图 4.4 生产消费模型 而 SDO属于服务数据,有指定被接收节点的地址( Node-ID),并且需要指定的接收节点回应 CAN 报文来确认已经接收, 如果超时没有确认,则发送节点将会重新发送原报文。这种通讯方式属于常见的“服务器客户端”的通信模型 ,即我们通常所说的轮询式。如 图 4.5所示。 图 4.5 服务器客 户端模型 广州致远电子 股份 有限公 司 入门教程 工程技术笔记 2013 Guangzhou ZHIYUAN Electronics Stock

24、Co., Ltd. 8 CANopen 轻松入门 对于 PDO和 SDO的报文 ID 分配, 为了减少网络的组态工作量, CANopen预定义了 强制性的缺省标识符( CAN-ID)分配表,该分配表是基于 11 位 CAN-ID 的标准帧格式。 将其划分为 4 位的功能码 ( Function-ID) 和 7 位的节点号( Node-ID) 。如 图 4.6所示 . 图 4.6 PDO 和 SDO 的预定义连接 ID 分配 在 CANopen 里也通常把 CAN-ID 称为 COB-ID(通信对象编号)。所以 我们可以 分清楚 两 个 易于混淆的 名称 : COB-ID: Communicat

25、ion Object Identifier,即 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),发送和接收是以 C

26、ANopen从站节点为参考 (如果 CAN主站就相反)。 TPDO和 RPDO 分别有 4 个数据对象 ,每种数据对象就是 1 条 CAN 报文封装 , 如 表 4.2 所示,这些都是数据收发的容器,就像 图 4.3所示,水果箩筐为使用者准备好,就看使用者在里面放什么水果了。 而 SDO就相对 比较简单固定, 发起通讯的“问” SDO的 CAN帧 ID就是 600h +node-ID,这里的 Node-ID 是被问的节点地址,而被问的节点应“答” SDO 的 CAN 帧 ID 就是 580h +node-ID。一般在 CANopen网络中,只有 NMT主机能发起 SDO通讯,进行节点参数配置或

27、者关键性参数的传递。当然从节点也可以对其他从节点发起 SDO通讯。 如 表 4.2 所示。 为 CANopen 预定义报文的 PDO 报文和 SDO 报文 中的 ID 分类 。 使用者务必牢记! 表 4.2 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( 200h +node-ID) TPDO2发送过程数据对象 2 CiA301 281h t

28、o 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 501h to 57Fh( 500h +node-ID) Default SDO serv

29、er-to-client服务数据对象“答” CiA301 581h to 5FFh( 580h +node-ID) Default SDO client-to-server服务数据对象“问” CiA301 601h to 67Fh( 600h +node-ID) 广州致远电子 股份 有限公 司 入门教程 工程技术笔记 2013 Guangzhou ZHIYUAN Electronics Stock Co., Ltd. 9 CANopen 轻松入门 5. 对象字典 OD( Object dictionary) CANopen对象字典 ( OD: Object Dictionary) 是 CANo

30、pen协议最为核心的概念。所谓的对象字典就是一个有序的对象组, 描述了对应 CANopen节点的所有参数, 包括通讯数据的存放位置也列入其索引, 这个表变成可以传递形式就叫做 EDS文件 (电子数据文档Electronic Data Sheet) 。对象字典,就像体检表,具备这个人每个功能的参数,便于用人单位(主站)进行合理分配工作。如 图 5.1所示。 图 5.1 对象字典与体检表 每个对象采用一个 16位的索引值来寻址,这个索引值通常被称为 索引,其范围在 0x0000到 0xFFFF之 间 。 为了 避免数据大量时无索引可分配,所以在某些索引下 也定义了一个 8 位的索引值,这个索引值通

31、常被称为子索引 ,其范围是 0x00到 0xFF之间 。 每个索引内具体的参数,最大用 32位的变量来表示,即 Unsigned32,四个字节 。 每个 CANopen设备都有一个对象字典 ,使用 电子数据文档( EDS文件 )来记录这些参数,而不需要把这些参数记录在纸上。对于 CANopen网络中的主节点来说,不需要对CANopen从节点的每个对象字典项都访问。 CANopen对象字典中的项由一系列子协议来描述。子协议为对象字典中的每个对象 都描述了它的功能、名字、索引、子索引、数据类型,以及这个对象是否必需、读写属性等等,这样可保证不同厂商的同类型设备兼容。 CANopen协议的核心描述子

32、协议是 DS301,其包括了 CANopen协议应用层及通信结构描述,其它的协议子协议都是对 DS301 协议描述文本的补充与扩展。在不同的应用行业都会起草一份 CANopen设备子协议,子协议编号一般是 DS4xx 。 广州致远电子 股份 有限公 司 入门教程 工程技术笔记 2013 Guangzhou ZHIYUAN Electronics Stock Co., Ltd. 10 CANopen 轻松入门 5.1 对象字典概述 如 表 5.1所示, 为对象字典索引区域定义, 其中标 绿色底纹的 通讯对象子协议 区 和 制造商特定子协议区 是用户需要关注的区域 。 表 5.1 对象字典概述 I

33、ndex range 索引范围 Description 描述 0000h Reserved保留 0001h to 025Fh Data types数据类型 0260h to 0FFFh Reserved保留 1000h to 1FFFh Communication profile area通讯对象子协议区 2000h to 5FFFh Manufacturer-specific profile area制造商特定子协议区 6000h to 9FFFh Standardized profile area标准化设备子协议区 A000h to AFFFh Network variables网络变量(

34、符合 IEC61131-3) B000h to BFFFh System variables用于路由网关的系统变量 C000h to FFFFh Reserved保留 5.2 通讯对象子协议区( Communication profile area) 通讯对象 子协议区( Communication profile area)定义了所有和通信有关的对象参数,如 表 5.2所示, 标绿色底纹的索引范围 1000h to 1029h为通用通讯对象,所有 CANopen节点都必须具备这些索引,否则将无法加入 CANopen网络 。其他索引根据实际情况进行分配与定义。 表 5.2 通讯 对象子协议区

35、Index range 索引范围 Description 描述 1000h to 1029h General communication objects 通用通讯对象 1200h to 12FFh SDO parameter objects SDO参数对象 1300h to 13FFh CANopen safety objects 安全对象 1400h to 1BFFh PDO parameter objects PDO参数对象 1F00h to 1F11h SDO manager objects SDO管理对象 1F20h to 1F27h Configuration manager obj

36、ects 配置管理对象 1F50h to 1F54h Program control object 程序控制对象 1F80h to 1F89h NMT master objects网络管理主机对象 5.3 通用通讯对象( General communication objects) 由于 通用通讯对象十分重要, NMT 主站( CANopen 主站) 在启动时, 通常都全部或者部分读取 所有从站中 通用通讯对象中的索引, 所以所有的通用通讯对象都必须在CANopen从站中实现 ,使用者也 必须熟知这些索引地址与其含义。如 表 5.3所示。 表 5.3 通用通讯对象 Index 索引 Objec

37、t 对象 Name 名字 1000h VAR变量 Device type设备类型 1001h VAR变量 Error register错误寄存器 1002h VAR变量 Manufacturer status register制造商状态寄存器 广州致远电子 股份 有限公 司 入门教程 工程技术笔记 2013 Guangzhou ZHIYUAN Electronics Stock Co., Ltd. 11 CANopen 轻松入门 1003h ARRAY数 组 Pre-defined error field 预定义错误场 1005h VAR变量 COB-ID Sync message同步报文 C

38、OB标识符 1006h VAR变量 Communication cycle period 同步通信循环周期(单位 us) 1007h VAR变量 Synchronous windows length 同步窗口长度 (单位 us) 1008h VAR变量 Manufacturer device name制造商设备名称 1009h VAR变量 Manufacturer hardware version制造商硬件版本 100Ah VAR变量 Manufacturer software version 制造商软件版本 100Ch VAR变量 Guard time守护时间(单位 ms) 100Dh VA

39、R变量 Life time factor寿命因子(单位 ms) 1010h VAR变量 Store parameters保存参数 1011h VAR变量 Restore default parameters恢复默认参数 1012h VAR变量 COB-ID time stamp 时 间报文 COB标识符(发送网络时间) 1013h VAR变量 High resolution time stamp 高分辨率时间标识 1014h VAR变量 COB-ID emergency紧急报文 COB标识符 1015h VAR变量 Inhibit time emergency紧急报文禁止时间(单位 100us

40、) 1016h ARRAY数组 Consumer heartbeat time消费者心跳时间间隔 (单位 ms) 1017h VAR变量 Producer heartbeat time生产者心跳时间 间隔(单位 ms) 1018h RECORD记录 Identity object厂商 ID标识对象 1019h VAR变量 Sync.counter overflow value同步计数溢出值 1020h ARRAY数组 Verify configuration 验证配置 1021h VAR变量 Store EDS存储 EDS 1022h VAR变量 Storage format存储格式 1023

41、h RECORD记录 OS command 操作系统命令 1024h VAR变量 OS command mode操作系统命令模式 1025h RECORD记录 OS debugger interface操作系统调试接口 1026h ARRAY数组 OS prompt操作系统提示 1027h ARRAY数组 Module list模块列表 1028h ARRAY数组 Emergency consumer紧急报文消费者 1029h ARRAY数组 Error behavior错误行为 5.4 制造商 特定 子协议( Manufacturer-specific Profile) 对象字典索引 200

42、0h to 5FFFh为 制造商 特定 子协议, 通常是存放所应用子协议的应用数据 。而上文所描述的通讯对象子协议区( Communication profile area)是存放这些应用数据的通信参数。比如广州致远电子的 XGate-COP10从站模块规定了: RPDO 的通讯参数存放在 1400h to 15FFh 映射参数存放在 1600h to 17FFh 数据存放为2000h 之后厂商自定义区; TPDO的通讯参数存放在 1800h to 19FFh 映射参数存放在 1A00h to 1BFFh 数据存放为2000h 之后厂商自定 义区。 具体讲解将在后面 PDO(过程数据对象)章节

43、进行详细叙述。 对于在设备子协议中未定义的特殊功能,制造商 也 可以在此区域根据需求定义对象字典对象。因此这个区域对于不同的厂商来说,相同的对象字典项其定义不一定相同 。 广州致远电子 股份 有限公 司 入门教程 工程技术笔记 2013 Guangzhou ZHIYUAN Electronics Stock Co., Ltd. 12 CANopen 轻松入门 5.5 标准化 设备子协议 (Standardized profile area) 标准化 设备子协议,为各种 行业 不同类型的 标准 设备定义对象字典中的对象。目前已有十几种为不同类型的设备定义的子协议,例如 DS401、 DS402、

44、 DS406 等,其索引值范围为 0x6000 0x9FFF。 同样,这个区域对于不同 的标准化设备子协议来说,相同的对象字典项其定义不一定相同。 这部分在本文中不做叙述。 5.6 对象字典和 EDS 文件实例 对于对象字典和 EDS文件的实现,需要使用专用的 EDS生成工具,并且能通过 CiA的EDS测试工具进行一致性测试。 我们可以通过广州致远电子的 CANopen从站协议栈模块 XGate-COP10模块的对象字典和 EDS文件,来 真实 感受一下。 如 图 5.2 所示,为 XGate-COP10 的 EDS 文件导入到 USBCAN-E-P 主站卡管理软件CANManager for

45、 CANopen 中。配置从站框中可以观察到 XGate-COP10 的 对象字典内容,1008h的索引是这个设备的名称 XGate-COP10, 1009h是硬件版本, 100Ah是软件版本, 1018h的索引为标示对象,其下有若干个子索引,其中 1008.01h 的子索引为厂商代码 0x2B6,这是广州致远电子股份有限公司在 CiA协会申请的厂商代码,任何一个生产 CANopen的厂家虽然不强制加入 CiA协会,但必须申请唯一的厂商代码。 图 5.2 对象字典配置 对象字典导出后就是所谓的 EDS 文件,用于随着产品组态时使用。如程序清单所示,广州致远电子 股份 有限公 司 入门教程 工程

46、技术笔记 2013 Guangzhou ZHIYUAN Electronics Stock Co., Ltd. 13 CANopen 轻松入门 为 EDS文件中到 1018h索引的内容。 FileInfo FileName=XGate-COP10.eds FileVersion=1 FileRevision=100 EDSVersion=100 Description=EDS for XGate-COP10 CreationTime=10:22AM CreationDate=06-20-2009 CreatedBy= ModificationTime=10:22AM ModificationD

47、ate=06-20-2009 ModifiedBy=xiangjl, GUANGZHOU ZHIYUAN electronic co.,ltd DeviceInfo VendorName=GUANGZHOU ZHIYUAN electronic co.,ltd VendorNumber=694 ProductName=CANopen Comm_moudle ProductNumber=0 RevisionNumber=100 OrderCode=XGate-COP10 Baudrate_10=1 Baudrate_20=1 Baudrate_50=1 Baudrate_125=1 Baudra

48、te_250=1 Baudrate_500=1 Baudrate_800=1 Baudrate_1000=1 SimpleBootUpMaster=0 SimpleBootUpSlave=1 Granularity=8 DynamicChannelsSupported=0 GroupMessaging=0 NrOfRXPDO=12 NrOfTXPDO=12 LSS_Supported=1 DummyUsage Dummy0001=0 Dummy0002=0 Dummy0003=0 Dummy0004=0 Dummy0005=1 广州致远电子 股份 有限公 司 入门教程 工程技术笔记 2013 Guangzhou ZHIYUAN Electronics Stock Co., Ltd. 14 CANopen 轻松入门 Dummy0006=1 Dummy0007=1 Comments Lines=1 Line1=XGate-COP10 MandatoryObjects SupportedObjects=3 1=0x1000 2=0x1001 3=0x1018 1000 ParameterName=Device Type ObjectType=0x7 DataType=0x0007 AccessType=ro DefaultValue=0x0 PDO

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 实用文档 > 简明教程

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报