Presentation is loading. Please wait.

Presentation is loading. Please wait.

CANopen协议培训 V 1.0.

Similar presentations


Presentation on theme: "CANopen协议培训 V 1.0."— Presentation transcript:

1 CANopen协议培训 V 1.0

2 引言 CAN总线简介 CANopen协议简介 Cscape软件中CANopen常用配置简介
附录1. HORNER OCS控制器CANopen参数 附录2. HORNER OCS控制器CANopen通信状态字 附录3. 实际通信案例演示

3 引言 随着汽车工业的发展,20世纪80年代中期,率先由Bosch公司研发出新一代的汽车总线即控制器局域网(Controller Area Network,简称:CAN总线或CAN-bus),CAN总线具有布线简单、典型的总线型结构、可最大限度的节约布线与维护成本、稳定可靠、实时、抗干扰能力强、传输距离远等特点,这些都决定了CAN总线必定是一种成功的总线。一经推出不仅在汽车行业得到广泛的推广与应用,在诸如航天、电力、石化、冶金、纺织、造纸等领域也得到广泛应用。在自动化仪表、工业生产现场、数控机床等系统中也越来越多的使用了CAN总线,CAN总线在未来的发展中依然充满活力,有着巨大的发展空间。 由于CAN总线本身只定义ISO/OSI模型中的第一层(物理层)和第二层(数据链路层),通常情况下CAN总线网络都是独立的网络,所以没有网络层。在实际使用中,用户还需要自己定义应用层的协议,因此在CAN总线的发展过程中出现了各种版本的CAN应用层协议,现阶段最流行的CAN应用层协议主要有CANopen、DeviceNet和J1939等协议。 回目录

4 CAN总线简介 CAN总线的特点 CAN总线采用差分信号传输,通常情况下只需要两根信号线(CAN-H和CAN-L)就可以进行正常的通信。在干扰比较强的场合,还需要用到屏蔽地即CAN-G(主要功能是屏蔽干扰信号),CAN协议推荐用户使用屏蔽双绞线作为CAN总线的传输线。在隐性状态下,CAN-H与CAN-L的输入差分电压为0V(最大不超过0.5V),共模输入电压为2.5V。在显性状态下,CAN-H与CAN-L的输入差分电压为2V(最小不小于0.9V),如下图所示。 回目录

5 CAN总线简介 CAN总线的特点 其物理传输层详细和高效的定义,使得CAN总线具有其它总线无法达到的优势,注定其在工业现场总线中占有不可动摇的地位,CAN总线通信主要具有如下所示的优势和特点: CAN总线上任意节点均可在任意时刻主动的向其它节点发起通信,节点没有主从之分,但在同一时刻优先级高的节点能获得总线的使用权,在高优先级的节点释放总线后,任意节点都可使用总线; CAN总线传输波特率为5Kbps~1Mbps,在5Kbps的通信波特率下最远传输距离可以达到10Km,即使在1Mbps的波特率下也能传输40m的距离。在1Mbps波特率下节点发送一帧数据最多需要134μs; CAN总线采用载波监听多路访问、逐位仲裁的非破坏性总线仲裁技术。在节点需要发送信息时,节点先监听总线是否空闲,只有节点监听到总线空闲时才能够发送数据,即载波监听多路访问方式。在总线出现两个以上的节点同时发送数据时,CAN协议规定,按位进行仲裁,按照显性位优先级大于隐性位优先级的规则进行仲裁,最后高优先级的节点数据毫无破坏的被发送,其它节点停止发送数据(即逐位仲裁无破坏的传输技术)。这样能大大的提高总线的使用效率及实时性; CAN总线所挂接的节点数量主要取决于CAN总线收发器或驱动器,目前的驱动器一般都可以使同一网络容量达到110个节点。CAN报文分为两个标准即CAN2.0A标准帧和CAN2.0B扩展帧,两个标准最大的区别在于CAN2.0A只有11位标识符,CAN2.0B具有29位标识符; 回目录

6 CAN总线简介 CAN总线应用层协议 由于CAN总线只定义了ISO/OSI中的物理层和数据链路层,因此对于不同的应用出现了不同的应用层协议,为了使不同厂商的产品能够相互兼容,世界范围内需要通用的CAN应用层通信协议,目前使用范围较大CAN协议主要有以下三种: 在欧洲等地占有大部分市场份额的CANopen协议,主要应用在汽车、工业控制、自动化仪表等领域,目前由CIA负责管理和维护;  J1939是CAN总线在商用车领域占有绝大部分市场份额的应用层协议,由美国机动车工程师学会发起,现已在全球范围内得到广泛的应用; DeviceNet协议在美国等地占有相当大的市场份额,主要用于工业通信及控制和仪器仪表等领域。 HORNER公司的CsCAN协议也是一种CAN高层协议。 回目录

7 CANopen协议简介 CANopen协议是在20世纪90年代末,由CiA组织(CAN-in-Automation)在CAL(CAN Application Layer)的基础上发展而来,一经推出便在欧洲得到了广泛的认可与应用。经过对CANopen协议规范文本的多次修改,使得CANopen协议的稳定性、实时性、抗干扰性都得到了进一步的提高。并且CIA在各个行业不断推出设备子协议,使CANopen协议在各个行业得到更快的发展与推广。目前CANopen协议已经在运动控制、车辆工业、电机驱动、工程机械、船舶海运等行业得到广泛的应用。     CANopen的核心概念是设备对象字典(OD:Object Dictionary),在其它现场总线(Profibus,Interbus-S)系统中也使用这种设备描述形式。下面先介绍对象字典(OD:Object Dictionary),然后再介绍CANopen通讯机制。 回目录

