Kinco伺服CANOPEN通讯使用说明一.docx

上传人:b****3 文档编号:4837723 上传时间:2023-05-07 格式:DOCX 页数:27 大小:189.92KB
下载 相关 举报
Kinco伺服CANOPEN通讯使用说明一.docx_第1页
第1页 / 共27页
Kinco伺服CANOPEN通讯使用说明一.docx_第2页
第2页 / 共27页
Kinco伺服CANOPEN通讯使用说明一.docx_第3页
第3页 / 共27页
Kinco伺服CANOPEN通讯使用说明一.docx_第4页
第4页 / 共27页
Kinco伺服CANOPEN通讯使用说明一.docx_第5页
第5页 / 共27页
Kinco伺服CANOPEN通讯使用说明一.docx_第6页
第6页 / 共27页
Kinco伺服CANOPEN通讯使用说明一.docx_第7页
第7页 / 共27页
Kinco伺服CANOPEN通讯使用说明一.docx_第8页
第8页 / 共27页
Kinco伺服CANOPEN通讯使用说明一.docx_第9页
第9页 / 共27页
Kinco伺服CANOPEN通讯使用说明一.docx_第10页
第10页 / 共27页
Kinco伺服CANOPEN通讯使用说明一.docx_第11页
第11页 / 共27页
Kinco伺服CANOPEN通讯使用说明一.docx_第12页
第12页 / 共27页
Kinco伺服CANOPEN通讯使用说明一.docx_第13页
第13页 / 共27页
Kinco伺服CANOPEN通讯使用说明一.docx_第14页
第14页 / 共27页
Kinco伺服CANOPEN通讯使用说明一.docx_第15页
第15页 / 共27页
Kinco伺服CANOPEN通讯使用说明一.docx_第16页
第16页 / 共27页
Kinco伺服CANOPEN通讯使用说明一.docx_第17页
第17页 / 共27页
Kinco伺服CANOPEN通讯使用说明一.docx_第18页
第18页 / 共27页
Kinco伺服CANOPEN通讯使用说明一.docx_第19页
第19页 / 共27页
Kinco伺服CANOPEN通讯使用说明一.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Kinco伺服CANOPEN通讯使用说明一.docx

《Kinco伺服CANOPEN通讯使用说明一.docx》由会员分享,可在线阅读,更多相关《Kinco伺服CANOPEN通讯使用说明一.docx(27页珍藏版)》请在冰点文库上搜索。

Kinco伺服CANOPEN通讯使用说明一.docx

Kinco伺服CANOPEN通讯使用说明一

Kinco伺服CANopen通讯使用说明

1.介绍

支持CANopen通讯的Kinco系列伺服驱动器,允许通过CANopen总线对驱动器内部参数进行设置并驱动电机的转动,kinco伺服的所有工作模式都支持通过CANopen操作。

2.属性

Kinco伺服在CANopen总线网络(参考“CIADraftStandard301”)中做为从站使用,设计符合“CANopenProfileforDriversandMotionControl”(参考“CiADraftStandardProposal402”)。

其它的功能通过使用“制造商指定数据”区实现。

对设备的操作基于所称的“ObjectDictionary”。

所有的参数、参数值和功能都是通过index和sub-index组成的地址来访问和存取。

3.硬件

Kinco伺服的CANopen接口针脚定义如下:

针脚

信号定义

说明

1

2

CAN_L

CAN数据L

3

CAN_GND

CAN数据参考地

4

5

6

GND

CAN电源地

7

CAN_H

CAN数据H

8

+8..+18VDC,最大50mA

9

CANV+

由于该接口的GND和Kinco伺服的housing之间电气隔离,该接口必须外部提供电源,在使用时需要在针脚9和6之间提供电源,根据CAN标准定义,在总线的两个末端都必须提供终端电阻(120Ω)。

常见控制器和Kinco伺服之间的硬件连接:

4.波特率

Kinco伺服的CANopen通讯波特率由2F8100和2F8200对象设置,出厂时波特率预设为1Mbit/s。

波特率

最大传输距离

2F81,00对象值

2F82,00对象值

1M

40m

0h

14h

500k

130m

0h

1Ch

250k

270m

1h

1Ch

125k

