专业的微特电机产品发布平台
用户名: 密码: 注册
设为首页 加入收藏 联系我们
免费注册 企业免费建站
新技术论坛 会员产品发布
TB6600QQ群:70241714   步进电机论文   六轴工业机器人解决方案  
步进电机     驱动器     控制器     马达IC     伺服电机     无刷直流电动机     微特电机文献     工控器件     运动控制新产品     六轴工业机器人    
 当前位置:首页--交流伺服电机驱动器--
高性能无刷伺服驱动器的Modbus 控制方式(LP)
2016年8月13日


QQ截图20160810104517.jpg


DM-055B低压伺服驱动器采用32 位高速DSP 芯片;FOC 场定向矢量控制,支持位置/速度闭环;位置模式支持指令脉冲+方向 或 正交脉冲信号;速度模式支持PWM占空比信号 或 4~20ma电流 或 0.6~3V电压信号控制; 16位电子齿轮功能,1~65535 / 1~65535; 供电电压+20V~50V。支持50~500W交流伺服电机;支持485(modbus协议RTU模式)控制方式。可以设定驱动器地址,简化控制系统。也可以直接通过PC机控制,并提供PC机测试软件;具有欠压,过压,堵转,过热保护; 提供隔离输出的 到位信号、报警输出信号、编码器零点信号。

1. 寄存器说明

驱动器可以通过modbus(RTU 模式)来控制驱动器。主机可以通过modbus 的读写寄存器功能来设置驱动器参数和控制运行。驱动器支持的功能码为0x3(读寄存器)、0x6(写寄存器)、0x78(写目标位置)、0x7a(修改设备地址)。

寄存器列表如下:

QQ截图20160813094144.jpg

QQ截图20160813094239.jpg

2.Modbus 通信格式

a.modbus 主机读取数据及从机应答格式 (功能码03)

QQ截图20160813094322.jpg

串口接收到的数据都是无符号数,如果寄存器是有符号数,发送的则是二进制补码的格式,转换成有符号数的算法如下(VB代码):

If modbus.data(11) > 32767 Then

disp_modbus_data.PU = (modbus.data(11) - 32768) * 65536+ modbus.data(10)

disp_modbus_data.PU = -((&H7FFFFFFF - disp_modbus_data.PU) + 1)

Else

disp_modbus_data.PU = dmodbus.data(11) * 65536 + modbus.data(10)

End If

注: modbus.data(11) 为目标位置高16 位 modbus.data(10)为目标位置低16 位


b.modbus 主机写数据及从机应答格式 ( 功能码06)

QQ截图20160813094456.jpg

c.modbus 主机写脉冲数 (功能码0x10)

QQ截图20160813094606.jpg

脉冲数是有符号数,一个负数( 假设此数为X) 转换成32 位16 进制数的算法如下(vb 代码):

If X < 0 Then

X = &H7FFFFFFF + (X + 1)

PU24_31 = Fix(X / (256 * 65536)) + &H80

Else

PU24_31 = Fix(X / (256 * 65536))

End If

PU16_23 = Fix(X / 65536) mod 256

PU8_15 = Fix(X / 256) mod 256

PU0_7 = X mod 256

注:fix() 为取整函数

QQ截图20160813094702.jpg

d.modbus 主机写脉冲数 (特殊功能码0x78)

QQ截图20160813094745.jpg

3.CRC 校验示例代码

QQ截图20160813094839.jpg

4.modbus 方式主机控制过程

a:位置模式

(1)写 设备1(功能码0x06 地址0 Modbus 使能) 1

(2)读 设备1(功能码0x03 地址16 报警代码) (读到0 时为运行正常)

(3)写 设备1(功能码0x06 地址3 电机目标速度)2000

(4)写 设备1(功能码0x78 电机目标位置)1000

(5)读 设备1(功能码0x03 地址10 目标位置低16 位)

(6)读 设备1(功能码0x03 地址11 目标位置高16 位)以上两个寄存器都为0 时代表已经到了目标位置

(7)重复(4)(5)(6)过程,控制电机位置。

注:电机的目标速度为电机运行的****速度,如果目标位置较小,电机可能达不到****速度即停止。加速过程写入的电机目标位置是在原剩余的位置上加上新的数值。例如,第一次写入1024代表运行一圈,运行到还剩256,代表还有1/4 圈要运行,但此时又写入一个1024,此时电机的目标位置变成1024+256 而不是1024替代256。这样不会因为还没到位又写入一个数值而导致出现错误。

