0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

正运动技术运动控制器如何快速实现单轴/多轴同步跟随功能?

正运动技术 来源:正运动技术 作者:正运动技术 2023-05-31 09:52 次阅读

本文主要介绍如何使用MOVESYNC指令快速实现单轴/多轴同步跟随功能,适用于XYZ(R)、SCARA、DELTA等常见机械结构,在流水线点胶、流水线产品分拣、流水线产品搬运等场景中广泛应用。

阅读本文,学习同步跟随的原理和实现方法,提高工作效率!


01 同步跟随功能介绍


同步跟随的主要作用是快速控制运动机构,实现产线上产品的同步和跟随,再辅助其他运动指令实现产线产品的抓取、分拣、点胶等功能需求;

同步跟随的功能主要由MOVESYNC指令实现,该指令方便用户通过程序快速实现单轴或多轴同步跟随功能,实现多皮带抓取摆放,属于凸轮指令的一种。

常用场景为:流水线点胶、流水线产品分拣、流水线产品搬运等。

常见机械结构:XYZ (R)、SCARA、DELTA等。

poYBAGR2pouARSLvAAITGS-wrkg810.png

02 MOVESYNC指令说明

1、指令介绍

同步跟随是指点的跟随,跟随的是位置,皮带与跟随轴的位置之间由算子去协调位置关系,需要处理的仅仅是第一个跟随时刻的位置。

MOVESYNC指令内重要参数是给出皮带的位置和跟随轴的位置,只需要把跟随点跟随的这个“时刻”静态化处理就行,即可以想象成当皮带上物体到了传感器mark位置时刻皮带停止了。

跟随轴这个时候移动到达产品mark点,这个时刻得到了两组坐标位置:

第一组:皮带的位置syncposition。

第二组:跟随轴的位置pos1,只需要将这两个位置对应填进指令内即可,算子会自动计算规划两者位置,保证两者相对静止。

2、指令函数语法

MOVESYNC(mode,synctime,syncposition,syncaxis,pos1[,pos2, pos3…])

支持单轴或多轴同步跟随。

3、一般使用形式

base(0,1,2) //指定参与同步跟随轴号,这里以0,1,2为例

MOVESYNC (mode,加速时间,syncposition,syncaxis,pos1,pos2, pos3) //加速段

MOVESYNC(mode,同步时间,syncposition,syncaxis,pos1,pos2, pos3) //同步段

MOVESYNC(mode,减速时间,syncposition,syncaxis,pos1,pos2, pos3) //减速段(复位段)

一个完整的跟随过程分为三步,加工头先加速达到与皮带相同的速度,实现了同步运动,在同步段完成加工操作,然后加工头再回到等待位置,等待下一次触发加工。触发条件采用传感器检测来料,记录来料的位置,填入MOVESYNC指令。

4、指令参数说明

(1)mode:模式

加速段和同步段一般使用模式0,一般是在X轴方向跟随,减速段一般使用模式-2(可以强制结束前面的跟随运动)。

模式

描述

-1

同步结束模式,运动到指定的绝对位置,此模式运动如果后面紧接着其它MOVESYNC指令,会被覆盖,此模式下syncaxis无效

-2

强制结束模式,调用时强制停止原来的MOVESYNC,运动到指定结束位置,此模式运动如果后面紧接着其它MOVESYNC指令,会被覆盖,此模式下syncaxis无效

0

BASE第1个轴(x)跟随皮带轴物体

10

BASE第2个轴(y)跟随皮带轴物体

20

BASE第3个轴跟随皮带轴物体

特别说明:当跟随的产线与机台存在夹角时使用模式0,并且加上机台与产线的夹角的弧度值实现跟随偏斜补偿,例:mode=0+angle,angle:皮带旋转角度,角度=皮带与BASE第1/2轴的正向旋转夹角。例如:

① Mode=PI/4,皮带在45度的方向;

② Mode=PI/2,皮带在y方向;

③ Mode=PI,皮带在x负向;

④ Mode=(PI*1.75),皮带在-45度的方向;

(2)synctime:同步时间,时间单位ms,同步时间一般分为三段

加速段时间多久代表机台跟随轴加速达到产线速度,并且跟上目标产品,0表示根据运动轴的速度加速度来估计同步时间,可能不准确,一般相对设置长点,确保能实现同步;同步段时间表示跟随产品运动多长时间,抓取等动作在此期间完成,一般相对设置较长,保证动作完成;减速段时间表示多久回到指定位置,一般减速段时间和加速段一样,推荐使用-2模式;

(3)syncposition:皮带轴物体被感应到时皮带轴的位置

特别说明:此指令支持皮带轴坐标循环,但是在指令被调用时确保此参数位置和当前皮带轴位置之间没有发生坐标修改或循环操作,因此此指令调用时不要在坐标循环点附近;

(4)syncaxis:皮带轴轴号,-1表示没有皮带轴,可以是电机轴,也可以是编码器

