CiA402中的“原点回归模式”和“轮廓位置模式”搭配使用操作实例

LMS_LiuChang2024/07/18

使用原点回归模式配合轮廓位置模式是步进伺服电机使用过程中最常用的使用方法。本文将对正常控制电机发送的命令顺序进行简要说明。

原点回归的方式以堵转回原点的方式进行举例说明,其他传感器的方式可以根据通讯手册自行配置,只是设置传感器和设置原点回归方向存在区别。

适用于本司 STM-M系列一体化步进伺服电机 BLM系列一体无刷电机 PMM(P)系列一体伺服电机

一、执行原点回归动作

电机上电后先执行原点回归的动作,发送的指令依次如下表所示:

原点回归模式(以堵转找原点方法举例)

指令名称

CANopen地址

Modbus地址

/

数据

CANopen报文

Modbus报文

控制模式设置为CIA402模式

2002h:01h

00B1h

0

SEND: 601 2B 02 20 01 00 00 00 00

RECV: 581 60 02 20 01 00 00 00 00

SEND: 01 10 00 B1 00 01 02 00 00

RECV: 01 10 00 B1 00 01

运行模式设置为原点回归模式

6060h

03C2h

0x06

SEND: 601 2F 60 60 00 06 00 00 00

RECV: 581 60 60 60 00 00 00 00 00

SEND: 01 10 03 C2 00 01 02 00 06

RECV: 01 10 03 C2 00 01

设置堵转检测力矩为30%

2007h:13h

0170h

300

SEND: 601 2B 07 20 13 2C 01 00 00

RECV: 581 60 07 20 13 00 00 00 00

SEND: 01 10 01 70 00 01 02 01 2C

RECV: 01 10 01 70 00 01

设置堵转检测时间为5ms

2007h:15h

0172h

50

SEND: 601 2B 07 20 15 32 00 00 00

RECV: 581 60 07 20 15 00 00 00 00

SEND: 01 10 01 72 00 01 02 00 32

RECV: 01 10 01 72 00 01

设置原点回归方式为正向堵转找原点或反向堵转找原点

6098h

0416h

37

SEND:601 2F 98 60 00 25 00 00 00

RECV: 581 60 98 60 00 00 00 00 00

SEND: 01 10 04 16 00 01 02 00 25

RECV: 01 10 04 16 00 01

6098h

0416h

38

SEND: 601 2F 98 60 00 26 00 00 00

RECV: 581 60 98 60 00 00 00 00 00

SEND: 01 10 04 16 00 01 02 00 26

RECV: 01 10 04 16 00 01

设置寻找原点信号速度为1000

6099h02h

0419h

1000

SEND: 601 23 99 60 02 E8 03 00 00

RECV: 581 60 99 60 02 00 00 00 00

SEND: 01 10 04 19 00 02 04 00 00 03 E8

RECV: 01 10 04 19 00 02

设置回零加速度为 200000

609Ah

041Bh

200000

SEND: 601 23 9A 60 00 40 0D 03 00

RECV: 581 60 9A 60 00 00 00 00 00

SEND: 01 10 04 1B 00 02 04 00 03 0D 40

RECV: 01 10 04 1B 00 02

使电机准备

6040h

0380h

0x6

SEND: 601 2B 40 60 00 06 00 00 00

RECV: 581 60 40 60 00 00 00 00 00

SEND: 01 10 03 80 00 01 02 00 06

RECV: 01 10 03 80 00 01

使电机失能

6040h

0380h

0x7

SEND: 601 2B 40 60 00 07 00 00 00

RECV: 581 60 40 60 00 00 00 00 00

SEND: 01 10 03 80 00 01 02 00 07

RECV: 01 10 03 80 00 01

使电机使能

6040h

0380h

0xF

SEND: 601 2B 40 60 00 0F 00 00 00

RECV: 581 60 40 60 00 00 00 00 00

SEND: 01 10 03 80 00 01 02 00 0F

RECV: 01 10 03 80 00 01

使电机运行

6040h

0380h

0x1F

SEND: 601 2B 40 60 00 1F 00 00 00

RECV: 581 60 40 60 00 00 00 00 00

SEND: 01 10 03 80 00 01 02 00 1F

RECV: 01 10 03 80 00 01

此时电机会进行原点回归的动作,等到原点回归完成后,咱们可以根据读取到的状态字信息和电机的实际位置是否在0附近,来判断电机是否原点回归完成。

这些参数会在PDO参数中周期性更新,也可以使用SDO周期性的读取。

读取的报文如下:

指令名称

CANopen地址

Modbus地址

/

数据

CANopen报文

Modbus报文

读取状态字

6041h

0381h

SEND: 601 40 41 60 00 00 00 00 00

RECV: 581 4B 41 60 00 60 02 00 00

SEND: 01 04 03 81 00 01

RECV: 01 04 02 02 28 

读取实际位置(编码器单位)

6063h

03C6h

SEND: 601 40 63 60 00 00 00 00 00

RECV: 581 43 63 60 00 30 F4 FF FF

SEND: 01 04 03 C6 00 02

RECV: 01 04 04 FF FF F6 31

读取实际位置(用户单位)

6064h

03C8h

SEND: 601 40 64 60 00 00 00 00 00

RECV: 581 43 64 60 00 30 F4 FF FF

SEND: 01 04 03 C8 00 02

RECV: 01 04 04 FF FF F6 31

读取实际速度

606Ch

03D5h

SEND: 601 40 6C 60 00 00 00 00 00

RECV: 581 43 6C 60 00 00 00 00 00

SEND:01 04 03 D5 00 02

RECV: 01 04 04 00 00 00 00

读取实际转矩

