法兰克机器人循环编程_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 读取 Excel 数据

《如何使用Python读取Excel数据》:本文主要介绍使用Python读取Excel数据的详细教程,通过pandas和openpyxl,你可以轻松读取Excel文件,并进行各种数据处理操... 目录使用 python 读取 Excel 数据的详细教程1. 安装必要的依赖2. 读取 Excel 文件3. 读

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

Windows 上如果忘记了 MySQL 密码 重置密码的两种方法

《Windows上如果忘记了MySQL密码重置密码的两种方法》:本文主要介绍Windows上如果忘记了MySQL密码重置密码的两种方法,本文通过两种方法结合实例代码给大家介绍的非常详细,感... 目录方法 1:以跳过权限验证模式启动 mysql 并重置密码方法 2:使用 my.ini 文件的临时配置在 Wi

MySQL重复数据处理的七种高效方法

《MySQL重复数据处理的七种高效方法》你是不是也曾遇到过这样的烦恼:明明系统测试时一切正常,上线后却频频出现重复数据,大批量导数据时,总有那么几条不听话的记录导致整个事务莫名回滚,今天,我就跟大家分... 目录1. 重复数据插入问题分析1.1 问题本质1.2 常见场景图2. 基础解决方案:使用异常捕获3.

最详细安装 PostgreSQL方法及常见问题解决

《最详细安装PostgreSQL方法及常见问题解决》:本文主要介绍最详细安装PostgreSQL方法及常见问题解决,介绍了在Windows系统上安装PostgreSQL及Linux系统上安装Po... 目录一、在 Windows 系统上安装 PostgreSQL1. 下载 PostgreSQL 安装包2.

Python使用getopt处理命令行参数示例解析(最佳实践)

《Python使用getopt处理命令行参数示例解析(最佳实践)》getopt模块是Python标准库中一个简单但强大的命令行参数处理工具,它特别适合那些需要快速实现基本命令行参数解析的场景,或者需要... 目录为什么需要处理命令行参数?getopt模块基础实际应用示例与其他参数处理方式的比较常见问http

SQL中redo log 刷⼊磁盘的常见方法

《SQL中redolog刷⼊磁盘的常见方法》本文主要介绍了SQL中redolog刷⼊磁盘的常见方法,将redolog刷入磁盘的方法确保了数据的持久性和一致性,下面就来具体介绍一下,感兴趣的可以了解... 目录Redo Log 刷入磁盘的方法Redo Log 刷入磁盘的过程代码示例(伪代码)在数据库系统中,r

C 语言中enum枚举的定义和使用小结

《C语言中enum枚举的定义和使用小结》在C语言里,enum(枚举)是一种用户自定义的数据类型,它能够让你创建一组具名的整数常量,下面我会从定义、使用、特性等方面详细介绍enum,感兴趣的朋友一起看... 目录1、引言2、基本定义3、定义枚举变量4、自定义枚举常量的值5、枚举与switch语句结合使用6、枚

redis过期key的删除策略介绍

《redis过期key的删除策略介绍》:本文主要介绍redis过期key的删除策略,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录第一种策略:被动删除第二种策略:定期删除第三种策略:强制删除关于big key的清理UNLINK命令FLUSHALL/FLUSHDB命