CANopen 3.0

合集下载

CANopen协议CAN总线的通信协议

CANopen协议CAN总线的通信协议

CANopen协议CAN总线的通信协议CANopen协议是一种广泛应用于现代工业自动化领域的通信协议,它基于CAN总线技术,为设备之间的通信提供了一套规范和标准化的方式。

本文将介绍CANopen协议的基本原理、通信对象和通信过程。

一、CANopen协议的基本原理CANopen协议是建立在CAN总线之上的,因此首先需要了解CAN总线的基本原理。

CAN总线是一种多主机、多从机的串行通信系统。

它采用差分信号传输的方式,具有低成本、抗干扰能力强、可靠性高等特点。

CANopen协议基于CAN总线,定义了一系列的对象字典和通信服务,用于设备之间的数据交换和控制。

设备可以根据对象字典的内容来读取和写入数据,也可以通过通信服务来实现不同设备之间的通信。

二、CANopen协议的通信对象CANopen协议定义了丰富的通信对象,包括节点、对象字典和数据类型等。

其中,节点是CANopen网络中的实体,可以是主控节点或从节点。

主控节点负责整个网络的管理和控制,而从节点则负责执行具体的任务。

对象字典是CANopen协议的核心,它存储了设备的参数、状态和控制信息等。

对象字典中的每个对象都有一个唯一的标识符,用于标识该对象的类型和属性。

通过读取和写入对象字典中的数据,设备之间可以进行数据交换和共享。

CANopen协议还定义了一系列的数据类型,如布尔型、整型、实型和字符串型等。

这些数据类型可以用于描述设备的各种参数和状态,同时也可以作为通信对象的数据格式。

三、CANopen协议的通信过程CANopen协议的通信过程可以分为以下几个步骤:1. 初始化:CANopen网络在启动时需要进行初始化,包括网络配置、节点配置和通信参数的设置。

2. 启动:主控节点向从节点发送启动命令,从节点根据接收到的命令进行初始化和配置,并报告自身的状态。

3. 数据传输:设备之间通过读取和写入对象字典来进行数据的传输。

主控节点可以向从节点发送读取或写入对象的命令,从节点则根据命令进行相应的操作并回复结果。

CANopen协议

CANopen协议

CANopen协议一、引言CANopen是一种基于CAN总线的通信协议,用于在工业自动化和控制领域中实现设备之间的通信和数据交换。

本协议旨在确保不同厂家的设备能够互相兼容和交互操作,提供一种统一的通信标准。

二、范围本协议适用于使用CANopen协议的设备和系统,包括但不限于工业自动化、机械控制、医疗设备等领域。

三、术语和定义1. CAN总线:控制器局域网(Controller Area Network),一种广泛应用于工业领域的串行通信总线标准。

2. 节点:连接到CAN总线上的设备或系统。

3. PDO(Process Data Object):过程数据对象,用于在CANopen网络中传输实时数据。

4. SDO(Service Data Object):服务数据对象,用于在CANopen网络中传输配置和管理数据。

5. NMT(Network Management):网络管理,用于控制和管理CANopen网络中的节点。

四、协议规范1. 物理层a. CAN总线采用2线制,包括CAN_H和CAN_L两根线。

b. CAN总线的通信速率应符合ISO 11898标准。

c. CAN总线的电气特性应符合ISO 11898-2标准。

2. 数据链路层a. 数据链路层使用CAN帧进行数据传输。

b. CAN帧分为标准帧和扩展帧,标准帧的标识符为11位,扩展帧的标识符为29位。

c. 数据链路层使用基于优先级的帧发送机制,具有抢占性。

3. 网络管理a. NMT功能应支持节点的启动、停止、重置和状态监测等操作。

b. NMT功能应支持节点之间的心跳监测和通信质量检测。

c. NMT功能应支持节点的配置和参数设置。

4. PDO传输a. PDO传输应支持实时数据的传输,具有低延迟和高可靠性。

b. PDO传输应支持双向数据交换,可以进行数据的读取和写入操作。

c. PDO传输应支持数据的映射和过滤,以满足不同应用场景的需求。

5. SDO传输a. SDO传输应支持节点之间的配置和管理数据的传输。

台达专用canopen指令

台达专用canopen指令

台达专用canopen指令CANopen是一种基于CAN(控制器区域网络)协议的应用层标准,由国际机械电子工程师协会(CIOMS)制定。

它具有优良的性能和完善的功能,在数据传输与设备管理领域有着广泛的应用。

台达能源(Taida)是一家国际性的领先的数字系统技术研发机构,主要从事CANopen协议标准解决方案的开发和发展。

该公司专注于满足客户不断变化的需求,为客户提供台达专用CANopen指令。

台达专用CANopen指令用于控制CANopen控制装置,具备以下功能:(1)可实现CANopen控制装置节点之间的交互,控制控制设备和传感器,建立快速和可靠的通信网络,实现信息的可靠传输;(2)能够实现CANopen节点之间的多种数据传输,如实时数据的传输和历史数据的传输,实现数据的有效管理;(3)支持多种CANopen总线系统,可以实现多总线上的多节点的数据控制,包括控制的硬件设备和I/O模块;(4)可实现CANopen节点硬件设备的自动发现,支持多种CANopen节点设置,如节点名称设置、节点ID设置、数据点定义等;(5)可实现CANopen网络的节点配置,可以实现网络拓扑结构的构建、节点之间的设置联动,以及网络数据的同步更新,节点参数的实时监测等。

台达专用CANopen指令可以有效地满足客户多样化的需求,提高业务运作的效率和可靠性。

它的应用范围很广,主要应用于工业自动化系统、工厂现场管理等。

它可以实现设备之间的高速、实时、可靠的数据传输,保证系统的安全性和可靠性,提升了企业的运行效率和经济效益。

台达专用CANopen指令具有易用性、安全性和可靠性等多方面的优点,受到了越来越多的客户的好评。

随着信息化程度的不断提高,将会有更多的客户采用这种应用层标准,为客户提供更好的服务。

台达将会秉持着“技术为先,创新为本”的宗旨,不断创新技术,不断提高产品质量,为社会和客户创造更多的价值。

CANopen协议应用指南

CANopen协议应用指南

CANopen协议应用指南CANopen协议是一种用于控制与通信领域的通用现场总线协议。

它构建在CAN(控制器区域网络)总线上,提供了一种开放、高效、可靠和灵活的方式来组织和管理分布式系统。

本文将介绍CANopen协议的应用指南,主要包括网络结构、数据通信、设备配置和节点管理等方面。

首先,网络结构是CANopen协议应用的基础。

CANopen网络由一个或多个节点组成,节点之间通过CAN总线进行通信。

每个节点都有一个唯一的标识符,用于区分不同的节点。

网络结构可以是主-从结构,其中一个节点作为主节点,负责控制和管理其他从节点;也可以是对等结构,所有节点都可以互相通信和交互。

网络结构的选择取决于实际应用的需求。

其次,数据通信是CANopen协议的核心功能之一、CANopen提供了多种数据通信方式,包括广播通信、点对点通信和多点通信。

广播通信是将数据广播到整个网络中的所有节点;点对点通信是两个特定节点之间的直接通信;多点通信是将数据发送到一个或多个指定的节点。

CANopen还提供了一种灵活的通信参数设置机制,可以根据应用需求进行定制。

设备配置是CANopen协议应用中的重要环节。

每个CANopen设备都有一个设备描述文件(EDS),其中包含了设备的标识、功能和配置信息。

在设备配置过程中,需要根据实际应用需求修改和设置设备的各个参数,例如节点ID、通信速率、数据对象和服务对象等。

设备配置的目的是确保网络中的所有节点能够正确地进行通信和交互。

最后,节点管理是CANopen协议应用中的关键任务之一、节点管理包括节点的启动、停止、心跳检测、重启以及节点状态的监控和管理等。

CANopen协议提供了一系列的节点管理服务,如NMT(网络管理)服务、SDO(服务数据对象)服务和EMCY(紧急)服务等。

通过节点管理,用户可以对网络中的节点进行灵活的控制和管理。

总结而言,CANopen协议是一种强大的通信协议,可以广泛应用于控制与通信领域。

canopen协议

canopen协议

canopen协议CANopen协议。

CANopen协议是一种基于CAN总线的高层通信协议,它被广泛应用于工业自动化、汽车电子、医疗设备等领域。

CANopen协议的特点是开放、灵活、可靠,能够满足不同领域的通信需求。