8 CANopen协议简介 1.对象字典OD   对象字典(OD:Object Dictionary)是一个有序的对象组;每个对象采用一个16位的索引值来寻址,为了允许访问数据结构中的单个元素,同时定义了一个8位的子索引,对象字典的结构参照下表。不要被对象字典中索引值低于0x0FFF的‘data types’项所迷惑,它们仅仅是一些数据类型定义。一个节点的对象字典的有关范围在0x1000到0x9FFF之间。 回目录

9 CANopen协议简介 CANopen网络中每个节点都有一个对象字典。对象字典包含了描述这个设备和它的网络行为的所有参数。
    一个节点的对象字典是在电子数据文档(EDS:Electronic Data Sheet)中描述或者记录在纸上。不必要也不需要通过CAN-bus“审问”一个节点的对象字典中的所有参数。如果一个节点严格按照在纸上的对象字典进行描述其行为,也是可以的。节点本身只需要能够提供对象字典中必需的对象(而在CANopen规定中必需的项实际上是很少的),以及其它可选择的、构成节点部分可配置功能的对象。     CANopen由一系列称为子协议的文档组成。     通讯子协议(communication profile),描述对象字典的主要形式和对象字典中的通讯子协议区域中的对象,通讯参数。同时描述CANopen通讯对象。这个子协议适用于所有的CANopen设备。     还有各种设备子协议(device profile),为各种不同类型设备定义对象字典中的对象。目前已有5种不同的设备子协议,并有几种正在发展。     设备子协议定义了对象字典中哪些OD对象是必需的,哪些是可选的;必需的对象应该保持最少数目以减小实现的工作量。     可选项――在通讯部分和与设备相关部分――可以根据需要增加以扩展CANopen设备的功能。如果需要的项超过了设备子协议中可以提供的,在设备子协议中已预留由足够空间提供给厂商的特定功能使用。 回目录

10 CANopen协议简介 2. CANopen通讯
前面说明了CANopen中对象字典的概念,现在我们来介绍在CANopen网络中的通讯消息,它们的内容和功能,换句话:CANopen通讯模式。 注意:请区分对象字典中的对象(使用对象字典索引和子索引)和通讯对象(使用COB-ID)。 CANopen通讯模型定义了4种报文(通讯对象): (1) 管理报文 包括层管理,网络管理和ID分配服务:如初始化,配置和网络管理(包括:节点保护)。 服务和协议符合CAL中的LMT,NMT和DBT服务部分。这些服务都是基于主从通讯模式:在CAN网中只能有一个LMT,NMT或DBT主节点以及一个或多个从节点。 (2) 服务数据对象 SDO(Service Data Object) 通过使用索引和子索引(在CAN报文的前几个字节),SDO使客户机能够访问设备(服务器)对象字典中的项(对象) SDO通过CAL中多元域的CMS对象来实现,允许传送任何长度的数据 协议是确认服务类型:为每个消息生成一个应答(一个SDO需要两个ID)。SDO请求和应答报文总是包含8个字节(没有意义的数据长度在第一个字节中表示,第一个字节携带协议信息)。SDO通讯有较多的协议规定。 回目录

11 CANopen协议简介 (3)过程数据对象 PDO(Process Data Object)
用来传输实时数据, 数据从一个生产者传到一个或多个消费者。数据传送限制在1到8个字节(例如,一个PDO可以传输最多64个数字I/O值,或者4个16位的AD值)。 PDO通讯没有协议规定。PDO数据内容只由它的CAN ID定义,假定生产者和消费者知道这个PDO的数据内容。 每个PDO在对象字典中用2个对象描述: PDO通讯参数:包含哪个COB-ID将被PDO使用,传输类型,禁止时间和定时器周期。 􀂄 PDO映射参数:包含一个对象字典中对象的列表,这些对象映射到PDO里,包括它们的数据长度。生产者和消费者必须知道这个映射,以解释PDO内容。 PDO消息的内容是预定义的(或者在网络启动时配置的): 映射应用对象到PDO中是在设备对象字典中描述的。如果设备(生产者和消费者)支持可变PDO映射,那么使用SDO报文可以配置PDO映射参数。 PDO可以有多种传送方式: 回目录

12 CANopen协议简介 同步(通过接收 SYNC对象实现同步) 异步 回目录 非周期:由远程帧预触发 传送,或者由设备子协议
中规定的对象特定事件预 触发传送。 周期:传送在每1到240个 SYNC消息后触发。 异步 由远程帧触发传送。 由设备子协议中规定的对 象特定事件触发传送。 右表给出来了由传输类型定义 的不同PDO传输模式,传输类 型为PDO通讯参数对象的一部 分,由8位无符号整数定义。 回目录

