本节课程主要通过几个部分讲解直线插补,分别为EtherCAT总线运动控制器介绍、 运动控制器直线插补的原理、功能、实现方式和例程仿真演示。

01 XPLC864E2介绍

XPLC864E2是正运动技术推出的一款多轴经济型EtherCAT总线运动控制器,XPLC系列运动控制器可应用于各种需要脱机或联机运行的场合。

体积小,通讯功能全,支持RS232串口、RS485串口、网口、CAN总线、EtherCAT总线连接外设,多网口通道通过交换机扩展。

XPLC864E2支持脉冲轴和总线轴混合使用,总轴数为8,除了带EtherCAT接口之外,输出口可配置为8个脉冲信号输出,另带两路编码器输入,由输入口配置。

通过扩展最多支持12轴直线插补、电子凸轮、电子齿轮、同步跟随、虚拟轴设置等功能。

02 直线插补原理

直线插补算法采用数据采样法,插补用小段直线来逼近给定轨迹,插补输出的是下一个插补周期内各轴要运动的距离,不需要每走一个脉冲当量就插补一次,可达到很高的进给速度。

数据采样法原理是采用时间分割思想,根据进给速度f和插补周期t,将廓型曲线分割成一段段的轮廓步长l,l=ft,然后计算出每个插补周期参与插补运动的每个轴的坐标增量。

03 直线插补功能

一、直线插补特点

直线插补运动通过BASE指令选择轴号/轴组,控制多轴联动,完成直线运动。

主轴是BASE选择的第一个轴,插补运动轴参数UNITS、SPEED等均采用主轴的参数,发送MOVE直线插补运动指令,插补运动在主轴的运动缓冲区中按顺序执行,CANCEL指令取消插补运动,实现急停。

1.支持16轴直线插补运动

base(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)

2.支持多通道同时插补

BASE(0,1)
MOVE(100,200)
BASE(2,3,4)
MOVE(30,40,50)

二、插补运动参数计算

以二轴直线插补为例: 轴0和轴1两轴参与直线插补运动,如下图。

二轴直线插补运动从平面的A点运动到B点,XY轴同时启动,并同时到达终点,设置轴0的运动距离为∆X,轴1的运动距离为∆Y,主轴是BASE的第一个轴(此时主轴为轴0),插补运动参数采用主轴的参数。

若插补主轴运动速度为S(主轴轴0的设置速度),各个轴的实际速度为主轴的分速度,不等于S,此时:

  • 插补运动的距离:X=[(∆X)2+(∆Y)2]½
  • 轴0实际速度:S0=S×∆X/X
  • 轴1实际速度:S1=S×∆Y/X

04 直线插补实现

XPLC864E2内置直线插补算法,支持8个EtherCAT总线轴联合直线插补,可扩展支持12轴插补,采用MOVE直线插补指令,便可轻松高效完成插补运动。

一、直线插补相关指令

1.MOVE发送脉冲给驱动器,实现直线插补运动。
语法:

  • MOVE(distance1 [,distance2[,distance3 [,distance4…]]])
  • MOVEABS(distance1 [,distance2 [,distance3 [,distance4…]]])
  • MOVESP(distance1 [,distance2 [,distance3 [,distance4…]]])
  • MOVEABSSP(distance1 [,distance2 [,distance3 [,distance4…]]])

2.BASE指令选择参与插补的轴号,即MOVE运动发送给哪些轴。

语法: BASE(axis1 [,axis 2 [,axis 3 [,axis 4…]]])

3.直线插补运动速度比例自由控制,当前速度= SPEED*SPEED_RATIO。

语法: SPEED_RATIO(轴号) = value

4.运动暂停与恢复,MOVE_PAUSE暂停,MOVE_RESUME恢复运动。

语法: MOVE_PAUSE(mode)

5.运动取消,轴/轴组减速停止,CANCEL(2)为急停,RAPIDSTOP(2)为全部轴急停。

语法: CANCEL(mode) AXIS(主轴), RAPIDSTOP(mode)

