搜档网
当前位置:搜档网 › CANopen使用手册

CANopen使用手册

CANopen使用手册

ProNet伺服驱动器

ESTUN

修订记录

日期修订版本描述作者2009/4/25 1.00 初稿完成移振华2009/9/22 1.00 增加第8章移振华

2010/11/29 1.01 1、第3,3,1章“PDO参数”,修正PDO默认

表格中的COB-ID和default值;

2、增加第9章“通讯例程”

易健

—— 目录 ——

1、概述 (5)

1.1CAN主要相关文档 (5)

1.2本手册使用的术语和缩语 (5)

1.3CAN OPEN概述 (6)

2、接线和连接 (7)

3、CANOPEN通讯 (8)

3.1CAN标识符分配表 (9)

3.2服务数据对象SDO (10)

3.3过程数据对象PDO (12)

3.3.1 PDO参数 (14)

3.4SYNC报文 (20)

3.5E MERGENCY报文 (21)

3.6HEARTBEAT报文 (23)

3.7网络管理(NMT) (24)

4、单位换算单元(FACTOR GROUP) (26)

4.1单位换算相关参数 (27)

4.1.1 position factor (27)

4.1.2 velocity factor (29)

4.1.3 acceleration factor (30)

5、位置控制功能 (31)

5.1位置控制相关参数 (33)

6、设备控制 (35)

6.1控制状态机 (35)

6.2设备控制相关参数 (36)

6.2.1 controlword (37)

6.2.2 statusword (38)

6.2.3 shutdown_option_code (39)

6.2.4 disable_operation_option_code (40)

6.2.5 quick_stop_option_code (40)

6.2.6 halt_option_code (41)

6.2.7 fault_reaction_option_code (41)

7、控制模式 (42)

7.1控制模式相关参数 (42)

7.1.1 modes_of_operation (42)

7.1.2 modes_of_operation_display (43)

7.2回零模式(HOMING MODE) (44)

7.2.1 回零模式的控制字 (44)

7.2.2 回零模式的状态字 (44)

7.2.3 回零模式相关参数 (45)

7.2.4 回零方法 (47)

7.3速度控制模式(PROFILE VELOCITY MODE) (49)

7.3.1速度模式的控制字 (49)

7.3.2 速度模式的状态字 (49)

7.3.3 速度控制模式相关参数 (49)

7.4位置控制模式(PROFILE POSITION MODE) (53)

7.4.1 位置模式的控制字 (53)

7.4.2 位置模式的状态字 (53)

7.4.3 位置控制相关参数 (54)

7.4.4 功能描述 (56)

8、CAN通讯相关参数 (58)

9、CANOPEN通讯例程 (59)

9.1SDO操作; (59)

9.2PDO配置 (59)

9.3位置控制例子(P ROFILE P OSITON M ODE) (60)

9.4位置插补控制(I NTERPLATE P OSITION M ODE) (61)

9.5速度控制(P ROFILE V ELOCITY M ODE) (62)

9.6回零 (62)

对象字典表 (64)

1、概述

1.1 CAN 主要相关文档

Document Name Source 301

4.01: CiA

V

DS

CiA

CANopen Communication Profile

for Industrial Systems - based on CAL

CiA DSP 402 V 2.0: CiA

CANopen Device Profile

1.2 本手册使用的术语和缩语

CAN控制器局域网

CiA在自动化国际用户和制造商协会中的 CAN。

COB通讯对象,在 CAN 网络上的一个传输单元。数据在 COB 内部沿着整个网络传输。COB 本身是 CAN 消息帧的一部分。

EDS电子数据表,在配置 CAN 网络时需要使用的一个节点专用 ASCII- 格式文件。EDS 文件包含关于节点及其字典对象(参数)的常规信息。

LMT层管理, CAN 给定模型中的 CAN 应用层服务元素之一。它用来配置CAN 给定模型中每层的参数。

NMT网络管理, CAN 给定模型中的 CAN 应用层服务元素之一。它负责CAN 网络上的初始化、配置和故障处理。