本文将介绍CANopen协议的基本原理、通信对象、网络结构和应用范围。

首先,CANopen协议的基本原理是基于CAN总线的通信。

CAN总线是一种串行通信协议,具有高速传输、抗干扰能力强等特点。

CANopen协议在CAN总线的基础上,定义了一套标准的通信对象和通信方式,包括PDO(Process Data Object)、SDO(Service Data Object)、NMT(Network Management)等。

这些通信对象和通信方式构成了CANopen协议的核心内容,为设备之间的通信提供了标准化的接口。

其次,CANopen协议的通信对象包括了各种设备状态信息、控制命令、数据传输等。

这些通信对象可以通过PDO和SDO进行传输,实现设备之间的数据交换和控制。

此外,CANopen协议还定义了网络管理对象,用于管理整个CANopen网络的状态和配置信息。

通过这些通信对象,CANopen协议实现了设备之间的高效通信和协作。

再次,CANopen协议的网络结构通常是基于主从结构的。

在CANopen网络中,通常会有一个主控设备(Master)和多个从设备(Slave)。

主控设备负责管理整个网络的状态和配置信息,从设备负责执行主控设备下发的控制命令,并向主控设备报告自身状态信息。

这种网络结构能够很好地适应复杂的工业控制系统和设备之间的协作需求。

最后,CANopen协议被广泛应用于工业自动化、汽车电子、医疗设备等领域。

在工业自动化领域,CANopen协议被用于各种工业控制设备之间的通信和协作,如PLC、传感器、执行器等。

在汽车电子领域,CANopen协议被用于汽车电子控制单元(ECU)之间的通信和数据交换。

CANOPEN

CANOPEN

CANOPENPDO的过程数据交换(“过程数据对象”)其主要任务的CANopen系统当然是交换过程的数据。

为此,不仅大多数的CAN标识符提供,但也最对象的字典项。

用于传输过程数据,这种情况无需额外的协议开销和传输发生根据所谓的“生产者,消费者的原则” 。

这意味着,一个消息传输的一个节点(“生产者”)可以得到所有其他节点(以下简称“消费者”)。

这一原则也被称为“广播” ,代表一个非常有效的原则,数据传输,特别是如果消息(例如,同步消息)传输的是在同一时间内的所有进程的参与者。

CAN消息,其中包含被称为PDO的过程数据(“过程数据对象” )。

如前所述,传输PDO的唯一可能是在“实战”状态。

PDO的没有固定的格式。

数据字段的一个PDO可介于1到8个数据字节。

一个PDO的内容也可以不容易解释。

其基本思路是,无论是发射器和接收器知道一个PDO的内容是要解释。

基于这个原因,它足以确定一个PDO只能通过它的芯的ID。

所谓“PDO映射” 描述了各个过程变量在数据领域的一个PDO传输,它们是如何安排的,哪些数据类型和长度他们。

因此,内容和意义的数据字段的每个PDO 是定义的形式描述一个PDO映像对象字典里的记录都在发送和接收端。

PDO的生产领域中的数据组成一个 PDO根据其TxPDO映射。

对于这一点,采用当前数据要发送的变量从它的对象字典,把这些文件复制到数据领域的PDO的CAN消息前(PDO)的发送。

同样发生在消费者方面:在此基础上的RxPDO映像记录时,数据字节接收PDO的被复制到本地对象字典条目,因此,一般而言,设备的具体行动触发(例如成立数字输出)。

一个网络节点,要接受一定的PDO只能启动coresponding CAN消息。

这是通过“设置有效”的相关穗轴 - ID项中的OD。

但是,现在回到PDO映射。

的原则,安排(映射)的过程变量显示在以下(变量的形式提供对象字典应用程序配置文件中的条目)。

对个人的映像过程变量在数据领域的一个 PDO的形式描述了一个表。

台达专用canopen指令

台达专用canopen指令

台达专用canopen指令
CANopen是基于CAN总线的一种应用层总线协议,它有良好的可扩展性,并且可以方便地结合多种不同的网络结构,可以满足大多数用户的需求。

它可以支持某些特定的设备,比如台达专用CANopen指令。

台达专用CANopen指令是指台达公司专用的CANopen应用层协议指令,它可以实现系统控制及网络通信功能的统一。

它能够将CANopen 的特性,如控制器的功能、控制结构、数据传输进行深度整合,满足客户对“台达系统”的各种定制需求,从而实现系统控制和网络通信功能。

台达专用CANopen指令拥有多种使用场景。

在工厂自动化方面,台达专用CANopen指令能够实现多台设备之间的无线连接,因此工厂自动化能够无缝集成,远程调节及监控,具备更佳的动态应用性。

对于特定的智能设备,如台达智能传感器,台达的CANopen指令也能够提供精确的定位机制,可以有效指导系统的行走,实现智能机器人的控制。

此外,台达的CANopen指令可以实现系统端到端的数据传输,可以实现多台设备之间的高速通信。

这种数据传输能够有效地减少在网络中数据传输的延迟,提高系统的工作效率,还可以支持多种应用,使系统的操作及管理更加便捷。

台达的CANopen指令能够为用户提供灵活的选择,满足不同环境的多样化需求。

它具有良好的可靠性和可扩展性,可以满足用户的个
性化需求,能够满足客户的各种定制需求,为智能制造提供技术支持。

总结起来,台达专用CANopen指令是一种非常有用的通信协议指令,它可以实现系统控制和网络通信功能,能够支持多种应用场景,满足用户的个性化需求,实现更高效的通信传输,为智能制造提供技术支持。

canopen协议详解

canopen协议详解

CanOpen协议详解简介CanOpen是一种基于CAN总线的通信协议,它是一种轻量级的、高效的、可靠的通信协议,广泛应用于工业控制领域。

CanOpen协议的设计目标是提供一种标准化的通信方式,便于不同厂家的设备之间进行数据交换和控制命令的传输。

CanOpen协议的特点包括: - 基于CAN总线的通信方式,具有高可靠性和抗干扰能力; - 支持多种数据类型,包括布尔型、整数型、浮点型等; - 提供了一套完整的对象字典,用于存储设备的配置参数和状态信息; - 支持主从模式和点对点模式,可以实现多个设备之间的协同工作; - 支持远程过程调用(RPC)和事件驱动。

协议结构CanOpen协议的数据通信是基于CAN帧进行的,每个CanOpen设备在CAN总线上有一个唯一的节点ID。

CanOpen协议定义了一组标准的CAN帧格式,其中包括了设备的节点ID、数据类型、数据长度等信息。

在CanOpen协议中,数据的传输是通过对象字典来完成的。

对象字典是一个由索引和子索引组成的树形结构,用于存储设备的配置参数和状态信息。

每个对象字典条目都有一个唯一的索引和子索引,用于标识该条目的位置和内容。

CanOpen协议定义了一些基本的对象字典条目,包括设备的状态、配置参数、控制命令等。

同时,CanOpen协议也允许用户定义自己的对象字典条目,以满足特定的应用需求。

通信方式CanOpen协议支持两种通信方式:主从模式和点对点模式。

在主从模式下,一个设备(主节点)负责发送控制命令,其他设备(从节点)接收并执行命令。

主节点可以通过发送PDO(Process Data Object)来实现数据的实时传输,也可以通过发送SDO(Service Data Object)来实现对从节点的配置和状态查询。

在点对点模式下,两个设备直接进行数据交换,无需主节点的介入。

点对点通信可以使用PDO或者SDO来实现。

通信协议CanOpen协议定义了一套标准的通信协议,用于设备之间的数据交换和命令传输。

CANopen协议

CANopen协议

CANopen协议协议名称:CANopen协议一、引言CANopen协议是一种用于控制器局域网络(Controller Area Network,CAN)的通信协议。

它定义了在CAN总线上进行通信的规则和数据结构,使得不同设备之间可以进行可靠的数据交换和通信。

本协议旨在提供一套标准化的通信协议,以便在CAN总线上实现设备之间的互操作性。

二、范围本协议适合于所有基于CAN总线的设备和系统,包括但不限于工业自动化、汽车电子、机器人技术、医疗设备等领域。

它定义了通信的物理层、数据链路层、网络层和应用层的规范。

三、术语和定义在本协议中,以下术语和定义适合:1. CAN总线:指控制器局域网络(Controller Area Network),一种串行通信协议,用于在不同设备之间传输数据。