530m

3h

1Ch

50k

1300m

47h

2Fh

20k

3300m

53h

2Fh

5.数据协议

CANopen总线提供两种重要的数据交互格式。

1种是ServiceDataObjects,SDO,数据交互按照DS301标准执行。

1种是ProcessDataObjects,PDOs,数据交互不执行该标准。

除了PDO和SDO这两种数据传输协议外,还有一些其它的信息被定义用于更多的应用场合,这些信息或者来自于伺服驱动器,或者来自于主控制器。

SDO

ServiceDataObject

用于驱动器参数的正常设置

PDO

PorcessDataObjec

快速过程数据交互(如:

实际位置)

EMCY

EmergencyMessage

故障信息传输

SYNC

SynchronizationMessage

多个CAN节点的同步

NMT

NetwordManagement

网络服务:

例如,可以同时激活所有的CAN节点。

NODEGUARDING

NodeGuarding

通过信息的规范监控通讯参与者。

5.1标识定义

所有信息(通讯对象,COB)通过标识(COB-ID)后由主站传递到从站,然后返回。

具有最低COB-ID的信息有着最高的总线优先级。

下表列出了一些重要的COB-ID内容,这些ID配合节点地址使用。

在对象2F80,00(Node_Offset)中值被加到节点地址值(伺服驱动器面板商的DIP开关)中,做为设备的节点地址。

对象2F80,00的默认值=0,通过DIP开关,总线上最多支持15个设备,但通过设置偏移值2F80,00,最多可支持127个设备。

对象

COD-Ids

通讯对象

NMT

0

-

SYNC

80h

1005h

Emergency

80h+节点地址1)

1014h

Tx-PDO1

180h+节点地址1)

1800h

Rx-PDO1

200h+节点地址1)

1400h

Tx-PDO2

280h+节点地址1)

1801h

Rx-PDO2

300h+节点地址1)

1401h

Tx-PDO3

380h+节点地址1)

1802h

Rx-PDO3

400h+节点地址1)

1402h

Tx-PDO4

480h+节点地址1)

1803h

Rx-PDO4

500h+节点地址1)

1403h

Tx-SDO

580h+节点地址

1200h

Rx-SDO

600h+节点地址

1200h

1)Thebaseaddresscanbechangedinthisarea.

5.2SDO访问

SDO允许直接访问伺服驱动器内部对象。

访问操作简单。

1个SDO访问从主站发起,可以是1条写指令发送到驱动器用于改变驱动器内的对象值,或者是1条读指令用于读取驱动器内的参数值。

对每1条从主站发送出去的指令,从站会响应1条指令给主站。

响应指令可以含有读出的值,或者只是刚才发送出去的1条写的指令。

发送或响应指令的格式依赖于读或写对象的类型,因为数据类型可以是1字节、2或4字节。

写访问,从主站发送数据给从站

每1次对对象的访问都会被从站效验。

任何对不存在对象、只读对象的写访问,或者是一个非正确数据发送都将被从站答复1个相应的故障信息。

主站发送:

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

Byte6

Byte7

CMD

IndexLSBMSB

Sub-Index

DataLSB…MSB

CMD定义数据传输方向和数据对象大小:

23hex发送4byte数据(byte4..7含1个32位数据值)

2Bhex发送2byte数据(byte4..5含1个16位数据值)

2Fhex发送1byte数据(byte4含1个8位数据值)

Index16bit值,写入对象的index地址

Sub-index8bit值,写入对象的sub-index地址

Data8bit,16bit,或32bit值

从站响应从站响应值:

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

Byte6

Byte7

RES

IndexLSBMSB

Sub-Index

Reserved(系统保留)

RES从站响应值:

60hex数据成功发送

80hex错误,bytes4..7含有错误代码

Index16bit值,主报文(主站发送)中定义的对象index地址

Sub-Index8bit值,主报文(主站发送)中定义的对象sub-index地址

Reserved无用,或错误信息(依RES定义)。

范例:

写控制字(index=6040,Sub-index=00)=6hex(轴松开)

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

Byte6

Byte7

发送

2B

40

60

00

06

00

00

00

响应

60

40

60

00

00

00

00

00

读访问,数据由从站传送到主站

