CANopen协议浅析(一)

上传人:ali****an 文档编号:134569263 上传时间:2020-06-06 格式:PPT 页数:33 大小:560.50KB
返回 下载 相关 举报
CANopen协议浅析(一)_第1页
第1页 / 共33页
CANopen协议浅析(一)_第2页
第2页 / 共33页
CANopen协议浅析(一)_第3页
第3页 / 共33页
CANopen协议浅析(一)_第4页
第4页 / 共33页
CANopen协议浅析(一)_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《CANopen协议浅析(一)》由会员分享,可在线阅读,更多相关《CANopen协议浅析(一)(33页珍藏版)》请在金锄头文库上搜索。

1、Reporter Kingc yu CANopen协议浅析 2008 6 CANopen报文分析 主要内容 CANopen协议概述 CANopen设备模型 CANopen通信对象 CANopen预定义连接集 CANopen协议是由CiA CAN in Automation 定义并维护的协议之一 它是在CAL CANApplicationLayer 协议基础上开发的 使用了CAL通信和服务协议子集 CANopen在发布后不久就获得了广泛的承认 尤其在欧洲 CANopen被认为是在基于CAN的工业系统中领导地位的标准 目前被广泛地用于智能楼宇 嵌入式系统 车载设备 医疗装置等应用领域中 CANop

2、en协议概述 在OSI模型中 CAN标准 CANopen协议之间的关系如下图所示 CANopen协议概述 CANopen协议由一系列称为子协议的文档构成 通讯子协议 CANopen协议概述 DS301 ApplicationLayerandCommunicationProfile规定了基本的通信机制及其特性 适用于所有CANopen设备 设备子协议 设备子协议定义了不同类型的标准设备及其相应的功能 DS401 I O模块 DS402 运动控制设备 如电机 DS404 闭环控制器 DS405 PLC DS406 编码器 CANopenApplicationLayer CANDataLinkLay

3、er CANPhysicalLayer CANopenApplicationLayer CANDataLinkLayer CANPhysicalLayer ObjectatIndex ID Data ID Data CAN H CAN L CAN L TransmittingDevice ReceivingDevice 不同设备之间的通信模型 CANBus CANopen协议概述 CANopen设备模型 一个CANopen设备可以分为三个部分 通讯接口 对象字典 OD ObjectDictionary 应用 通讯接口 PDOSDO特殊功能对象NMT 对象字典 数据类型通讯对象应用对象 应用 应

4、用程序设备子协议实现 I O CAN CANopen设备模型 CANopen网络中每个节点都有一个对象字典 对象字典包含了描述这个设备和它的网络行为的所有参数 Index hex Object 0000 NotUsed 0001 001F 静态数据类型 标准数据类型 如Boolean Integer16 0020 003F 复杂数据类型 预定义由简单类型组合成的结构 如PDOCommPar SDOParameter 0040 005F 制造商规定的复杂数据类型 0060 007F 设备子协议规定的静态数据类型 0080 009F 设备子协议规定的复杂数据类型 00A0 0FFF Reserve

5、d 1000 1FFF 通讯子协议区域 如设备类型 错误寄存器 支持的PDO数量 2000 5FFF 制造商特定子协议区域 6000 9FFF 标准的设备子协议区域 例如 DSP 401I O模块设备子协议 ReadState8InputLines等 A000 FFFF Reserved CANopen设备模型 对象字典是一个有序的对象组 每个对象采用一个16位的索引 Index 值来寻址 为了允许访问数据结构中的单个元素 同时定义了一个8位的子索引 Sub Index 索引和子索引唯一确定了对象字典的入口 通过该入口可以对设备的 应用对象 进行基本的网络访问 设 备的 应用对象 可以是输入输

6、出信号 设备参数 网络变量等 例如 在台达VFD B系列变频器 COA02 的对象字典中 主索引2020定义了三个控制变频器的参数 通过子索引就可以具体定位某个参数 如2020 2就对应了变频器的FrequencyCommand CANopen通信对象 ProcessDataObjects PDO ProtocolServiceDataObject SDO ProtocolsSpecialObjectProtocols Synchronization SYNC ProtocolTimeStampProtocolEmergency EMCY ProtocolNetworkManagementPr

7、otocols NMTMessageProtocolBoot UpProtocolErrorControlProtocol CANopen通信对象 Thereal timedatatransferisperformedbytheProcessDataObjects PDOs protocol WithServiceDataObjects SDOs protocolsthereadandwriteaccesstoentriesofadeviceobjectdictionaryisprovided SpecialFunctionObjectprotocolsprovideapplication s