2. 节点:指连接到CAN总线上的设备,每一个节点都有一个惟一的标识符。

3. 帧:指CAN总线上传输的数据单元,包含数据和控制信息。

4. 数据对象(Data Object):指CANopen协议中用于存储和传输数据的基本单元。

5. 服务数据对象(Service Data Object):指用于请求和响应CANopen服务的数据对象。

6. 状态机:指CANopen设备的工作状态转换图,定义了设备在不同状态下的行为和响应。

四、物理层规范1. CAN总线的物理层采用标准的CAN物理层规范,包括电气特性、传输速率和线缆连接等。

2. 设备之间的连接必须符合CAN总线的物理层规范,并使用合适的线缆和连接器。

五、数据链路层规范1. CANopen协议使用标准的CAN数据链路层协议,包括帧格式、帧类型和错误检测等。

2. 数据链路层必须支持CAN帧的发送和接收,并能够正确处理错误帧和冲突。

六、网络层规范1. CANopen协议定义了一套基于网络层的通信机制,用于节点之间的消息传递和数据交换。

2. 网络层提供了节点之间的数据传输服务,包括数据对象的读取、写入和定阅等功能。

canopen协议

canopen协议

canopen协议CANopen是一种用于工业自动化领域的通信协议,它基于控制器局域网(CAN)总线,并提供了一种标准的通信和网络管理方法。

它广泛应用于机械设备、工艺控制系统、自动化工厂和机器人等领域,以实现设备之间的数据交换和控制。

CANopen协议建立在ISO-11898标准之上,这是一种低成本和可靠的实时通信协议。

它仅需两根导线即可实现数据传输,无需任何额外的设备或硬件,节约了成本和空间。

通过使用CANopen协议,不同的设备和组件可以通过CAN总线相互通信,并实现数据交换和控制。

CANopen协议提供了一种灵活的通信模式,能够满足不同的应用需求。

它支持点对点通信、多点广播和组播通信。

其中,点对点通信是最常见的模式,其中一个设备主动请求另一个设备的数据,实现数据交换。

多点广播是将数据同时发送到多台设备,用于实现全局广播或统一的配置命令。

组播通信是将数据发送给特定的设备组,实现组内通信和联动控制。

除了通信模式,CANopen协议还提供了一套完整的网络管理方法,方便用户管理和配置所有的节点设备。

CANopen网络由一个主节点和多个从节点组成。

主节点负责管理整个网络,并控制从节点的活动。

从节点是网络中的被动设备,接收主节点的指令和请求,并将数据返回给主节点。

CANopen协议定义了一套标准的对象字典,用于存储和管理所有的数据和参数。

主节点可以通过访问对象字典来读取和写入从节点的数据,实现数据交换和控制。

CANopen协议还提供了一套标准的设备配置和诊断方法,方便用户对网络中的设备进行配置和故障排除。

用户可以通过CANopen协议实现设备的初始化、配置参数的读写、设备状态的检测和错误报告等功能。

此外,CANopen协议还支持心跳和守护机制,保证网络的稳定性和可靠性。

CANopen协议具有很多的优点,例如:通信速度快、实时性强、通信距离远、数据传输可靠、可扩展性好等。

它已经成为工业自动化领域的标准协议,并得到了广泛的应用和推广。

CANopen协议介绍(精辟准确)

CANopen协议介绍(精辟准确)

1.CANopen协议简介从OSI 网络模型的角度来看,CAN总线只定义了OSI网络模型的第一层(物理层) 和第二层(数据链路层),而在实际设计中,这两层完全由硬件实现,设计人员无需再为此开发相关软件或固件。

同时,CAN只定义物理层和数据链路层,没有规定应用层,本身并不完整,因此需要一个高层协议来定义CAN报文中的11/29位标识符和8字节数据的使用。

而且,基于C AN总线的工业自动化应用中,越来越需要一个开放的、标准化的高层协议:这个协议支持各种CAN厂商设备的互用性、互换性,能够实现在CAN网络中提供标准的、统一的系统通讯模式,提供设备功能描述方式,执行网络管理功能。

CANopen协议是CAN-in-Automation(CiA)定义的标准之一,并且在发布后不久就获得了广泛的承认。

尤其是在欧洲, CANopen 协议被认为是在基于CAN 的工业系统中占领导地位的标准。

大多数重要的设备类型,例如数字和模拟的输入输出模块、驱动设备、操作设备、控制器、可编程控制器或编码器,都在称为“设备描述”的协议中进行描述;“设备描述”定义了不同类型的标准设备及其相应的功能。

依靠CANopen协议的支持,可以对不同厂商的设备通过总线进行配置。

在OSI 模型中, CAN标准、CANopen协议之间的关系如图 1-1所示。

图1-1 CAN标准、CANopen协议在OSI网络模型中的位置框图CANopen和CAN报文的关系如图 1-2所示。

图1-2 CANopen和CAN报文的关系如所示。

CAN 报文由7个不同的位域组成,而CANopen就是规定其中的仲裁域(11 位标识符)和数据域(8 字节数据) 的使用情况。

2.CANopen设备结构CANopen是一个基于CAN串行总线系统和CAL(CAN应用层)的高层协议。

CANopen的核心概念是设备对象字典(OD: ObjectDictionary),CANopen通讯通过对象字典(OD)能够访问驱动器的所有参数。

canopen手册

canopen手册

canopen手册简介CANopen是一种基于控制器局域网(Controller Area Network, CAN)总线协议的通信协议,用于在工业自动化系统中实现设备之间的高效通信和数据交换。

本手册将详细介绍CANopen的基本原理、协议规范、通信对象以及相关应用方案,旨在帮助读者全面了解和理解CANopen技术,并在实际应用中具备编写、实现和调试CANopen协议的能力。

第一章 CANopen基础知识1.1 CAN总线概述CAN总线是一种通过传输控制器区域网络协议在分布式系统中连接设备的串行总线系统。

它具有高实时性、可靠性以及抗干扰能力强的特点。

1.2 CANopen协议概述CANopen协议是基于CAN总线的设备间通信协议,广泛应用于工业控制和自动化领域。

它定义了一套统一的通信对象、通信参数和通信规则,以便设备之间能够进行可靠和高效的数据交换。

第二章 CANopen协议结构2.1 CANopen通信对象CANopen协议通过一系列通信对象(Communication Object, COB)来实现设备间的数据交换。

通信对象包括进程数据对象(Process Data Object, PDO)、服务数据对象(Service Data Object, SDO)等。

2.2 CANopen网络结构CANopen网络基于主从结构,其中主节点负责总线上的数据传输和管理,从节点则负责执行主节点下发的命令。

网络中的每个节点都有一个唯一的节点ID,用于标识节点之间的通信。

第三章 CANopen协议应用3.1 CANopen在工业自动化中的应用CANopen协议在工业自动化领域具有广泛的应用,例如机床控制、自动化生产线、风力发电等。

通过CANopen协议,不同设备之间可以实现实时的数据交换和快速的响应。

3.2 CANopen在汽车电子中的应用CANopen协议在汽车电子领域也得到了广泛应用,例如车身电子控制模块、发动机管理系统等。

CANopen协议讲解

CANopen协议讲解

CANopen协议讲解CANopen是一种基于CAN总线的通信协议,广泛应用于工业自动化领域。

该协议定义了一套标准的通信和设备管理机制,使得不同厂商的设备可以互相通信和协同工作。

本文将详细讲解CANopen协议的基本原理、通信结构、数据格式以及常用的设备配置和管理方式。

一、基本原理:CANopen协议是基于CAN(Controller Area Network)总线的,CAN总线是一种广泛应用于汽车和工业领域的串行通信协议。

CAN总线具有高可靠性、实时性和抗干扰能力,适合于多节点分布式控制系统。

CANopen协议在CAN总线上定义了一套通信和设备管理机制,包括数据传输、节点配置、网络管理等。

它采用了基于对象的通信模型,将设备的功能和参数抽象为对象,通过读写对象字典来实现数据的交换和配置。

二、通信结构:CANopen协议中的通信结构由节点、对象字典和通信对象组成。

1. 节点(Node):每一个CANopen设备都是一个节点,每一个节点都有一个惟一的节点ID,用于在总线上进行识别和寻址。

2. 对象字典(Object Dictionary):对象字典是一个存储设备功能和参数的数据结构,由多个对象索引组成。

每一个对象索引对应一个对象字典项,包括对象类型、数据类型、访问权限等信息。

