乐于分享
好东西不私藏

PC端控制伺服电机

PC端控制伺服电机

介绍:通过C\C++语言控制伺服驱动器运动
一、硬件及软件
1、驱动型号:SV660CS1R6I
2、通信线缆:RS485
3、限位开关:正限位\负限位\原点开关
4、软件:InoDriveShop、TCPCOM二合一调试助手
二、接线
1、RS485通信线缆(只需要接针脚号4、5、8)
2、限位开关
三、驱动器参数设置及调试说明
Step1:参数设置
Step2:控制说明

多段位置功能是伺服内部运动的一个功能,主要参数在H11组参数,触发命令等可以是实体DI/DOH03/H04组参数),也可以是通讯触发,通讯触发其实就是构建虚拟的VDI/VDO,我们这里只讨论通讯触发。

VDI部分,我们设置了H1700-H1710一共6VDI,他的触发是H3100的六个Bit位,也就是说我们要对应的VDI,就直接控制H3100对应的Bit位即可:

H3100值(10#

H3100值(2#

触发的VDI

触发的功能

1

2#00001

VDI1

伺服使能

3

2#00011

VDI1VDI2

伺服使能,正向点动

5

2#00101

VDI1VDI3

伺服使能,反向点动

9

2#01001

VDI1VDI4

伺服使能,多段位使能(触发定位)

17

2#010001

VDI1VDI5

伺服使能,原点复归

33

2#0100001

VDI1VDI6

伺服使能,报警清除

VDO的读取与VDI的控制方式基本相通,通过读取H1732的值,H1732的值的2#,就是每个虚拟VDO的状态,在这里不再赘述。

如果伺服有接实体DI(限位,原点等),可以通过通讯读取H0B03的电平,H0B03的值的2#,就是每个DI的状态,在这里不再赘述。

Step3:定位说明

通过通讯修改如下值,然后触发定位即可(H3100设置成9

H1112

定位的位置

按需

H1114

定位速度

按需

H1115

定位加减速时间

按需

特别注意:

l定位是上升沿触发的,所以连续定位时,先把H31009改回1,然后再改成9

l默认是相对定位的,如果要绝对定位,修改H1104的值即可。

l位置到达可以通过读取H0B07的轴当前位置来判断(用区间判断),也可以读取H1732Bit2来判断。

Step4:回原说明

H3100输入17,即可回原,回原完成后H1732Bit3会输出

回零相关参数的设置如下:

H0530

启用回原功能

H0531

回零模式

H0532

回零高速

H0533

回零低速

H0554

回零加减速时间

H0535

回零超时限定时间

H0536

回零偏移

H0540

遇到极限和偏移的处理模式

四、电机定位及回原测试
Step1:
“三、驱动器参数设置及调试说明—Step3:定位说明”,输入位置、速度、加减速时间
Step2:
在”InoDriveShop”中连接伺服驱动器—点击”IO设置”—点击”IO监控”—点击”虚拟IO监控”—勾选”启用扩展VDI”—点击”强制VDI输入”—点击”确定”
Step3:
点击”伺服使能”—点击”原点复归信号”(电机回原)
Step4:
点击”伺服使能”—点击”多段位置指令使能”(电机定位)
Step5:
驱动器分配了16个VDI\VDO端子,需要增加相应的功能,可自行在”参数列表”,H17内配置即可
五、串口调试助手读写伺服参数操作
汇川伺服功能码均由4位组成,如H0B.12(平均负载率),其中前两位是16进制、后两位是十进制,即0B是16进制、12是10进制;在通讯过程中,我们需要把地址转换成16进制,所以12转化成16进制是0C,即H0B.12功能码的通讯地址是0X0B0C.
每个读取\写入相应的功能码,其校验码是需要重新计算的。
1、读取说明
Step1:请求\响应帧格式
Step2:数据读取\响应测试

助手发:01 03 06 03 00 02 34 83

解释:

01

站号

03

功能码

06 03

通讯首地址即伺服参数H0603(速度指令键盘设定值)

00 02

读取个数

34 83 

校验码,16CRC,低字节在前

回帧:01 03 04 00 32 00 14 5B F3

解释:

01

站号

03

功能码

04

字节数

00 32

读取值即伺服参数H0603 的值(16进制)

00 14

读取值即伺服参数H0604 的值(16进制)因为读取个数为2

5B F3

校验码,16CRC,低字节在前

2、写入说明

写入部分分为写入16位数据和写入32位数据,如何区分功能码是16位数据还是32位数据,查看对应驱动器型号的用户手册。

例如:

2.1、写入16位数据
Step1:请求\响应帧格式
Step2:数据写入\响应测试

助手发:01 06 06 03 00 32 F8 97

解释:

01

站号

06

功能码

06 03

通讯地址即伺服参数H0603(速度指令键盘设定值)

00 32

写入值

F8 97

校验码,16CRC,低字节在前

回帧:01 06 06 03 00 32 F8 97

01

站号

06

功能码

06 03

通讯地址即伺服参数H0603(速度指令键盘设定值)

00 32

写入值

F8 97

校验码,16CRC,低字节在前

2.2、写入32位数据
Step1:请求\响应帧格式
Step2:数据写入\响应测试

助手发:01 10 05 02 00 02 04 00 00 00 00 4D 26

解释:

01

站号

10

功能码

05 02

通讯地址即伺服参数H0502

00 02

写入个数

04

写入个数*2

00 00 00 00 

写入值

4D 26

校验码,16CRC,低字节在前

回帧:01 10 05 02 00 02 E0 C4

01

站号

10

功能码

05 02

通讯地址即伺服参数H0502

00 02

写入值

E0 C4

校验码,16CRC,低字节在前