二、直线插补类型

1.直线插补有以下三种形式可选:

(1)MOVE相对运动指令

插补运动的距离参数为与当前插补起点的相对距离,采用SPEED速度。

(2)MOVEABS绝对运动指令

插补运动的距离参数为相对于原点的绝对距离,在相对运动指令后方加上ABS后缀,采用SPEED速度。

(3)MOVESP/MOVEABSSP运动指令

带SP的指令运动速度采用FORCE_SPEED强制速度参数运动,而不是SPEED参数,在相对运动指令或绝对运动指令后方加上SP后缀即可。FORCE_SPEED参数能进入运动缓冲区,方便实现动态变速。

2.三类运动形式的区别采用下方例子展开说明:

(1)相对运动例子

RAPIDSTOP(2)
WAIT IDLE(0)
WAIT IDLE(1)
BASE(0,1)
DPOS=0,0
ATYPE=1,1
UNITS=100,100
SPEED=100,100        '运动速度
ACCEL=1000,1000
DECEL=1000,1000
FORCE_SPEED=150,150  'SP指令速度
SRAMP=100,100        'S曲线
TRIGGER              '自动触发示波器
MOVE(200,150)        '第一段终点(200,150)
MOVE(100,120)        '第二段终点(300,270)
END

(2)绝对运动例子

RAPIDSTOP(2)
WAIT IDLE(0)
WAIT IDLE(1)
BASE(0,1)
DPOS=0,0
ATYPE=1,1
UNITS=100,100
SPEED=100,100     '运动速度
ACCEL=1000,1000
DECEL=1000,1000
SRAMP=100,100     'S曲线
TRIGGER           '自动触发示波器
MOVEABS(200,150)  '第一段
MOVEABS(100,120)  '第二段运动到绝对位置(100,120)
END

(3)SP运动指令例子

RAPIDSTOP(2)
WAIT IDLE(0)
WAIT IDLE(1)
BASE(0,1)
DPOS=0,0
ATYPE=1,1
UNITS=100,100
SPEED=100,100         '运动速度
ACCEL=1000,1000
DECEL=1000,1000
FORCE_SPEED=150,150   'SP指令速度
SRAMP=100,100         'S曲线
TRIGGER               '自动触发示波器
MOVE(200,150)         '第一段相对运动,速度100
MOVESP(100,120)       '第二段SP相对运动,速度150
END

三、MOVESP动态变速

MOVESP直线插补运动采用FORCE_SPEED设置的速度运动,并且支持STARTMOVE_SPEED自定义每段SP运动的开始速度,ENDMOVE_SPEED自定义每段SP运动的结束速度,这两个参数不使用时请设置较大值。

例子:

RAPIDSTOP(2)
WAIT IDLE(0)
WAIT IDLE(1)
BASE(0,1)        '选择XY
DPOS = 0,0
MPOS = 0,0
ATYPE=1,1        '脉冲方式步进或伺服
UNITS = 100,100  '脉冲当量
SPEED = 100,100
ACCEL = 200,200
DECEL = 200,200
SRAMP=100,100    'S曲线
TRIGGER
'第一段
FORCE_SPEED = 50 '第一段速度50
MOVESP(40,40)
'第二段
FORCE_SPEED = 60 '第二段速度60
MOVESP(50,50)
'第三段
FORCE_SPEED = 80 '第三段速度80
MOVESP(60,60)
END

速度变化曲线:

从速度为0开始运动,完成三段直线插补运动,第一段插补的运动速度50,第二段运动速度60,,第三段运动速度80。

四、直线插补的速度倍率控制

直线插补运动中支持SPEED_RATIO设置当前运动速度的比例,使得当前运动速度=SPEED* SPEED_RATIO,指令发送立即生效,故可借助此命令实现动态变速。

例子:

RAPIDSTOP(2)
WAIT IDLE
BASE(0,1)              '选择轴01
DPOS=0,0
UNITS=1000,1000
SPEED = 100,100        '速度100units/s
ACCEL = 1000,1000
DECEL = 1000,1000
SRAMP = 50,50
TRIGGER
SPEED_RATIO = 1        '速度比例为1,速度100
MOVE(100,120)          '直线插补
DELAY(500)             '等待0.5s
SPEED_RATIO = 2        '速度200
WAIT UNTIL REMAIN<50   '等待剩余距离小于50
SPEED_RATIO = 0.5      '速度降为50
WAIT IDLE
SPEED_RATIO=1
END

速度变化曲线:

五、直线插补运动暂停与恢复

MOVE_PAUSE运动暂停适用于插补运动,有以下几种模式:

例子:

BASE(0,1)               '选择轴01
DPOS=0,0
UNITS=1000,1000
SPEED = 100,100         '速度100units/s
ACCEL = 1000,1000
DECEL = 1000,1000
SRAMP = 50,50
TRIGGER
MOVE(100,100)          '当前运动
MOVE(50,50)            '缓冲运动
MOVE_PAUSE(1)          '模式1,当前运动完成暂停
DELAY(2000)
MOVE_RESUME            '恢复运动,缓冲运动开始执行
END

运动曲线如下图:

05 直线插补例程

一、两轴连续插补完成五角星轨迹

'总线初始化使能EtherCAT总线驱动器,脉冲型驱动器OP打开使能。
BASE(0,1)
UNITS=10000,10000
SPEED=100,100
ACCEL=1000,1000
DECEL=1000,1000
SRAMP=100,100
DPOS=0,0
MPOS=0,0
TRIGGER           '自动触发示波器
'五角星轨迹
MOVEABS(1.4695, 1.0676)
MOVEABS(2.9389, 0.0000)
MOVEABS(2.3776, 1.7275)
MOVEABS(3.8471, 2.7951)
MOVEABS(2.0307, 2.7951)
MOVEABS(1.4695, 4.5225)
MOVEABS(0.9082, 2.7951)
MOVEABS(-0.9082, 2.7951)
MOVEABS(0.5613, 1.7275)
MOVEABS(0.0000, 0.0000)
END

示波器采样运动随时间变化的波形:

示波器采样两轴插补轨迹:

二、五角星视频演示

EtherCAT总线运动控制器中简单易用的直线插补

本次,正运动技术EtherCAT总线运动控制器中简单易用的直线插补,就分享到这里。

更多精彩内容请关注“正运动小助手”公众号,需要相关开发环境与例程代码,请咨询正运动技术销售工程师:400-089-8936。

本文由正运动技术原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权归正运动技术所有,如有转载请注明文章来源。