任何对不存在对象的读访问都会有一个错误信息响应给主站。

主站发送:

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

Byte6

Byte7

CMD

Index

Sub-Index

Reserved

CMD定义传输方向:

40hex读数据

Index16bit数值,读取对象的index地址(对象地址表中对象)

Sub-Index8bit数值,读取对象的sub-index地址(对象地址表中对象)

Reserve没有使用

从站响应:

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

Byte6

Byte7

RES

IndexLSBMSB

Sub-Index

DataLSBMSB

RES从站响应:

43hexBytes4..7含有读取从站对象值,1个32bit数据

4BhexBytes4..5含有读取从站对象值,1个16bit数据

4FhexBytes4含有读取从站对象值,1个8bit数据

80hex错误,bytes4..7含有错误代码

Index16bit值,主报文(主站发送)中定义的对象index地址

Sub-Index8bit值,主报文(主站发送)中定义的对象sub-index地址

Data数据胡错误信息(依RES定义)。

范例:

读状态字(index6041,subindex00)

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

Byte6

Byte7

发送

40

41

60

00

00

00

00

00

响应

4B

41

60

00

37

40

00

00

返回状态字的值:

4037h(轴锁紧,无故障)

5.3用于终端社保的SDO报文

下表是1个完整的传输给节点为ID1的站点1个32bit数据的SDO报文。

Identifier

Length

Byte0

Byte1

Byte2

Byte3

Byte4

Byte5

Byte6

Byte7

601

8

2B

4060

00

6

0

0

0

COB-ID:

ID1

数据字节数:

8bytes

CMD:

写16bit

Index6040

低字节在前

Sub

Index0

数据:

6h,低字节在前

5.4PDO访问

非常快速,PDO没有统一的方法用于传输,具有事件驱动数据传输优点。

在进程中,PDO传输1个或多个预先定义的参数。

因为任务发生时间无法确定,在PDO激活后接受PDO的一方必须能够在任何时刻尽可能快的处理到达的PDO信息。

这种传输方式提供的优点是:

Thiskindoftransmissionofferstheadvantagethatthehostcomputerdoesnotneedtopollthe

parameterstransmittedbyaPDO.ThisleadstoaconsiderablyreducedutilizationoftheCANbuscapacity.1个PDO允许1次传输8bytes,即最多传输8个对象(每个对象大小为1byte时),从伺服驱动器来看,有接收RxPDO和发送TxPDO,1个PDO报文由COB-ID,周期时间(cycletime)和被传输的数据。

范例:

检测:

A位置定位到B位置是否完成?

如果使用SDO,需要持续不断、实时的读取对象“Statusword”,这势必会占用总线通道。

如果使用PDO,当对象“Statusword”值改变时,伺服驱动器会传输一个含有“Statusword”对象值的PDO报文。

主站Computer在事件发生时立即自动接收一个相应的信息。

PDO允许传输在对象词典中具有“mappable”属性的所有对象,例如实际速度、实际位置或类似对象。

伺服驱动器必须预先被通知哪个数据将要被传输,因为PDO报文中只含义用户的数据,没有关于参数类型的任何信息。

按照这个定义,几乎任何数据报文可以被定义。

所需要的设置按下面章节内容操作。

有意义的是,在没有主站情况下,从站之间根据之间互相匹配的COB-ID就可以自行发送和接收对方的PDO。

5.4.1PDO传输类型

对每一个PDO而言,导致传输(Tx-PDO)或接收(Rx-PDO)信息的事件必须事先定义,事件通过传输类型(Transmission_Type)对象定义(通讯参数、对象0x1800,02)

值(16进制)

说明

0-8C

SYNEMessage

该数字表示每次PDO被发送(Tx-PDO)或接收(Rx-PDO)时有多少个SYNC信息。

FF

Change

PDO数据中至少有1bit被改变后,Tx-PDO将会立即发送。

如果对象值发生变化,且相邻变化间隔时间不在inhibit_Time(禁止时间)内,将立即发送。

缺省100us。

5.4.3PDO映射

在ID和传输类型被定义之后,下一步就是需要定义伺服驱动器需要传输的数据对象或将要接收的数据。