OD在本地存储某个设备所识别的所有通讯对象(COB)。

参数参数是驱动器的一个操作指令。可以使用驱动器操作面板或者通过CAN来读取和修改参数。

PDO进程数据对象,一种COB。用来传输时间关键数据,比如控制命令、给定值和实际值

RO表示只读访问。

RW表示读/ 写访问。

SDO服务数据对象,一种 COB。用来传输非时间关键数据,比如参数。

1.3 CANopen概述

CANopen 是一个基于 CAN (控制局域网)串行总线系统和 CAL(CAN 应用层)的高层协议。CANopen 假定相连设备的硬件带有一个符合 ISO 11898 标准的 CAN

收发器和一个 CAN 控制器。

CANopen 通讯协议 CiA DS-301 包括周期和事件驱动型通讯,不仅能够将总线负载减少到最低限度,而且还能确保极短的反应时间。它可以在较低的波特率下实现较高

的通讯性能,从而减少了电磁兼容性问题,并降低了电缆成本。

CANopen 设备协议定义了直接访问变频器参数机制以及时间关键进程数据通讯。

NCAN-02 满足 CiA (自动化中的 CAN)标准 DSP-402 (变频器和运动控制),只

支持“制造商专用”操作模式。

CANopen 所用的物理介质是符合 ISO 11898 标准,采用分驱动机制和公共反馈的双线总线。总线的最大长度取决于通讯速度,具体规定如下:

通讯波特率最大总线长度

1M bit/s 25 m

500k bit/s 100 m

250k bit/s 250 m

125k bit/s 500 m

100k bit/s 600 m

50k bit/s 1000 m

从理论上来说,最多可以有127 个节点。不过,在实际应用中,最大节点数量取决于所用 CAN 收发器的性能。

更多信息可参见自动化国际用户和制造商协会的CAN 文献(www.can-cia.de)。

2、接线和连接

●通讯用连接器(CN3)的端子排列

端子记号名称功能

1 5V

5VDC电源

2 5V

3 485+

RS-485通讯用端子

4 DGND

5 DGND

6 485-

RS-485通讯用端子

CAN通讯用端子

7 CANH

CAN通讯用端子

8 CANL

●通讯用连接器(CN4)的端子排列

端子记号名称功能

1 —

保留

2 —

保留

3 485+

RS-485通讯用端子

4 DGND

5 DGND

6 485-

RS-485通讯用端子

CAN通讯用端子

7 CANH

CAN通讯用端子

8 CANL

驱动器CN3总是作为通讯电缆输入端子,CN4总是作为通讯电缆输出端子(如果还需连接从站,电缆从该端子连接到下一从站设备;如果不需连接其他从站,可以在该端子加终端电阻)。多台PRONET驱动器连接时,严禁直连任意2台驱动的CN3。

举例,网络由一PLC和A、B、C三台PRONET驱动器组成,电缆接线如下:

PLC →驱动器A的CN3,A的CN4→驱动器B的CN3,B的CN4→驱动器C的CN3,C的CN4→120欧终端电阻。

CAN 总线线路必须用在 CAN_L 和 CAN_H 线之间每端连接的120 欧姆(1%,1/4W)电阻来终接,如下所示。

总线电缆请选用有两对双绞线的带屏蔽层电缆:一对双绞线分别接CAN-L和CAN-H,另外一对双绞线直接接DGND。

3、CANopen通讯

CAL提供了所有的网络管理服务和报文传送协议,但并没有定义对象的内容或者正在通讯的对象的类型(它只定义了how,没有定义what),而这正是CANopen切入点。

CANopen是在CAL基础上开发的,使用了CAL通讯和服务协议子集,提供了分布式控制系统的一种实现方案。CANopen在保证网络节点互用性的同时允许节点的功能随意扩展:或简单或复杂。

CANopen的核心概念是设备对象字典(OD:Object Dictionary),在其它现场总线(Profibus,Interbus-S)系统中也使用这种设备描述形式。CANopen通讯通过对象字典(OD)能够访问驱动器的所有参数。注意:对象字典不是CAL的一部分,而是在CANopen中实现的。

