CANopen现场总线
- 格式:ppt
- 大小:3.43 MB
- 文档页数:10
CANOPEN现场总线应用层协议主站的开发与实现的开题报告一、选题背景随着工业自动化和智能制造的发展,现场总线技术逐渐成为连接工业自动化设备的重要手段。
CANOPEN现场总线协议是一种基于CAN总线的实时通信协议,它能够实现控制器之间的数据交换和通信。
在工业控制系统中,CANOPEN现场总线协议被广泛应用于传感器、执行器、驱动器、PLC等设备之间的数据通信和控制。
CANOPEN现场总线协议包括物理层、数据链路层、网络层和应用层四个部分。
其中应用层是CANOPEN现场总线协议的核心,它定义了设备之间的数据通信、配置和控制的方式,是现场总线设备之间进行的最高层次的通信。
在此背景下,本文选取CANOPEN现场总线应用层协议主站的开发与实现为课题,旨在探究CANOPEN现场总线协议的应用层协议主站的开发方法和实现过程,为工业控制系统中CANOPEN现场总线协议的应用提供技术支持。
二、研究内容本课题的研究内容主要包括:1. CANOPEN现场总线协议的基本原理和通信机制。
2. CANOPEN现场总线协议的应用层协议主站的开发方法和实现步骤。
3. 设计并实现一个CANOPEN现场总线应用层协议主站,包括主站配置、数据传输、节点管理等功能。
4. 测试CANOPEN现场总线应用层协议主站的性能和稳定性,分析现场总线设备之间的数据通信和控制效果。
三、研究意义和价值CANOPEN现场总线协议是目前工业自动化领域最为流行的现场总线协议之一,研究CANOPEN现场总线协议的应用层协议主站的开发方法和实现过程,对于推动工业自动化技术的进步、提高生产效率和产品质量具有重要意义和价值。
本课题的研究成果,一方面可以加深人们对CANOPEN现场总线协议应用层协议主站的理解,另一方面可以为相关工程技术人员提供可供参考的实现思路和方法,从而减少开发过程中出现的错误和问题,提高开发效率和质量。
四、预期研究结果本课题的预期研究结果包括:1. 详细介绍CANOPEN现场总线协议的基本原理和通信机制,为进一步理解CANOPEN协议打下基础。
CAN和CANopen的差别CAN及CANopen介绍第一部分:CAN硬件介绍CAN:最早的现场总线、最广泛应用的现场总线CANopen:CIA定义的最为成功的CAN应用层协议,在基于CAN的自动化系统中居于领导地位,欧洲标准EN-50325-4CAN+CANopen:机器自动化(MA)领域最为成功的总线解决方案,在欧美广泛被应用CAN总线系统解决方案即是利用CAN总线的优点及其特长为机器自动化设备提供高效、可靠、性价比高的解决方案。
作为机器自动化领域总线解决方案倡导者,CAN总线系统解决方案更能满足您对性价比的要求。
现场总线(Fieldbus)技术从提出到现在有二十多年了,作为工业数据总线,它主要解决工业现场的智能化仪器仪表、控制器、执行机构等现场设备间的数字通信以及这些现场控制设备和高级控制系统之间的信息传递问题,通过模拟变数字实现了不同公司产品间的互操作性问题,使用户有了更大的选择权,尤其它解决了流行几十年的传统系统过于封闭、难以维护的缺点。
采用现场总线控制技术,可大大简化系统集成的工作量、为控制系统的安装调试节省大量的费用,而系统的可靠性、稳定性却得到大幅提高,配合现场总线技术的各类总线诊技术进一步提高了整个系统的性能。
强大的通讯功能又使得系统更加开放透明。
CAN现场总线技术是集自动控制技术、通讯技术、传感技术、计算机技术、诊断技术、微电子技术、网络技术等于一体,是个革命性的技术,正被广泛应用于自动化各个领域。
目前广泛使用的其它现场总线还有Profibus、DeviceNet、ControlNet、HART、FF等等,但是CAN总线是所有现场总线中最早出现的,也是最适合于机器自动化领域的现场总线,如今它已经广泛应用于汽车、飞机、轮船、印刷、纺织、电子等等加工领域,是目前应用领域最为广泛的现场总线。
现场总线是一种革命性的通讯控制技术,因其具有很多普通控制方式不具有的优点,所以才得到了迅速的推广应用,与老的控制方式比较起来它主要的优势如下:节约布线成本,减少布线时间,减小出错机率(对于大型设备尤为突出,如果当驱动器、变频器、传感器等放置到现场的话,可以节省大量的电缆费用);减小施工难度,缩短施工周期降低系统总成本(从安装、系统维护、升级方面大幅降低系统成本)可靠性更高,抗干扰能力更强(比传统485通讯方式更为可靠,更不易受干扰)走线少、全数字信息交互(模拟量通常易受干扰)信息量更大(节点数据信息、状态信息、异常信息等均可方便提供)实时性更高(比传递485通讯速度大大提高,是485通讯速度的100倍左右,且避免了485通讯方式的多控制器之间交换方式,直接由一个PLC来协调处理,实时性大为提高)可维护性更强(可以很方便检测出系统故障所在,且几乎所有的CAN从站都具有故障诊断能力,便于排查及处理)开发性更加(目前全球范围内生产总线产品设备的厂家达上千家,客户可以任意选择适合字节的设备)CAN总线除了具有一般总线所具有的优点外,还专门根据机械自动化的特点,根据其需求提供了一些非常具有优势的技术特点:高速的数据传输速率高达1Mbit/s;CAN协议最大的特点是废除了传统的站地址编码,代之以对数据通信数据块进行编码,可以多主方式工作;CAN采用非破坏性仲裁技术,当两个节点同时向网络上传送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据,有效避免了总线冲突;任何一个节点均可自动发送报文,不需主站询问;可根据报文的ID决定接收或屏蔽该报文可靠的错误处理和检错机制可选择对网络进行三种操作:无处理、停止故障从站、停止整个网络CAN节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上其它操作不受影响发送的信息遭到破坏后可自动重发节点在错误严重的情况下具有自动退出总线的功能报文不包含源地址或目标地址,仅用标识符来指示功能信息优先级信息CAN可以点对点、一点对多点(成组)及全局广播集中方式传送和接受数据;采用不归零码(NRZ—Non-Return-to-Zero)编码/解码方式,并采用位填充(插入)技术;革命化的报文传输方式:SDO主要用来在设备之间传输低优先级的数据,典型是用来对从设备进行配置、管理;PDO一次性可传送8个字节的数据,没有其它协议预设定(意味着数据内容已预先定义),主要用来传输需要高频率交换的数据。
CANopen协议应用指南CANopen协议是一种用于控制与通信领域的通用现场总线协议。
它构建在CAN(控制器区域网络)总线上,提供了一种开放、高效、可靠和灵活的方式来组织和管理分布式系统。
本文将介绍CANopen协议的应用指南,主要包括网络结构、数据通信、设备配置和节点管理等方面。
首先,网络结构是CANopen协议应用的基础。
CANopen网络由一个或多个节点组成,节点之间通过CAN总线进行通信。
每个节点都有一个唯一的标识符,用于区分不同的节点。
网络结构可以是主-从结构,其中一个节点作为主节点,负责控制和管理其他从节点;也可以是对等结构,所有节点都可以互相通信和交互。
网络结构的选择取决于实际应用的需求。
其次,数据通信是CANopen协议的核心功能之一、CANopen提供了多种数据通信方式,包括广播通信、点对点通信和多点通信。
广播通信是将数据广播到整个网络中的所有节点;点对点通信是两个特定节点之间的直接通信;多点通信是将数据发送到一个或多个指定的节点。
CANopen还提供了一种灵活的通信参数设置机制,可以根据应用需求进行定制。
设备配置是CANopen协议应用中的重要环节。
每个CANopen设备都有一个设备描述文件(EDS),其中包含了设备的标识、功能和配置信息。
在设备配置过程中,需要根据实际应用需求修改和设置设备的各个参数,例如节点ID、通信速率、数据对象和服务对象等。
设备配置的目的是确保网络中的所有节点能够正确地进行通信和交互。
最后,节点管理是CANopen协议应用中的关键任务之一、节点管理包括节点的启动、停止、心跳检测、重启以及节点状态的监控和管理等。
CANopen协议提供了一系列的节点管理服务,如NMT(网络管理)服务、SDO(服务数据对象)服务和EMCY(紧急)服务等。
通过节点管理,用户可以对网络中的节点进行灵活的控制和管理。
总结而言,CANopen协议是一种强大的通信协议,可以广泛应用于控制与通信领域。
CANopen通讯协议介绍CANopen是一种现场总线通信协议,它基于CAN(Controller Area Network)总线,用于在工业自动化和机器控制领域的设备之间进行通信。
它提供了一种标准化的通信和数据传输方式,具有高可靠性和实时性的特点。
CANopen协议在1994年首次发布,由CAN in Automation(CiA)组织负责制定和推广。
它采用基于对象的通信模型,通过定义不同类型的对象和对象字典来进行数据传输和设备之间的交互。
CANopen协议定义了不同的设备和功能模块之间的消息结构、通信规则和参数设置等。
CANopen协议提供了一种灵活且可扩展的通信方式,可以支持多种不同类型的设备和功能模块。
它可以用于各种应用领域,例如工业机器人、自动化生产线、电动机控制、安全系统和智能家居等。
CANopen协议适用于小型设备和大型系统,可以通过简单的点对点连接或复杂的网络结构进行通信。
1. 对象导向:CANopen协议采用面向对象的通信模型,通过定义对象和对象字典来进行数据传输和设备之间的交互。
对象可以是实际的物理设备、功能模块或数据结构。
对象字典是一个集合,用于存储和管理不同类型的对象。
2. 报文结构:CANopen协议定义了不同类型的报文结构,包括同步报文、时间戳报文、心跳报文、PDO(Process Data Object)报文和SDO (Service Data Object)报文等。
这些报文用于不同的通信任务和数据传输需求。
3. 设备配置:CANopen协议支持动态设备配置,可以自动检测和配置新加入的设备。
设备可以通过网络管理工具或主控设备进行配置和监控。
设备的参数设置和功能扩展可以通过SDO报文进行远程配置。
4. 网络管理:CANopen协议支持多种网络拓扑结构,包括主从结构、多主结构和对等结构等。
它提供了网络节点的自动发现、节点状态监测、网络同步和错误诊断等功能。
可以通过网络管理工具进行网络配置和监控。
◆CAN总线使用了11位的标识符,并通过位同步机制,迫使低优先级的报文自动放弃对总线的驱动,实现了冲突避免机制,与基于冲突检测机制的现场总线相比,CAN总线的冲突避免机制保证了在高网络负载情况下的高总线有效使用率,从而能够有效地支持分布式控制系统或实时控制系统,具有低成本、高可靠性、高抗干扰能力和高实时性等特点。
此后,于1993年颁布的ISO11898国际标准[5]为CAN 总线的规范化和应用系统设计铺平了道路。
同时,各种基于CAN协议的高层协议开发使得CAN总线功能更强,应用范围更广,不仅在汽车工业、过程控制、数控机床和纺织机械等领域已取得广泛运用,而且正在向医疗、电力、海运电子设备等方面发展,以1993 年颁布的ISO11898国际标准。
◆ CAN 本身是一个底层协议,仅详细定义了物理层和数据链路层,本身并不完整。
很多复杂的应用问题需要更高层次的定义来解决。
比如,CAN 数据帧一次最多只能传送8 字节,而不能传输大于8 字节的长帧;CAN 只提供了非确认的数据传输服务,而无法提供有确认的数据传输,等等。
所以,CAN 协议允许各厂商在CAN 物理层的基础上自行开发高层应用协议,以满足不同应用的需要。
◆ CANopen 协议着重定义了应用层以及相关的通讯架构,详细内容包括对象字典、网络管理、启动配置、各种传输对象的定义等等。
其中,对象字典是CANopen 的关键,它保存了一个CANopen 节点所有的配置参数和通讯数据,也提供了CANopen 应用层和用户程序交流的接口。
正是由于对象字典的存在,在CAN 总线上传输的报文不需要包含所传数据的格式定义、类型与作用等附加信息,只需包含实际的数据。
报文的接收端只需借助对象字典的帮助,便可以解析CAN 报文内的信息,因为CAN 报文中的每一个比特都被对象字典完全定义。
所以,CANopen 协议具有很高的数据传输效率。
网络管理和启动配置则体现了CANopen 协议的灵活性。
一、和简介CAN总线全称为Controller Area Network即控制器局域网是国际上应用最广泛的现场总线之一,已经在汽车制造、机械制造、包装机械、烟草等行业得到了广泛的应用。
CAN总线是德国BOSCH公司从80年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维。
通信速率可达1MBPS。
CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。
CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。
采用这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成,因此可以定义211或229个不同的数据块,这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。
数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。
同时,8个字节不会占用总线时间过长,从而保证了通信的实时性。
CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。
CAN卓越的特性、极高的可靠性和独特的设计,特别适合工业过程监控设备的互连,因此,越来越受到工业界的重视,并已公认为最有前途的现场总线之一。
另外,CAN总线采用了多主竞争式总线结构,具有多主站运行和分散仲裁的串行总线以及广播通信的特点。
CAN总线上任意节点可在任意时刻主动地向网络上其它节点发送信息而不分主次,因此可在各节点之间实现自由通信。
CAN总线协议已被国际标准化组织认证,技术比较成熟,控制的芯片已经商品化,性价比高,特别适用于分布式测控系统之间的数通讯。
CAN总线插卡可以任意插在PC、AT、XT兼容机上,方便地构成分布式监控系统。
Device Net (CAN Open)现场总线一、 现场总线的组成及连接Device Net (CAN Open )现场总线由传感器(节点)、三通接头、电缆线及终端匹配电阻等组成。
现场总线由一根四芯电缆就可将所有传感器均连通并完成所需信息的传输。
连接电缆的方法如下图:注意!(1) 三通接头下端是连接传感器用的。
(2) 电缆线、三通接头及终端匹配电阻连接以后, 应适当固定,尽可能减少电缆线所受的拉力。
三通接头(T 形接头)5~15M 电缆线二、Device Net(CAN Open)总线型传感器1.SK-8J04和SK-9N01组成总线型绞车传感器,SK-9N01是CAN总线绞车隔离栅,其接线端子如下图:2.SK-8B06F和SK-9N02组成总线型泵冲传感器,SK-9N02 CAN总线泵冲隔离栅,其接线端子如下图:3.SK-9N03,各类4~20mA模拟量传感器配上SK-9N03后即组成相应的总线型传感器,SK-9N03是CAN总线,4~20mA模拟量输入隔离栅,其接线端子如下图:三.CAN适配卡CAN适配卡插计算机PCI总线上。
CAN适配卡上有二个CAN口,每个CAN上最多可连接64个节点,总线长度不超过500米,通讯速率设定在125Kbps。
一般使用适配卡上面一个CAN口。
适配卡每个CAN口上均设有125Ω的电阻。
CAN信号通过DB9(针形插座)输出,其引脚定义为:DB9-2 CAN-LDB9-5 CAN ShieldDB7-7 CAN—H四、CAN总线电源使用24V开关电源,开关电源安装在计算机箱内。
24V电源通过YD20K5Z插座(安装在计算机后面板上)向CAN总线供电,其引脚定义为:YD20K5Z —2 +24V—3 0V—5 CAN—L—1 CAN Shield—4 CAN—H五、CAN0V(黑色)+24V(红色)CAN Shield(屏蔽线)现场总线使用说明书上海神开科技工程有限公司- 6 -六、CAN系统接线表1.CAN节点防爆接线盒接线按防爆盒背面铭牌上的标识进行连接。
CANopen协议在现场总线网络中的应用关键字:CANopen协议CANopen协议,现场总线,网络 1 引言基于现场总线的网络技术研究是自动控制领域发展的一个热点。
在各种各样的工业现场总线中, CAN 总线以其成本低、速度快、实时性和可靠性较高等特点被快速应用于汽车电子、医疗、军事等领域。
但是, CAN 总线只定义了物理层和数据链路层,本身并不完整,针对这一问题, CiA(CAN in Automation) 协会经过不断的发展于 1995 年发布了完整的 CANopen 协议,它不仅定义了应用层和通讯子协议,也为可编程系统、不同器件、接口、应用子协议定义了帧状态,为基于现场总线的全数字分布式控制系统的广泛应用和系统的一体化管理提供了解决之道。
本文以改善现场总线网络现场总线网络通讯系统的运行效率,提高实时性和信息处理能力为前提,针对并条机自调匀整控制系统中各功能模块的作用,浅析 CAN 总线高层通讯协议 CANopen ,实现各功能模块间的数据通信。
通过实验测试,证明系统工作稳定、可靠,保证了全数字分布式网络系统工作的快速性、准确性和实时性。
2 CANopen 协议概述2.1 设备模型CANopen 协议是由 CiA 协会针对 CAN 协议的不完整性而定义出来的一个更高层次的协议——应用层协议。
一个 CANopen 设备模块可以被分为 3 部分,。
通信接口和协议软件提供在总线上收发通信对象的服务。
不同 CANopen 设备间的通信都是通过交换通信对象完成的。
这一部分直接面向 CAN 控制器进行操作。
对象字典描述了设备使用的所有的数据类型,通信对象和应用对象。
对象字典位于通信程序和应用程序之间,向应用程序提供接口,应用程序对对象字典进行操作就可以实现 CANopen 通信。
应用程序包括功能部分和通信部分,通信部分通过对对象字典进行操作实现 CANopen 通信,而功能部分则根据应用要求实现。
CAN和CANopen的区别和联系
1、CAN与CANopen的共同点与不同点:
CAN只定义了物理层与链路层,⽽没有定义⽤户层,⽤户可根据⾃⼰的需要定义⼀些⽹络上的通信约定; CANopen是在CAN的基础上定义了⽤户层,即规定了⽤户、软件、⽹络终端等之间⽤来进⾏信息交换的约定。
2、从OSI⽹络模型的⾓度来看同,现场总线⽹络⼀般只实现了第1层(物理层)、第2层(数据链路层)、第7层(应⽤层)。
因为现场总线通常只包括⼀个⽹段,因此不需要第3层(传输层)和第4层(⽹络层),也不需要第5层(会话层)第6层(描述层)的作⽤。
CAN(Controller Area Network)现场总线仅仅定义了第1层、第2层(见ISO11898标准);实际设计中,这两层完全由硬件实现,设计⼈员⽆需再为此开发相关软件(Software)或固件(Firmware)。
同时,CAN只定义物理层和数据链路层,没有规定应⽤层,本⾝并不完整,需要⼀个⾼层协议来定义CAN报⽂中的11/29位标识符、8字节数据的使⽤。
⽽且,基于CAN总线的⼯业⾃动化应⽤中,越来越需要⼀个开放的、标准化的⾼层协议:这个协议⽀持各种CAN⼚商设备的互⽤性、互换性,能够实现在CAN⽹络中提供标准的、统⼀的系统通讯模式,提供设备功能描述⽅式,执⾏⽹络管理功能。
3、can2.0是物理层和链路层协议,基本上由硬件来实现,CANOpen是应⽤层协议基本上由软件来实现。
CAN及CANopen介绍第一部分:CAN硬件介绍CAN:最早的现场总线、最广泛应用的现场总线CANopen:CIA定义的最为成功的CAN应用层协议,在基于CAN的自动化系统中居于领导地位,欧洲标准EN-50325-4CAN+CANopen:机器自动化(MA)领域最为成功的总线解决方案,在欧美广泛被应用CAN总线系统解决方案即是利用CAN总线的优点及其特长为机器自动化设备提供高效、可靠、性价比高的解决方案。
作为机器自动化领域总线解决方案倡导者,CAN总线系统解决方案更能满足您对性价比的要求。
现场总线(Fieldbus)技术从提出到现在有二十多年了,作为工业数据总线,它主要解决工业现场的智能化仪器仪表、控制器、执行机构等现场设备间的数字通信以及这些现场控制设备和高级控制系统之间的信息传递问题,通过模拟变数字实现了不同公司产品间的互操作性问题,使用户有了更大的选择权,尤其它解决了流行几十年的传统系统过于封闭、难以维护的缺点。
采用现场总线控制技术,可大大简化系统集成的工作量、为控制系统的安装调试节省大量的费用,而系统的可靠性、稳定性却得到大幅提高,配合现场总线技术的各类总线诊技术进一步提高了整个系统的性能。
强大的通讯功能又使得系统更加开放透明。
CAN现场总线技术是集自动控制技术、通讯技术、传感技术、计算机技术、诊断技术、微电子技术、网络技术等于一体,是个革命性的技术,正被广泛应用于自动化各个领域。
目前广泛使用的其它现场总线还有Profibus、DeviceNet、ControlNet、HART、FF等等,但是CAN总线是所有现场总线中最早出现的,也是最适合于机器自动化领域的现场总线,如今它已经广泛应用于汽车、飞机、轮船、印刷、纺织、电子等等加工领域,是目前应用领域最为广泛的现场总线。
现场总线是一种革命性的通讯控制技术,因其具有很多普通控制方式不具有的优点,所以才得到了迅速的推广应用,与老的控制方式比较起来它主要的优势如下:节约布线成本,减少布线时间,减小出错机率(对于大型设备尤为突出,如果当驱动器、变频器、传感器等放置到现场的话,可以节省大量的电缆费用);νν减小施工难度,缩短施工周期降低系统总成本(从安装、系统维护、升级方面大幅降低系统成本)νν可靠性更高,抗干扰能力更强(比传统485通讯方式更为可靠,更不易受干扰)走线少、全数字信息交互(模拟量通常易受干扰)νν信息量更大(节点数据信息、状态信息、异常信息等均可方便提供)ν实时性更高(比传递485通讯速度大大提高,是485通讯速度的100倍左右,且避免了485通讯方式的多控制器之间交换方式,直接由一个PLC来协调处理,实时性大为提高)可维护性更强(可以很方便检测出系统故障所在,且几乎所有的CAN从站都具有故障诊断能力,便于排查及处理)νν开发性更加(目前全球范围内生产总线产品设备的厂家达上千家,客户可以任意选择适合字节的设备)CAN总线除了具有一般总线所具有的优点外,还专门根据机械自动化的特点,根据其需求提供了一些非常具有优势的技术特点:ν高速的数据传输速率高达1Mbit/s;CAN协议最大的特点是废除了传统的站地址编码,代之以对数据通信数据块进行编码,可以多主方式工作;νν CAN采用非破坏性仲裁技术,当两个节点同时向网络上传送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据,有效避免了总线冲突;任何一个节点均可自动发送报文,不需主站询问;ν可根据报文的ID决定接收或屏蔽该报文ν可靠的错误处理和检错机制ν⎫可选择对网络进行三种操作:无处理、停止故障从站、停止整个网络⎫ CAN节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上其它操作不受影响发送的信息遭到破坏后可自动重发νν节点在错误严重的情况下具有自动退出总线的功能报文不包含源地址或目标地址,仅用标识符来指示功能信息优先级信息νν CAN可以点对点、一点对多点(成组)及全局广播集中方式传送和接受数据;ν采用不归零码(NRZ—Non-Return-to-Zero)编码/解码方式,并采用位填充(插入)技术;革命化的报文传输方式:νSDOν主要用来在设备之间传输低优先级的数据,典型是用来对从设备进行配置、管理;PDOν⌝一次性可传送8个字节的数据,没有其它协议预设定(意味着数据内容已预先定义),主要用来传输需要高频率交换的数据。
CANopen现场总线通讯协议的分析摘要:CANopen使用基于对象的方法来定义标准设备,每个设备都表现为一组对象的集合,能够被网络所访问。
对象字典是通讯程序和上层应用程序之间的接口。
CANopen 的核心概念是设备对象字典(Object Dictionary,OD),它是一个有序的对象组,每个对象采用一个16 位的索引值来寻址,为了允许访问数据结构中的单个元素,同时定义了一个8 位的子索引。
CANopen 网络中每个节点都有一个对象字典。
对象字典包含了描述这个设备和它的网络行为的所有参数。
一个节点的对象字典是在电子数据文件(Electronic Data Sheet,EDS)中描述。
关键词:CANopen;对象词典;索引;子索引前言:CAN(Controller Area Network)现场总线仅仅定义了物理层、数据链路层(见ISO11898 标准),没有规定应用层;实际设计中,物理层、数据链路层完全由硬件实现。
所以CAN 现场总线本身并不完整,需要一个高层协议来定义CAN 信息中的11/29 位标识符、8 字节数据的使用。
CANopen 协议是一种基于CAN 的高层协议,它是由 CiA(CAN-in-Automation)定义并维护的协议之一,它是在CAL(CAN Application Layer)协议基础上开发的,使用了CAL 通信和服务协议子集。
1 CANopen 通讯对象1.1 PDO(Process Data Object:过程数据对象)PDO提供设备应用对象的直接访问通道,用来传输实时数据,具有较高的优先权。
PDO CAN信息数据列中每个字节都用作数据传输,信息利用率高。
PDO通过“生产者/消费者”模式来描述,数据从一个生产者传到一个或者多个消费者,数据传送限制在1~8个字节。
生产者传输数据后,不需要消费者确认,网络上的每个节点都会检测发送节点发出的数据信息,然后节点会决定接收到的信息是否需要处理。
以下是所有CANopen 设备都要具备的功能:∙通讯单元处理和网络上其他模组通讯所需要的通讯协定。
∙设备的启动及重置由状态机(state machine)控制。
状态机需包括以下的几个状态:Initialization, Pre-operational, Operational 及Stopped。
当接收到网络管理(NMT) 通讯对象,状态机会转换到对应的状态。
∙对象字典(Object Dictionary)是一个有16 位元索引(Index) 的变量阵列。
每个变量可以(但非必须)有8 位元的子索引(Subindex)。
变量可用来调整设备的组态,也可以对应设备量测的资料或设备的输出。
∙当状态机设定为operational之后,设备的应用(application)部份就会实现设备预期的机能。
此部份可以由对象字典中的变量调整其设定,而资料由通讯层传收或接收。
对象字典(变量矩阵)CANopen 设备都需要具备对象字典,用来设定设备组态及进行非即时的通讯。
对象字典的entry 定义如下:∙索引(Index):对象16 位元的位址。
∙对象名称(Object name):一个代表对象的symbolic type,可以是阵列、纪录或只是一个变量。
∙名称(Name):描述此entry 的字串。
∙形态(Type):变量的资料形态。
∙属性(A ttribute):提供此entry 是否可读/可写的资料,有下列四种:可读/写、只读、唯写、只读常数。
∙必须(Mandatory)/可选(Optional)字段定义属于特定设备规范下的设备,是否必须实现某些对象。
在CANopen 标准中定义了对象字典中的基本资料型态,包括逻辑值、整数及浮点数。
也定义了复合对象:如阵列、记录及字串。
复合对象用一个8 位元的数值作为其子索引(subindex)。
记录或阵列中子索引0 的位置记录此数据结构的元素个数,资料型态为UNSIGNED8。
例如在CiA301 标准中,设备通讯的参数放在索引范围0x1000 - 0x1FFF (通讯行规区)。
第一部分CAN和CANopen的概念一、CAN和CANopen简介CAN总线全称为Controller Area Network即控制器局域网是国际上应用最广泛的现场总线之一,已经在汽车制造、机械制造、包装机械、烟草等行业得到了广泛的应用。
CAN总线是德国BOSCH公司从80年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,它是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维。
通信速率可达1MBPS。
CAN总线通信接口中集成了CAN 协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。
CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。
采用这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成,因此可以定义211或229个不同的数据块,这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。
数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。
同时,8个字节不会占用总线时间过长,从而保证了通信的实时性。
CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。
CAN卓越的特性、极高的可靠性和独特的设计,特别适合工业过程监控设备的互连,因此,越来越受到工业界的重视,并已公认为最有前途的现场总线之一。
另外,CAN总线采用了多主竞争式总线结构,具有多主站运行和分散仲裁的串行总线以及广播通信的特点。
CAN总线上任意节点可在任意时刻主动地向网络上其它节点发送信息而不分主次,因此可在各节点之间实现自由通信。
CAN总线协议已被国际标准化组织认证,技术比较成熟,控制的芯片已经商品化,性价比高,特别适用于分布式测控系统之间的数通讯。
CAN总线插卡可以任意插在PC、AT、XT兼容机上,方便地构成分布式监控系统。
现场总线CANopen学习总结笔记一通过对《现场总线CANopen 设计与应用》的学习,总结了一些学习CANopen 的知识要点,希望能够对CANopen 初学者有所帮助。
首先让我介绍一下这本书,原名为德语《CANopen----dasstandardisierte,eingebtteteNetzwerk》, 中文是《现场总线CANopen 设计与应用》。
作者,HolgerZeltwanger,是CAN总线技术专家,兼任ISO 国际标准化组织CAN 标准工作组主席,组织领导发布了ISO11898 系列标准,是CAN 工业的奠基人,1992 年创立了CiA 组织(CANinAutomation)并担任主席至现在。
本书的内容简介介绍作为工业现场总线协议重要成员之一的CANopen 协议和基本原理、规则及相关背景,重点介绍CANopen 协议的工作机制,力求向读者展现CANopen 协议的概貌,使读者能够理解为什么CANopen 需要制定如此的工作流程。
全书分为4 个部分:第一部分由第1~3 章组成,主要介绍通信的基本通信以及CANopen 协议物理层和链路层的基本特性(CAN 总线)。
第二部分由第4~5 章组成,主要介绍CANopen 的基本核心工作机制和CANopen 主站设备的特点。
第三部分由第6~8 章组成,主要介绍CANopen 应用中的设备子协议规范。
第四部分,主要介绍CANopen 协议的应用及调试的方法和工具。
闲话少说,直入主题。
因为我也算是学习CANopen 的小白,主要采用总结归纳知识点的方式来读。
以下就是总结了CANopen 的主要知识点和一些自己的理解。
书看一遍,刚入味,各种不懂;再看一遍,重新理解之前不明白的,整合知识点,将其联系起来。
首先我觉得还是先看一下CAN 总线,了解什么叫CAN,即CAN 总线的基本定义、基本原理、CAN 协议等等,从而了解得知CAN 协议主要是针对物理层与数据链路层的协议规范。