13 CANopen协议简介 一个PDO可以指定一个禁止时间,即定义两个连续PDO传输的最小间隔时间,避免由于高优先级信息的数据量太大,始终占据总线,而使其它优先级较低的数据无力竞争总线的问题。禁止时间由16位无符号整数定义,单位100us。 一个PDO可以指定一个事件定时周期,当超过定时时间后,一个PDO传输可以被触发(不需要触发位)。事件定时周期由16位无符号整数定义,单位1ms。 PDO通过CAL中存储事件类型的CMS对象实现。PDO数据传送没有上层协议,而且PDO报文没有确认(一个PDO需要一个CAN-ID)。每个PDO报文传送最多8个字节(64位)数据。 (4)预定义报文或者特殊功能对象 同步(SYNC) 在网络范围内同步(尤其在驱动应用中):在整个网络范围内当前输入值准同时保存,随后传送(如果需要),根据前一个SYNC后接收到的报文更新输出值。 主从模式:SYNC主节点定时发送SYNC对象,SYNC从节点收到后同步执行任务。 在SYNC报文传送后,在给定的时间窗口内传送一个同步PDO。 用CAL中基本变量类型的CMS对象实现。 CANopen建议用一个最高优先级的COB-ID以保证同步信号正常传送。SYNC报文可以不传送数据以使报文尽可能短。 回目录

14 CANopen协议简介 时间标记对象(Time Stamp) 为应用设备提供公共的时间帧参考。 用CAL中存储事件类型的CMS对象实现。
紧急事件(Emergency) 设备内部错误触发。 节点/寿命保护(Node/Life guarding)。 主从通讯模式 NMT主节点监控节点状态:称作节点保护(Node guarding)。 节点也可以(可选择)监控NMT主节点的状态:称作寿命保护(Life guarding)。当NMT从节点接收到NMT主节点发送的第一个Node Guard报文后启动寿命保护。 检测设备的网络接口错误(不是设备自身的错误):通过应急指示报告。 根据NMT节点保护协议实现: NMT主节点发送远程请求到一个特定节点,节点给出应答,应答报文中包含了这个节点的状态。 回目录

15 CANopen协议简介 Boot-UP 主从通讯模式 NMT从节点通过发送这个报文,向NMT主节点说明该节点已经由初始化状态进入预操作状态。
上面提到的通讯对象类型中有二个对象用于数据传输。它们采用二种不同的数据传输机制实现: SDO 用来在设备之间传输大的低优先级数据,典型的是用来配置CANopen网络上的设备。 PDO 用来传输8字节或更少数据,没有其它协议预设定(意味着数据内容已预先定义)。 一个CANopen设备必须支持一定数量的网络管理服务(管理报文,administrative messages),需要至少一个SDO。每个生产或消费过程数据的设备需要至少一个PDO。所有其它的通讯对象是可选的 回目录

16 CANopen协议简介 3. CANopen预定义连接集
为了减小简单网络的组态工作量,CANopen定义了强制性的缺省标识符(CAN-ID)分配表。这些标志符在预操作状态下可用,通过动态分配还可修改他们。CANopen设备必须向它所支持的通讯对象的提供相应的标识符。 缺省ID分配表是基于11位CAN-ID,包含一个4位的功能码部分和一个7位的节点ID(Node-ID)部分。如下图所示 Node-ID由系统集成商定义,例如通过设备上的拨码开关设置。Node-ID范围是1~127(0不允许被使用)。 预定义的连接集定义了4个接收PDO(Receive-PDO),4个发送PDO(Transmit-PDO),1个SDO(占用2个CAN-ID),1个紧急对象和1个节点错误控制(Node-Error-Control)ID。也支持不需确认的NMT-Module-Control服务,SYNC和Time Stamp对象的广播。 回目录

17 缺省ID分配表如右图。 注意: PDO/SDO 发送/接收是由(slave)CAN节点 方观察的。
NMT 错误控制包括节点保护(Node Guarding), 心跳报文(Heartbeat)和Boot-up协议。 回目录

18 CANopen协议简介 4. CANopen预定义连接集
ID地址分配表与预定义的主从连接集(set)相对应,因为所有的对等ID是不同的,所以实际上只有一个主设备(知道所有连接的节点ID)能和连接的每个从节点(最多127个)以对等方式通讯。两个连接在一起的从节点不能够通讯,因为它们彼此不知道对方的节点ID。 CANopen网络中CAN标识符(或COB-ID)分配3种不同方法: 使用预定义的主从连接集。ID是缺省的,不需要配置。如果节点支持,PDO数据内容也可以配置。 上电后修改PDO的ID(在预操作状态),使用(预定义的)SDO在节点的对象字典中适当位置进行修改。 使用CAL DBT服务:节点或从节点最初由它们的配置ID指称。节点ID可以由设备上的拨码开关配置,或使用CAL LMT服务进行配置。当网络初始化完毕,并且启动后,主节点首先通过”Connect_Remote_Node”报文(是一个CAL NMT服务)和每个连接的从设备建立一个对话。一旦这个对话建立,CAN通讯ID(SDO和PDO)用CAL DBT服务分配好,这需要节点支持扩展的boot-up。 回目录

19 CANopen协议简介 5. CANopen消息语法细节 (1) NMT模块控制(NMT Module Control)
只有NMT-Master节点能够传送NMT Module Control报文。所有从设备必须支持NMT模块控制服务。NMT Module Control消息不需要应答。NMT消息格式如下: 当Node-ID=0,则所有的NMT从设备被寻址。CS是命令字,可以取如下值: 回目录

20 CANopen协议简介 (2) NMT节点保护(NMT Node Guarding)
通过节点保护服务,NMT主节点可以检查每个节点的当前状态,当这些节点没有数据传送时这种服务尤其有意义。NMT-Master节点发送远程帧(无数据)如下: NMT-Slave节点发送如下报文应答: 回目录