CANopen通讯模型定义了如下几种报文(通讯对象):

缩写详称说明

SDO S ervice D ata O bject 用于非时间关键数据,比如参数。

PDO P rocess D ata O bject 用于传输时间关键进程数据(给定值、控制字、状态信息等)。SYNC Sync hronization Message 用于同步CAN节点。

EMCY Em ergen cy Message 用于传输驱动器的报警事件。

NMT N etwork M anagemen t用于CANopen网络管理。

Heartbeat Error Control Protocol 用于监测所有节点的生命状态。

CAN 通过数据帧在主机(控制器)和总线节点之间传输数据。下图说明了数据帧的结构。

仲裁域

帧头COB-ID

(通讯对象标识符)

RTR

(远程请求)

控制域数据域校验域应答域帧尾

1位11或29位1位6位0~8字节16位2位7位

本驱动器暂不支持远程帧。其中COB-ID(通讯对象标识符)分配:

功能码NODE ID(节点地址)

10 9 8 7 6 5 4 3 2 1 0

3.1 CAN标识符分配表

通讯对象功能码COB-ID bit10~7

(2进制)

COB-ID

(16进制)

相应通讯参数

在OD中的索引

NMT 0000 000h—

SYNC 0001 080h1005h、1006h、1007h TIME STAMP 0010 100h1012h、1013h EMCY 0001

081h ~ 0FF h1024h、1015h PDO1(发送)0011 181h ~ 1FF h 1800h

PDO1(接受)0100 201h ~ 27F h 1400h

PDO2(发送)0101 281h ~ 2FF h 1801h

PDO2(接受)0110 301h ~ 37F h 1401h

SDO(发送)1011 581h ~ 5FF h 1200h

SDO(接受)1100 601h ~ 67F h 1200h

Heartbeat 1110 701h ~ 77F h1016h、1017h

注意:

1、 PDO/SDO 的发送/接受是由(slave)CAN节点方观察的。

2、本驱动器的CANopen暂支持2个发送PDO,2个接受PDO。

3.2 服务数据对象SDO

SDO用来访问一个设备的对象字典。访问者被称作客户 (client),对象字典被访问且提供所请求服务

的CANopen设备别称作服务器(server)。客户的CAN报文和服务器的应答CAN报文总是包含8字节数

据(尽管不是所有的数据字节都一定有意义)。一个客户的请求一定有来自服务器的应答。

SDO有2种传送机制:

加速传送(Expedited transfer):最多传输4字节数据

分段传送(Segmented transfer):传输数据长度大于4字节

SDO基本结构如下:

Byte0 Byte1~2 Byte3 Byte4~7 SDO命令对象索引对象子索引数据

SDO报文对参数读/写操作格式:

举例:

SDO错误报文格式:

3.3 过程数据对象PDO

PDO用来传输实时数据,数据从一个生产者传到一个或多个消费者。数据传送限制在1到8个字节。PDO通讯没有协议约束(意味着数据内容已预先定义),因此消费者可以在很短的时间内处理完接受到的数据。PDO数据内容只由它的CAN ID定义,假定生产者和消费者知道这个PDO的数据内容。

每个PDO在对象字典中用2个对象描述:

PDO通讯参数:包含将被PDO使用的COB-ID,传输类型,禁止时间和定时器周期。

PDO映射参数:包含一个对象字典中对象的列表,这些对象映射到PDO里,包括它们的数据长度(in bits)。生产者和消费者必须知道这个映射,以解释PDO内容。

PDO消息的内容是预定义的(或者在网络启动时配置的),映射应用对象到PDO中是在设备对象字典中描述的。如果设备(生产者和消费者)支持动态,那么使用SDO报文可以配置PDO映射参数,本驱动器支持动态PDO映射。PDO映射的必须遵守以下2个规则:

1、每个PDO最多可映射4个对象;

2、每个PDO的长度必须不超过64位。

PDO映射流程:

1、设置PDO对应映射参数(1600 h或1601 h或1A00 h或1A01 h)子索引0的内容为0;

2、修改PDO对应映射参数(1600 h或1601 h或1A00 h或1A01 h)子索引1~4的内容,映射

数据;

3、设置PDO对应映射参数(1600 h或1601 h或1A00 h或1A01 h)子索引0的内容为合法的

数字(该PDO映射的对象数)。

4、 PDO映射完成。

PDO可以有多种传送方式:

同步(通过接收SYNC对象实现同步)

周期:传送在每1到240个SYNC消息后触发

异步

由设备子协议中规定的对象特定事件触发传送。

PDO传输类型定义表

传输类型值描述PDO

0 保留—

1~240 SYNC方式:

该值代表两个PDO之间的SYNC对象的数目

TPDO/RPDO

240~253 保留—

254 异步方式:

如果PDO内容发生变化,触发该PDO发送

TPDO

255 异步方式:

PDO内容周期性更新和发送

TPDO/RPDO

一个PDO可以指定一个禁止时间,即定义两个连续PDO传输的最小间隔时间,避免由于高优先级信息的数据量太大,始终占据总线,而使其它优先级较低的数据无力竞争总线的问题。禁止时间由16位无符号整数定义,单位100us。

一个PDO可以指定一个事件定时周期,当超过定时时间后,一个PDO传输可以被触发(不需要触发位)。事件定时周期由16位无符号整数定义,单位1ms。

PDO映射事例:

将下表中3个对象映射PDO1(发送),PDO1(发送)为异步周期性类型,周期时间10ms,禁止时间2ms.

对象索引—子索引说明

statusword 6041h – 00 h状态字

modes_of_operation_display 6061h – 00 h实际操作模式

Position_Acture_Value 6064h – 00 h实际位置

1)、清除number_of_mapped_objects

number_of_mapped_objects(10A0 h:00 h)= 0

2)、设置映射对象参数

Index =6041 h Subin. = 00h Length = 10 h? 1st_mapped_object(10A0 h:01 h)= 60410010 h Index =6061 h Subin. = 00h Length = 08 h? 2st_mapped_object(10A0 h:02 h)= 60610008 h Index =60FD h Subin. = 00h Length = 20 h? 3st_mapped_object(10A0 h:03 h) = 60FD0020 h

3)、设置number_of_mapped_objects

number_of_mapped_objects(10A0 h:00 h)= 3

4)、设置PDO通讯参数

PDO1(发送)为异步周期性类型? transmission_type (1800 h:02 h)= FF h

禁止时间2ms(20×100us) ? inhibit_time (10A0 h:03 h)= 14 h

周期时间10ms(10×1ms) ? event_time (1800 h:05 h)= 0A h

5)、PDO映射完成。

3.3.1 PDO参数

PRONET驱动器包含4路发送PDO和4路发送PDO。以下列出了只列出了第1路发送/接受PDO 详细的通讯参数和映射参数。另3路发送/接受PDO详细的通讯参数和映射参数与此相同。

Index 1800 h

Name transmit_pdo_parameter_tpdo1

Object Code RECORD

No. of Elements 4

Sub-Index 01 h

Description cob_id_used_by_pdo_tpdo1

Data Type UINT32

Access RW

PDO Mapping NO

Units ——

Value Range 181 h...1FF h, Bit 31 may be set

Default Value 181 h

Sub-Index 02 h

Description transmission_type_tpdo1

Data Type UINT8

Access RW

PDO Mapping NO

Units ——

Value Range 1...240,254,255

Default Value 255

Sub-Index 03 h

Description inhibit_time_tpdo1

Data Type UINT16

Access RW

PDO Mapping NO

Units 100μs

Value Range ——

Default Value 100

Sub-Index 05 h

Description event_time_tpdo1

Data Type UINT16

Access RW

PDO Mapping NO

Units 1ms

Value Range ——

Default Value 10

Index 1A00 h

Name transmit_pdo_mapping_tpdo1 Object Code RECORD

No. of Elements 2

