法兰克机器人循环编程_FANUC机器人示教编程:距离先执行指令功能介绍与使用方法...

本文主要是介绍法兰克机器人循环编程_FANUC机器人示教编程:距离先执行指令功能介绍与使用方法...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

概述

距离先执行指令是这样一种功能,它在机器人的TCP相对动作指令的目标位置到达所指定的距离以内时,与机器人的动作并行地调用程序,或者进行信号输出。本指令可作为动作指令的附加指令来使用,不能作为单独指令进行示教。

J P[1] 100% FINE

L P[2] 1000mm/sec FINE DB 100mm,CALL A

距离先执行指令功能相关要素、参数、使用限制说明如下表所示。

使用本指令前,应设定系统变量:$SCR_GRP[1].$M_POS_ENB=TRUE。

指令说明

先执行距离指令,以如下图所示格式进行示教。

距离指定值:先执行距离指令在TCP进入以目标点为中心的球体区域内时,执行执行指令。这个指定的球体的半径大小,就是距离指定值(单位:mm)。距离指定范围值在0~999.9mm之间,该球体范围被称为触发区域。

L P[1] 2000mm/sec FINE

L P[2] 2000mm/sec FINE DB 100.0mm DO[1]=ON

添加距离先执行指令后,在机器人控制系统内部周期性地检测机器人当前位置,并判断TCP是否已进入触发区域。当检测位置进入触发区域时,执行执行指令。

根据程序中的指令,以距离来指定调用子程序的时机。由于是使用机器人运行周期间隔来计算目标点和当前位置的距离,并进行条件的判断,所以指定距离和指令执行的真实位置会出现误差。(在2000mm/sec下,误差大致为16mm左右。)

触发区域半径:触发区域的半径,按如下方式确定。

半径=(距离指定值或$DB_MINDIST)+$DB_TOLERENCE

当距离指定值小于$DB_MINDIST时,系统默认将$DB_MINDIST视为距离指定值。

例如假设在$DB_MINDIST=5.0下进行如下示教。

L P[1] 2000mm/sec FINE DB 0.0mm DO[1]=ON

这种情况下,机器人控制系统默认将其距离指定值设置为DB 5.0mm。然后,再加上$DB_TOLERENCE的值,由此来确定触发区域的半径,此时触发区域的半径为5.05mm。

执行指令:通过距离先执行指令能够执行的内容包括:程序调用、信号输出、点逻辑。

更改条件:只要机器人控制系统识别TCP已到达触发区域内,就执行执行指令。但是,诸如如下的“离开”、“通过”、“动作结束”,则不会被判定为TCP已进入触发区域。

离开:当运动指令指定CNT定位类型的转角时,机器人不会通过触发区域,这种情形被称为离开。

通过:当触发区域特别小时,机器人计算位置不进入触发区域而直接通过,这种情形被称为通过。

动作结束:区域触发、离开、通过的条件尚未成立的情况下,机器人运动指令结束而机器人停止时,强制执行执行指令。此时产生报警,但是,若是运动指令定位形式设定为FINE时将不会发生报警。如果希望使用该触发条件时,可以将$DB_MOTNEND设定为FALSE。(默认值:TRUE)。

条件未成立时的报警:本功能在条件未成立的情况下,机器人会发生报警。发生的报警取决于系统变量$DB_CONDTRIG。

单步运行:机器人单步运行经过本指令所示教的动作指令时,动作在调用子程序的时暂停。此后,在单步运行被调用的子程序时,执行剩余的动作。

执行指令为信号输出的情况下,与没有先执行指令的动作指令一样地单步执行。

暂停和再启动:带有本指令的动作指令在暂停后再启动时,触发区域的大小将会发生变化。暂停后再启动时,触发区域的半径成为最小半径($DB_MINDIST+$DB_TORELENCE)的值。因此,在触发条件成立前暂停时,触发的时机将会发生变化。

该处理的目的在于,等待TCP到达目标点后进行执行指令的处理。由此可以预防因暂停后的再启动而引起的过早触发。

不进行该区域半径的更改时,可将系统变量$DISTBF_TTS设定为0。此时,即使暂停也会像通常情况一样在指定距离位置处触发执行指令。

手动运行后的再启动:在程序暂停中手动运行之后再启动程序的执行时,根据再启动的位置,执行指令的执行时机会发生变化。此外,由于是暂停后的再启动,执行时机还会因系统变量$DISTBF_TTS的值而发生变化。

当系统变量$DISTBF_TTS=1时,中断程序后再启动后,触发区域的半径成为最小半径。当系统变量$DISTBF_TTS=0时,即使在程序中断后再启动时,触发区域的半径也不会发生变化。