21 CANopen协议简介  数据部分包括一个触发位(bit7),触发位必须在每次节点保护应答中交替置“0”或者“1”。触发位在第一次节点保护请求时置为“0”。位0到位6(bits0~6)表示节点状态,可为下表中的数值。 注意:带*号的状态只有支持扩展boot-up的节点才提供。注意状态0从不在节点保护应答中出现,因为一个节点在这个状态时并不应答节点保护报文。 回目录

22 CANopen协议简介 或者,一个节点可被配置为产生周期性的被称作心跳报文(Heartbeat)的报文。 状态可为下表种的数值:
当一个Heartbeat节点启动后它的Boot-up报文是其第一个Heartbeat报文。Heartbeat消费者通常是NMT-Master节点,它为每个Heartbeat节点设定一个超时值,当超时发生时采取相应动作。 一个节点不能够同时支持Node Guarding和Heartbeat协议。 回目录

23 CANopen协议简介 (3)NMT Boot-up
NMT-slave节点发布Boot-up报文通知NMT-Master节点它已经从initialising状态进入pre-operational状态。 回目录

24 CANopen协议简介 (4)过程数据对象(PDO)
作为一个例子,假定第二个Transmit-PDO映射如下(在CANopen中用对象字典索引0x1A01描述) 在CANopen I/O模块的设备子协议(CiA DSP-401)定义中,对象0x6000子索引2是节点的第2组8位数字量输入,对象0x6401子索引0x01是节点的第1组16位模拟量输入。 这个PDO报文如果被发送(可能由输入改变,定时器中断或者远程请求帧等方式触发,和PDO的传输类型相一致,可以在对象0x1801子索引2中查找),则由3字节数据组成,格式如下: 回目录

25 CANopen协议简介 通过改变对象0x1A01的内容,PDO的内容可被改变(如果节点支持(可变PDO映射))。
注意在CANopen中多字节参数总是先发送LSB(little endian)。 不允许超过8个字节的数据映射到某一个PDO中。 在CANopen Application Layer and Communication Profile (CiA DS 301 V 4.02 )中定义了MPDO(multiplexor PDO),允许一个PDO传输大量变量,通过在报文数据字节中包含源或目的节点ID、OD中的索引和子索引来实现。举个例子:如果没有这个机制,当一个节点有64个16位的模拟通道时,就需要16个不同的Transmit-PDOs来传送数据, 回目录

26 Cscape软件中CANopen常用配置简介
1.要使用Cscape中的CANopen功能,首先要在IO Config中选择支持CANopen协议的控制器类型。 如右图选择的是XL6-102控制器的 CANopen版本,HEXL202 Tips:使用CsCAN固件的控制器的IO后缀号均为10X,使用CANopen固件的控制器的IO后缀号均为20X 回目录

27 Cscape软件中CANopen常用配置简介
2.进入Program菜单下的Network Configuration项,开始CANopen网络配置。 回目录

28 Cscape软件中CANopen常用配置简介
3.进入Program菜单下的Network Configuration项,开始CANopen网络配置。控制器为主站时如下图: 主站节点ID 通信波特率 通信扩展设定 网络状态寄存器 回目录

29 Cscape软件中CANopen常用配置简介
各项目功能: 1.CANopen网络ID:每个CANopen网络节点都应有一个与众不同的ID,范围从1-127. 2.CANopen网络波特率:CANopen网络上的所有设备应当选用共同的波特率,HORNER产品支持4种波 特率选项,分别是125K,250K,500K和1Mbps. 3. Perform NMT Start Node all:选中该项时,主站将向全网设备发送启动命令. (一般选中) 4. Do Not Enter My self Operational Automatically: 选中该项时,需要1个触发寄存器去启动主节点,其他从站节点将暂缓启动. (一般选中) 5. Do not send NMT start command: 选中该项时,主节点将不发送任何启动命令,每个从站需配置为自启动模式. (一般不选) 6. On error Control event of mandatory slave, NMT reset all nodes: 选中该项时,当网络上的任一必要从站节点发生故障时,主站会发出NMT RESET命令,复位所有网络设备的通信功能. (请根据需要酌情选择) 7. On error Control event of mandatory slave NMT stop command:选中该项时,当网络上的任一必要从站节点发生故障时,主站会发出NMT停止命令,停止所有设备的通信功能. (请根据需要酌情选择) 8. Network Status Registers:存放网络状态,主站和各从站节点通信状态。其中网络和主站状态占用4个%R寄存器,每增加1个从站节点,则增加1个%R寄存器存放该节点的状态. 回目录

30 Cscape软件中CANopen常用配置简介
主站菜单项目:Device Type and Status Information 用于显示从EDS文件装载的设备类型信息. 回目录

31 Cscape软件中CANopen常用配置简介
主站菜单项目:Special Function Object Configuration 特殊功能对象配置 SYNC同步对象配置域 Time Stamp时间戳对象配置域 Emergency紧急事件对象配置域 回目录

32 Cscape软件中CANopen常用配置简介
各项目功能: Sync Protocol Parameter Configuration: 同步协议参数配置 同步桢由同步桢生产者向网络周期性的广播发送。同步桢为网络提供了一个同步时钟。 SYNC COB-ID:  同步桢默认的COB-ID是0x80,用户可根据需要替换。 Generate SYNC Message: 选中该项,控制器将向网络发送同步桢。目前NX,QX,XL6e,XL10e可以做为同步桢的生产者。在网络中,只能有1台设备被配置为生产者,其余均为消费者。 Communication Cycle Period : 输入以微秒为单位的同步桢周期,如果不使用,填0. Synchronous Window Length : 在同步桢后,所有通信操作应该在该窗口时间内完成,单位微秒,如果不 使用,填0. 回目录