3. 通信对象(Communication Object):通信对象是CANopen协议中的最小通信单位,用于在节点之间传输数据。

通信对象可以是PDO(Process Data Object)或者SDO(Service Data Object)。

- PDO:用于实时数据传输,支持广播和点对点通信,可以配置为发送和接收模式。

PDO具有固定的数据格式,包括索引、子索引和数据内容。

- SDO:用于配置和管理节点的对象字典,支持点对点通信。

SDO具有灵便的数据格式,包括索引、子索引、命令字和数据内容。

三、数据格式:CANopen协议中的数据格式包括CAN帧和通信对象的数据结构。

CANopen协议讲解

CANopen协议讲解

CANopen协议讲解协议背景:CANopen是一种基于CAN总线的通信协议,用于实现工业自动化设备之间的通信和数据交换。

它是由CAN in Automation(CiA)组织开发和维护的,被广泛应用于机械、汽车、医疗设备等领域。

协议目的:CANopen协议的目的是提供一种标准化的通信方式,使不同厂家的设备能够互联互通,并且能够方便地进行配置、监控和控制。

通过CANopen协议,用户可以实现设备之间的高效通信,提高系统的可靠性和灵活性。

协议特点:1. 灵活性:CANopen协议支持多种通信速率和通信模式,能够适应不同应用场景的需求。

2. 可扩展性:CANopen协议定义了一套丰富的对象字典,用户可以根据自己的需求进行扩展和定制。

3. 可靠性:CANopen协议采用了错误检测和纠正机制,能够保证数据的可靠传输。

4. 实时性:CANopen协议支持实时通信和事件驱动机制,能够满足对实时性要求较高的应用场景。

5. 简单性:CANopen协议的数据帧格式和通信规则相对简单,易于理解和实现。

协议结构:CANopen协议由两个主要部分组成:对象字典和通信过程。

1. 对象字典:对象字典是CANopen协议的核心概念,它定义了设备支持的各种对象和参数。

对象字典以16位的索引和8位的子索引进行标识,包括了数据类型、访问权限、默认值等信息。

用户可以通过读写对象字典中的对象来实现对设备的配置和控制。

2. 通信过程:CANopen协议使用基于事件的通信机制,通过发送和接收数据帧来实现设备之间的通信。

通信过程包括以下几个步骤:- NMT(网络管理):用于启动、停止、重启和同步网络中的设备。

- SDO(服务数据对象):用于读写对象字典中的对象。

- PDO(过程数据对象):用于实时传输设备的过程数据。

- SYNC(同步):用于同步网络中的设备,实现精确的时间控制。

- EMCY(紧急):用于向网络中的设备发送紧急事件信息。

协议应用:CANopen协议广泛应用于工业自动化领域,包括机械、汽车、医疗设备等。

SE系列全数字步进驱动器CANopen通讯软件使用手册说明书

SE系列全数字步进驱动器CANopen通讯软件使用手册说明书

CANopen通讯软件使用手册版权申明感谢您购买北京和利时电机技术有限公司的SE系列全数字步进驱动器(以下简称驱动器)产品。

SE系列全数字步进驱动器是以美国TI公司最新的数字处理芯片(DSP)作为核心控制芯片,采用了先进的全数字式电机控制算法,完全以软件方式实现了电流环控制,具备良好的鲁棒性和自适应能力,可配合多种规格的步进电机,实现速度、力矩和位置高精度、高响应的控制,适应于需要快速响应的精密转速控制与定位控制的应用系统,如:医疗机械、印刷机械、包装机械、造纸机械、塑料机械、纺织机械、工业机器人、自动化生产线等。

本用户手册是针对SE系列全数字步进驱动器的通信手册。

在本手册中,详细地说明了驱动器的串行通信CANopen总线通信协议和使用说明,以此来帮助用户建立上位控制器与驱动器的通信连接。

在使用SE系列驱动器的通信功能之前,请仔细阅读本用户手册,以保证正确使用。

第一章 通信功能简介 (1)第二章 CANopen协议 (2)2.1. 设置 (2)2.1.1. 设置站址 (2)2.1.2. 设置通信波特率 (2)2.2. CANopen通信规范 (3)2.3. 通信对象标识符地址分配 (3)2.4. 通信对象 (4)2.4.1. Network Management Objects(NMT) (5)2.4.2. Synchronization Object(SYNC) (5)2.4.3. Emergency Object(EMCY) (5)2.4.4. Process Data Object(PDO) (7)2.4.5. Service Data Object(SDO) (12)2.4.6. Nodeguard (15)2.4.7. Heartbeat (16)2.4.8. Bootup (17)2.5. 网络初始化和系统Bootup (18)2.5.1. 初始化流程 (18)2.5.2. NMT状态机 (19)2.5.3. 设备状态和通讯对象的联系 (21)2.5.4. 设备状态转换 (21)2.5.5. Bootup (22)第三章 CANopen 设备规范 (23)3.1 PDO映射 (23)3.1.1 RPDO映射 (23)3.1.2 TPDO映射 (23)3.2 设备控制 (24)3.2.1 状态机 (24)3.2.1.1 状态转换 (26)3.2.2 对象描述 (26)3.2.2.1 对象6040h:控制字 (27)3.2.2.2 对象6041h:状态字 (28)3.2.2.3 对象6060h:操作模式 (30)3.2.2.4 对象6061h:操作模式显示 (30)3.2.3 协议位置模式(Profile Position Mode) (30)3.2.3.1 对象607Ah:目标位置 (31)3.2.3.2 对象6081h:协议速度 (31)3.2.3.3 对象6083h:协议加速度 (31)3.2.3.4 对象6084h:协议减速度 (32)3.2.3.5 功能描述 (32)3.2.4 速度通讯模式 (34)3.2.4.1 对象60FF:给定速度 (34)3.2.4.2 对象6083h:协议加速度 (34)3.2.4.3 对象6084h:协议减速度 (35)3.2.5 周期位置模式 (35)3.2.5.1 对象607Ah:目标位置 (35)3.2.5.2 对象60C2h:周期描述 (36)3.2.6 回原点模式 (36)3.3 使用举例 (38)3.3.1 设备控制操作举例 (38)3.3.2 PDO使用举例 (39)3.3.3 SDO读写对象词典对象、驱动器内部参数对象及保存、恢复默认参数举例 .. 40 3.3.4 协议位置模式使用举例 (41)3.3.5 速度通讯模式使用举例 (43)3.3.6 回原点模式使用举例 (44)3.4 对象词典描述 (46)3.4.1 强制性对象 (46)3.4.2 任意对象 (46)3.4.3 设备协议对象 (50)3.4.4 设备商定义对象 (51)通信功能简介第一章 通信功能简介森创SE系列步进驱动器提供了与上位控制器的标准串行通信CAN总线通信硬件接口,可以实现编辑驱动器功能参数、监视运行状态和在线控制电机运转等功能,端口接线方式请参照相应产品说明书中的连线说明章节。

canopen协议详解

canopen协议详解

canopen协议详解CANopen协议详解。

CANopen是一种基于CAN总线的高层通信协议,它广泛应用于工业控制、汽车电子、医疗设备等领域。

本文将详细介绍CANopen协议的相关内容,包括其基本原理、通信对象、数据传输方式以及应用范围等方面的内容。

首先,我们来了解一下CANopen协议的基本原理。

CANopen协议是建立在CAN总线之上的一种通信协议,它采用了基于对象字典的通信模型,通过定义不同的通信对象来实现设备之间的数据交换。

CANopen协议还采用了一种灵活的网络管理机制,可以实现设备的自动识别和配置。

这种基于对象字典的通信模型和灵活的网络管理机制,使得CANopen协议在工业控制领域得到了广泛的应用。

其次,我们将介绍CANopen协议中的通信对象。

CANopen协议定义了许多不同类型的通信对象,包括PDO(过程数据对象)、SDO(服务数据对象)、NMT (网络管理对象)等。

这些通信对象可以实现设备之间的数据交换、参数配置、网络管理等功能。

通过对这些通信对象的灵活应用,可以实现复杂的控制系统,满足不同应用场景的需求。

接下来,我们将详细介绍CANopen协议的数据传输方式。

CANopen协议采用了基于事件驱动的数据传输方式,通过PDO和SDO等通信对象来实现数据的传输和交换。

PDO是一种实时数据传输方式,可以实现设备之间的实时数据交换;而SDO则是一种参数配置和管理方式,可以实现设备参数的读写和配置。