这就是所谓的“mapping”,每一个PDO可以传输最多8个字节,也就是说,最多可以定义8个1byte长的对象。

在映射的对象中,首先定义传输的对象数量,例如,你在一个PDO中映射了3个对象,那么你首先需要确定传输对象值:

3。

在确定了对象数量后,继续输入需要接收或发送的对象。

Tx-PDO1映射的对象

对象Index(16进制)

Sub-index

说明

当前值

1A00

0

映射的对象数量

0

1A00

1

PDO1映射对象1

00020008h(通用字符)

1A00

2

PDO1映射对象2

00020008h(通用字符)

1A00

3

PDO1映射对象3

00020008h(通用字符)

1A00

4

PDO1映射对象4

00020008h(通用字符)

1A00

5

PDO1映射对象5

00020008h(通用字符)

1A00

6

PDO1映射对象6

00020008h(通用字符)

1A00

7

PDO1映射对象7

00020008h(通用字符)

1A00

8

PDO1映射对象8

00020008h(通用字符)

1A00

9

PDO1映射对象9

00020008h(通用字符)

输入的映射对象由下面几部分组成:

将要被映射的对象的index(16进制)

将要被映射的对象的sub-index(16进制)

对象长度(以16进制表示的长度值),如08h表示对象值为8bit长,10h为16bit长,20h为32bit长数据。

5.4.4Tx-PDO1编程范例

在下面的范例中,ID为1的伺服驱动器在设置编程完成后,将每10ms以COB-ID181发送该伺服驱动器的状态字、电机实际位置和4字节的数字输入口当前状态。

Index,Sub

说明

当前值

范例

1800h_01h

PDO使用的COB_ID

00000181h

00000181h

1800h_02h

传输类型

FFh

Feh

1800h_03h

禁止时间[1/10ms]

1000

100

1A00h_01h

PDO1映射对象1

00020008h

60410010h

1A00h_02h

PDO1映射对象2

00020008h

60630020h

1A00h_03h

PDO1映射对象3

00020008h

60FD0020h

1A00h_00h

输入的映射对象数

00h

03h

在ECO2WIN软件中,上述对象可以通过Communicationparameter和RX-PDOMapping两个功能页面输入(见红色标注部分):

5.4.5用于差补模式的PDO参数

Kinco伺服有一种插补模式,该模式下,轴通过PDO方式与上层控制器循环交互该轴的相对和实际值。

所有用于在kinco伺服和上层控制器之间安全交互数据的指令列在下表中,除外,主站发送一个Sync信息用于读取和同步轴之间数据。

Index

Sub.

字节数

值(h)

说明

0x1800

1

4

0x181

设置传输(Tx)PDO1的COB-ID为181h

0x1800

2

1

0x1

设置传输PDO1的工作模式为同步模式

0x1400

1

4

0x201

设置接收(Rx)PDO1的ID为201h

0x1400

2

1

0x1

设置接收PDO的工作模式为同步模式

0x1600

1

4

0x60400010

映射接收PDO1的前2字节为Kinco伺服的对象“controlword”

0x1600

2

4

0x607a0020

映射接收PDO1的后4字节为Kinco伺服的对象“targetposition”

0x1600

0

1

0x2

接收PDO1映射的对象数量

0x1A00

1

4

0x60410010

映射kinco伺服的状态字到发送PDO1的前2个字节

0x1A00

2

4

0x60630020

映射kinco伺服的实际位置到发送PDO1的后4个字节

0x1A00

0

1

0x2

发送PDO1映射的对象数量

在ECO2WIN软件中,上述对象可以通过Communicationparameter和RX-PDOMapping两个功能页面输入(见红色标注部分):

Communicationparameter的设置->

TX-PDOMapping的设置->

RX-PDOMapping的设置->

在进行PDO通讯之前,利用SDO对一些需要预先设置的对象进行设置,在插补模式下,经过SDO将工作模式设置为插补模式(对象606000=7),然后就可以进行PDO交互数据了。

该模式下的一些常用命令:

Index

Sub

字节数

说明

0x6040

0

2

0x6

控制字,使轴松开或准备开始启动

0x6040

0

2

0xf

控制字,使轴锁紧(PDO)

0x6060

0

1

0x7