33 Cscape软件中CANopen常用配置简介
2. Time Stamp Configuration: 时间戳配置,通过时间戳同步网络设备时间 Produce Time Message:选中该项,设备作为生产者,向网络发送时间戳。 Consume Time Message:选中该项,设备作为消费者,从网络获取时间戳。 Time COB-ID:  时间戳默认的COB-ID是0x100,用户可根据需要替换。 回目录

34 Cscape软件中CANopen常用配置简介
3. Emergency Protocol Parameter Configuration: 紧急对象协议参数配置      当设备发生内部故障时,会向网络发送一个紧急对象消息。主站节点会消费其他节点发送的紧急对象信息。 EMCY COB-ID: 默认的紧急对象消息的COB-ID是0x80+节点ID,用户可按需要配置。 Disable EMCY : 选中此项将会终止发送紧急对象信息。 Inhibit Time EMCY : 输入EMCY消息的禁止时间,单位毫秒。 回目录

35 Cscape软件中CANopen常用配置简介
主站菜单项目:Error Control Protocol Configuration 错误控制协议配置 节点保护协议配置域 心跳包消费者配置域 心跳包生产者配置域 回目录

36 Cscape软件中CANopen常用配置简介
配置节点保护协议: 选择 ‘Use Node Guard Protocol Error Control’ 使用节点保护协议 为每个从站节点设定保护时间和寿命时间。 配置心跳协议: 选择‘Use Heart Beat Protocol Error Control’ 使用心跳协议 如果设备是心跳包生产者,配置Producer Heartbeat Time 生产者心跳周期时间 为每个心跳包消费者设定心跳包超时时间 注意:默认下主站作为心跳包消费者。    节点可同时作为生产者和消费者。    消费者的超时时间须大于等于生产者心跳    周期时间。 回目录

37 Cscape软件中CANopen常用配置简介
主站菜单项目:SDO Configuration SDO配置 SDO服务数据对象用于访问设备对象字典中的条目,默认的SDO为自动配置。 回目录

38 Cscape软件中CANopen常用配置简介
主站菜单项目:PDO Communication Parameter Configuration PDO通信参数配置 已配置PDO列表 单击添加新的PDO项目 单击删除已选择的PDO项目 从EDS文件中导入默认的配置信息 单击以生效更改 PDO配置域 回目录

39 Cscape软件中CANopen常用配置简介
Receive PDO Communication Parameter Configuration (RPDO ): 接受PDO通信参数配置 PDO COB-ID Entry PDO COB-ID: 配置RPDO COB-ID,点击 ‘Set default’ 从EDS 文件中读取默认参数。 Disable PDO: 选中该项则禁止该PDO执行。 PDO Transmission Type :根据实际的需求选择传输类型(同步/异步)。 回目录

40 Cscape软件中CANopen常用配置简介
Transmit PDO Communication Parameter Configuration (TPDO ):发送PDO参数配置 PDO COB-ID Entry PDO COB-ID: 配置RPDO COB-ID,点击 ‘Set default’ 从EDS 文件中读取默认参数。 Disable PDO: 选中该项则禁止该PDO执行。 Allow RTR:当PDO需要以远程请求模式发送时选中该项。 回目录

41 Cscape软件中CANopen常用配置简介
Transmit PDO Communication Parameter Configuration (TPDO ):发送PDO参数配置 PDO COB-ID Entry PDO Transmission Type : 选择不同的PDO传输类型。 Asynchronous On change 异步传输,数据              改变时发送 Synchronous On change  同步传输,数据              改变时发送 Synchronous On Sync count  同步传输,到达同步计数后发送 Asynchronous On trigger  异步传输,触发时发送 Asynchronous On RTR  异步传输,远程请求时发送 Synchronous On RTR  同步传输,远程请求时发送 回目录

42 Cscape软件中CANopen常用配置简介
Transmit PDO Communication Parameter Configuration (TPDO ):发送PDO参数配置 PDO Timing Parameter :PDO时间参数 Event Time : 配置异步通信时的事件定时周期,单位毫秒,设为0不启用。 Inhibit Time : 配置异步通信时的禁止时间,单位毫秒,设为0不启用。 回目录

43 Cscape软件中CANopen常用配置简介
主站菜单项目:PDO Mapping Parameter Configuration: PDO路由参数配置,TPDO和RPDO菜单相同 已配置PDO路由列表 显示选定PDO的路由对象 显示和编辑路由对象属性和地址 删除选定路由对象 从EDS中选择设备支持的路由对象 保存本次修改 在列表中添加路由对象 回目录

44 Cscape软件中CANopen常用配置简介
Slave Configuration 控制器做主站时,Cscape内的从站配置 在主站节点上单击右键以添加从站节点 装载设备的EDS文件(可选) 配置从站节点ID Mandatory Slave: 如果设备是必要从站节点,则选中 On Error, Start “Boot Sequence” : 如果希望该节点发生故障时重新启动,则选中该项 回目录