6077h

03E3h

SEND: 601 40 77 60 00 00 00 00 00

RECV: 581 4B 77 60 00 00 00 00 00

SEND: 01 04 03 E3 00 01

RECV: 01 04 02 00 04

如果原点回归完成,状态字第12位会从0变为1,如果原点回归失败,状态字第13位会从0变为1。

此外,也可以附加判断电机当前位置是否在0附近的200个脉冲以内。

二、切换轮廓位置模式

原点回归完成后,需要切换到轮廓位置模式下进行定位运动。可以在使能状态下直接发送这个指令切换到轮廓位置模式,发送的指令如下:

指令名称

CANopen地址

Modbus地址

/

数据

CANopen报文

Modbus报文

运行模式设置为轮廓位置模式

6060h

03C2h

0x01

SEND: 601 2F 60 60 00 01 00 00 00

RECV: 581 60 60 60 00 00 00 00 00

SEND: 01 10 03 C2 00 01 02 00 01

RECV: 01 10 03 C2 00 01

此时电机就切换到了轮廓位置模式,此时控制字为0x1F。

然后正常进行位置指令的设置和运行就可以。依次发送的报文举例如下:

指令名称

CANopen地址

Modbus地址

/

数据

CANopen报文

Modbus报文

设置目标位置为10000(用户单位)

607Ah

03E7h

10000

SEND: 601 23 7A 60 00 10 27 00 00

RECV: 581 60 7A 60 00 00 00 00 00

SEND: 01 10 03 E7 00 02 04 00 00 27 10

RECV: 01 10 03 E7 00 02

设置目标速度为10000(用户单位)

6081h

03F8h

10000

SEND: 601 23 81 60 00 10 27 00 00

RECV: 581 60 81 60 00 00 00 00 00

SEND: 01 10 03 F8 00 02 04 00 00 27 10

RECV: 01 10 03 F8 00 02

设置加速度为40000(用户单位)

6083h

03FCh

40000

SEND: 601 23 83 60 00 40 9C 00 00

RECV: 581 60 83 60 00 00 00 00 00

SEND: 01 10 03 FC 00 02 04 00 00 9C 40

RECV: 01 10 03 FC 00 02

设置减速度为40000(用户单位)

6084h

03FEh

40000

SEND: 601 23 84 60 00 40 9C 00 00

RECV: 581 60 84 60 00 00 00 00 00

SEND: 01 10 03 FE 00 02 04 00 00 9C 40

RECV: 01 10 03 FE 00 02

电机以绝对位置,立即更新的方式运行(电机是以控制字 6040h0380h)的 bit4 的上升沿接收新的位置命令,所以每次执行完一次运行后需 要把此位清零。)

6040h

0380h

0x2F

SEND: 601 2B 40 60 00 2F 00 00 00

RECV: 581 60 40 60 00 00 00 00 00

SEND: 01 10 03 80 00 01 02 00 2F

RECV: 01 10 03 80 00 01

6040h

0380h

0x3F

SEND: 601 2B 40 60 00 3F 00 00 00

RECV: 581 60 40 60 00 00 00 00 00

SEND: 01 10 03 80 00 01 02 00 3F

RECV: 01 10 03 80 00 01

走到这一步,电机会以设定的位置进行绝对定位运动,运动完成后,状态字第10位“target reach”会从0变为1,代表定位完成。

然后定位新的位置,如果速度和加速度不需要改变的话,只发送下面3条指令即可。

指令名称

CANopen地址

Modbus地址

/

数据

CANopen报文

Modbus报文

设置目标位置为10000(用户单位)

607Ah

03E7h

10000

SEND: 601 23 7A 60 00 10 27 00 00

RECV: 581 60 7A 60 00 00 00 00 00

SEND: 01 10 03 E7 00 02 04 00 00 27 10

RECV: 01 10 03 E7 00 02

电机以绝对位置,立即更新的方式运行(电机是以控制字 6040h0380h)的 bit4 的上升沿接收新的位置命令,所以每次执行完一次运行后需 要把此位清零。)

6040h

0380h

0x2F

SEND: 601 2B 40 60 00 2F 00 00 00

RECV: 581 60 40 60 00 00 00 00 00

SEND: 01 10 03 80 00 01 02 00 2F

RECV: 01 10 03 80 00 01

6040h

0380h

0x3F

SEND: 601 2B 40 60 00 3F 00 00 00

RECV: 581 60 40 60 00 00 00 00 00

SEND: 01 10 03 80 00 01 02 00 3F

RECV: 01 10 03 80 00 01

控制完成后,如果需要给电机脱使能,需要发送的指令为:

指令名称

CANopen地址

Modbus地址

/

数据

CANopen报文

Modbus报文

使电机失能

6040h

0380h

0x7

SEND: 601 2B 40 60 00 07 00 00 00

RECV: 581 60 40 60 00 00 00 00 00

SEND: 01 10 03 80 00 01 02 00 07

RECV: 01 10 03 80 00 01

如果想再次给电机使能。则发送:

指令名称

CANopen地址

Modbus地址

/

数据

CANopen报文

Modbus报文

使电机使能

6040h

0380h

0xF

SEND: 601 2B 40 60 00 0F 00 00 00

RECV: 581 60 40 60 00 00 00 00 00

SEND: 01 10 03 80 00 01 02 00 0F

RECV: 01 10 03 80 00 01

 


以上即是今天分享的全部内容,如果有任何问题,请及时联系我们。

或拨打全国统一服务热线:010-60213882,或发送邮件至:nimotion@ nimotion.com,我们将竭诚为您服务。

˜ 本文章全部内容或部分内容禁止擅自转载、拷贝。