点击上方“正运动小助手”,随时关注新动态!
XPLC006E功能简介
0
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三个不同轴数的型号可选。
2
2
XPLC864E2功能简介
0
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等接口。
2
2
XPLC系列经济型EtherCAT总线运动控制器支持多种编程方式,支持使用正运动技术自主研发的ZDevelop开发环境的basic语言和PLC梯形图,上一节讲解了Basic开发,本节内容主要讲解PLC梯形图的开发。
XPLC006E使用PLC编程时,轴的运动指令调用Basic封装的指令。
PLC梯形图执行从左侧的母线开始,从左至右,从上至下依次扫描,从第一行程序开始顺序扫描到END为一个扫描周期,然后又开始新一轮程序扫描,直到程序被停止。
PLC编程方式有两种,通常选择梯形图编程,熟悉指令的用户也可选择语句表的编程方式。
一
前期准备工作
在正运动技术官网下载新版编程软件ZDevelop V3.10.06,准备一台XPLC系列经济型EtherCAT总线运动控制器,按照上方的XPLC006E参考架构完成接线。
没有控制器的场合也可完成ZBasic的开发,程序下载到仿真器运行即可,仿真器是ZDevelop软件安装包自带的。
二
下载PLC程序到控制器
1. 新建工程项目,并下载PLC程序文件到控制器运动的流程如下图。
2.打开已有的项目文件运行,需要打开zpj文件,再连接控制器,下载程序运动。PLC编程界面如下所示:
PLC的自动运行的主文件建议只设置一个,使得PLC只有一个主循环,其他模块在主循环中调用。
PLC指令均不分大小写,PLC指令请参考《ZMotion PLC编程手册》,手册可在软件的帮助菜单栏快速打开。
三
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软元件一览表。
软元件符号
|
软元件名称
|
编号
|
标记
|
处理数据类型
|
X
|
输入继电器
|
本地编号+扩展编号
|
八进制
|
布尔型
|
Y
|
输出继电器
|
本地编号+扩展编号
|
八进制
|
布尔型
|
M
|
辅助继电器
|
0-4095,掉电保持2048-2175
|
十进制
|
布尔型
|
S
|
状态继电器
|
0-999,掉电保持0-127
|
十进制
|
布尔型
|
D
|
数据寄存器
|
0-2047
|
十进制
|
16位整型
|
C
|
计数器
|
0-127,掉电保持100-107
|
十进制
|
16/32位整型
|
T
|
定时器
|
0-127,掉电保持100-103
|
十进制
|
16/32位整型
|
V
|
变址寄存器
|
0-7
|
十进制
|
16位整型
|
Z
|
变址寄存器
|
0-7
|
十进制
|
16位整型
|
DT
|
浮点寄存器
|
0-(TSIZE-1)
|
十进制
|
32位浮点数
|
LV
|
局部寄存器
|
0-7
|
十进制
|
32位浮点数
|
L
|
Label寄存器
|
0-63
|
十进制
|
子程序
| 计数器C和定时器T的数据类型与访问时使用的指令有关,通过16位指令访问时自动使用低16位,通过32位指令访问时使用32位。
5.PLC与Basic相关寄存器对应关系。
PLC
|
BASIC
|
输入继电器X
|
X0~X7
|
输入口IN
|
IN(0)~IN(7)
|
X10~X17
|
IN(8)~IN(15)
|
X20~X27
|
IN(16)~IN(23)
|
X1770~X1777
|
IN(1016)~IN(1023)
|
输出继电器Y
|
Y0~Y7
|
输出口OP
|
OP(0)~OP(7)
|
Y10~Y17
|
OP(8)~OP(15)
|
Y20~Y27
|
OP(16)~OP(23)
|
Y1770~Y1777
|
OP(1016)~OP(1023)
|
辅助继电器M
|
M0
|
MODBUS_BIT
|
MODBUS_BIT(0)
|
M1
|
MODBUS_BIT(1)
|
M1023
|
MODBUS_BIT(1023)
|
特殊继电器D
|
D0
|
MODBUS_REG
|
MODBUS_REG(0)
|
D1
|
MODBUS_REG(1)
|
D1023
|
MODBUS_REG(1023)
|
浮点寄存器DT
|
DT0
|
TABLE
|
TABLE(0)
|
DT1
|
TABLE(1)
|
DT1023
|
TABLE(1023)
|
EXE @BASIC指令
|
EXE @MOVE(100)
|
BASIC指令
|
MOVE(100)
|
EXE @TABLE(0)=10
|
TABLE(0)=10
|
EXE @RUNTASK 1, taska
|
RUNTASK 1, taska
|
四
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操作数支持的格式,插补数据由寄存器传递,不能直接给出。
五
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)=0NEXTBASE(0,1) '轴0和轴1参数初始化UNITS = 100,100ATYPE =1,1SPEED = 200,200ACCEL = 1000,1000DECEL = 1000,1000SRAMP = 200,200DPOS = 0,0MPOS = 0,0FASTDEC = 20000,20000WHILE 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 ENDIFWENDEND
六
PLC追剪(电子凸轮)例程
PLC通过调用Basic的MOVESLINK自动凸轮命令完成追剪过程,MOVESLINK自动凸轮的从轴自动规划速度跟随主轴运动,指令用法参见Basic编程手册,PLC程序的主要组成部分如下:
1.初始化部分
2.选择追剪轴号
3.轴参数初始化
4.追剪参数初始化
5.追剪运动
触摸屏界面:可设置追剪加工参数,控制追剪的启停,同时能显示当前轴的位置信息。
追剪波形如下,主轴为匀速运动的传送带,第一阶段从轴(轴1)从初始位置跟随主轴(轴2)加速运动,第二阶段主从轴速度一致,达到同步,追剪刀具下剪后准备返回初始位置,第三阶段从轴跟随主轴减速到0,第四阶段从轴反向回到初始位置,准备下一轮追剪。
代码获取地址
▼
本次,正运动技术经济型EtherCAT运动控制器(三):PLC实现多轴直线插补与电子凸轮 ,就分享到这里。
更多精彩内容请关注“正运动小助手”公众号,需要相关开发环境与例程代码,请咨询正运动技术销售工程师:400-089-8936。
本文由正运动技术原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权归正运动技术所有,如有转载请注明文章来源。
回顾往期内容
经济型EtherCAT运动控制器(二):ZBasic实现多轴直线插补运动
经济型EtherCAT运动控制器(一):功能简介与应用场景
运动控制+机器视觉Demo软件框架(三):视觉纠偏+连续插补的配方编辑
运动控制+机器视觉Demo软件框架(二):移动标定和形状匹配
运动控制+机器视觉Demo软件框架(一):机械参数和配方文件的管理
运动控制+机器视觉Demo软件框架系统概述
开放式激光振镜+运动控制器(六):双振镜运动
开放式激光振镜+运动控制器(五):ZMC408SCAN控制器硬件介绍
开放式激光振镜+运动控制器(四):PSO位置同步输出在激光振镜加工中的应用
开放式激光振镜+运动控制器(三):振镜矫正
开放式激光振镜+运动控制器(二):振镜填充
开放式激光振镜+运动控制器(一):硬件接口
EtherCAT运动控制器之ZMIO300模块的使用
EtherCAT运动控制器的PLC编程(四) 电子凸轮
EtherCAT运动控制器的PLC编程(三) 电子齿轮
EtherCAT运动控制器的PLC编程(二) 圆弧插补
EtherCAT运动控制器的PLC编程(一) 直线插补
快速入门 | 篇二十一:运动控制器ZHMI组态编程简介一
快速入门 | 篇二十一:正运动技术运动控制器自定义通讯
快速入门 | 篇二十:正运动技术运动控制器MODBUS通讯
快速入门 | 篇十九:正运动技术运动控制器多轴同步与电子凸轮指令简介
快速入门 | 篇十八:正运动技术脉冲型运动控制器的使用
快速入门 | 篇十七:运动控制器多轴插补运动指令的使用
快速入门 | 篇十六:正运动控制器EtherCAT总线快速入门
快速入门 | 篇十五:运动控制器运动缓冲简介
快速入门 | 篇十四:运动控制器基础轴参数与基础运动控制指令
快速入门 | 篇十三:正运动技术运动控制器ZDevelop 编程软件的使用
快速入门 | 篇十二:正运动技术运动控制器U盘接口的使用
快速入门 | 篇十一:正运动技术运动控制器中断的应用
快速入门 | 篇十:运动控制器多任务运行特点
快速入门 | 篇九:如何进行运动控制器示波器的应用?
快速入门 | 篇八:如何进行运动控制器EtherCAT总线的基础使用?
快速入门 | 篇七:如何进行运动控制器ZCAN总线扩展模块的使用?
快速入门 | 篇六:如何进行运动控制器数据与存储的应用?
快速入门 | 篇五:如何进行运动控制器输入/输出IO的应用?
快速入门 | 篇四:如何进行运动控制器与触摸屏通讯?
快速入门 | 篇三:如何进行运动控制器ZPLC程序开发?
快速入门 | 篇二:如何进行运动控制器ZBasic程序开发?
快速入门 | 篇一:如何进行运动控制器固件升级?
G代码在运动控制器上的应用
运动控制器的自定义G代码编程应用
离线仿真调试,加快项目进度!
8轴EtherCAT轴扩展模块EIO24088的使用
运动控制器之追剪应用Demo
运动控制器激光振镜控制
ZMC运动控制器SCARA机械手应用快速入门
运动控制器RTEX总线使用入门
正运动技术CAD导图软件配合控制器的使用方法
EtherCAT总线运动控制器应用进阶一
EtherCAT运动控制卡开发教程之Qt(中):小线段连续轨迹加工、暂停与继续
EtherCAT运动控制卡开发教程之Qt(上):开发环境配置与简单运动控制应用
EtherCAT运动控制卡开发教程之python
EtherCAT运动控制卡的SCARA等机器人指令的应用
EtherCAT运动控制卡的PWM与模拟量输出和运动速度同步
EtherCAT运动控制卡硬件比较输出以及编码器锁存
EtherCAT运动控制卡IO动作与运动控制的同步
EtherCAT运动控制卡实时程序的运行和读写控制
EtherCAT运动控制卡的运动暂停、恢复与系统安全设置
EtherCAT运动控制卡小线段前瞻的连续插补运动
EtherCAT运动控制卡的多轴插补运动和手轮运动
EtherCAT运动控制卡的辅助调试工具与方法介绍
EtherCAT运动控制卡的总线轴参数设置和轴运动
EtherCAT运动控制卡的硬件接线与C#的硬件外设读写与回零运动
EtherCAT运动控制卡的硬件接线与C#的单轴运动控制
简单易用的运动控制卡(十六):螺距补偿和反向间隙补偿
简单易用的运动控制卡(十五):PC启停控制器的实时程序
简单易用的运动控制卡(十四):PWM、模拟量输出与运动控制的同步
简单易用的运动控制卡(十三):IO动作与运动控制的同步
简单易用的运动控制卡(十二):运动控制系统的安全设置
简单易用的运动控制卡(十一):运动的暂停恢复和速度倍率设置
简单易用的运动控制卡(十):连续插补和小线段前瞻
简单易用的运动控制卡(九):圆弧插补和螺旋插补
简单易用的运动控制卡(八):直线插补和手轮运动
简单易用的运动控制卡(七):一次性加载多条连续小线段数据
简单易用的运动控制卡(六):Basic文件下载和连续轨迹加工
简单易用的运动控制卡(五):IO配置与回零运动
简单易用的运动控制卡(四):函数库的封装
简单易用的运动控制卡(三):轴参数配置和单轴运动控制
简单易用的运动控制卡(二):外设读写与ZDevelop诊断
简单易用的运动控制卡(一):硬件接线和上位机开发
运动控制卡在ROS上的应用(下)
运动控制卡在ROS上的应用(上)
EtherCAT运动控制卡和LabVIEW构建智能装备(五)
EtherCAT运动控制卡和LabVIEW构建智能装备(四)
EtherCAT运动控制卡和LabVIEW构建智能装备(三)
EtherCAT运动控制卡和LabVIEW构建智能装备(二)
EtherCAT运动控制卡和LabVIEW构建智能装备(一)
EtherCAT运动控制卡在LabVIEW中的运动控制与数据采集
运动控制卡应用开发教程之MATLAB
运动控制卡应用开发教程之C++
运动控制卡应用开发教程之Python
运动控制卡应用开发教程之C#
运动控制卡应用开发教程之Linux
运动控制卡应用开发教程之VB.NET
运动控制卡应用开发教程之VB6.0
运动控制卡应用开发教程之VC6.0
运动控制卡应用开发教程之使用Qt
运动控制卡应用开发教程之LabVIEW
运动控制卡应用开发教程之激光振镜控制
运动控制卡应用开发教程之硬件比较输出
关于正运动技术
正运动技术专注于运动控制技术研究和通用运动控制软硬件产品的研发,是国家级高新技术企业,主要产品有运动控制器、运动控制卡、视觉运动控制一体机、人机界面以及扩展模块等。
正运动技术汇集了来自华为、中兴等公司的优秀人才,在坚持自主创新的同时,积极联合各大高校协同运动控制基础技术的研究,是国内工控领域发展最快的企业之一,也是国内少有、完整掌握运动控制核心技术和实时工控软件平台技术的企业。
正运动技术背靠蓬勃发展的制造业,与时俱进,富有创新,致力于智能制造设备商和终端用户不断提升技术应用和制造水平。经过众多合作伙伴多年的应用开发,产品广泛应用于国内外的3C电子、半导体、印刷包装、纺织服装、激光加工、机械加工、机器人、新能源、医疗保健、舞台娱乐等领域。
|