PC端控制伺服电机






多段位置功能是伺服内部运动的一个功能,主要参数在H11组参数,触发命令等可以是实体DI/DO(H03/H04组参数),也可以是通讯触发,通讯触发其实就是构建虚拟的VDI/VDO,我们这里只讨论通讯触发。
VDI部分,我们设置了H1700-H1710一共6个VDI,他的触发是H3100的六个Bit位,也就是说我们要对应的VDI,就直接控制H3100对应的Bit位即可:
|
H3100值(10#) |
H3100值(2#) |
触发的VDI |
触发的功能 |
|
1 |
VDI1 |
伺服使能 |
|
|
3 |
VDI1,VDI2 |
伺服使能,正向点动 |
|
|
5 |
VDI1,VDI3 |
伺服使能,反向点动 |
|
|
9 |
VDI1,VDI4 |
伺服使能,多段位使能(触发定位) |
|
|
17 |
VDI1,VDI5 |
伺服使能,原点复归 |
|
|
33 |
VDI1,VDI6 |
伺服使能,报警清除 |
VDO的读取与VDI的控制方式基本相通,通过读取H1732的值,H1732的值的2#,就是每个虚拟VDO的状态,在这里不再赘述。
如果伺服有接实体DI(限位,原点等),可以通过通讯读取H0B03的电平,H0B03的值的2#,就是每个DI的状态,在这里不再赘述。
通过通讯修改如下值,然后触发定位即可(H3100设置成9)
|
H1112 |
定位的位置 |
按需 |
|
|
H1114 |
定位速度 |
按需 |
|
|
H1115 |
定位加减速时间 |
按需 |
特别注意:
l定位是上升沿触发的,所以连续定位时,先把H3100从9改回1,然后再改成9。
l默认是相对定位的,如果要绝对定位,修改H1104的值即可。
l位置到达可以通过读取H0B07的轴当前位置来判断(用区间判断),也可以读取H1732的Bit2来判断。
H3100输入17,即可回原,回原完成后H1732的Bit3会输出
回零相关参数的设置如下:
|
H0530 |
启用回原功能 |
|
H0531 |
回零模式 |
|
H0532 |
回零高速 |
|
H0533 |
回零低速 |
|
H0554 |
回零加减速时间 |
|
H0535 |
回零超时限定时间 |
|
H0536 |
回零偏移 |
|
H0540 |
遇到极限和偏移的处理模式 |







助手发: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,低字节在前 |
写入部分分为写入16位数据和写入32位数据,如何区分功能码是16位数据还是32位数据,查看对应驱动器型号的用户手册。
例如:




助手发: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,低字节在前 |


助手发: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,低字节在前 |
夜雨聆风