(5)pos1:皮带轴物体被感应到时的BASE第1个轴(一般是跟随轴)的绝对位置

(6)posn:皮带轴物体被感应到时的BASE第n个轴的绝对位置

5、指令使用图解(单轴为例)

movesync指令只需要给出同步跟随触发时的几个轴的位置参数即可,作为启动同步跟随的条件,再加速达到同步之后执行加工。首先构思搭建一个跟随模型,如下:

poYBAGR2pyeACKYrAAHfh6A78dg347.png

假设当产品到传感器位置时实现跟随;借助传感器的信号实现皮带位置锁存,即当产品到达传感器锁存的位置时,依靠锁存记录下皮带坐标(syncposition参数),此时将跟随轴X轴运行到产品锁存点位置,得到跟随轴X轴位置为(pos1);

这样就得到了MOVESYNC指令里面的坐标位置,即同步时刻皮带的位置(syncposition)、跟随轴的位置(pos1),再根据实际运行情况规划出加速段的时间、同步段的时间和减速段的时间,指令运行即可实现一次同步跟随过程。

03 主代码

下面示例以单轴跟随为例子,辅助以感应器作为位置记录条件。

在没有机台的情况下,可手动给锁存信号,模拟检测到物料,记录同步运动指令要填写的位置信息,在HMI界面上点击启动开始执行同步运动,程序的主要函数调用关系如下图。

pYYBAGR2pzyAOrPAAAFU8eczA9k321.png

配置HMI界面便于操作,支持修改轴参数,灵活调整同步跟随各阶段的时间,通过手动运动操作跟随轴到等待触发同步运动的位置,并记录下来跟随轴的当前位置,然后启动皮带轴的运动,在运动中手动给传感器信号,触发同步运动,跟随轴在MOVESYNC指令的控制下完成一次同步跟随动作。界面显示了皮带轴和跟随轴的位置信息,并且方便配置轴的基础参数,同步运动加速,同步和减速段的时间。

poYBAGR2p0OAZ83NAACUhfTzAnc812.png

HMI操作步骤:

第一次运行,需要进行对位操作,确认跟随轴的位置,点击产品到位,模拟产品放到了传送带上开始运动,到达锁存位置停止,将跟随轴移动到产品位置处停下。记录下跟随轴此时的坐标,此坐标MOVESYNC指令将会用到

配置轴号,轴的运动参数,合理设置三段运动的时间

⊙点击启动,传送带运行,通过模拟信号给来料检测信号,触发锁存得出皮带轴坐标,触发同步跟随开始。

注意:此例程因为用到了硬件锁存功能,需要在控制器平台运行,没有传感器时,可以将OUT口短接到IN口,通过OP指令模拟传感器锁存信号的输入,示例将OUT0接入IN0。

锁存函数:依靠锁存传感器检测来料,触发同步跟随运动,锁存功能记录开始跟随时,锁存皮带轴位置,记录下当前同步轴的位置信息,传入MOVESYNC指令参数。

global sub get_mark_pos(mode) '使用3或者4,其他方式修改等待条件和获取的数据寄存器,reg_pos
   REG_INPUTS(belt_axis) = $0000    '映射皮带锁存输入
   reg_count = 0
   DMSET mark_flag(0,100,-1)   '每次开始前清空标志,避免误判
   WHILE 1
       base(belt_axis)REGIST(mode)axis(belt_axis)
       wait until mark
       if reg_count >= 100 then     '位置数组循环存储值判断
           reg_count = 0
       endif
       mark_pos(reg_count) = REG_POS
       ?REG_POS
       mark_flag(reg_count) = 1
       reg_count = reg_count + 1
   wend
endsub

同步跟随函数:依靠锁存函数给的参数,设置跟随时间,执行同步跟随动作,分为加速、同步和减速回原位置三个阶段,注意每个阶段的时间规划合理,完成一个跟随步骤之后等待触发下一次跟随。