通过这些数据传输方式,CANopen协议可以实现设备之间的高效通信和数据交换。

最后,我们将介绍CANopen协议在不同领域的应用范围。

由于CANopen协议具有灵活的通信模型、丰富的通信对象和高效的数据传输方式,它在工业控制、汽车电子、医疗设备等领域得到了广泛的应用。

在工业控制领域,CANopen协议可以实现设备之间的实时数据交换和控制,满足复杂控制系统的需求;在汽车电子领域,CANopen协议可以实现车载电子设备之间的通信和数据交换;在医疗设备领域,CANopen协议可以实现医疗设备之间的数据交换和控制。

CANopen协议介绍(讲义)

CANopen协议介绍(讲义)

CANopen协议介绍(讲义)2010-10-12 15:58:28| 分类:技术文档| 标签:|举报|字号大中小订阅很长一段时间以来,很多人问我CANopen 总线优势到底在什么地方,我也大体的给了口头的讲述,但是比较笼统,没办法做到详细解释,加上纯技术的话语比较晦涩,遇上内行还能多聊几句,如果是刚接触的,那就是云里雾里了。

这次正好要进行公司业务员培训,要讲讲CANopen,在整理过程中把我的讲义贴出来,希望能帮到大家,以下内容是我讲课的口述内容,比较白话,不能作为资料,大家见谅,鉴于我整理也比较辛苦,也算个小小的知识产权,所以PPT我就不贴出来了。

^-^讲义内容:通常CANopen协议相关的一些资料相对来说比较晦涩,非专业人士看起来比较困难。

我尽量以浅显易懂的方式将CANopen 协议的框架和它在实际应用中存在的优缺点展示给大家。

我按照最先接触的内容由浅入深的讲解,直接讲CANopen协议会有点跳跃的感觉,所以,我以产品作为切入点,分析一下如何使用,在这个过程中,让大家理解什么是CANopen协议。

首先,我们拿到一个产品,比方说是编码器,它的用途是作为位置传感器,那我们就需要将编码器送出的数据进行采集。

一般自然界中存在的信号有多种形式,大多以模拟量形式存在,类似于人感觉到温度的高低、水流的快慢、风力的大小等等。

但这是很模糊的概念,今天热了还是冷了,风大风小,没有比较是很难界定的,为了规范这些量,方便描述时的统一性,温度计量标准有华氏和摄氏、水流有每秒多少立方、风力有级数。

这些,就是数字量。

数字量在人与人之间传递时,可以通过嘴和耳,语言和听力,在设备之间如何来传递呢?学过数电的人知道,灯泡有两种状态,亮和暗,在最基础的电路回路里,“通”和“断”是两个最基本的状态,我们可以把他理解为“1”和“0”,这样,就有了表述的方法。

但是单独使用这两种状态是无法传递信息的,如何把编码器的数据传递出去,就需要使用到协议,下面我就讲讲协议。

canopen通讯协议原理

canopen通讯协议原理

canopen通讯协议原理Canopen通讯协议原理Canopen是基于CAN总线的一种业界标准的分布式总线技术,它可以在不同的处理器之间组织控制数据,是多微处理器系统的一种常用的控制/监视总线。

Canopen是一个开放的标准,通过它可以实现不同厂家产品的组织,配置和编程控制,通信与控制可以实现统一。

Canopen一般由两部分组成:CAN总线部件和Canopen协议部件。

CAN总线部件是基于控制器内在网络(CAN)的技术规范,它可以将多个节点(控制器)连接起来,是数据传输的媒介;Canopen协议部件则是基于CAN总线的具体应用,它定义了CAN的技术规格和实现。

Canopen协议根据不同的应用不同而分为几个层次:1.CAN总线层:定义了CAN网络的硬件特性,具体的定义包括总线类型、物理层、数据链路层及总线管理协议等。

2.Canopen协议层:定义了Canopen技术规范,包括功能定义、总线帧定义、节点地址定义等。

3.应用层:定义了Canopen的应用规范,包括报文类型、报文结构、报文帧格式等,以及数据存储、应用状态、节点的控制、实时任务调度等。

Canopen协议的特点:1、简单、实用:支持多种应用方式,从简单的点对点应用到复杂的系统集成,更有针对特定行业应用的扩展协议;2、可扩展、可扩充:支持多级总线控制和信息的传输,可以根据实际应用需要,动态添加新的功能;3、精确、可靠:通过精确的定时器和修正实时机制,可以保证数据的准确传输;4、可定制化:可以根据实际应用需要,自定义协议的结构、功能和帧格式;5、可保护性:支持节点的保护性控制,可以有效防止误操作;6、可控件:可以实现节点参数、参数更新和控制信息的控制;7、可配置性:可以根据实际的应用需要,实现节点参数的配置和调整;8、可维护性:可以远程管理和维护节点的工作状态,保证系统的正常运行;9、可拓展性:可以根据实际应用情况进行拓展,支持更复杂的应用;总的来说,Canopen协议在微控制系统中具有极高的实用性和可扩展性,可以非常方便地实现多节点数据传输和系统集成控制。

canopen标准

canopen标准

canopen标准CANopen标准。

CANopen是一种基于CAN总线通信协议的高层应用层协议,它被广泛应用于工业控制和自动化领域。

CANopen标准的制定是为了提供一种统一的通信方式,使得不同厂家生产的设备能够互相通信和协作,从而实现系统集成和互操作性。

首先,CANopen标准规定了一套统一的通信对象模型,包括了各种设备的状态、参数、控制和诊断信息。

这些通信对象可以被定义成各种数据类型,如布尔型、整型、实型等,以及数组和结构体等复合类型。

通过这些通信对象,不同设备之间可以进行数据交换和共享,实现了设备之间的信息交互。

其次,CANopen标准定义了一套基于对象字典的通信参数配置方式。

对象字典是一个存储了各种通信对象的索引、数据类型和访问权限等信息的数据库,它为设备之间的通信提供了统一的接口。

通过对象字典,设备可以动态地配置通信参数,实现了设备的即插即用和灵活配置。

另外,CANopen标准还规定了一套基于事件驱动的通信机制。

通过事件驱动,设备可以主动向总线上发送事件消息,通知其他设备发生了某些状态变化或者故障情况。

这种机制使得设备之间可以实时地进行状态同步和故障诊断,提高了系统的实时性和可靠性。

此外,CANopen标准还提供了一套基于PDO(Process Data Object)的实时数据传输机制。

PDO机制可以实现设备之间的实时数据交换,适用于对通信实时性要求较高的场合。

通过PDO机制,设备可以直接将实时数据发送到总线上,而无需经过通信对象的数据类型解析和索引查找,从而提高了通信的实时性和效率。

总之,CANopen标准作为一种高层应用层协议,提供了一种统一的通信方式,使得不同厂家生产的设备能够互相通信和协作。

它的通信对象模型、对象字典、事件驱动和PDO机制为设备之间的通信提供了统一的接口和机制,实现了设备之间的信息交互、状态同步和实时数据传输。

