位置控制系统中控制器和Kinetix 3驱动器采用RS-232进行通信,RS-232上可以使用Modbus RTU和ACSII两种协议。这里选择的是使用Modbus RTU进行通信。通信前需要设置好驱动器和控制器中的通信方式,使得它们之间的波特率、协议帧等通信参数相同。
在前几章中已经介绍过有关Modbus协议的信息,这里不再赘述。
1.Kinetix 3的Modbus功能代码
Kinetix 3的Modbus功能代码和命令见表7-6。
表7-6 Modbus功能代码和命令
需要注意的是:①寄存器地址偏移量为1,例如:读Kinetix 3速度反馈的寄存器地址为0,但是实际操作中就要设置为1;②保持型寄存器是指驱动器中的参数寄存器,输入寄存器是指驱动器的状态寄存器。
2.Micro850控制器通信参数设置
将嵌入式串口通信模块插到控制器的1槽上,进入CCW中,点击Micro850,打开Mi-cro850控制器的组态界面,选择对1槽上的串口通信模块进行组态,设置以下参数:
1)Driver(通信驱动类型):Modbus RTU;
2)Baud Rate(通信波特率):19200;
3)Parity(奇偶校验位):None;
4)Modbus Role(在Modbus中的角色):Master。
在Protocol Control一栏设置以下参数:
1)Media(介质):RS-232 no handshake;
2)Data Bits(数据位):8;
3)Stop Bits(停止位):1。
控制器通信参数配置如图7-10所示。
图7-10 控制器通信参数配置
3.Kinetix 3驱动器通信参数设置
打开Ultraware,在目录树中双击K3 Drive,如图7-11所示,进入K3配置界面,展开Communications界面,进行如图7-12所示的配置。
图7-11 Drive配置
图7-12 Kinetix 3通信参数配置
配置完后将配置好的参数存入驱动器中。
4.Micro850与Kinetix 3驱动器的通信程序
这里以Kinetix 3的预置速度(Preset Velocity)模式为例,说明如何使用Modbus RTU来设置驱动器的参数以及控制驱动器。(www.daowen.com)
1)通信模块接线,如图7-4所示。
2)使能Modbus控制。要使用Modbus进行控制,需要修改驱动器的参数列表,将Mod-bus控制使能。可以通过面板操作,设置Pr-0.32号参数或者通过Ultraware的communications选项,将MODBUS Run Function Control以及MODBUS Input Function Control设置为使能,来打开Modbus控制,Ultraware的设置如图7-12所示。
3)设置预置速度。在驱动器中先设置好2个预置速度,Preset Velocity1和Preset Veloci-ty2,这里可以通过面板设置Pr-2.05和Pr-2.06号参数,也可以通过Ultraware直接设置,或者通过RS-232 Modbus RTU对参数Pr-2.05和Pr-2.06进行写值,两个参数对应的Modbus地址为207和208,编程的时候需要设置为208和209。这里通过Ultraware设置,Ultraware中点击目录树下的Preset选项,设置预置速度,如图7-13所示。
图7-13 预置速度设置
4)修改驱动器工作模式。为了使驱动器运行在预置速度模式下,需要将驱动器Pr-0.00号参数设置为7,即预置速度(Preset Velocity)模式。通过面板设置该参数,设置完参数后,驱动器不能马上生效,需要重新上电。
5)创建MSG指令相关变量。在完成参数设置后即可开始创建变量,由于需要起动/停止电动机以及读取电动机参数/状态信息,因此需要3个MSG指令。创建MSG MODBUS功能块,并分别创建功能块上所需要的变量,如图7-14所示。
图7-14 创建MSG功能块和所需变量
6)编写程序以及设置MSG指令参数。编写读取驱动器参数的程序以及控制电动机以预置速度运行的程序。如图7-15所示,第一个梯级中的MSG MODBUS 1功能块用于读取K3的参数设定值,当K3 Modbus Start指令由假变真一次,控制器就会读一次K3参数寄存器中的值。
梯级中的MSG MODBUS 2功能块用于向K3的控制寄存器中写入电动机运行使能值以及选择预置速度1的值,K3 Modbus Write指令用于启动MSG功能块。
梯级中的MSG MODBUS 3功能块发送电动机停止运行命令。
读取反馈速度以及写控制字如图7-15所示。
其中,MSG MODBUS 1功能块指令的相关参数设置如图7-16所示,MSG MODBUS2功能块指令的相关参数设置如图7-17所示,参数说明见表7-7和表7-8。
图7-15 读取反馈速度以及写控制字
图7-16 读取反馈速度参数设置
图7-17 电动机使能和方向设置
之所以需要写两个寄存器,是因为向第一个地址为3000(命令中应设置为3001)的寄存器中写入769命令,是为了使能驱动(Drive Enable),选择方向(Preset Direction)以及选择电动机以预置速度1(Preset Select1)起动。写第二个地址为3001(命令中应设置为3002)的寄存器是为了起动电动机(Motor Moving Enable)。
可以看到图7-16中K3 LocalAddr[1]的值为7,即现在处于预置速度模式。
表7-7 读取Kinetix 3参数的MSG指令参数说明
表7-8 控制Kinetix 3的MSG指令参数说明
点击K3 Modbus Write命令后,电动机开始以Preset Velocity1的速度运动。这样就完成了使用Modbus RTU控制Kinetix 3驱动器的设置。通过写参数同样可以修改驱动器中的参数值,但需要注意的是,在设置完参数后,需要写1到Modbus地址为9999的寄存器中,这样才能保存参数设置值。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。