45 Cscape软件中CANopen常用配置简介
Slave Configuration 控制器做主站时,Cscape内的从站启动流程配置 Do not send NMT reset if Operational: 当选中该项时,若在启动网络启动过程中,该设备已在 运行状态,则主站不对其发送重启命令。 Check Node type, Profile, Vendor ID, Product Code, Revision No., Serial No.: 当选中该项时,在启动时主站将检测这些信息,若不相 符合,则会报错。(需要加载EDS文件) Check Configuration Date and Time: 当选中该项时,启动中主站将首先上传从站节点最后一 次配置的时间,如果和输入的时间不同,则全部 重新配 置选中项目。 回目录

46 Cscape软件中CANopen常用配置简介
Slave Configuration 控制器做主站时, Cscape内的从站启动流程配置 Config Error Control / Sync / Time Stamp / Emergency Protocal: 当第三方设备允许时 ,启动时重新配置以上协议。 Configuration of Slave PDOs and SDOs: 当选中该项时,主站重新 配置从站的PDOs和SDO。 Remote Transmission Request for all…….: 当选中该项时,主站将向选中的从站发送RTR请求。 回目录

47 Cscape软件中CANopen常用配置简介
4. 控制器为从站时如下图: 当控制器做从站时,选中此项 如果由主站控制是否进入Operational状态,选中此项 配置网络状态寄存器 配置网络通信参数 回目录 Configure other CANOpen network parameters

48 Cscape软件中CANopen常用配置简介
5. 梯形图环境下的功能块操作 CANopen SDO写入功能块: 当控制器为主站时,可以对网络所有设备进行SDO写入操作;当为从站时,仅可修改自身数据. 当功能块前能流导通,操作正常完成时,Kernel Error里的值应为0.Kerner Error状态字如下. 在功能块中依次填写目标节点ID,主索引,子索引,数据长度(字节),要写入数据的起始地址,当功能块前能流导通时,即执行一次写入操作 Kernel Error: 0x0       No Kernel Error. 0x1       Other Kernel Errors. 0x21     SDO Engine is Busy. 0x22     Memory Access Error.   0x23     SDO Timeout Error. 0x24     Not Supported.  0x25     Emergency Busy Error.  0x26     Input Data Error.            0xFE    Waiting for Response. 0xFF     Kernel Not Active 回目录

49 Cscape软件中CANopen常用配置简介
5. 梯形图环境下的功能块操作 CANopen SDO读取功能块: 当控制器为主站时,可以对网络所有设备进行SDO读取操作;当为从站时,仅可读取自身数据. 当功能块前能流导通,操作正常完成时,Kernel Error里的值应为0.Kerner Error状态字同SDO写入功能块. Tips: 1.程序里可以存在多个SDO READ/WRITE功能块,但在同一时刻,只有 一个功能块可以导通使用 ; 2.注意观察Kernel状态,如果操作时,反馈不是0,则表示操作失败,一般是 左侧 参数设置有误 在功能块中依次填写目标节点ID,主索引,子索引, 当功能块前能流导通时,即执行一次读取操作,得到的数据放在如图%R27开始的连续寄存器中 回目录

50 Cscape软件中CANopen常用配置简介
5. 梯形图环境下的功能块操作 CANopen Get Local ID功能块: 该功能块用于获取控制器的当前CANopen ID号,每当功能块前能流导通时,获取一次本机ID。 回目录

51 Cscape软件中CANopen常用配置简介
5. 梯形图环境下的功能块操作 CANopen Get State功能块: 用于获取指定节点ID设备当前的NMT状态,每当功能块前能流导通时,获取一次。 Tips: 1.如果要获取本机节点的NMT状态,Node ID项可直接填写0。 NMT State                    Value in Hex Preoperational                     7F Operational                           5 Stop                                      4 回目录

52 Cscape软件中CANopen常用配置简介
5. 梯形图环境下的功能块操作 CANopen Set NMT功能块: 用于设定指定节点ID设备当前的NMT状态,每当功能块前能流导通时,执行一次。该功能块仅当控制器为 主站节点时有效。 Tips: 1.如果要设定本机节点的NMT状态,Node ID项可直接填写0。 States                            NMT Commands               (Hex)  Preoperational               80         Operational                       1         Stop                                    2      Reset Comm                    81 Rest Node                        82 回目录

53 Cscape软件中CANopen常用配置简介
5. 梯形图环境下的功能块操作 CANopen Receive EMC Device功能块: 用于获取指定节点ID设备的Emergency message。 64 位EMC值含义 Word1 – Indicates the emergency message/codes. Word2 – Lower 8 bit represents Error register and upper 8 Bit Manufacturer specific error field. Word3 – Higher 16 bits of Manufacturer specific error. Word4 – Lower 16 bits of Manufacturer specific error. 回目录

54 Cscape软件中CANopen常用配置简介
5. 梯形图环境下的功能块操作 CANopen Receive EMC 功能块: 用于获取网络所有设备的Emergency message。 回目录