因此,CANopen标准在工业控制和自动化领域有着广泛的应用前景,将在未来发挥越来越重要的作用。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CANopen 20-Mar-2000CANopenhigh-level protocol for CAN-busH. BoterenbroodNIKHEF, AmsterdamMarch 20, 2000Contents1 INTRODUCTION (2)2 CAL (2)3 CANOPEN (3)3.1 CAN OPEN O BJECT D ICTIONARY (3)3.2 CAN OPEN COMMUNICATION (5)3.3 CAN OPEN P REDEFINED C ONNECTION S ET (7)3.4 CAN OPEN IDENTIFIER DIST RIBUTION (8)3.5 CAN OPEN BOOT-UP PROCESS (9)3.6 D ETAILS OF CAN OPEN MESSAGE SYNTAX (10)3.6.1NMT Module Control (10)3.6.2NMT Node Guarding (10)3.6.3NMT Boot-up (10)3.6.4PDO (11)3.6.5SDO (11)3.6.6Emergency Object (14)4 SUMMARY (16)5 EXAMPLE OF A CANOPEN OBJECT DICTIONARY FOR DEVICES WITH CS5525 ADCS (17)5.1 I NTRODUCTION (17)5.2 ADC R EAD-OUT (17)5.3 ADC C ONFIGURATION AND C ALIBRATION (18)5.4 T HE O BJECT D ICTIONARY (18)5.5 E MERGENCY O BJECTS (22)REFERENCES (23)CANopen 15-Mar-2000 Version HistoryVersion Date Comments1.x 1998 First draft versions2.0 1999 Change of title; change in chapter numbering; addition of CAN message syntaxdetails2.0a 7 April 1999 Corrected error in table 7 and 8 captions3.0 20 March 2000 Several additions in accordance with CiA DS301 CANopen Communication Pro-file Version 4.0 (update from 3.0)1 IntroductionFieldbus networks from the OSI network model point-of-view usually only have the layers 1 (Physi-cal Layer), 2 (Datalink Layer) and 7 (Application Layer) implemented. The intermediate layers are not needed because a fieldbus network usually con-sists of a single network segment only (no need for Transport and Network Layer, layer 3 and 4) and has no notion of 'sessions' (layer 5) or a need for different internal data 'presentation' (layer 6).The CAN (Controller Area Network) fieldbus de-fines only the layers 1 and 2 (ISO11898); in prac-tice these are completely handled by the CAN hardware, significantly reducing the implementa-tion effort for developers of the fieldbus node firmware.However, a high level protocol is necessary in or-der to define how the CAN message frame's 11-bit identifier and 8 data bytes are used. Building CAN-based industrial automation systems guaranteeing interoperability and interchangeability of devices of different manufacturers requires a standardized ap-plication layer and'profiles', standardizing the communication system, the device functionality and the system administration:♦ The application laye r provides a set of services and protocols useful to every device on the net-work imaginable.♦ The communication profile provides the means to configure devices and communication data and defines how data is communicated between devices.♦ Device profiles add device-specific behaviour for (classes of) devices (e.g. digital I/O, analog I/O, motion controllers, encoders, etc.).The following sections describe the CAL applica-tion layer for CAN networks on which the CANopen standard is based and subsequently CANopen itself and the profiles that define it.The relation between OSI network model, CAN-bus standards and CANopen profiles is illustrated in Figure 1.Figure 1. Schematic overview of CAN andCANopen standards in the OSI net-work model.2 CALOne of the existing higher layer communication protocols for CAN-based networks –developed by Philips Medical Systems– is CAL(CAN Applica-tion Layer). It was adopted by the independent CAN users and manufacturer group CAN in Automation (CiA), developed further and pub-lished in a series of standards [1].CAL provides 4 application layer service elements: 1. CMS (CAN-based Message Specification):offers objects of type Variable, Event and D o-main to design and specify how the functional-ity of a device (a node) can be accessed through its CAN interface (e.g. how to up- or downloada set of data ('domain') exceeding the 8 bytesmaximum data content of a CAN-message, i n-cluding an 'abort transfer' feature).CMS derives from MMS (Manufacturing Mes-sage Specification), which is an OSI application layer protocol designed for the remote control and monitoring of industrial devices.2. NMT (Network ManagemenT):offers services to support network management,e.g. to initialize, start or stop nodes, detect nodefailures; this service is implemented according to a master-slave concept (there is one NMT master).3. DBT (DistriBuTor):offers a dynamic distribution of CAN identifiers (officially called COB-ID, Communication Ob-ject Identifier) to the nodes on the network; this service is implemented according to a master-slave concept (there is one DBT master).4. LMT (Layer ManagemenT):offers the ability to change layer parameters e.g.change the NMT-address of a node,or change bit-timing and baud-rate of the CAN-interface.CMS defines 8 priority levels in its messages, each having 220 COB-IDs, occupying COB-IDs 1 to 1760; the remaining identifiers (0, 1761-2031) are reserved for NMT, DBT and LMT. See Table 1. In a CAN-network the lower the value of the COB-ID, the higher the priority of the correspond-ing message on the network is.Note that this standard assumes CAN2.0A (CAN Standard Message Frame) having an 11-bit identi-fier, allowing a range of [0, 2047], but which -for historical reasons- is limited to [0, 2031]. However using CAN2.0B (CAN Extended Message Frame) with 29-bit identifier doesn't change the picture: the 11-bits range in the table maps to the 11 most si g-nificant bits of the 29-bits COB-ID and the COB-ID ranges in the table will just become (much) la r-ger.CAN Application Layer (CAL)COB-ID Usage0 NMT start/stop services1 - 220 CMS objects priority 0221 - 440 CMS objects priority 1441 - 660 CMS objects priority 2661 - 880 CMS objects priority 3881 - 1100 CMS objects priority 41101 - 1320 CMS objects priority 51321 - 1540 CMS objects priority 61541 - 1760 CMS objects priority 71761 - 2015 NMT Node Guarding2016 - 2031 NMT, LMT, DBT services Table 1. C OB-ID (11-bit CAN-identifier) map-ping to CAL services and objects.3 CANopenCAL provides all network management services and message protocols, but it does not define the contents of the CMS objects or the kind of objects being communicated (it defines how, not what). This is where CANopen enters the picture. CANopen is built on top of CAL, using a subset of CAL services and communication protocols; it pro-vides an implementation of a distributed control system using the services and protocols of CAL.It does this in such a way that nodes can range from simple to complex in their functionality with-out compromising the interoperability between the nodes in the network.Central concept in CANopen is the Device Object Dictionary (OD), a concept used in other fieldbus systems as well (Profibus, Interbus-S).Note that the Object Dictionary concept is not part of CAL, it is an implementation aspect of CANopen.In the following sections we will first present the Object Dictionary, and only then the CANopen communication mechanisms.3.1 CANopen Object DictionaryThe CANopen Object Dictionary (OD) is an o r-dered grouping of objects; each object is addressed using a 16-bit index. To allow individual elements of structures of data to be accessed an 8-bit sub-index has been defined as well. The general layout of the CANopen OD is shown in Table 2.Don't be confused by all the 'data types' located in the OD at indices below 0FFF; they're there mainlyfor definition purposes only. The relevant range of a node's OD lies between 1000 and 9FFF.For every node in the network there exists an OD. The OD contains all parameters describing the de-vice and its network behaviour.The OD of a node mainly exists in the form of a database described in the EDS (see below) or on paper. It is not necesssarily possible to 'interrogate' a node via the CAN-bus about all its parameters in its OD. It is sufficient if the node behaves exactly according to its OD description on paper. The node itself only needs to be able to present at least all mandatory OD entries (as dictated by CANopen; these are actually very few), and optionally any other entries that form part of the configurable functionality of the node.CANopen is defined in the form of documents de-scribing profiles.There is the communication profile[2] describ-ing the general form of the OD and the objects in the OD's Communication Profile Area, the commu-nication parameters; it also describes the CANopen communication objects (see next section); this pro-file applies to all CANopen devices.Then there are the various device profiles (e.g.[3]) defining for a particular type of devices the OD objects; there are now about 5 different device pro-files and several more are under development.A profile describes for each OD object its func-tion, its name, its index and sub-index, its data type, whether the object is mandatory or optional, whether the object is 'read only' or 'write only' or 'read/write', etc.The description of a device's communication functionality and objects and its device-specific objects and their default values is proviced in the form of an Electronic Data Sheet (EDS), an ASCII file with a strictly defined syntax.A description of the object configuration of an individual device is called a Device Configuration File (DCF) and has the same structure as an EDS. Both file types are defined in the CANopen specifi-cation.The profiles define which OD objects are manda-tory and which are optional; the number of manda-tory objects is kept to a minimum allowing lean implementations.Optional features –in the communication part as well as the device-specific part– can be added as required to extend a CANopen device's functional-ity.If more f eatures are required than are present in the profile, there is plenty of space in the profile available for the addition of manufacturer-specific functionality.So the part of the OD describing the communica-tion parameters is the same for all CANopen de-vices (i.e. object placing in the OD is the same, not necessarily the value of the object…), the device-specific part of the OD is different for different (classes of) devices.CANopen Object DictionaryIndex Object0000 not used0001 - 001F Static Data Types (standard data types, e.g. Boolean, Integer16)0020 - 003F Complex Data Types (predefined structures composed of standarddata types, e.g. PDOCommPar, SDOParameter)0040 - 005F Manufacturer Specific Complex Data Types0060 - 007F Device Profile Specific Static Data Types0080 - 009F Device Profile Specific Complex Data Types00A0 - 0FFF reserved1000 - 1FFF Communication Profile Area(e.g. Device Type, Error Register, Number of PDOs supported)2000 - 5FFF Manufacturer Specific Profile Area6000 - 9FFF Standardised Device Profile Area (e.g. "DSP-401 Device Profile forI/0 Modules" [3]: Read State 8 Input Lines, etc.)A000 - FFFF reservedTable 2. General CANopen Object Dictio nary structure ('Index' in hexadecimal notation).The terms 'PDO' and 'SDO' denote CANopen communication objects, described in the next section.Condition to trigger PDO (B=both needed, O=one or both) Trans- Mission Type SYNC * RTR * Event * PDO Transmission0 B - B Sync, acyclic 1-240 O - - Sync, cyclic 241-251 - - - reserved252 B B - Sync, after RTR 253 - O - Async, after RTR254 - O O Async, manufacturer specific event 255-OOAsync, device profile specific event*SYNC = SYNC-object received.*RTR = Remote Transmission Request received (= a 'Remote Frame ' CAN-message). *Event = e.g. 'Change-of-Value' or timer-interrupt.Table 3. Definition of PDO transmission types in CANopen ; for types 1 to 240 the number indicatesthe number of SYNC objects between two PDO transmissions.3.2 CANopen communicationNow that we have presented the concept of the Object Dictionary we now will look at the messages that are communicated in CANopen networks, their content and their function, in other words: the CANopen communication model (see [2]).NB : be sure to make the distinction between OD objects (objects in the Object Dictionary) –characterized by their OD index and sub-index, as described in the previous section– and communica-tion objects or messages , characterized by their COB-ID or CAN-identifier, described in this sec-tion.The CANopen communication model defines four types of messages (communication objects ):1. Administrative message : Ø Layer management, network management and identifier distribution services: i.e ini-tialisation, configuration and supervision of the network (the latter aspect includes 'node/life guarding ': see below). Ø Services and protocols are according to the LMT , NMT and DBT service elements of CAL . These services are all based on a Mas-ter-Slave concept: in a CAN-network there is only one LMT -, NMT - or DBT -master and one or more slaves.2. Service Data Object (SDO): Ø An SDO provides a client access to entries (objects) of a device OD (the device is the server) using the object's OD index and sub-index, contained in the first few bytes of the CAN-message.Ø An SDO is implemented as a CMS object of type 'Multiplexed Domain' according to CAL , thus permitting transfer of data of any length (as data is split up over several CAN messages if necessary, which is when data occupies more than 4 bytes).The protocol is of the 'confirmed service' type: a reply is generated for every CAN message (one SDO requires 2 CAN-identifiers). The SDO request and reply mes-sage always contain 8 bytes (the number of non-significant bytes is shown as part of the first byte, which carries protocol inform a-tion), thus communication via an SDO has a considerable overhead.3. Process Data Object (PDO ): Ø Is used to transfer real-time data; d ata is transferred from one (and only one) pro-ducer to one or more consumers. Data trans-fer is limited to 1 to 8 bytes (for example: one PDO can transfer at maximum 64 digital I/O values, or 4 16-bit analogue inputs). It has no protocol overhead. The data con-tent of a PDO is defined through its CAN-identifier only and this content is assumed known to sender as well as receiver(s) of the PDO. Ø Each PDO is described by 2 objects in the Object Dictionary:♦ PDO Communication Parameter : con-tains which COB-ID is used by the PDO, the transmission type, inhibit time and timer period (see below for more details). ♦ PDO Mapping Parameter : contains a list of objects from the Object Dictionary that are mapped into the PDO, including their size in bits (the producer as well as the consumers of a PDO have to know the mapping to be able to interpret the contents of a PDO).Ø Contents of the PDO message is predefined(or is configured at network start-up): mapping of application objects into a PDO is described in the devices' OD (producer as well as consumer(s)) by the PDO Mapping Parame-ter, and is configurable using SDO messages if 'variable PDO mapping' is supported by the de-vice(s) (producer and consumers).Ø A PDO can have a number of transmission modes:♦ synchronous (synchronization by receipt of a SYNC object, see next messagetype):q acyclic (synchronized with respect to SYNC message but not periodical):§ transmission is 'pre-triggered' by aremote transmission request fromanother device,§ transmission is 'pre-triggered' bythe occurrence of an object-(device-)specific event specifiedin the device profile.q cyclic: transmission is triggered peri-odically after every 1, 2 or up to 240SYNC messages.♦ asynchronous:q transmission is triggered by a remote transmission request (by a CAN Re-mote Frame) from another device, q transmission is triggered by the o c-currence of an object (device) spe-cific event specified in the deviceprofile (e.g. an input-change-of-valueor a timer event).Table 3 gives an overview of the different PDO transmission modes as defined by the transmission type, part of the PDO Commu-nication Parameter object and defined as an unsigned 8-bit integer.Ø A PDO can be assigned an inhibit time, de-fining the minimum time between two con-secutive PDO transmissions, to prevent 'starvation' on the network. Inhibit time is a part of the PDO Communication Parameter object and is defined as an unsigned 16-bit integer in units of 100 µs.Ø A PDO can be assigned an event timer pe-riod where PDO transmission is triggered periodically when a specified time has elapsed (without the occurrence an alterna-tive trigger); it is defined as an unsigned 16-bit integer in units of 1 ms.Ø A PDO is implemented as a CMS object of type 'Stored-Event' according to CAL, mean-ing that the data is transferred with no proto-col overhead and that the message is not confirmed (one PDO requires one CAN-identifier);a maximum of 8 bytes (64 bits) of data canbe transferred. 4. Predefined messages or Special Function Ob-jects:Ø Synchronization (SYNC)♦ Used to synchronize tasks network-wide (particularly relevant for drive applica-tions): actual values of inputs are storedquasi-simultaneously network-wide andsubsequently transmitted (if required),output values are updated according tomessages received after the previousSYNC.♦ Master-slave concept: SYNC master i s-sues the periodic SYNC object, SYNCslaves carry out their synchronous taskson reception.♦ Transmission of a synchronous PDO is within a given time window with respectto the transmission of t h e SYNC mes-sage.♦ Implemented as a CMS object of type 'Basic Variable'.♦ CANopen suggests a COB-ID in the highest priority group to ensure a regularsynchronization signal; to keep the mes-sage as short as possible no data bytesare transferred.Ø Time Stamp♦ Provides application devices a common time frame reference.♦ Implemented as a CMS object of type 'Stored Event'.Ø Emergency♦ Is triggered by the occurrence of a device internal error.♦ Implemented as a CMS object of type 'Stored Event'.Ø Node/Life Guarding♦ Master-slave concept.♦ The NMT master monitors the state of the nodes: this is called node guarding.♦ Nodes optionally monitor the state of the NMT master: this is called life guarding;it starts on the NMT slave after it has re-ceived the first Node Guard messagefrom the NMT master.♦ Detects errors in the network interfaces of the devices, not failures in the deviceitself: these are reported by means of theEmergency.♦ Implemented according to the NMT node guarding protocol:a Remote Transmission Request from theNMT master to a particular node triggersa reply containing the node's state.Figure 2. Schematic relationship between CAN-bus communication, Object Dictionary and applica-tion software on a CANopen device.Ø Boot-up♦ Master-slave concept.♦ By sending this message the NMT slave indicates to the NMT master that is hastransitioned from state Initialising tostate Preoperational (see section 3.5).So two of the above-mentioned types of commu-nication objects are meant for data transfer. They implement two different mechanisms of data trans-fer:♦ SDO is used for (large,) low-priority data trans-fer between devices, typically used for configur-ing the devices on a CANopen network.♦ PDO is used for fast data transfer of 8 bytes of data or less without protocol overhead (the meaning of the data content has been defined beforehand).A CANopen device has to support a number of the network management services (administrative mes-sages) and needs a minimum of one SDO. Each CANopen device that produces or consumes proc-ess data should have at least one PDO. All other communication objects are optional.For more details about the various CANopen communication objects see [2]. See also section 3.6. The relation between CAN communication, the Object Dictionary and application software on a CANopen device is schematically illustrated in Figure 2.3.3 CANopen Predefined Connec-tion SetIn order to reduce configuration effort for simple networks a mandatory default CAN-identifier allo-cation scheme is defined. These identifiers are available in the Pre-Operational state (see section 3.5 CANopen boot-up) immediately following in i-tialisation and may be modified by means of d y-namic distribution. A device has to provide the cor-responding identifiers only for the supported com-munication objects.The allocation scheme is based on the division of the 11-bit CAN-identifier into a 4-bit function code part and a 7-bit node-identifier (Node-ID) part as shown in Figure 3.Figure 3. Structure of the 11-bit CAN-identifier in the CANopen Predefined Master /Slave Connection Set.The Node-ID is defined by the system integrator, for example by setting DIP switches on the device. The Node-ID has to be in the range from 1 to 127 (0 (zero) not allowed).The predefined connection set defines 4 Receive PDOs, 4 Transmit PDOs, 1 SDO (occupying 2 CAN-identifiers), 1 Emergency Object and 1 Node-Error-Control Identifier.It also supports the broadcasting of non-confirmed NMT-Module-Control services, SYNC- and Time Stamp-objects.The resulting CAN-identifier allocation scheme is shown in Table 4.The identifier distribution corresponds to a mas-ter/slave connection set because all peer-to-peer identifiers are different so that in fact only a master device that knows all connected Node-IDs can communicate to each individual connected slave node (up to 127 nodes) in a peer-to-peer fashion. Two connected slaves would not be able to com-municate because they don't know eachother's Node-ID.Broadcast objects of the CANopen Predefined Master/Slave Connection SetObjectFunction code (ID-bits 10-7)COB-IDCommunication parameters at OD indexNMT Module Control 0000 000h –SYNC0001 080h 1005h, 1006h, 1007hTIME STAMP 0010 100h 1012h, 1013hPeer-to-Peer objects of the CANopen Predefined Master/Slave Connection SetObjectFunction code (ID-bits 10-7)COB-ID *Communication parameters at OD indexEMERGENCY 0001 081h - 0FFh 1024h, 1015hPDO 1 (transmit) 0011 181h - 1FFh 1800h PDO 1 (receive) 0100 201h - 27Fh 1400h PDO 2 (transmit) 0101 281h - 2FFh 1801h PDO 2 (receive) 0110 301h - 37Fh 1401h PDO 3 (transmit) 0111 381h - 3FFh 1802h PDO 3 (receive) 1000 401h - 47Fh 1402h PDO 4 (transmit) 1001 481h - 4FFh 1803h PDO 4 (receive)1010 501h - 57Fh 1403h SDO (transmit/server) 1011 581h - 5FFh 1200h SDO (receive/client) 1100 601h - 67Fh 1200h NMT Error Control1110701h - 77Fh1016h, 1017hTable 4. Assignment of CAN-identifiers in the CANopen Predefined Master/Slave Connection Set.("PDO/SDO transmit/receive" is from the (slave) CAN-node point of view). NMT Error Con-trol includes Node Guarding , Heartbeat and Boot-up protocols.*The COB-ID range covers the allowed Node-ID range from 1 to 127.Comparing the identifier m apping of the default CANopen set in Table 4 to the mapping of CAL in Table 1 clearly shows how CANopen objects with specific defined functions map to the general CMS objects of CAL , illustrating how CANopen impl e-ments a system using the more general CAL facili-ties.3.4 CANopen identifier distributionThe allocation of CAN-identifiers (or COB-IDs) in CANopen can take place in 3 different ways:Ø using the Predefined Master/Slave Connection Set (see previous section):allocation of identifiers is default, so no con-figuration is needed; configuration of PDO data contents (socalled PDO mapping ) is pos-sible if the node supports it. Ø modifying the PDO identifiers after power-up (when the node is in Pre-Operational state; seenext section), using the (predefined) SDO to write new values to the appropriate locations in the node's Object Dictionary.Ø using the CAL DBT (DistriBuTor) services: nodes or slaves connected to a CANopen net-work are initially identified by their configured Node-ID. The Node-ID may be configured by setting DIPswitches on the device or by use of CAL Layer Management services (LMT).When the network initializes and boots the network master initially establishes a dialog with each connected slave by means of a 'Con-nect_Remote_Node' telegram (a CAL NMT service). Once this dialog has been established the CAN identifiers for communication of SDOs and PDOs are allocated to the node u s-ing CAL Distribution services (DBT); it re-quires the node to support extended boot-up (see next section).3.5 CANopen boot-up processIn the network initialisation process CANopen supports a socalled extended boot-up as well as a socalled minimum boot-up process.Extended boot-up is optional, minimum boot-up has to be supported by all CANopen devices or nodes; both types of nodes can exist side-by-side on the same network.A node has to support the extended boot-up proc-ess if the identifier distribution is by means of CAL DBT services (see previous section).Both initialisation processes can be represented by a device or node state-transition diagram as shown in Figure 4 for a minimum boot-up node. The extended boot-up state diagram has a few more states between the Pre-Operational and the Opera-tiona l state.NMT services are used to bring all or selected nodes into various operating states at any time.The CAN-message carrying this NMT service consists of the CAN-header (with COB-ID=0) and two data bytes, 1 byte containing the requested ser-vice ('NMT command specifier') and the second byte the Node-ID, or zero which addresses all nodes simu ltaneously.There is one node the CAN-network that acts as the NMT-master. It issues the NMT messages and controls the node initialization process.CANopen devices supporting only the minimum boot-up are also called minimum capability devices. Minimum capability devices enter the Pre-Operational state automatically after finishing the device initialization. In this state device parameteri-zation and COB-ID-allocation via SDO is possible. By switching a device into the Prepared state it is forced to stop communication altogether, except NMT services, and node guarding, if supported and active. ('Stopped' would be a better name to d e-scribe this state).Figure 4. State transition diagram for a CANopen minimum boot-up node. The letters in brackets show which communication object types are allowed inside the different states:a. NMT,b. Node Guard,c. SDO,d. Emergency,e. PDO,f. Boot-upState transitions (1-5: initiated by NMT services) and the NMT command specifier (in brackets): 1: Start_Remote_Node (0x01)2: Stop_Remote_Node (0x02)3: Enter_Pre-Operational_State (0x80)4: Reset_Node (0x81)5: Reset_Communication (0x82)6: Device initialisation finished,enter Pre-Operational state automatically, send Boot-up message3.6 Details of CANopenmessage syntaxIn the following sections the COB-ID s used are as defined in the CANopen Predefined Connection Set.3.6.1 NMT Module ControlOnly the NMT-Master issues NMT Module Con-trol messages. All slaves must support the NMT Module Control services. There is no response to an NMT Module Control message. The NMT message has the following format:NMT-Master ⇒NMT-Slave(s)COB-ID Byte 0 Byte 10x000 CS Node-IDWith Node-ID=0 (zero) all connected NMT slaves are addressed. CS is the Command Specifier, which can have the following values (also see Figure 4):CommandSpecifierNMT Service1 Start Remote Node2 Stop Remote Node128 Enter Pre-operational State129 Reset Node130 Reset Communication3.6.2 NMT Node GuardingUsing Node Guarding the NMT-Master can check on the current state of individual nodes, which is especially useful when these nodes are not polled for data on a regular basis.The NMT-Master sends a CAN remote frame (no data bytes) as follows:NMT-Master ⇒NMT-SlaveCOB-ID0x700 + Node_IDThe NMT-Slave replies with the fol lowing mes-sage:NMT-Master ⇐ NMT-SlaveCOB-ID Byte 00x700 + Node_ID bit 7: toggle, bit 6-0: stateThe data byte contains a toggle bit (bit 7) that should alternate between '0' and '1' for every Node Guard request (first time = 0).Bits 0 to 6 denote the node's state which can be one of the following (compare to Figure 4):Value State0 Initialising1 Disconnected *2 Connecting *3 Preparing *4 Stopped5 Operational127 Pre-operationalStates marked with * are present only in nodes that support extended boot-up (see previous sec-tion). Note that state 0 never occurs in a Node Guard reply because a node does not respond to Node Guard messages when in this state. Alternatively a node can be configured to produce a periodical so-called Heartbeat message:HEARTBEAT Producer ⇒ Consumer(s) COB-ID Byte 00x700 + Node_ID statewith state any of the following:state Meaning0 Boot-up4 Stopped5 Operational127 Pre-operationalWhen a node with a Heartbeat boots up its Boot-up message (see next section) is its first Hearbeat message. The Heartbeat consumer typically is the NMT-master which should have a time-out for each node with a Heartbeat and takes appropriate action if a time-out occurs.A node is not allowed to support both Node Guarding and Heartbeat protocols at the same time.3.6.3 NMT Boot-upAn NMT-Slave issues the Boot-up message to in-dicate to the NMT-Master that it has entered the state Pre-operational from state Initialising: NMT-Master ⇐ NMT-SlaveCOB-ID Byte 00x700 + Node_ID 0。

相关文档
最新文档