Sub-Index 00 h

Description number_of_mapped_objects_tpdo1 Data Type UINT8

Access RW

PDO Mapping NO

Units ——

Value Range 0 (4)

Default Value 2

Sub-Index 01 h

Description first_mapped_object_tpdo1

Data Type UINT32

Access RW

PDO Mapping NO

Units ——

Value Range ——

Default Value 见表

Sub-Index 02 h

Description second_mapped_object_tpdo1 Data Type UINT32

Access RW

PDO Mapping NO

Units ——

Value Range ——

Default Value 见表

Sub-Index 03 h

Description third_mapped_object_tpdo1 Data Type UINT32

Access RW

PDO Mapping NO

Units ——

Value Range ——

Default Value 见表

Sub-Index 04 h

Description fourth_mapped_object_tpdo1 Data Type UINT32

Access RW

PDO Mapping NO

Units ——

Value Range ——

Default Value 见表

1800 h _01 h COB-ID used by PDO UINT32 RW 00000181 h 1800 h _02 h transmission type UINT8 RW FF h 1800 h _03 h inhibit time (100 μs) UINT16 RW 64 h 1800 h _05 h event time (1ms) UINT16 RW 0A h 1A00 h _00 h number of mapped objects UINT8 RW 02 h 1A00 h _01 h first mapped object UINT32 RW 60410010 h 1A00 h _02 h second mapped object UINT32 RW 60640020 h 1A00 h _03 h third mapped object UINT32 RW 00 h 1A00 h _04 h fourth mapped object UINT32 RW 00 h

2、T-PDO2

Index Comment Type Acc. Default Value 1801 h _00 h number of entries UINT8 RO 04 h 1801 h _01 h COB-ID used by PDO UINT32 RW 00000281 h 1801 h _02 h transmission type UINT8 RW FF h 1801 h _03 h inhibit time (100 μs) UINT16 RW 64 h 1801 h _05 h event time (1ms) UINT16 RW 0A h 1A01 h _00 h number of mapped objects UINT8 RW 02 h 1A01 h _01 h first mapped object UINT32 RW 60640020 h 1A01 h _02 h second mapped object UINT32 RW 60610010 h 1A01 h _03 h third mapped object UINT32 RW 00 h 1A01 h _04 h fourth mapped object UINT32 RW 00 h

3、T-PDO3

Index Comment Type Acc. Default Value 1802 h _00 h number of entries UINT8 RO 04 h 1802 h _01 h COB-ID used by PDO UINT32 RW 00000381 h 1802 h _02 h transmission type UINT8 RW FF h 1802 h _03 h inhibit time (100 μs) UINT16 RW 64 h 1802 h _05 h event time (1ms) UINT16 RW 0A h 1A02 h _00 h number of mapped objects UINT8 RW 00 h 1A02 h _01 h first mapped object UINT32 RW 0 h 1A02 h _02 h second mapped object UINT32 RW 0 h 1A02 h _03 h third mapped object UINT32 RW 00 h 1A02 h _04 h fourth mapped object UINT32 RW 00 h

1803 h _01 h COB-ID used by PDO UINT32 RW 00000481 h 1803 h _02 h transmission type UINT8 RW FF h 1803 h _03 h inhibit time (100 μs) UINT16 RW 64 h 1803 h _05 h event time (1ms) UINT16 RW 0A h 1A03 h _00 h number of mapped objects UINT8 RW 00 h 1A03 h _01 h first mapped object UINT32 RW 0 h 1A03 h _02 h second mapped object UINT32 RW 0 h 1A03 h _03 h third mapped object UINT32 RW 00 h 1A03 h _04 h fourth mapped object UINT32 RW 00 h

tpdo_1_transmit_mask

Index Comment Type Acc. Default Value 2000 h _00 h number of entries UINT8 RO 02 h 2000 h _01 h tpdo_1_transmit_mask_low UINT32 RW FFFFFFFF h 2000 h _02 h tpdo_1_transmit_mask_high UINT32 RW FFFFFFFF h