停电处理:当设定停电处理有效时,程序执行过程中发生掉电的情况下,通过通电后的再启动可从子程序的剩余指令开始执行。

使用注意事项

与基于时间指定的先执行指令和后执行指令(TIME BEFORD/TIME AFTER)不可同时使用。

无法同时执行10个以上附带先执行/先执行距离指令的动作指令。

先执行距离指令周期性地检测当前位置和目标点之间的距离,判断触发条件是否已经满足。因此,指定距离和指令执行位置会产生误差。根据机器人的运行速度,系统会在更加靠近指定距离的位置进行执行指令的执行。机器人移动越慢,执行指令的执行时机就越精确。

在定位类型为CNT的动作指令运行结束时,条件成立前掉电的情况下,先执行指令不会因停电恢复而恢复。

先执行指令不能与增量指令、跳转指令、高速跳转指令同时使用。

该指令也可以在多群组的程序中使用,这种情况下,在编号小的组掩码检测与目标点的距离并执行执行指令。

该指令不能在不具备直角坐标的机器人上使用,不支持行列格式的位置数据,不支持内嵌附加轴。

不能在FANUC Robot F-200i上使用,不支持机器人路径跟踪。

机器人处于减速停止时,某些情况下不会触发“离开”。这种情况下,在再启动程序后触发执行指令。

急停后的惯性运动中不会触发指令。惯性运动中通过目标点时,在再启动程序后触发执行指令。

在动作快要结束时急停或再启动程序时,某些情况下会在再启动程序时立即触发执行指令。

当距离指定值较小的情况下,机器人在单步运行模式时程序有时会在动作快要结束时暂停。这种情况下,在执行下一行时触发执行指令。

在程序暂停后触发条件成立的情况下,在该行不会触发执行指令,执行下一行时触发执行指令。

在程序前面行中有尚未触发的先执行指令、先执行距离指令时,前面行的先执行指令、先执行距离指令触发之前,即使满足触发条件也不会触发执行指令。

程序编写与测试

首先,将光标移动到动作附加指令示教区域(动作指令程序后的空白处),然后在右侧的动作修改指令窗口中切换显示出“之前距离”附加功能。

选中“之前距离”附加功能后,距离先执行指令被添加到动作指令附加功能区。同时,右侧的动作修改窗口中显示指定距离设定标志。

点击“指定距离设定”标志之后,在弹出的数字输入对话框中,输入先执行的距离,如5mm,即在机器人运行到当前示教点5mm触发距离范围时执行附加条件。

指定距离设定完成后,在右侧的时间指令窗口中选择“DO[]=…”,当然,这里也可以选择调用程序或点逻辑指令。

设定要使用的数字量输出信号地址,如这里设定为5,也就是DO[5]。

最后在右侧的I/O指令窗口中设置数字量输出信号的输出值,如这里选择“ON”,即将DO[5]置位。

参考上述步骤,在后续的运行程序中添加相应的先执行功能,指令全部添加完成后,程序代码如下图所示。

对编写的程序进行测试,可以看到机器人TCP在运行到P[2]点附近5mm的触发区域后,DO[5]被置位;机器人TCP在运行到P[4]点附近2mm的触发区域时,DO[5]被复位。

The End

上一篇:IndRobSim:FANUC机器人示教编程:宏指令功能介绍与使用方法​zhuanlan.zhihu.com751cf115617e4f3eab9db6906a8079ab.png

这篇关于法兰克机器人循环编程_FANUC机器人示教编程:距离先执行指令功能介绍与使用方法...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

JavaScript中的高级调试方法全攻略指南

《JavaScript中的高级调试方法全攻略指南》什么是高级JavaScript调试技巧,它比console.log有何优势,如何使用断点调试定位问题,通过本文,我们将深入解答这些问题,带您从理论到实... 目录观点与案例结合观点1观点2观点3观点4观点5高级调试技巧详解实战案例断点调试:定位变量错误性能分

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Python中 try / except / else / finally 异常处理方法详解

《Python中try/except/else/finally异常处理方法详解》:本文主要介绍Python中try/except/else/finally异常处理方法的相关资料,涵... 目录1. 基本结构2. 各部分的作用tryexceptelsefinally3. 执行流程总结4. 常见用法(1)多个e

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Java中的抽象类与abstract 关键字使用详解

《Java中的抽象类与abstract关键字使用详解》:本文主要介绍Java中的抽象类与abstract关键字使用详解,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、抽象类的概念二、使用 abstract2.1 修饰类 => 抽象类2.2 修饰方法 => 抽象方法,没有

MyBatis ParameterHandler的具体使用

《MyBatisParameterHandler的具体使用》本文主要介绍了MyBatisParameterHandler的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、概述二、源码1 关键属性2.setParameters3.TypeHandler1.TypeHa