法兰克机器人循环编程_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使用PIL库将PNG图片转换为ICO图标的示例代码

《Python使用PIL库将PNG图片转换为ICO图标的示例代码》在软件开发和网站设计中,ICO图标是一种常用的图像格式,特别适用于应用程序图标、网页收藏夹图标等场景,本文将介绍如何使用Python的... 目录引言准备工作代码解析实践操作结果展示结语引言在软件开发和网站设计中,ICO图标是一种常用的图像

使用Java发送邮件到QQ邮箱的完整指南

《使用Java发送邮件到QQ邮箱的完整指南》在现代软件开发中,邮件发送功能是一个常见的需求,无论是用户注册验证、密码重置,还是系统通知,邮件都是一种重要的通信方式,本文将详细介绍如何使用Java编写程... 目录引言1. 准备工作1.1 获取QQ邮箱的SMTP授权码1.2 添加JavaMail依赖2. 实现

MyBatis与其使用方法示例详解

《MyBatis与其使用方法示例详解》MyBatis是一个支持自定义SQL的持久层框架,通过XML文件实现SQL配置和数据映射,简化了JDBC代码的编写,本文给大家介绍MyBatis与其使用方法讲解,... 目录ORM缺优分析MyBATisMyBatis的工作流程MyBatis的基本使用环境准备MyBati

Java嵌套for循环优化方案分享

《Java嵌套for循环优化方案分享》介绍了Java中嵌套for循环的优化方法,包括减少循环次数、合并循环、使用更高效的数据结构、并行处理、预处理和缓存、算法优化、尽量减少对象创建以及本地变量优化,通... 目录Java 嵌套 for 循环优化方案1. 减少循环次数2. 合并循环3. 使用更高效的数据结构4

使用Python开发一个图像标注与OCR识别工具

《使用Python开发一个图像标注与OCR识别工具》:本文主要介绍一个使用Python开发的工具,允许用户在图像上进行矩形标注,使用OCR对标注区域进行文本识别,并将结果保存为Excel文件,感兴... 目录项目简介1. 图像加载与显示2. 矩形标注3. OCR识别4. 标注的保存与加载5. 裁剪与重置图像

使用Python实现表格字段智能去重

《使用Python实现表格字段智能去重》在数据分析和处理过程中,数据清洗是一个至关重要的步骤,其中字段去重是一个常见且关键的任务,下面我们看看如何使用Python进行表格字段智能去重吧... 目录一、引言二、数据重复问题的常见场景与影响三、python在数据清洗中的优势四、基于Python的表格字段智能去重

Nginx中location实现多条件匹配的方法详解

《Nginx中location实现多条件匹配的方法详解》在Nginx中,location指令用于匹配请求的URI,虽然location本身是基于单一匹配规则的,但可以通过多种方式实现多个条件的匹配逻辑... 目录1. 概述2. 实现多条件匹配的方式2.1 使用多个 location 块2.2 使用正则表达式

使用Apache POI在Java中实现Excel单元格的合并

《使用ApachePOI在Java中实现Excel单元格的合并》在日常工作中,Excel是一个不可或缺的工具,尤其是在处理大量数据时,本文将介绍如何使用ApachePOI库在Java中实现Excel... 目录工具类介绍工具类代码调用示例依赖配置总结在日常工作中,Excel 是一个不可或缺的工http://

Java之并行流(Parallel Stream)使用详解

《Java之并行流(ParallelStream)使用详解》Java并行流(ParallelStream)通过多线程并行处理集合数据,利用Fork/Join框架加速计算,适用于大规模数据集和计算密集... 目录Java并行流(Parallel Stream)1. 核心概念与原理2. 创建并行流的方式3. 适

前端bug调试的方法技巧及常见错误

《前端bug调试的方法技巧及常见错误》:本文主要介绍编程中常见的报错和Bug,以及调试的重要性,调试的基本流程是通过缩小范围来定位问题,并给出了推测法、删除代码法、console调试和debugg... 目录调试基本流程调试方法排查bug的两大技巧如何看控制台报错前端常见错误取值调用报错资源引入错误解析错误