tpdo_2_transmit_mask

Index Comment Type Acc. Default Value 2001 h _00 h number of entries UINT8 RO 02 h 2001 h _01 h tpdo_2_transmit_mask_low UINT32 RW FFFFFFFF h 2001 h _02 h tpdo_2_transmit_mask_high UINT32 RW FFFFFFFF h

tpdo_3_transmit_mask

Index Comment Type Acc. Default Value 2002 h _00 h number of entries UINT8 RO 02 h 2002 h _01 h tpdo_1_transmit_mask_low UINT32 RW FFFFFFFF h 2002 h _02 h tpdo_1_transmit_mask_high UINT32 RW FFFFFFFF h

tpdo_4_transmit_mask

Index Comment Type Acc. Default Value 2003 h _00 h number of entries UINT8 RO 02 h 2003 h _01 h tpdo_2_transmit_mask_low UINT32 RW FFFFFFFF h 2003 h _02 h tpdo_2_transmit_mask_high UINT32 RW FFFFFFFF h

1400 h _01 h COB-ID used by PDO UINT32 RW 00000201 h 1400 h _02 h transmission type UINT8 RW FF h 1600 h _00 h number of mapped objects UINT8 RW 02 h 1600 h _01 h first mapped object UINT32 RW 60400010 h 1600 h _02 h second mapped object UINT32 RW 60FF0020 h 1600 h _03 h third mapped object UINT32 RW 00 h 1600 h _04 h fourth mapped object UINT32 RW 00 h

2、R-PDO2

Index Comment Type Acc. Default Value 1401 h _00 h number of entries UINT8 RO 02 h 1401 h _01 h COB-ID used by PDO UINT32 RW 00000301 h 1401 h _02 h transmission type UINT8 RW FF h 1601 h _00 h number of mapped objects UINT8 RW 02 h 1601 h _01 h first mapped object UINT32 RW 60FF0020 h 1601 h _02 h second mapped object UINT32 RW 60600010 h 1601 h _03 h third mapped object UINT32 RW 00 h 1601 h _04 h fourth mapped object UINT32 RW 00 h

3、R-PDO3

Index Comment Type Acc. Default Value 1402 h _00 h number of entries UINT8 RO 02 h 1402 h _01 h COB-ID used by PDO UINT32 RW 00000401 h 1402 h _02 h transmission type UINT8 RW FF h 1602 h _00 h number of mapped objects UINT8 RW 00 h 1602 h _01 h first mapped object UINT32 RW 0 h 1602 h _02 h second mapped object UINT32 RW 0 h 1602 h _03 h third mapped object UINT32 RW 00 h 1602 h _04 h fourth mapped object UINT32 RW 00 h

4、R-PDO4

Index Comment Type Acc. Default Value 1403 h _00 h number of entries UINT8 RO 02 h 1403 h _01 h COB-ID used by PDO UINT32 RW 00000501 h 1403 h _02 h transmission type UINT8 RW FF h 1603 h _00 h number of mapped objects UINT8 RW 00 h 1603 h _01 h first mapped object UINT32 RW 0 h 1603 h _02 h second mapped object UINT32 RW 0 h 1603 h _03 h third mapped object UINT32 RW 00 h 1603 h _04 h fourth mapped object UINT32 RW 00 h

3.4 SYNC报文

在网络范围内同步:在整个网络范围内当前输入值准同时保存,随后传送(如果需要),根据前一个SYNC后接收到的报文更新输出值。

主从模式:SYNC主节点定时发送SYNC对象,SYNC从节点收到后同步执行任务。

CANopen建议用一个最高优先级的COB-ID以保证同步信号正常传送。SYNC报文可以不传送数据以使报文尽可能短。

SYNC报文的COB-ID固定为080h ,COB-ID可以从对象字典的1005 h读出。

Index 1005 h

Name cob_id_sync

Object Code VAR

Data Type UINT32

Access RW

PDO Mapping NO

Units ——

Value Range 80000080 h, 00000080 h

Default Value 00000080 h

相关主题