XPLC006E是正运动运动控制器推出的一款多轴经济型EtherCAT总线运动控制器,XPLC系列运动控制器可应用于各种需要脱机或联机运行的场合。
XPLC006E自带6个电机轴,最多12轴运动控制(含虚拟轴数),支持12轴直线插补、电子凸轮、电子齿轮、同步跟随、虚拟轴设置等功能。
XPLC006E支持多任务同时运行,同时可以在PC上直接仿真运行,编程方式多种可选,支持ZDevelop软件的Basic/PLC梯形图/HMI组态和常用上位机软件编程。
XPLC006E只支持EtherCAT总线轴,不支持脉冲轴和编码器轴。采用EtherCAT总线与驱动器通讯,1ms的刷新周期。
XPLC006E支持PLC、Basic、HMI组态三种编程方式。PC上位机API编程支持C#、C++、LabVIEW、VB、matlab、Qt、Linux、.Net、iMAC、Python、 ROS等接口。
→此款产品有XPLC004E、XPLC006E、XPLC008E三个不同轴数的型号可选。
XPLC864E2在XPLC006E的功能基础上做了升级(即上节介绍的XPLC006E的功能都支持),部分资源空间优于XPLC006E,使用方法基本一致,不同之处在于XPLC864E2,硬件支持32点输入、32点输出、2个ADC、2个DAC,支持脉冲轴和总线轴混合使用,总实轴轴数为8,除了带EtherCAT接口之外,输出口硬件上可配置为8个轴的脉冲方向信号输出,另带两路编码器输入,可由输入口配置。
XPLC864E2支持PLC、Basic、HMI组态三种编程方式。PC上位机API编程支持C#、C++、LabVIEW、VB、matlab、Qt、Linux、.Net、iMAC、Python、 ROS等接口。
XPLC系列经济型EtherCAT总线运动控制器支持多种编程方式,支持使用正运动技术自主研发的ZDevelop开发环境的basic语言和PLC梯形图,上一节讲解了Basic开发,本节内容主要讲解PLC梯形图的开发。
XPLC006E使用PLC编程时,轴的运动指令调用Basic封装的指令。
PLC梯形图执行从左侧的母线开始,从左至右,从上至下依次扫描,从第一行程序开始顺序扫描到END为一个扫描周期,然后又开始新一轮程序扫描,直到程序被停止。
PLC编程方式有两种,通常选择梯形图编程,熟悉指令的用户也可选择语句表的编程方式。
在正运动技术官网下载新版编程软件ZDevelop V3.10.06,准备一台XPLC系列经济型EtherCAT总线运动控制器,按照上方的XPLC006E参考架构完成接线。
没有控制器的场合也可完成ZBasic的开发,程序下载到仿真器运行即可,仿真器是ZDevelop软件安装包自带的。
1.新建工程项目,并下载PLC程序文件到控制器运动的流程如下图。
2.打开已有的项目文件运行,需要打开zpj文件,再连接控制器,下载程序运动。PLC编程界面如下所示:
PLC的自动运行的主文件建议只设置一个,使得PLC只有一个主循环,其他模块在主循环中调用。
PLC指令均不分大小写,PLC指令请参考《ZMotion PLC编程手册》,手册可在软件的帮助菜单栏快速打开。
梯形图编程方式就是使用顺序符号和软元件编号在编程界面上画出顺控梯形图的方式,由于顺控回路是通过触点符号和线圈符号来表现的,显示更加直观,程序的内容更易理解。
在梯形图显示状态下程序监控与调试更为便捷,梯形图显示示例如下所示。
程序结尾一定要包含END程序结束指令,否则报错,无法下载到控制器执行。
1.PLC指令按照指令的用途将指令分为如下几个类别。
A.常用指令:包含取触点、输出线圈、定时器、计数器等常用指令。
B.触点比较指令:比较两个寄存器的值,满足条件触点导通。
C.传送和比较指令:寄存器之间数据按规则比较和传送。
D.循环和跳转指令:包括条件循环指令,跳转到子程序执行指令。
E.运算指令:包含四则运算和逻辑运算指令。
F.移位指令:将源操作数的数据按位移动。
G.数据处理指令:执行其他运算,例如编码、译码等。
H.浮点运算指令:针对32位浮点数的运算。
I.其他指令:轴运动相关参数。
2.PLC指令根据操作数的位长分为16位指令和32位指令两种。
16位数据和32位数据处理采用不同的指令,除了数据长度不同外,二者其他方面均相同,处理数据类型均为有符号数。
16位指令:传送的数值范围:-32768 -+32767。
32位指令:传送的数值范围:-2147483648 - +2147483647。32位指令一般占用连续两个16位空间。
3.根据指令的执行方式的不同,分为连续执行型和脉冲执行型两种。
连续执行型:满足条件,每个扫描周期都执行一次。
脉冲执行型:满足条件,仅执行一次。连续执行型指令添加符号P表示脉冲执行型指令。
4.PLC软元件一览表。
计数器C和定时器T的数据类型与访问时使用的指令有关,通过16位指令访问时自动使用低16位,通过32位指令访问时使用32位。
5.PLC与Basic相关寄存器对应关系。
PLC可以通过EXE指令或EXEP指令调用Basic标准指令。EXEP指令是EXE指令的脉冲形式,仅在驱动输入由OFF变为ON后,才调用Basic标准指令。
语法格式如下:
“EXE @BASIC指令”等价于“BASIC指令”
注意:使用EXE指令调用寄存器时,@之后要参照Basic的语法,不可出现“EXE @DT0=10”,正确写法应是“EXE @TABLE(0)=10”。
在PLC里调用Basic直线插补语法如上图,直线插补PLC语法“MOVE D0 D2”,操作数应该为PLC操作数支持的格式,插补数据由寄存器传递,不能直接给出。
控制脉冲轴轴0和轴1直线插补运动,轴参数和运动指令使用EXE调用Basic指令,将写好的程序下载XPLC006E上调试运行。
1.PLC控制程序如下。
2.程序说明。
程序上电初始化时,对轴的各种参数进行初始化。
当X0上升沿触发时,对存储两个轴运动距离的寄存器D0、D2进行赋值,当X1上升沿触发启动示波器采样、开启MOVE直线插补运动并且M0自锁,轴0运动距离为300,轴1运动距离为400。
M8100为轴0的IDLE标志,当运动完成时,轴0停止,M8100变为ON,M1被置位一个周期,M1的常闭触点断开一个周期,M0自锁取消。
再次按下X1,MOVE再次执行轴0轴1直线插补运动。
X2为急停按钮,若轴在运动中按下X2,按FASTDEC快减速设置的值快速停下。
3.示波器采样的轴0轴1的位置和速度曲线如下所示。
4.以上PLC程序在Basic里实现的程序如下。
FOR i=0 TO 10 'MODBUS_BIT寄存器清0
MODBUS_BIT(i)=0
NEXT
BASE(0,1) '轴0和轴1参数初始化
UNITS = 100,100
ATYPE =1,1
SPEED = 200,200
ACCEL = 1000,1000
DECEL = 1000,1000
SRAMP = 200,200
DPOS = 0,0
MPOS = 0,0
FASTDEC = 20000,20000
WHILE 1 '循环检测输入
IF IN_SCAN(0,2) THEN '扫描IN0-2口电平变化
IF IN_EVENT(1)> 0 THEN '启动
TRIGGER
MOVE(300,400)
ELSEIF IN_EVENT(2)> 0 THEN '停止
RAPIDSTOP(2)
ENDIF
ENDIF
WEND
END
PLC通过调用Basic的MOVESLINK自动凸轮命令完成追剪过程,MOVESLINK自动凸轮的从轴自动规划速度跟随主轴运动,指令用法参见Basic编程手册,PLC程序的主要组成部分如下:
1.初始化部分
2.选择追剪轴号
3.轴参数初始化
4.追剪参数初始化
5.追剪运动
触摸屏界面:可设置追剪加工参数,控制追剪的启停,同时能显示当前轴的位置信息。
追剪波形如下,主轴为匀速运动的传送带,第一阶段从轴(轴1)从初始位置跟随主轴(轴2)加速运动,第二阶段主从轴速度一致,达到同步,追剪刀具下剪后准备返回初始位置,第三阶段从轴跟随主轴减速到0,第四阶段从轴反向回到初始位置,准备下一轮追剪。
本次,正运动技术经济型EtherCAT运动控制器(三):PLC实现多轴直线插补与电子凸轮,就分享到这里。
更多精彩内容请关注“正运动小助手”公众号,需要相关开发环境与例程代码,请咨询正运动技术销售工程师:400-089-8936。
本文由正运动技术原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权归正运动技术所有,如有转载请注明文章来源。