b:速度模式

(1)写 设备1(功能码0x06 地址0 Modbus 使能) 1

(2)读 设备1(功能码0x03 地址14 报警代码) (读到0 时为运行正常)

(3)写 设备1(功能码0x06 地址3 电机加速度) 6000

(4)写 设备1(功能码0x06 地址2 电机目标速度) 2000

(5)重复(4)过程,控制电机转速。


5. modbus 方式主机控制多个从机

a:位置模式 控制多个从机不同时开始运动

(1)写 设备1(功能码0x06 地址0 Modbus 使能) 1

(2)读 设备1(功能码0x03 地址14 报警代码) (读到0 时为运行正常)

(3)写 设备2(功能码0x06 地址0 Modbus 使能) 1

(4)读 设备2(功能码0x03 地址14 报警代码) (读到0 时为运行正常)

(5)写 设备1(功能码0x06 地址3 电机目标速度) 2000

(6)写 设备1(功能码0x78 电机目标位置) 1000

(7)读 设备1(功能码0x03 地址12 目标位置低16 位)

(8)读 设备1(功能码0x03 地址13 目标位置高16 位)以上两个寄存器都为0 时代表已经到了目标位置

(9)写 设备2(功能码0x06 地址3 电机目标速度 2000

(10)写 设备2(功能码0x78 电机目标位置) 1000

(11)读 设备2(功能码0x03 地址12 目标位置低16 位)

(12)读 设备2(功能码0x03 地址13 目标位置高16 位)以上两个寄存器都为0 时代表已经到了目标位置

(13)重复(5)~(12)过程,控制电机位置。

注:驱动器的地址需要先设置,可以通过提供的上位机设置驱动器地址。由于以上方式在写了目标位置后驱动器会立刻控制电机运动,而写入地址2 的控制数据需要一定时间,所以地址1 和地址2 的电机不会同时运动。如果下一次的运行速度不变,可以不必多次写入电机目标速度。


b:位置模式 控制多个从机同时开始运动

(1)写 设备1(功能码0x06 地址0 Modbus 使能) 1

(2)读 设备1(功能码0x03 地址14 报警代码) (读到0 时为运行正常)

(3)写 设备2(功能码0x06 地址0 Modbus 使能) 1

(4)读 设备2(功能码0x03 地址14 报警代码) (读

到0 时为运行正常)

(5)写 设备1(功能码0x06 地址2 电机目标速度) 2000

(6)写 设备1(功能码0x06 地址3 目标位置缓存) 1000

(7)写 设备2 (功能码0x06 地址2 电机目标速度)2000

(8)写 设备2 (功能码0x06 地址3 目标位置缓存) 1000

(9)写 设备0(广播)(功能码0x06 地址1 使能) 1

(10)读 设备1(功能码0x03 地址12 目标位置低16 位)

(11)读 设备1(功能码0x03 地址13 目标位置高16 位)以上两个寄存器都为0 时代表已经到了目标位置

(12)读 设备2(功能码0x03 地址12 目标位置低16 位)

(23)读 设备2(功能码0x03 地址13 目标位置高16 位)以上两个寄存器都为0 时代表已经到了目标位置

(13)重复(5)~(13)过程,控制电机位置。

联系方式:QQ:467102884  电话:13811070445(刘女士)


相关文章:

适用于高转速,低噪音场合的高性能低压伺服电机

200W低压伺服电机及配套驱动的经典搭配

400W低压伺服电机及配套驱动的经典搭配

支持位置/ 速度闭环控制的高性能低压伺服驱动器DM-055B

关于低压伺服驱动器报警指示及常见问题解答

60系列交流伺服电机的市场应用

80系列交流伺服电机的市场应用

110系列交流伺服电机的市场应用

130系列交流伺服电机的市场应用

设为首页   |   加入收藏   |   联系我们   |   站长留言   |   广告服务   |   友情链接   |   免费展示
网站实名:步进电机网 步进电机驱动器网 微特电机网 网站地图 新闻中心
版权所有:北京时代四维科技有限公司
© Copyright By www.zgbjdj.com
京ICP备11042559号-1