global sub run_sync()
   base(sync_axis)
   move_count = 0   '运动计数清0
   TABLE(10) = -1    '以table 10 的值,作为同步结束标志
   WHILE 1
       if move_count >= 100 then    '循环
           move_count = 0
       endif
       if mark_flag(move_count) = 1 then    '判断是否有产品触发
           if abs(sync_star_dis + mark_pos(move_count)) >= abs(mpos(belt_axis)) then     '尚在有效触发距离内,即可以跟随
               '开始跟随
               '第一段:加速段(追赶段)     跟随模式看机构具体而定,一般皮带编码器方向与跟随轴运动方向一致就用0 反方向就用 0 + pi/2
               MOVESYNC(0, accel_time, mark_pos(move_count), belt_axis, sync_pos)
               '第二段:同步段与加速段唯一不同是时间
               MOVESYNC(0, sync_time, mark_pos(move_count), belt_axis, sync_pos)
               '此处可以开启线程去操作其他动作
               '使用 move_task 指令操作
               '用table 10 的值来作为其他运动的结束标志,这里使用move_table,是为了使同步完全结束,后面开发时可以将MOVE_TABLE放在其他运动的线程里面使用
               MOVE_TABLE(10,10)
           elseif abs(sync_star_dis + mark_pos(move_count)) < abs(mpos(belt_axis)) then     '超出范围,直接跳过,
               TABLE(10) = 10
               ?"跳过"
               '?abs(sync_star_dis + mark_pos(move_count)) , abs(mpos(belt_axis))
           endif
           '判断结束
           wait UNTIL table(10) = 10
           '第三段:复位段   以当前位置为停止位置,可以添加变量设置待机位。
           MOVESYNC(-1, decel_time, mark_pos(move_count),-1, sync_pos)
           move_table(10,-1)   '结束标志复位
           mark_flag(move_count) = -1     '同步条件标志复位
           move_count = move_count + 1    '计数+ 1
       endif
   wend
endsub

04 运行效果

跟随轴(轴0)跟随皮带(轴2)运动的速度曲线:加速段,同步段,减速回起点。

pYYBAGR2p6mAJtSDAACdJHN2h-M743.png

跟随轴(轴0)跟随皮带(轴2)运动的位置曲线。

pYYBAGR2p7CAXteOAACdnrDDhLk843.pngpoYBAGR2p7qAAT1rAAE061PyIeY570.png代码获取地址

本次,正运动技术运动控制器如何快速实现单轴/多轴同步跟随功能?就分享到这里。

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

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

审核编辑黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 运动控制器
    +关注

    关注

    2

    文章

    344

    浏览量

    24365
收藏 人收藏

    评论

    相关推荐

    运动控制器CT1102/包装机控制器开发/包装设备控制器

    .◆预备吸料时间设置.◆清网时间参数设置.◆清网间隔时间设置◆3路继电器控制输出(报警、吸料、除尘)◆2路数字量保护输入(电机过载等) 运动控制
    发表于 12-28 10:03

    ni运动控制卡+labview运动控制

    各位大侠,求助呀~运动控制卡采用的是ni公司PCI-7350,用labview编写运动控制系统。以前没有编写过大型的系统,没什么经验,大侠们有没有相关的资料,特别是编写的相关的例子。
    发表于 03-12 16:07

    伺服控制同步精密运动

    这些方案来制造产品。图1. 自动化机器控制系统 在伺服控制系统中实现同步精密
    发表于 01-25 16:48

    【NXP LPC54110试用申请】9组态运动控制器

    项目名称:9组态运动控制器试用计划:运动控制器产品设计,
    发表于 08-01 11:30

    ST运动传感模块实现精确的运动检测功能

    Benedetto Vigna表示:“作为业界唯一量产消费电子陀螺仪和加速计芯片的半导体公司,在MEMS技术广泛用于消费电子产品产业化过程中,意法半导体又迈出一大步,推出业界首款封装
    发表于 11-14 16:36

    通过实时网络实现运动控制同步

    同步的新概念。所提出的技术能够大幅改善同步,从而显著提高控制性能。问题陈述和现有技术为了解释现有解决方案的局限性,考虑一个两
    发表于 03-30 09:38

    运动控制系列:运动点动控制

    控制LabVIEW函数库3.运动插补4.视觉标定到LabVIEW
    发表于 07-18 14:46

    运动控制器是如何进行设计的?

    作者:何国军 陈维荣 刘小强 孙丛君运动控制技术是数控机床的关键技术,其技术水平的高低将直接影响一个国家装备制造业的发展水平。目前,
    发表于 07-31 08:15

    如何利用DSP与FPGA设计运动控制器

    的逻辑处理和控制算法,能实现高速高精度的伺服控制。利用DSP与FPGA设计运动
    发表于 08-06 06:27

    如何通过实时网络实现运动同步控制

    实时确定性以太网协议(例如EtherCAT)已经能够支持运动控制系统的同步运行。1 该同步
    发表于 09-11 11:51

    如何在伺服控制系统中实现同步精密运动

    伺服控制系统中实现同步精密运动
    发表于 01-27 07:45

    高性能运动控制器DMC2410功能简介

    功能简介高性能运动控制器DMC2410是一款基于PCI总线的高性能运动
    发表于 09-01 06:26

    运动技术运动控制器EtherCAT总线快速入门

    运动技术运动控制器EtherCAT 总线快速入门。  视频教程:《视频教程:
    发表于 09-07 06:59

    运动控制器持续运动设置

    运动控制器有专用的持续运动控制指令,运动控制器持续发脉冲,
    发表于 02-17 14:03

    【资料】运动ZMC408SCAN控制器用户手册

    ZMC408SCAN 激光振镜运动控制器运动技术推出的高性能总线双振镜运动
    发表于 05-10 15:06