55 附录1. HORNER OCS控制器CANopen参数
XLe/t XL4,XL7,XL6,XL10,QX,NX, 支持的波特率 125K, 250K, 500K & 1M bps 支持的COB IDs 11 Bits 支持的工作模式 Master & Slave Modes 最大支持的过程数据对象(Process Data Objects)的数量 Transmit Process Data Objects (TPDO) : supports 64 PDO's Receive Process Data Objects (RPDO) : supports 64 PDO's 最大支持的PDO路由表 静态PDO : supports 64 PDO‘s 动态PDO : supports 16 PDO's 支持的PDO工作模式 异步模式: On change of Data, On Event Time, On Trigger Bit and Remote requested 同步模式: On change of Data, On Sync count and Remote requested 异步模式下支持Inhibit time和Event time PDO 通信参数 COB-ID, Transmission Type & Timing Parameters SDO 服务 Expedited Upload, Expedited Download & Segmented Upload 紧急对象信息 Supported only in Generic Error NMT Manager 最大支持127个从站 应用层协议支持 CiA 301 v 4.02 支持的Profile CiA 405 v 2.00 最大支持的从站节点数量 16 126 错误控制协议最大支持的从站节点数量 Node Guard Protocol: 16 Nodes Heart Beat Protocol: 16 Nodes Node Guard Protocol: 127 Nodes. Heart Beat Protocol: 127 Nodes SDO最大支持的从站节点数量 Server:16 Client:16 仅在主站模式时支持 Server: 128 Client:128 仅在主站模式时支持 是否支持发送同步桢 12.81 以上版本支持 支持 回目录

56 附录2.1 64位通信状态字对应表 回目录 Bits Error Reason Indication Remedy EMCY Object
Applicable Master        Slave 1 Object Dictionary Error. Invalid or corrupt CANOpen configuration can cause this error. Configuration of any COB-ID with value ’0’ (with or without disable option selection) can also cause this error to happen. No CANOpen communication at all, status register will be updated only if firmware finds configured status register address is valid. Download new configuration with COB-ID other than zero. N/A. Enable 2 Node ID Error (Invalid Node ID). This error will be flagged if firmware finds invalid Node-id value, i.e. zero or greater than 127. The corrupt configuration can also cause this error to happen. Firmware will ignore downloaded configuration and will refer default internal slave configuration. Download new configuration. This error will trigger valid EMCY Object with status register value in ’Manufacturer Specific Error Field’ of message. 3 Error Control Protocol is Not configured. If any of (i.e. Node Guard or Heartbeat) error control protocol is not configured and node configured is single slave. CANOpen communication will work as normal but Master node will not be able to detect some of the slave failures. The user can configure any of Error control protocol. This error will not trigger EMCY Object. Disable 4 TX Error. Baud rate mismatch, CAN network without proper terminating resistor, improper CAN network cabling can cause this error. CANOpen communication might not work properly. Verify configured baud rate, check for proper terminating resistor and cabling. 5 RPDO Object Mapping error. This error is disabled and indicated by other bits (collectively indicated by Bits 6,7,8 & 9) N/A 回目录

57 附录2.1 64位通信状态字对应表 回目录 Bits Error Reason Indication Remedy EMCY Object
Applicable Master        Slave 6 RPDO Set Data error. Firmware is not able to set the configured internal register value. RPDO data will not get updated in the register. The RPDO index value which is having error will be updated in status register. Verify configured index value, index value should be within supported range and with read/write access. This error will trigger valid EMCY Object with status register value in ’Manufacturer Specific Error Field’ of message. Enable 7 RPDO Invalid Object Index. Configured RPDO object index value is out of range or not supported by the firmware. Verify configured index value, index value should be within supported range. 8 RPDO DLC Error. Configured RPDO object count (or data length) does not match with received RPDO message. The received RPDO might have less number of objects (or different data length object) compared to configured one. Verify RPDO object count and data length of each object with that of actual RPDO message on bus. 9 RPDO Mapped Object Count Error. RPDO is configured without any objects. Verify RPDO object mapping and configure as per the requirement. 回目录

58 附录2.1 64位通信状态字对应表 回目录 Bits Error Reason Indication Remedy EMCY Object
Applicable Master        Slave 10 TPDO Object Mapping error. This error is disabled and indicated by other bits (Collectively indicated by Bits 11, 12, 13 & 14). N/A 11 TPDO Get Data error. Firmware is not able to get the configured internal register value. Configured TPDO will not be sent. The TPDO index value which is having error will be updated in status register. Verify configured index value, index value should be within supported range and with read access. This error will trigger valid EMCY Object with status register value in ’Manufacturer Specific Error Field’ of message. Enable 12 TPDO Compose Error. Firmware is not able compose the configured TPDO. Verify configured index value, index value should be within supported range and with read access. Also corrupt TPDO configuration can cause this error, in such case reload the CANOpen configuration. 13 TPDO Invalid Object Index. Configured TPDO object index value is out of range or not supported by the firmware. Verify configured index value, index value should be within supported range. 14 TPDO Mapped Object Count Error. TPDO is configured without any objects. Verify TPDO object mapping and configure as per the requirement. 回目录

59 附录2.1 64位通信状态字对应表 回目录 Bits Error Reason Indication Remedy EMCY Object
Applicable Master        Slave 15 SDO DLC Error. Received SDO message is with invalid byte count, i.e. count is not equal to 8. SDO request or response will not be processed. Verify SDO message generated by the node, if byte count is not equal to 8 then the node is not valid CANOpen device. This error will not trigger EMCY Object. Enable 16 NMT DLC Error. Received NMT message is with invalid byte count, i.e. count is not equal to 2. NMT request will not be processed. Verify NMT message generated by the node, if byte count is not equal to 2 then the node is not valid CANOpen device. This error will trigger valid EMCY Object with status register value in ’Manufacturer Specific Error Field’ of message. Disable 17 Invalid Status Register Address. Status register address is not configured or address is invalid. CANOpen node status will not be available. Configure valid status register address. 18 Time Out for Node Guard message from Master. Node guard message request from Master is not received within configured time. It is also called as ’Node Life Time Error’. Slave will set error, but continues with normal operation. Verify node guard time configured in Master Configuration. 19 Consumer heartbeat time expired. Node is configured for Heartbeat message consumption and heartbeat message from producer is not received within configured consume time. Node will set error, but continue with normal operation. But in case of Master node action to be taken can be configured. Verify Heartbeat consume time configured in the node, it should be greater than the producer time. Check whether producer node is configured for Heartbeat message production as required interval. 回目录

