EtherCAT运动控制器在SCARA和码垛机械手中的应用

2024-08-28 19:44

本文主要是介绍EtherCAT运动控制器在SCARA和码垛机械手中的应用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

XPLC104H8R硬件介绍

XPLC104H8R是正运动推出的一款高性价比多轴EtherCAT总线+脉冲型运动控制器,具有EtherCAT、EtherNET、RS232、CAN和U盘等通讯接口,是一款集成了Basic、PLC梯形图和HMI组态三种编程方式于一体的运动控制产品。

在这里插入图片描述

XPLC104H8R支持4轴运动控制,最多可扩展至32轴,通用IO包含32路输入口和32路输出口,模拟量AD/DA各2路,EtherCAT刷新周期1ms。支持直线插补、任意圆弧插补、螺旋插补、电子凸轮、电子齿轮、同步跟随等功能。

在这里插入图片描述

XPLC104H8R高性价比多轴运动控制器可用于电子半导体设备(检测类设备、组装类设备、锁附类设备、焊锡机)、点胶设备、非标设备、印刷包装设备、纺织服装设备、医疗设备、流水线等应用场合。

此类运动控制器与PCI运动控制卡相比具有如下优点:

(1)不使用插槽,稳定性更好;

(2)可以选用MINI电脑或ARM工控电脑,降低整体成本;

(3)控制器直接做接线板使用,节省空间;

(4) 控制器上可以并行运行程序,与PC只需要简单交互,降低PC软件的复杂性等优势。

XPLC控制器通过RTSys开发环境调试,RTSys是一个方便编程、编译和调试的环境。RTSys可以通过串口、以太网、PCI和LOCAL与控制器建立连接。应用程序可以使用VC,VB,VS, C++Builder,C#等软件来开发。调试时可以把RTSys软件同时连接到控制器,程序运行时需要动态库zmotion.dll。

在这里插入图片描述

XPLC系列控制器支持SCARA,标准码垛等多种机械手模型。采用脱机的方式将编辑好的程序下载到控制器上(也可以用PC监视或者实时发送指令操作),可利用触摸屏示教的方式编辑想要运动的轨迹。

▶▶▶ ZHD400X硬件介绍

在这里插入图片描述

ZHD400X是一款网络显示的触摸屏示教盒,示教盒必须和支持ZHMI功能的控制器配合使用,控制器软件开发需要ZDevelop2.6以上版本。

ZHD400X带有800*480分辨率的真彩显示屏,18个按键,配急停开关。

在这里插入图片描述

▶▶▶ FRAME1–标准SCARA

SCARA机械手支持2-4轴,大关节轴+小关节轴[+Z轴]、[+末端旋转轴]。

在这里插入图片描述

本系统应用于标准4轴SCARA机械手,2个关节轴X,Y,一个上下Z轴,及一个末端旋转轴R。

SCARA机械手使用步骤

1.确认电机转向是否正确。

电机方向及角度范围定义,各关节电机正向如下图蓝色箭头所示。

在这里插入图片描述

在这里插入图片描述

2.确认机械手各关节轴对应到控制器指令参数的轴次序。

选择各个关节轴轴号和对应的虚拟轴轴号。

在这里插入图片描述

在这里插入图片描述

3.TABLE中设置好机械结构相关参数。

建立机械手连接时,需要将机械结构参数按照如下次序依次填写到TABLE数组中。

在这里插入图片描述

从TableNum编号开始依次机械手结构参数大关节轴旋转中心到小关节轴旋转中心的距离,小关节轴旋转中心到末端旋转轴的旋转中心距离,大关节旋转一圈的脉冲数,小关节旋转一圈的脉冲数,末端旋转轴旋转一圈的脉冲数,末端旋转轴旋转中心到端工作点的距离,末端旋转轴旋转一圈伸缩轴移动的距离。

TABLE(tablenum,L1,L2,Pules1OneCircle,Pules2OneCircle,[Pules3OneCircle,L3] [,ZDis])。
例程从TABLE(10000)开始依次填入Frame所需机械参数。

在这里插入图片描述

4.电机参数设置。

各轴的轴类型和脉冲当量要设置正确。机械手的所有虚拟轴和关节轴的长度单位要求统一,一般都是mm单位。虚拟轴的UNITS跟实际发送脉冲数无关,用于设置运动精度,虚拟轴的一个mm的脉冲数一般建议设置为1000,表示精度为小数点后3位,此例程内部以设置好无需再设置。

在这里插入图片描述

5.移动各关节轴到规定的零点位置。

机械手算法建立时,需要有个零点位置作为参考,同时需要确定好电机转向。

SCARA的零点位置为两个关节轴的零点时成一条直线,此时指向虚拟X轴的正向。

