苏州实操派科技有限公司官网-实操派教育科技,汇川技术PLC培训,实操派PLC培训,苏州PLC培训机构

terry_KT

文档

24

关注

0

好评

0
PDF

CANopen_easy_begin

阅读 503 下载 144 大小 3.75M 总页数 39 页 2024-08-07 分享
价格:免费文档
下载文档
/ 39
全屏查看
CANopen_easy_begin
还有 39 页未读 ,您可以 继续阅读 或 下载文档
1、本文档共计 39 页,下载后文档不带水印,支持完整阅读内容或进行编辑。
2、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
4、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。 免责声明: 版权:我们作为资源的整理方,所有资源均来自互联网的优秀作者们,版权归原作者或企业所有。
申明:任何使用本站收集的资源产生的不测后果,本站不对此负任何责任。
广州致远电子股份有限公司CANopen轻松入门入门教程1.前言本教程适用于CIA CANopen协议DS301又名CIA301标准。用户须已经掌握CAN2.0A协议的基本知识。即基本的帧结构、D、数据、DLC等知识,本文不再从CAN底层开始叙述。如果读者需要了解CAN底层,推荐北京航空航天出版社出版的《项目驱动一一CAN-bus现场总线基础教程》。本文由广州致远电子股份有限公司周立功、黄敏思等整理和编撰。文章引用CANopen协会CA组织的蔡豪格主席肖像与多篇示意图,再次表示非常感谢!工程技术笔记2013 Guangzhou ZHIYUAN Electronics Stock Co.,Ltd.广州致远电子股份有限公司CANopen轻松入门入门教程2.CANopen在ISO层级中的位置从OSI的7层网络模型的角度来看同,CAN(Controller Area Network)现场总线仅仅定义了第1层(物理层,见S011898-2标准)、第2层(数据链路层,见S011898-1标准):而在实际设计中,这两层完全由硬件实现,设计人员无需再为此开发相关软件(Software)或固件(Firmware),只要了解如何调用相关的接口和寄存器,即可完成对CAN的控制。如图2.1所示。CAN-bus发送CAN内核接位流发送缓冲区CTXD控处理器(CAN帧)CAN接管理错误管接收缓冲区理逻辑收发器验收CRXD辑(CAN帧)滤波位逻辑接收控制图2.1CAN控制器结构但CAN没有规定应用层。也就是没有规定与实际应用相关的逻辑,比如开关量输入输出,模拟量输入输出。所以本身对于应用来说,是不完整的。这就像铁矿石(物理层)冶炼成铁锭(数据链路层),然后针对具体应用,再加工做成汽车、轮船、钢筋、坦克、钢结构建筑等等。如图2.2所示。铁矿石(物理层)铁锭(数据链路层)各种钢铁制品(应用层)图22从物理层到应用层因此,基本每个行业的CAN应用,都需要一个高层协议来定义CAN报文中的1129位标识符、8字节数据的使用。但在CAN总线的工业自动化应用中,由于设备的互通互联的需求越来越多,所以需要一个开放的、标准化的高层协议:这个协议支持各种CAN厂商设备的互用性、互换性,能够实现在CAN网络中提供标准的、统一的系统通讯模式,提供设备功能描述方式,执行网络管理功能。其中包括:●应用层(Application layer):为网络中每一个有效设备都能够提供一组有用的服务与协议。通讯描述(Communication profile):提供配置设备、通讯数据的含义,定义数据通讯方式。设备描述(Device proflile):为设备(类)增加符合规范的行为。工程技术笔记2013 Guangzhou ZHIYUAN Electronics Stock Co.,Ltd.2广州致远电子股份有限公司CANopen轻松入门入门教程3.CANopen协议诞生和发展CANopen协议是在20世纪90年代末,由总部位于德国纽伦堡的CiA组织一一CAN-in-Automation,(://www.can-cia.org)在CAL(CAN Application Layer)的基础上发展而来。certified by图3.1 CANopen与CiA由于CANopen协议的创始人团队也是CAN-bus的创始人团队,此协议充分发挥了CAN-bus所具备的所有优势,特别是CiA组织的主席蔡豪格(Holger Zeltwanger)先生对于CANopen协议坚持开放、免费、非盈利的原则。一经推出便在欧洲得到了广泛的认可与应用。虽然CiA组织背后没有强大的财阀支撑,但时至今日已经成为全世界最为流行的CAN应用层协议。让我们记住这位可爱的德国老人,如图3.2所示。CAN update seminar图3.2CA组织蔡豪格主席经过对CANopen协议规范文本的多次修改,使得CANopen协议的稳定性、实时性、抗干扰性都得到了进一步的提高。并且CiA在CANopen基础协议一一CiA301之上,对各个行业不断推出设备子协议,使CANopen协议在各个行业得到更快的发展与推广。所谓的子协议,就是针对不同行业的应用对象,对CANopen内部的数据含义进行重新定义,或者添加新的控制逻辑。目前CANopen协议已经在运动控制、车辆工业、轨道交通、电机驱动、工程机械、船舶海运等行业得到广泛的应用。比如轨道交通中的城市轻轨车辆(低地板车)中,CA联合西门子、庞巴迪等轨道交通厂商,共同制定了以下轨道交通相关的CANopen子协议:◆CiA42 1 series:Train vehicle control system列车车辆控制系统◆CiA423 series:Diesel engine control system柴油机控制系统◆CiA424 series:Door control system门控制系统◆CiA426 series::Exterior light control system外部灯控制系统◆CiA430 series:Auxiliary equipment control system辅助设备控制系统工程技术笔记2013 Guangzhou ZHIYUAN Electronics Stock Co.,Ltd.3广州致远电子股份有限公司CANopen轻松入门入门教程◆CiA433 series:Interior light control system内部灯控制系统如图3.3所示,为CANopen在轨道列车中的地位,主干网为列车总线(WTB),每接车厢采用车辆总线(MVB)来连接与列车行驶相关,对实时性要求高的部件。而CANopen主要是连接各种非高安全性的部件。WTB(wired train bus)DisplayDriveSelectronGateway(2)(4)MVB(multi vehicle bus)PLCCAN MVBBrakeInverter(2)(3)CANopen (IEC 61375-3-3)DoorTrip odoAir-conDiesel-Passen-Brake(8)meterdition(5)Gen(2)ger info(14)lever (2)IFEDeutaLiebherrTognumGSPSelectronSchaltbau图3.3 CANopen在轨道交通中的应用图3.4所示为CANopen设备结构。CANopen协议通常分为用户应用层、对象字典以及通信三个部分。其中最为核心的是对象字典,描述了应用对象和CANopen报文之间的关系。CANopen通信是本文关键部分,其定义了CANopen协议通信规则以及与CAN控制器驱动之间对应关系,熟悉这部分对全面掌握CANopen协议至关重要。用户应用层是用户根据实际的需求编写的应用对象,这部分本入门教程将不作详细。通讯对象字典应用管理报文应用对象服务数据对象应用对象过程数据对象入口n预定义或特殊应用对象功能对象CAN-bus系统进程图3.4 CANopen设备结构工程技术笔记2013 Guangzhou ZHIYUAN Electronics Stock Co.,Ltd.4广州致远电子股份有限公司CANopen轻松入门入门教程4.CANopen的预定义报文ID分类在CANopen创立之初,即使在CAN总线应用最广泛的汽车电子行业,网络中的CAN节点数量和需要通讯的信息都是比较少的。人们使用CAN取代RS485,主要是看重其可以突发发送的实时性优势,而在多节点、长距离应用中,CAN总线和RS485比起来并无优势,比如同样的波特率下,CAN的通信距离只能达到RS485的0.6-0.8倍,而多节点通信CAN无法进行任意的突发发送,不得不遵循RS485那样的轮询通信机制,否则会导致拥堵,如图4.1所示。就像这个十字路口的汽车,如果车只有10辆,即使没有交通灯,根本不会拥堵。而如果有100辆,如果任意行驶,就会发生严重拥堵。图4.1CAN的突发优势和多节点拥堵CANopen的创始人是非常了解CAN总线这个特征,所以在设计CANopen时,对其定义为小网络、控制信号的实时通讯:●报文传输采用CAN标准帧格式。即11bit的ID域,以尽量减小传输时间:CAN-ID/COB-ID11109876532网络控制报文均采用数据最小字节数。比如心跳报文,只有1个字节数据:实时更新的过程数据无需接收方报文应答。即采用生产消费模型,降低总线负载:需要接收方确认的配置参数一般都是采用快速单字传输。即1个报文最多传送1个32字节的参数变量,避免了分帧引起的实时性降低。以上这些定义都是为了节约时间开销,最大限度保证实时性。同时为了减小简单网络的组态工作量,CANopen定义了强制性的缺省标识符(CAN帧ID)分配表,以减少使用者与维护者的学习时间,快速上手。4.1网络管理(NMT)与特殊协议(Special protocols)报文ID分类虽然CANopen的通讯发挥了CAN的特色,所有节点通信地位平等,运行时允许自行发送报文,但CANopen网络为了稳定可靠可控,都需要设置一个网络管理主机NMT-Master(Network Management--Master),就像一个交响乐团的指挥家,所有节点的启动、停止都是有他进行指挥,如图4.2所示。工程技术笔记2013 Guangzhou ZHIYUAN Electronics Stock Co.,Ltd.5广州致远电子股份有限公司CANopen轻松入门入门教程slavedeviceslaveNMTslavedevicemasterdevicedeviceslavedevice图4.2NMT-Master就像交响乐指挥家NMT主机一般是CANopen网络中具备监控的PLC或者PC(当然也可以是一般的功能节点),所以也成为CANopen主站.相对应的其他CANopen节点就是NMT从机NMT-slaves)。NMT主机和NMT从机之间通讯的报文就称为NMT网络管理报文.管理报文负责层管理、网络管理和D分配服务。例如,初始化、配置和网络管理(其中包括节点保护)。网络管理中,同一个网络中只允许有一个主节点、一个或多个从节点,并遵循主从模式。另外,为了协调各个节点的同步、心跳、时间、错误提示等通讯控制,CANopen还定义了一系列特殊协议(Special protocols)报文。如表4.1所示,为CANopen预定义报文(Pre-defined CAN-IDs)的NMT报文和特殊协议报文。表4.1NMT与特殊协议的CAN-ID定义Object对象Specification规范CAN-IDNMT网络管理命令CiA301Global failsafe mand全局故障安全命令CiA304Flying master动态主站CiA302-2071hto076Indicate active interface标示活动接口CiA302-6Sync同步报文CiA301080Emergency紧急报文CiA301Time stamp时间藏报文CiA301100Safety-relevant dataobjects安全相关数据对象CiA301101hto180CAN-D就是这类报文的COBD,其中读者必须需要记住的是绿色底纹的这些常用的CAN-ID含义,在研发和应用CANopen中,这三类是最为常用的NMT与特殊协议报文。工程技术笔记2013 Guangzhou ZHIYUAN Electronics Stock Co.,Ltd.6广州致远电子股份有限公司CANopen轻松入门入门教程4.2过程数据对象(PD0)和服务数据对象(SDO)的报文ID分类用户应用CANopen时,需要传递的配置信总和应用信息都是放在过程数据对象PDO(Process data object)和服务数据对象SDO(Service data object)里面。这些对象就和市场上卖水果的箩筐,大小是一样的,只是装的东西(应用数据)不一样,如图4.3所示。这就是CiA301协议所规定的基础协议一一“箩筐”,而CiA4xx的子协议或者用户自定义的对象就是“箩筐”里面的东西。图4.3PDO和SDO就像水果箩筐PDO和SDO的通讯区别在于,PDO属于过程数据,即单向传输,无需接收节点回应CAN报文来确认,从通讯术语上来说是属于“生产消费”模型。如图4.4所示。生产者1.生产消费模型消费者(1个或者多个)输入信息CAN数据帧执行动作0to8字节CAN-ID:0 to 2048图4.4生产消费模型而SDO属于服务数据,有指定被接收节点的地址(Node-ID),并且需要指定的接收节点回应CAN报文来确认已经接收,如果超时没有确认,则发送节点将会重新发送原报文。这种通讯方式属于常见的“服务器客户端”的通信模型,即我们通常所说的轮询式。如图4.5所示。2.服务器客户端模型执行动作CAN数据帧或者远程帧请求(1个或者多个)CAN-ID:0 to 2048响应CAN数据帧确认0to8字节CAN-ID:0 to 2048图4.5服务器客户端模型工程技术笔记2013 Guangzhou ZHIYUAN Electronics Stock Co.,Ltd.广州致远电子股份有限公司CANopen轻松入门入门教程对于PDO和SDO的报文D分配,为了减少网络的组态工作量,CANopen预定义了强制性的缺省标识符(CAN-D)分配表,该分配表是基于11位CAN-D的标准帧格式。将其划分为4位的功能码(Function-D)和7位的节点号(Node-ID)。如图4.6所示.CAN帧ID10功能码节点号图4.6PDO和SD0的预定义连接D分配在CANopen里也通常把CAN-D称为COB-D(通信对象编号)。所以我们可以分清楚两个易于混清的名称:·COB-D:Communication Object Identifier,,即CANopen中对某种通讯对象的报文帧ID,即CAN报文的11位ID。代表了一种通讯含义。·Node-D:节点ID号,即CANopen网络中的节点地址,CANopen规定了逻辑上最大128个节点,所以Node-ID最大为128(7位)。COB-D和Node-D无必然联系,但在过程数据对象(PDO)和服务数据对象(SDO)中,COB-D中包含了Node-ID。由于需要区分每个CANopen节点的输入和输出,所以PDO分为TPDO(发送PDO)和(接收RPDO),发送和接收是以CANopen.从站节点为参考(如果CAN主站就相反).TPDO和RPD0分别有4个数据对象,年种数据对象就是1条CAN报文封装,如表4.2所示,这些都是数据收发的容器,就像图4.3所示,水果箩筐为使用者准备好,就看使用者在里面放什么水果了。而SDO就相对比较简单固定,发起通讯的问SDO的CAN帧D就是600.+node-D,这里的Node-ID是被问的节点地址,而被问的节点应“答”SDO的CAN帧D就是580+node-ID。一般在CANopen网络中,只有NMT主机能发起SDO通讯,进行节点参数配置或者关键性参数的传递。当然从节点也可以对其他从节点发起SDO通讯。如表4.2所示。为CANopen预定义报文的PDO报文和SDO报文中的ID分类。使用者务必牢记!表4.2PDO与SDO的CAHD定义Object对象Specification规范CAN-ID (COB-ID)TPDO1发送过程数据对象1CiA301181 to IFF (180+node-ID)RPDO1接收过程数据对象1CiA301201 to 27F (200 +node-ID)TPDO2发送过程数据对象2CiA301281 to 2FF (280 +node-ID)RPDO2接收过程数据对象2CiA301TPDO3发送过程数据对象3CiA301RPDO3接收过程数据对象3CiA301TPDO4发送过程数据对象4CiA301RPDO4接收过程数据对象4CiA301Default SDO server-to-client服务数据对象“答”CiA301CiA301工程技术笔记2013 Guangzhou ZHIYUAN Electronics Stock Co.,Ltd.8广州致远电子股份有限公司CANopen轻松入门入门教程5.对象字典OD(Object dictionary)CANopen对象字典(OD:Object Dictionary)是CANopen协议最为核心的概念。所谓的对象字典就是一个有序的对象组,描述了对应CANopen节点的所有参数,包括通讯数据的存放位置也列入其索引,这个表变成可以传递形式就叫做EDS文件(电子数据文档Electronic Data Sheet)。对象字典,就像体检表,具备这个人每个功能的参数,便于用人单位(主站)进行合理分配工作。如图5.1所示。姓名性别女年龄30部门一般查体眼科轻度干眼症测定值正常值口腔分项日测定值正常值4.443.89-6.10mmolL甘油三脂0.3343.235-55g1e2.8323.703.1171.644-133umoIL2.1平均血红蛋自含量图5.1对象字典与体检表每个对象采用一个16位的索引值来寻址,这个索引值通常被称为素引,其范围在0x0000到0x℉FF之间.为了避免数据大量时无索引可分配,所以在某些索引下也定义了一个8位的索引值,这个索引值通常被称为子索引,其范围是0x00到0xFF之间。每个索引内具体的参数,最大用32位的变量来表示,即Unsigned32,四个字节。每个CANopen设备都有一个对象字典,使用电子数据文档(EDS文件)来记录这些参数,而不需要把这些参数记录在纸上。对于CANopen网络中的主节点来说,不需要对CANopen从节点的每个对象字典项都访问。CANopen对象字典中的项由一系列子协议来描述。子协议为对象字典中的每个对象都描述了它的功能、名字、索引、子索引、数据类型,以及这个对象是否必需、读写属性等等,这样可保证不同厂商的同类型设备兼容。CANopen协议的核心描述子协议是DS30l,其包括了CANopen协议应用层及通信结构描述,其它的协议子协议都是对DS301协议描述文本的补充与扩展。在不同的应用行业都会起草一份CANopen设备子协议,子协议编号一般是DS4xx。工程技术笔记2013 Guangzhou ZHIYUAN Electronics Stock Co.,Ltd.9
文档评分
    请如实的对该文档进行评分
  • 0
发表评论

"π³ 实操派",培养中高端PLC工程师,PLC培训-Codesys培训

项目实战 手把手教学 微信&电话 15850116008
超2000节系统化课程,汇川优秀自动化讲师亲授!学一门Codesys,玩800家PLC仅剩少量名额
点击免费试听

到实操派,学PLC就是快!

扫码领取工控文库VIP

钻石VIP先到先得

服务电话 & 微信:9:00-22:00

15850116008

苏州实操派科技有限公司

公司地址:江苏省苏州市吴中区越溪街道天鹅荡路5号31B13

Copyright © 苏州实操派科技有限公司 2022 到实操派,学PLC就是快!工业自动化业务培训适用人群:成人 ( 苏ICP备2022021576号-3 )

公司地址:江苏省苏州市吴中区越溪街道天鹅荡路5号31B13

返回顶部