60 附录2.1 64位通信状态字对应表 回目录 Bits Error Reason Indication Remedy EMCY Object
Applicable Master        Slave 20 Slave Error. One of configured non mandatory slave is failed. Master will set error, but continue with normal operation. If all slaves in the network are failed then master node doesn’t allow NMT state transition. Master node can be configured to reinitialize boot up process of slave node on error. Check CAN cabling, Error control protocol configuration in slave and master node and power status of slave node etc. This error will trigger valid EMCY Object with status register value in ’Manufacturer Specific Error Field’ of message. Enable Disable 21 Mandatory slave Error. One of configured mandatory slave is failed. Master will set error and try to reconfigure entire network or stop entire network based upon the user configuration. 22 CAN Bus Overrun. Number of CAN messages received per second are more than the limit of CAN hardware and firmware. CANOpen communication is not guaranteed. Check the CAN bus load, it should be around 80%. Also check CAN cable wiring and terminating resistor. 23 CAN Bus Off Error. One of CAN controller error state entered when it detects more than 256 CAN errors. No CANOpen communication. Check for proper terminating resistor and CAN wiring. Requires power reset to start new CANOpen communication. N/A 24 CAN Bus Passive Error. One of CAN controller error state entered when it detects more than 127 CAN errors, but less than 256. Unplugging CAN network cable can cause this error. No CANOpen communication Check for proper terminating resistor , CAN wiring and firm connection CAN connector to device 回目录

61 附录2.1 64位通信状态字对应表 回目录 Bits Error Reason Indication Remedy EMCY Object
Applicable Master        Slave 25 -32 NMT Sate The 8 bit displays CANOpen NMT state of device. It can have following different values. 127(Decimal) - 0x7F (Hex) - Preoperational State 005(Decimal) - 0x05 (Hex) - Operational State 004(Decimal) - 0x04 (Hex) - Stop State N/A 33-48 Failed TPDO array Index Failed TPDO array Index (Updated only in case of any TPDO errors and array index will start with value 0). 49-64 Failed RPDO array Index Failed RPDO array Index (Updated only in case of any RPDO errors and array index will start with value 0). 回目录

62 附录2.2 16位从站节点通信状态字对应表 当控制器做主站时,在64位通信状态字后,每个从站节点都会拥有一个16位的通信状态字。其中低8位信息表示故障代码,高8位信息表示对应从站节点ID。 Error Code Values Error Description No error. 1 The slave no longer exists in the Network list 2 No response on access to Actual Device Type (object 1000h) received 3 Actual Device Type (object 1000h) of the slave node did not match with the expected  Device Type Identification in object 1F84h 4 Actual Vendor ID (object 1018h) of the slave node did not match with the expected Vendor ID 5 Slave node did not respond with its state during Check node state -process. Slave is a heartbeat producer 6 Slave node did not respond with its state during Check node state -process. Slave is a Node Guard  slave (NMT slave) 7 It was requested to verify the application software version, but the expected version date and time values were not configured 8 Actual application software version Date or Time did not match with the expected date and time values. Automatic software update was not allowed 9 Actual application software version Date or Time did not match with the expected date and time values and automatic software update failed 10 Automatic configuration download failed 11 The slave node did not send its heartbeat message during Start Error Control Service although it was reported to be a heartbeat producer 12 Slave was initially operational. (CANOpen manager may resume operation with other nodes) 13 Actual Product Code (object 1018h) of the slave node did not match with the expected Product Code 14 Actual Revision Number (object 1018h) of the slave node did not match with the expected Revision Number 15 Actual Serial Number (object 1018h) of the slave node did not match with the expected Serial Number in object 回目录

63 附录2.2 16位从站节点通信状态字对应表 回目录 Error Code Values Error Description 244
Error Configuring Error Control Protocol (Either Node Guard or Heart Beat) parameters 245 Error Configuring SYNC Protocol parameters 246 Error Configuring Time-Stamp Protocol parameters 247 Error Configuring Emergency (EMCY) protocol parameters 248 Error Configuring RPDO communication parameters 249 Error Configuring RPDO Mapping parameters 250 Error Configuring TPDO communication parameters 251 Error Configuring TPDO Mapping parameters 252 Error Configuring SDO protocol parameters. 253 Invalid NMT state (Mismatch between Master NMT state and that slave NMT state) 254 Received Emergency Object 255 Unknown Error/ Master Reconfiguration is Active 回目录

64 附录3. 实际通信案例演示 1.和Vacon变频器通信 主要使用PDO传输数据 2.和台达伺服驱动器ASDA-A2通信 3.和倍福BK5120模块通信 简单使用SDO手动配置,主要使用PDO传输数据 4.和鸣志步进驱动器通信 程序自动SDO配置,使用PDO传输数据 回目录


Download ppt "CANopen协议培训 V 1.0."

Similar presentations


Ads by Google