法兰克机器人循环编程_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

相关文章

Qt实现对Word网页的读取功能

《Qt实现对Word网页的读取功能》文章介绍了几种在Qt中实现Word文档(.docx/.doc)读写功能的方法,包括基于QAxObject的COM接口调用、DOCX模板替换及跨平台解决方案,重点讨论... 目录1. 核心实现方式2. 基于QAxObject的COM接口调用(Windows专用)2.1 环境

MySQL查看表的历史SQL的几种实现方法

《MySQL查看表的历史SQL的几种实现方法》:本文主要介绍多种查看MySQL表历史SQL的方法,包括通用查询日志、慢查询日志、performance_schema、binlog、第三方工具等,并... 目录mysql 查看某张表的历史SQL1.查看MySQL通用查询日志(需提前开启)2.查看慢查询日志3.

MySQL底层文件的查看和修改方法

《MySQL底层文件的查看和修改方法》MySQL底层文件分为文本类(可安全查看/修改)和二进制类(禁止手动操作),以下按「查看方法、修改方法、风险管控三部分详细说明,所有操作均以Linux环境为例,需... 目录引言一、mysql 底层文件的查看方法1. 先定位核心文件路径(基础前提)2. 文本类文件(可直

Java实现字符串大小写转换的常用方法

《Java实现字符串大小写转换的常用方法》在Java中,字符串大小写转换是文本处理的核心操作之一,Java提供了多种灵活的方式来实现大小写转换,适用于不同场景和需求,本文将全面解析大小写转换的各种方法... 目录前言核心转换方法1.String类的基础方法2. 考虑区域设置的转换3. 字符级别的转换高级转换

使用Python将PDF表格自动提取并写入Word文档表格

《使用Python将PDF表格自动提取并写入Word文档表格》在实际办公与数据处理场景中,PDF文件里的表格往往无法直接复制到Word中,本文将介绍如何使用Python从PDF文件中提取表格数据,并将... 目录引言1. 加载 PDF 文件并准备 Word 文档2. 提取 PDF 表格并创建 Word 表格

使用Python实现局域网远程监控电脑屏幕的方法

《使用Python实现局域网远程监控电脑屏幕的方法》文章介绍了两种使用Python在局域网内实现远程监控电脑屏幕的方法,方法一使用mss和socket,方法二使用PyAutoGUI和Flask,每种方... 目录方法一:使用mss和socket实现屏幕共享服务端(被监控端)客户端(监控端)方法二:使用PyA

Python使用Matplotlib和Seaborn绘制常用图表的技巧

《Python使用Matplotlib和Seaborn绘制常用图表的技巧》Python作为数据科学领域的明星语言,拥有强大且丰富的可视化库,其中最著名的莫过于Matplotlib和Seaborn,本篇... 目录1. 引言:数据可视化的力量2. 前置知识与环境准备2.1. 必备知识2.2. 安装所需库2.3

Python数据验证神器Pydantic库的使用和实践中的避坑指南

《Python数据验证神器Pydantic库的使用和实践中的避坑指南》Pydantic是一个用于数据验证和设置的库,可以显著简化API接口开发,文章通过一个实际案例,展示了Pydantic如何在生产环... 目录1️⃣ 崩溃时刻:当你的API接口又双叒崩了!2️⃣ 神兵天降:3行代码解决验证难题3️⃣ 深度

Linux内核定时器使用及说明

《Linux内核定时器使用及说明》文章详细介绍了Linux内核定时器的特性、核心数据结构、时间相关转换函数以及操作API,通过示例展示了如何编写和使用定时器,包括按键消抖的应用... 目录1.linux内核定时器特征2.Linux内核定时器核心数据结构3.Linux内核时间相关转换函数4.Linux内核定时

检查 Nginx 是否启动的几种方法

《检查Nginx是否启动的几种方法》本文主要介绍了检查Nginx是否启动的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1. 使用 systemctl 命令(推荐)2. 使用 service 命令3. 检查进程是否存在4