坐标方向: 当关节轴为零点的位置时,虚拟轴零点的坐标为(L1+L2,0),上下伸缩轴零点位置无特殊要求。 建立逆解连接之后虚拟轴的DPOS坐标自动校正为(L1+L2,0)。

在这里插入图片描述

6.建立机械手正逆解。

正解建立:先选择对应的机械手模型,不同机械手模型对应的table列表不同,使用CONNREFRAME指令建立正解模式,然后选择对应模型的轴列表。指令说明可通过RTSys软件菜单栏的【常用】-【帮助文档】-【RTBasic帮助】-【索引】,在查找栏搜索CONNREFRAME即可查看。

若机械手正解建立成功,虚拟轴MTYPE(当前运动类型)将显示为34,此时只能操作关节轴在关节坐标系中调整机械手姿态,手动运动可通过RTSys软件菜单栏的【工具】-【手动运动】,待【手动运动】界面弹出之后选择关节轴轴编号 (本文关节轴以轴0(J0轴),轴1(J1轴),轴2(J2轴)),轴3(J3轴)) , 然后根据实际需求选择点动或者寸动。虚拟轴会自动计算末端工作点位于直角坐标系中的位置。

在这里插入图片描述

在这里插入图片描述

逆解建立:先选择对应的机械手模型,不同机械手模型对应的table列表不同,然后选择对应模型的轴列表,使用CONNFRAME指令建立正解模式。指令说明可通过RTSys软件工具栏的【常用】-【帮助文档】-【RTBasic帮助】-【索引】,在查找栏搜索CONNFRAME查看。

若机械手逆解建立成功,关节轴MTYPE(当前运动类型)将显示为33,【手动运动】界面操作虚拟轴方法同上。此时加工工艺指令只能操作虚拟轴,事先编辑好运动的轨迹在直角坐标系中运动 (本文虚拟轴以轴6,轴7,轴8,轴9为例),关节轴会自动计算在关节坐标系中如何联合运动。

在这里插入图片描述

在这里插入图片描述

▶▶▶ FRAME3–标准码垛

在这里插入图片描述

本例程使用FRAME3–标准码垛机械手,2个关节轴X,Y,一个上下Z轴,及一个末端旋转轴R。标准码垛机械手使用步骤如下。

1.确认电机转向是否正确。

定义各关节轴的正向如蓝色箭头所示。

在这里插入图片描述

在这里插入图片描述

2.确认机械手各关节轴对应到控制器指令参数的轴次序。

选择各个关节轴轴号和对应的虚拟轴轴号。

在这里插入图片描述

在这里插入图片描述

3.TABLE寄存器依次存入机械手结构参数。

在这里插入图片描述

在这里插入图片描述

从TableNum编号开始依次机械手结构参数零点时,xz平面内底座旋转轴的旋 转中心到大关节轴的旋转中心x方向的距离,零点时xz平面内,底座旋转轴的旋转中心到大关节轴的旋转中心z方向的距离,底座轴一圈脉冲数,大臂轴长度,小臂轴长度,大臂轴一圈脉冲数,小臂轴一圈脉冲数,末端的水平偏移,末端轴的一圈脉冲数到Table中。

TABLE(tablenum,LargeX,LargeZ,PulesLargeOneCircle,L1,L2,Pules1OneCircle,Pules2OneCircle,SmallX,SmallZ ,[PulesSmallOneCircle)
例程从TABLE(80002)开始依次填入Frame所需机械参数。

在这里插入图片描述

4.设置关节轴参数及虚拟轴参数。

各轴的轴类型和脉冲当量(units)要设置正确,设置为电机走1°需要的脉冲数。虚拟轴的units跟实际发送脉冲数无关,用于设置运动精度,虚拟轴的脉冲当量一般设置为1000,表示精度为小数点后3位。

5.确定机械手零点位置。

定义大关节轴0点位置为大臂竖直;小关节轴0点位置为小臂水平。直角坐标系零点位置为底座中心。

在这里插入图片描述

6.建立机械手正逆解。

正解建立: 先选择对应的机械手模型,不同机械手模型对应的table列表不同,使用CONNREFRAME指令建立正解模式,然后选择对应模型的轴列表。指令说明可通过RTSys软件菜单栏的【常用】-【帮助文档】-【RTBasic帮助】-【索引】,在查找栏搜索CONNREFRAME即可查看。

若机械手正解建立成功,虚拟轴MTYPE(当前运动类型)将显示为34,此时只能操作关节轴在关节坐标系中调整机械手姿态,手动运动可通过RTSys软件菜单栏的【工具】-【手动运动】,待【手动运动】界面弹出之后选择关节轴轴编号 (本文关节轴以轴0(J0轴),轴1(J1轴),轴2(J2轴)),轴3(J3轴)),然后根据实际需求选择点动或者寸动。虚拟轴会自动计算末端工作点位于直角坐标系中的位置。