EtherCAT总线运动控制器中简单易用的直线插补相关推荐

  1. MATLAB实现数控加工中的逐点比较法直线插补(四个象限,动态显示)

    逐点比较法就是刀具每走一步都要和给定轨迹上的坐标值做比较,从而决定下一步的进给方向.一般有直线插补和圆弧插补.简单的说就是,如果起始位置在给定轨迹的下方,下一步就向轨迹的上方走.如果起始位置在给定轨迹 ...

  2. EtherCAT总线运动控制器应用进阶一

    视频教教程:http://www.zmotion.com.cn/video/yemian/tvideos34.html 01 准备工作 一.材料准备 1.硬件 A.ZMC432控制器一台,带Ether ...

  3. delta机械臂,delta机器人,运动控制器,运动控制卡 本卡采用前瞻运动轨迹规划,运动采用G代码指令编程,具有G5三维空间的圆弧插补,空间直线插补功能

    delta机械臂,delta机器人,运动控制器,运动控制卡 本卡采用前瞻运动轨迹规划,运动采用G代码指令编程,具有G5三维空间的圆弧插补,空间直线插补功能,子程序编程功能,逻辑判断语句功能,示教编程功 ...

  4. Android项目中简单易用的加载对话框

    在做项目中,我们经常会遇到下面这几种情形: (1)在登录时,点击登录按钮,需要向后台验证用户名和密码,为了防止用户等待过长时间,显示个加载对话框. (2)在进入Activity时,需要从后台加载数据, ...

  5. 经济型EtherCAT运动控制器(十):EtherCAT总线快速入门

    本节主要介绍XPLC006E多轴经济型EtherCAT总线运动控制器控制EtherCAT总线驱动器的方法,分别介绍硬件接线方法,控制器与EtherCAT总线驱动器如何通讯,EtherCAT总线驱动器相 ...

  6. 正运动EtherCAT总线控制器在 并联机械手上的应用

    <p style="line-height: 2em; margin-top: 5px;"><span style="font-size: 16px;& ...

  7. 简单易用的运动控制卡(十二):运动控制系统的安全设置

    今天,正运动技术给大家分享一下运动控制卡之ECI3808如何使用C++编写控制器设置运动控制系统的安全处理. 一.ECI3808硬件介绍 1.功能介绍 ECI3808系列控制卡支持最多达12轴直线插补 ...

  8. 简单易用的运动控制卡(十一):运动的暂停恢复和速度倍率设置

    今天,正运动技术给大家分享一下运动控制卡之ECI3808如何使用C++操作使用连续插补运动以及小线段前瞻. 一.ECI3808硬件介绍 1.功能介绍 ECI3808系列控制卡支持最多达12轴直线插补. ...

  9. 简单易用的运动控制卡(一):硬件接线和上位机开发

    今天,正运动小助手给大家分享一下运动控制卡之ECI3808的硬件接线和如何进行MFC的上位机开发. 一 .ECI3808硬件介绍 1.功能介绍 ECI3808系列控制卡支持最多达 12 轴直线插补.任 ...

  10. 简单易用的运动控制卡(六):Basic文件下载和连续轨迹加工

    今天,正运动技术给大家分享一下运动控制卡之ECI3808的".bas"文件的下载和运行. 一.ECI3808硬件介绍 1.功能介绍 ECI3808系列控制卡支持最多达12轴直线插补 ...

最新文章

  1. c mysql 分页,MySQL查询之排序分页
  2. 专题 10 时钟与信号
  3. PAT甲级1046 Shortest Distance:[C++题解]前缀和
  4. SVD原理及其应用导论
  5. 微软发布人工智能教育与学习共建社区
  6. 多媒体领域顶会,ACM MM 2020 会议论文下载
  7. 双向循环链表---仿照linux内核实现
  8. 快速备份和还原 MySQL 数据库的另一种方法
  9. 【OpenCV教程】第一章 Mac上的安装和初步使用
  10. Tomcat各版本说明
  11. 家谱宗族网站源码_云码宗谱网络家谱软件
  12. 论文中参考文献规范格式
  13. SitePoint播客#158:饮酒与技术
  14. 光之盟:从ONA的握手,解锁全光网产业未来
  15. excel vba如何在不打开的情况下获取.pdf文件的打印页码数
  16. 计算机EI检索论文,EI检索论文
  17. 微信里的小程序怎么制作
  18. SpringCloud学习笔记(十二)基于Hystrix解决雪崩效应
  19. GBase 8s的高可用1-HAC(双机高性能实时数据复制)高可用方案
  20. cod16显示服务器队列,使命召唤16战区

热门文章

  1. WIN10环境下VS2003的安装
  2. 边缘检测——sobel索伯算子 数学原理和应用
  3. 红帽社区内容需要订阅访问
  4. 获取字符串的md5sum值——分别使用shell、python、c++实现
  5. odb格式Linux,ODB格式文件 如何打开ODB文件 ODB是什么格式的文件 用什么打开 - The X 在线工具...
  6. id3-sklearn算法实现(西瓜数据集)
  7. 适合APP的开发模式——敏捷开发
  8. 电脑自动操作软件_六大写作软件功能解说,网络作家不可错过的码字软件宝典...
  9. 阿铭Linux_传统IDC 部署网站学习笔记20190118
  10. 网址导航引导页面H5源码