8、pecificnetworksynchronization timestampingandemergencymessagetransmissions TheNetworkManagement NMT protocolsprovideservicesfornetworkinitialization errorcontrolanddevicestatuscontrol CANopen通信对象 CANopen网络中信息传输采用的三种通信模式 Producer ConsumerModel Client ServerModel Master SlaveModel CANopen通信对象 Producer

9、 ConsumerModel request 0 8Byte Indication s Producer Consumer CANDataFrame Indication response request s CANRemoteFrame 0 8Byte CANDataFrame confirmation s CANopen通信对象 Client ServerModel request 0 8Byte Indication Server Client CANDataFrame1 response 0 8Byte CANDataFrame2 confirmation CANopen通信对象 Ma

10、ster SlaveModel request 0 8Byte Indication s Slave Master CANDataFrame response CANRemoteFrame 0 8Byte CANDataFrame confirmation request Indication CANopen通信对象 ProcessDataObject PDOProducer PDOConsumer PDOConsumer PDOConsumer ID Data CANopen通信对象 PDO的三种触发机制 EventorTimerdriven Remotelyrequested Synchr

11、onoustransmission cyclic acyclic Internalevent Producer Consumer s Producer RemoteFrame Consumer s Producer Sync Consumer s CANopen通信对象 PDO的传输类型 ThetypeindicatethenumberofSYNCobjectsbetweentwoPDOtransmissionsDataisupdated butnotsent immediatelyafterreceptionoftheSYNCDataisupdatedatthereceptionoftheR

12、TRApplicationeventisdevice specificApplicationeventisdefinedinthedeviceprofile CANopen通信对象 Type0 非周期同步 只有当节点PDO数据发生改变后 节点收到SYNC时 才会更新并传送一笔PDO数据信息 在异步模式中 若从站中的Eventtimer为0ms 则只有当从站的数据发生变化时 才会向主站回传数据 若为非0值 则每隔一个eventtimer时间 即向主站回传一笔数据 inhibittime指的是PDO禁止时间 即发出一笔PDO数据后 inhibittime内不允许再发同一个PDO数据 CANopen

13、通信对象 PDO 1 PDO 1 PDO 1 0 200 400 600 800 1000 1200 1400 1600 t us Request PDO 2 PDO 3 PDO 1 0 200 400 600 800 1000 1200 1400 1600 t us Transmission PDO 3 PDO 1Inhibittime PDO 2 PDO 1 通过设置inhibittime 使得优先权低于PDO1的PDO2和PDO3能够获得总线权 从而得以传输 CANopen通信对象 每个PDO在对象字典中用两个对象来描述 PDO通信参数 包含哪个COB ID将被PDO使用 传输类型 禁止

14、时间和定時器周期 Index Sub Index Description DataType 1XXXh 0h NumberofEntries Unsigned8 1h COB ID Unsigned32 2h Transmissiontype Unsigned8 3h Inhibittime Unsigned16 4h reserved Unsigned8 5h Eventtimer Unsigned16 PDO映射参数 包含一个对象字典中对象的列表 这些对象被映射到PDO里 CANopen通信对象 Index Sub Index Description DataType 1XXXh 0h N

15、umberofEntries Unsigned8 1h 1stobject Unsigned32 2h Unsigned32 3h 3rdobject Unsigned32 40h 64thobject Unsigned32 2ndobject 311615870 映射对象的内容格式 CANopen通信对象 RxPDO 1 Example 配置VFD EC的RxPDO1 CANopen通信对象 Example 在CANopenBuilder软件中配置VFD EC的RxPDO1 CANopen通信对象 PDO参数集 CANopen通信对象 ServiceDataObject ID2 Data I

16、D1 Data SDOServer OD SDOClient Noden OD CANopen通信对象 通过使用索引和子索引 SDO使客户机能够访问设备 服务器 对象字典中的项 对象 SDO允许传送任何长度的数据 当数据长度超过4个字节时将数据分拆成几个报文 采用分段 segment 传送的方式传送数据 也可采取分块 block 的方式进行传送 每个块最多可包含127个段 一个SDO需要两个ID COB ID 580h NodeID的报文为SDO请求报文 COB ID 600h NodeID的报文为SDO应答报文 SDO请求和应答报文总是包含8个字节 SDO通讯有较多的协议规定 CANopen通信对象 SDO分段传送 Client Server InitialSDOdown upload e 0 ConfirminitialSDOdown upload Down uploadSDOsegment t 0 c 0 Confirmdown uploadsegment1 Down uploadsegmentn t c 1 Confirmdown uploadsegmentn Client S

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

当前位置:首页 > 商业/管理/HR > 商业计划书

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