设置工作模式为插补模式(SDO)(需要特殊firmware)

0x6040

0

2

0x1f

控制字,使能插补模式(PDO)

数据同步传输一般都是有主控制器启动。

5.4.6回原定控制的参数定制(伺服驱动器内部定义)

原点过程是一个特殊案例,多数情况下编码器的index信号或外部的传感器信号不会通过CAN总线由控制器获取到,找原点过程是由kinco伺服内部编程完成,控制器只是需要对其进行初始设置。

在将工作模式设置为homing模式,控制字一单被设置为1F值,找原点动作将立即执行。

具体找原点的方式由原点方式对象字确定。

Index

Sub

Byte

说明

0x6040

0

2

0xf

控制字,将轴锁紧或准备启动

0x6098

0

1

17(dec)

设置原点方式17,该方式是将负限位信号做为原点信号,没有参考index信号

0x6060

0

1

0x6

设置工作模式为原点模式

0x6040

0

2

0x1f

控制字,启动找原点动作

原点过程通过状态字中的“referencefound”位(0x8000)来判定原点是否找到。

在成功找到原点后,驱动器可以切换为其他的任何模式。

这一点,不向其他的控制器,如CNC控制器,它们都需要通过自身的程序重新编程来寻找原点。

5.5网络管理(NMT-Service)

所有CANopen设备都可以通过network管理器方式控制。

用于netword管理的一个特殊ID为000h。

该ID的信息用于发送指令到CANopen网络中的1个或所有的伺服驱动器。

每条指令都由2个字节组成:

第1个字节包含指令代码,第2个字节包含被操作的伺服驱动器节点地址。

主控制器信息结构:

Identifier

Byte0

Byte1

000h

指令代码

节点地址

使用节点地址0,网络中所有节点可以同时被激活。

伺服驱动器并不需要确认NMT指令。

“Pre-operational”状态用于网络的配置,要使PDO正常工作,节点必须接收到通讯状态“operational”。

一般情况下,主站引导启动网络并通过“NMT-Start”方式置于“operational”状态。

代码

名称

通讯状态

01

NMT-Start

Operational

02

NMT-Stop

Pre-operational

04

PrepareRemotNode

(准备远程节点)

Pre-operational

80

Pre-operational

Pre-operational

5.6EmergencyMessage

紧急停止(Emergency)信息的ID由080h+伺服驱动器的节点数两部分组成。

紧急停止信息在故障发生时立即被发送出去。

持续的故障只生成1次紧急信息,或在尝试对故障复位后,再次生成。

Emergency信息由8个数据字节组成,头2个字节含故障代码,其余的字节迄今没有使用。

080h+节点号

Error_code

故障代码

Sub_error

子代码

0

0

0

0

0

故障代码表在本使用说明文档末端有说明。

6.经过CAN初始化对象

用户可集成集成更多的对象,通过SDO方式在应用中访问这些对象,如此可以简化操作和故障处理。

对每一个欲通过CAN总线完整初始化的伺服驱动器,下列对象务必被初始化并被保存在控制器中。

作为一个范例,下表为一个23S31-0650-xx3Jx-xx电机和Kinco100-AA驱动器连接系统需要初始化的对象:

Index

Sub

Byte

Value(h)

Description

说明

Commutation参数

60F6

1

4

8000

Commutation周期

60F6

2

2

50

每个励磁周期极对数

60F6

3

2

180

Phaseleadfactordependantonvelocity

60F6

4

2

0

Phaseleadfactordependantontorque

60F6

5

2

60

Maximumphaseleadvalue

60F6

6

2

1023

寻找励磁时电流

60F6

7

2

500

寻找励磁延迟时间

60F6

8

2

0

Dampingforfindingcommutation

60F6

9

2

3

(1)

寻找励磁的方法(1=垂直轴)

60F6

10

2

100

抱闸响应延迟时间(ms)

60F6

13

2

0

励磁功能,补偿1×f

60F6

14

2

0

励磁功能,补偿3×f

60F6

15

2

0

励磁功能,补偿5×f

60F6

16

2

0

励磁功能,补偿7×f

60F6

22

2

0

Currentequalization,basicvalue

60F6

23

2

0

Currentequalization,firstcoefficient

60F6

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2