在这里插入图片描述

在这里插入图片描述

逆解建立: 先选择对应的机械手模型,不同机械手模型对应的table列表不同,使用CONNFRAME指令建立正解模式。指令说明可通过RTSys软件工具栏的【常用】-【帮助文档】-【RTBasic帮助】-【索引】,在查找栏搜索CONNFRAME查看。

若机械手逆解建立成功,关节轴MTYPE(当前运动类型)将显示为33,【手动运动】界面操作虚拟轴方法同上。此时加工工艺指令只能操作虚拟轴,事先编辑好运动的轨迹在直角坐标系中运动 (本文虚拟轴以轴6,轴7,轴8,轴9为例) ,关节轴会自动计算在关节坐标系中如何联合运动。

在这里插入图片描述

在这里插入图片描述

▶▶▶ 例程演示

RTSys软件支持Basic,HMI与PLC混合编程,本例程采用Basic结合HMI界面混合编程进行演示。可通过RTSys软件菜单栏的【HMI】-【工具箱】,选择空间进行拖拉摆放,设计交互界面。

1.将程序下载到控制器运行,先后点击RTSys软件菜单栏的【工具】-【插件】-【XPLC SCREEN】。

在这里插入图片描述

2.待交互界面弹出后点击“菜单”按钮,选择“结构参数”输入密码,进入,或者直接按400X上面的的“F3”按钮,输入密码,进入,选择对应的机械手模型和配置对应的机构参数。

在这里插入图片描述

在这里插入图片描述

3.选择完机械手模型和设置好机械参数后,点击“轴参数”按钮进行轴参数配置。

在这里插入图片描述

4.设置完成之后点击“主界面”,回到主界面,点击“菜单”选择“手动运动”,或者按400X上面的”F6”调出手动运动界面,进行正逆解切换,和操作对应轴进行运动。

在这里插入图片描述

5.机械手仿真工具的使用。打开【 ZRobotView】软件,点击【连接】输入控制器的IP(默认 IP:192 168.0.11) 点击连接,待连接成功后点击切换即可 3D仿真机械手的运动情况。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

本次,正运动技术EtherCAT运动控制器在SCARA和码垛机械手中的应用,就分享到这里。

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

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

这篇关于EtherCAT运动控制器在SCARA和码垛机械手中的应用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1115711

相关文章

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

Java中&和&&以及|和||的区别、应用场景和代码示例

《Java中&和&&以及|和||的区别、应用场景和代码示例》:本文主要介绍Java中的逻辑运算符&、&&、|和||的区别,包括它们在布尔和整数类型上的应用,文中通过代码介绍的非常详细,需要的朋友可... 目录前言1. & 和 &&代码示例2. | 和 ||代码示例3. 为什么要使用 & 和 | 而不是总是使

Python循环缓冲区的应用详解

《Python循环缓冲区的应用详解》循环缓冲区是一个线性缓冲区,逻辑上被视为一个循环的结构,本文主要为大家介绍了Python中循环缓冲区的相关应用,有兴趣的小伙伴可以了解一下... 目录什么是循环缓冲区循环缓冲区的结构python中的循环缓冲区实现运行循环缓冲区循环缓冲区的优势应用案例Python中的实现库

SpringBoot整合MybatisPlus的基本应用指南

《SpringBoot整合MybatisPlus的基本应用指南》MyBatis-Plus,简称MP,是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,下面小编就来和大家介绍一下... 目录一、MyBATisPlus简介二、SpringBoot整合MybatisPlus1、创建数据库和

python中time模块的常用方法及应用详解

《python中time模块的常用方法及应用详解》在Python开发中,时间处理是绕不开的刚需场景,从性能计时到定时任务,从日志记录到数据同步,时间模块始终是开发者最得力的工具之一,本文将通过真实案例... 目录一、时间基石:time.time()典型场景:程序性能分析进阶技巧:结合上下文管理器实现自动计时

Java逻辑运算符之&&、|| 与&、 |的区别及应用

《Java逻辑运算符之&&、||与&、|的区别及应用》:本文主要介绍Java逻辑运算符之&&、||与&、|的区别及应用的相关资料,分别是&&、||与&、|,并探讨了它们在不同应用场景中... 目录前言一、基本概念与运算符介绍二、短路与与非短路与:&& 与 & 的区别1. &&:短路与(AND)2. &:非短

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2

Spring AI与DeepSeek实战一之快速打造智能对话应用

《SpringAI与DeepSeek实战一之快速打造智能对话应用》本文详细介绍了如何通过SpringAI框架集成DeepSeek大模型,实现普通对话和流式对话功能,步骤包括申请API-KEY、项目搭... 目录一、概述二、申请DeepSeek的API-KEY三、项目搭建3.1. 开发环境要求3.2. mav