欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    第4章KUKA机器人编程ppt课件.ppt

    • 资源ID:2104667       资源大小:3.48MB        全文页数:189页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第4章KUKA机器人编程ppt课件.ppt

    第 4 章 KUKA 机器人编程,结构化编程,2,1,3,专家界面,变量和协定,4,子程序和函数,5,用KRL进行运动编程,6,系统变量编程,7,程序流程控制,8,KRL的切换函数,第 4 章 KUKA机器人编程,4.1节 结构化编程,KUKA机器人的编程语言是KUKA公司自行开发的针对用户的语言平台,通俗易懂。但在面对一些较复杂的工艺动作进行机器人运动编程时需要进行结构化编程。KUKA机器人KCP提供了较为开放的编程环境,能通过底层语言平台,如C语言、C+语言等的逻辑语句命令进行结构化编程。采用结构化编程可使复杂的任务分解成几个简单的分步任务,降低编程时的总耗时,使相同性能的组成部分得以更换,单独开发各组成部分。,4.1.1 创建结构化机器人程序的辅助工具,注释,第 4 章 KUKA机器人编程,注释是编程语言中的补充/说明部分。机器无法识别注释,因此程序运行结果不会受到其影响,注释只在编程员编程与程序阅读时起提示作用。,注释的用处,1)程序内容或功能说明。2)改善程序的可读性。3)有利于程序结构化。,第 4 章 KUKA机器人编程,注释举例,(1)关于整个源程序的信息,(2)源程序的分段,第 4 章 KUKA机器人编程,(3)单行的说明,第 4 章 KUKA机器人编程,第 4 章 KUKA机器人编程,(4)对需执行的工作的说明,第 4 章 KUKA机器人编程,(5)不用代码变为注释,第 4 章 KUKA机器人编程,FOLD命令,在KUKA机器人编程过程中,FOLD命令可将程序中的不变部分或注释行隐藏以增强程序的可读性但又不影响整个程序的运行过程。在FOLD里可隐藏程序段。FOLD的内容对用户来说是不可见的,在程序运行流程中会正常执行。,第 4 章 KUKA机器人编程,1)FOLD通常在创建后首先显示成关闭状态:,第 4 章 KUKA机器人编程,2)Fold的打开状态:,第 4 章 KUKA机器人编程,子程序,在KUKA机器人编程过程中,可将程序中需要多次使用而不需发生变化的可独立程序段单独建立为子程序,可避免程序码重复,节省存储空间,使程序结构化,分解总任务,方便排除程序错误。,子程序示例:,第 4 章 KUKA机器人编程,指令行缩进,为了增加子程序嵌套入主程序时程序的可读性,使用指令行的缩进,以便于说明程序模块之间的关系,具体形式为一行紧挨一行地写入嵌套深度相同的指令。,缩进示例:,第 4 章 KUKA机器人编程,4.1.2 创建程序流程图,程序流程图的作用,1)用于程序流程结构化的工具。2)程序流程更加易读。3)结构错误更加易于识别。4)同时生成程序的文献。,第 4 章 KUKA机器人编程,程序流程图图标,过程或程序的开始和结束,指令与运算连接符号,If 分支,程序代码中的一般指令,子程序调用,输入/输出指令,第 4 章 KUKA机器人编程,程序流程图示例,第 4 章 KUKA机器人编程,4.2节 专家界面,专家界面下,编程人员可进行程序的编写、检查与修改,但不能将插件集成到机器人控制器中,其中用户组有密码保护。,第 4 章 KUKA机器人编程,4.2.1 专家界面说明,机器人控制器可向不同的用户组提供不同的功能。可以选择以下几个用户组:,(1)操作人员 操作人员用户组。此为默认用户组。(2)应用人员 操作人员用户组。在默认设置中操作人员和应用人员的目标群是一样的。(3)专家 编程人员用户组。此用户组有密码保护。(4)管理员 功能与专家用户组一样。另外可以将插件(Plug-Ins)集成到机器人控制器中。此用户组有密码保护。(5)安全维护人员 该用户组可以激活和配置机器人的安全配置。此用户组有密码保护。(6)安全投入运行人员 只有当使用KUKA.SafeOperation或KUKA.SafeRangeMonitoring时,该用户组才相关。该用户组有密码保护。,第 4 章 KUKA机器人编程,专家用户组的扩展功能,1)密码保护2)模块的详细说明界面可供使用3)显示/隐藏DEF行4)展开和合拢折叠(FOLD)5)在程序中显示详细说明界面6)创建程序时可从预定义的模块中选择7)在下列情况下将自动退出专家用户组:当运行方式切换至AUT(自动)或AUT EXT(外部自动运行)时;在一定的持续时间内未对操作界面进行任何操作时(300s)。,第 4 章 KUKA机器人编程,4.2.2 专家界面的功能,借助模板创建程序,(1)Cell 现有的Cell程序,只能被替换或者在删除Cell程序后重新创建。(2)Expert 模块由只有程序头和程序尾的SRC和DAT文件构成。(3)Expert Submit 附加的Submit文件(SUB)由程序头和程序尾构成。(4)Function SRC函数创建,在SRC中只创建带有BOOL变量的函数头。函数结尾已经存在,但必须对返回值进行编程。(5)Modul Modul(模块)由具有程序头、程序结尾以及基本框架(INI与2个PTPHOME的SRC和DAT文件)构成。(6)Submit 附加的Submit文件(SUB)由程序头、程序结尾以及基本框架(DECLARATION、INI、LOOP/ENDLOOP)构成。,第 4 章 KUKA机器人编程,过滤器决定了在文件清单中如何显示程序,有以下过滤器可供选择:(1)详细信息 程序以SRC和DAT文件形式显示(默认设置)。(2)模块 程序以模块形式显示。,显示/隐藏DEF行,1)默认为不显示DEF行。当DEF行显示时才能在程序中进行声明。2)对那些被打开并选中了的程序来说,DEF行将各自独立地显示或隐藏。如果详细说明界面打开,则DEF行将显示出来,无须专门进行显示操作。,打开/关闭FOLD,1)对于应用人员,FOLD始终关闭,但可以以专家身份打开。2)专家也可以编程设立自己的FOLD。,第 4 章 KUKA机器人编程,4.2.3 激活专家界面和纠错的操作步骤,1 激活专家界面,1)在主菜单中选择“配置”“用户组”。2)作为专家登录:单击“登录”,选定用户组专家,输入密码(默认:kuka)。,1 纠正程序中的错误,1)在导航器中选择出错的模块,如下图所示。,第 4 章 KUKA机器人编程,2)选择菜单错误列表,错误显示(程序名.ERR)随即打开。3)选定错误,在下面的错误显示中将显示描述。4)在错误显示窗口中按“显示”按键,跳出出错的程序。5)纠正错误。6)退出编辑器并保存。,第 4 章 KUKA机器人编程,4.3节 变量和协定,4.3.1 KRL中的数据保存,变量,1)使用KRL对机器人进行编程时,从最普通的意义上来说,变量就是在机器人进程的运行过程中出现的计算值(“数值”)的容器。2)每个变量在计算机的存储器中有一个专门指定的地址。3)每个变量有一个非KUKA关键词的名称。4)每个变量属于一个专门的数据类型。5)在使用前必须声明数据类型。6)在KRL中,变量可划分为局部变量和全局变量。,第 4 章 KUKA机器人编程,KRL中变量的生存期,生存期是指变量预留存储空间的时间段。运行时间变量在退出程序或者函数时重新释放存储位置。数据列表中的变量持续获得存储位置中的当前值。KRL中变量的有效性:1)声明为局部的变量只能在本程序中可用、可见。2)全局变量在中央(全局)数据列表中创建。3)全局变量也可以在局部数据中创建,并在声明时配上关键词GLOBAL(全局)。,第 4 章 KUKA机器人编程,KRL的数据命名规范,1)KRL中的名称长度最多允许24个字符。2)KRL中的名称允许包括字母(AZ)、数字(09)以及特殊字符“_”和“$”。3)KRL中的名称不允许以数字开头。4)KRL中的名称不允许为关键词。5)不区分大小写。,第 4 章 KUKA机器人编程,KRL的数据类型,(1)预定义的标准数据类型 见下表。,(2)数组Array,1)借助下标保存相同数据类型的多个变量。2)初始化或者更改数值均借助下标进行。3)最大数组的大小取决于数据类型所需存储空间的大小。,第 4 章 KUKA机器人编程,(3)枚举数据类型,1)枚举类型的所有值在创建时会用名称进行定义。2)系统也会规定顺序。3)元素的最大数量取决于存储位置的大小。,(4)复合数据类型/结构,1)由不同数据类型的数据项组成的复合数据类型。2)这些数据项可以由简单的数据类型组成,也可以由结构组成。3)各个数据项均可以存取。,第 4 章 KUKA机器人编程,变量的生存期/有效性,(1)在SCR文件中创建的变量被称为运行时间变量 特征如下:1)不能被一直显示。2)仅在被声明的程序段中有效。3)在到达程序的最后一行(END行)时重新释放存储位置。(2)局部DAT文件中的变量 其特征如下:1)在相关SRC文件的程序运行时可以一直被显示。2)在完整的SCR文件中可用,因此在局部的子程序中也可用。3)可创建为全局变量。4)获得DAT文件中的当前值,重新调用时以所保存的值开始。(3)系统文件$CONFIG.DAT中的变量1)在所有程序中都可用(全局)。2)即使没有程序在运行,也始终可以被显示。3)获得$CONFIG.DAT文件中的当前值。,第 4 章 KUKA机器人编程,变量的双重声明,1)双重声明始终出现在使用相同的字符串(名称)时,如果在不同的SRC或DAT文件中使用相同的名称,则不属于双重声明。2)在同一个SCR和DAT文件中进行双重声明是不允许的,并且会生成错误信息。3)在SRC或DAT文件及$CONFIG.DAT中允许双重声明:运行已定义好变量的程序时,只会更改局部值,而不会更改$CONFIG.DAT中的值。运行“外部”程序时,只会调用和修改$CONFIG.DAT中的值。,第 4 章 KUKA机器人编程,KUKA系统数据,KUKA系统数据类型有枚举数据类型,例如运行方式(mode_op);结构,例如日期/时间(date)。系统信息可从KUKA系统变量中获得:1)读取当前的系统信息。2)更改当前的系统配置。3)已经预定义好并以“$”字符开始,如$DATE(当前时间和日期),$POS_ACT(当前机器人位置)。,第 4 章 KUKA机器人编程,4.3.2 简单数据类型的创建、初始化和改变,KRL的简单数据类型有整数(INT)、实数(REAL)、布尔数(BOOL)和单个字符(CHAR)。,建立变量以及变量声明,在使用前必须先进行声明。每一个变量均划归一种数据类型。命名时要遵守命名规范。声明的关键词为DECL。对四种简单数据类型关键词DECL可省略。用预进指针赋值。变量声明可以不同形式进行,不同形式对应不同的生存期和有效性。1)在SRC文件中声明。2)在局部DAT文件中声明。3)在$CONFIG.DAT中声明。4)在局部DAT文件中配上关键词“全局”声明。,第 4 章 KUKA机器人编程,创建常量,1)常量用关键词CONST建立。2)常量只允许在数据列表中建立。,SRC文件中的程序结构量(如下图所示),1)在声明部分必须声明变量。2)初始化部分从第一个赋值开始,但通常都是从“INI”行开始。3)在指令部分会赋值或更改值。,第 4 章 KUKA机器人编程,计划变量声明,(1)规定生存期1)SCR文件:程序运行结束时,运行时间变量“死亡”。2)DAT文件:在程序运行结束后变量还保持着。(2)规定有效性/可用性1)在局部SRC文件中:仅在程序中被声明的地方可用。因此变量仅在局部DEF和END行之间可用(主程序或局部子程序)。2)在局部DAT文件中:在整个程序中有效,即在所有的局部子程序中也有效。3)$CONFIG.DAT:全局可用,即在所有程序中都可以读写。4)在局部DAT文件中作为全局变量:全局可用,只要为DAT文件制定关键词PUBLIC并在声明时再另外制定关键词GOLBAL,则在所有程序中就可以读写。,第 4 章 KUKA机器人编程,(3)规定数据类型1)BOOL:经典式“是”/“否”结果。2)REAL:为了避免四舍五入出错的运算结果。3)INT:用于计数循环或件数计数器的经典计数变量。4)CHAR:仅一个字符,字符串或文本只能作为CHAR数组来实现。(4)命名和声明1)使用DECL,以使程序便于阅读。2)使用可让人一目了然的合理变量名称。3)请勿使用晦涩难懂的名称或缩写。4)使用合理的名称长度,即不要每次都使用24个字符。,第 4 章 KUKA机器人编程,在声明具有简单数据类型变量时的操作步骤,(1)在SCR文件中创建变量1)设置专家用户组。2)使DEF行显示出来。3)在编辑器中打开SCR文件。4)声明变量。,5)关闭并保存程序。,第 4 章 KUKA机器人编程,(2)在DAT文件中创建变量1)设置专家用户组。2)在编辑器中打开DAT文件。3)声明变量。,4)关闭并保存数据列表。,第 4 章 KUKA机器人编程,(3)在$CONFIG.DAT中创建变量1)设置专家用户组。2)在编辑器中打开SYSTEM(系统)文件中的$CONFIG.DAT。,3)选择FOLD“USER GLOBALS”,然后用软键“打开/关闭Fold”将其打开。,第 4 章 KUKA机器人编程,4)声明变量。,5)关闭并保存数据列表。,第 4 章 KUKA机器人编程,(4)在DAT文件中创建全局变量1)设置专家用户组。2)在编辑器中打开DAT文件。3)通过关键词PULIC扩展程序头中的数据列表。,4)声明变量。,5)关闭并保存数据列表。,第 4 章 KUKA机器人编程,简单数据类型变量的初始化,(1)KRL初始化说明1)每次声明后变量都只预留了一个存储位置,值总是无效值。2)在SRC文件中声明和初始化始终在两个独立的行中进行。3)在DAT文件中声明和初始化始终在一行中进行。常量必须在声明时即初始化。4)初始化部分以第一次赋值开始。,第 4 章 KUKA机器人编程,(2)初始化的方法,初始化为十进制数:,初始化为二进制数:,初始化为二进制数:,第 4 章 KUKA机器人编程,使用KRL初始化时的操作步骤,(1)在SRC文件中声明和初始化1)在编辑器中打开SCR文件。2)已声明完毕。3)执行初始化。(如下图),4)关闭并保存程序。,第 4 章 KUKA机器人编程,(2)在DAT文件中声明和初始化1)在编辑器中打开DAT文件。2)已声明完毕。3)执行初始化。(如下图),4)关闭并保存数据列表。,第 4 章 KUKA机器人编程,(3)在DAT文件中声明和在SRC文件中初始化1)在编辑器中打开DAT文件。2)进行声明。,3)关闭并保存数据列表。4)在编辑器中打开SCR文件。5)执行初始化。6)关闭并保存程序。,第 4 章 KUKA机器人编程,(4)常量的声明和初始化1)在编辑器中打开DAT文件。2)进行声明和初始化。,3)关闭并保持数据列表。,第 4 章 KUKA机器人编程,用KRL对简单数据类型的变量值进行操作,(1)用KRL修改变量值的方法1)基本运算类型:+加法、减法、*乘法、/除法。2)比较运算:=相同/等于、不同、大于、小于、=大于等于、=小于等于。3)逻辑运算:NOT反向、AND逻辑“与”、OR逻辑“或”、EXOR“异或”。4)位运算:B_NOT按位取反运算、B_AND按位与、B_OR按位或、B_EXOR按位异或。5)标准函数:绝对函数、根函数、正弦和余弦函数、正切函数、反余弦函数、反正切函数、多种字符串处理函数。,第 4 章 KUKA机器人编程,(2)数据操作时的关系1)使用数据类型REAL和INT时的数据更改。四舍五入:,数学运算结果(+,-,*):见下表。,第 4 章 KUKA机器人编程,数学运算结果(+,-,*)举例:,数学运算结果(/)。,第 4 章 KUKA机器人编程,2)使用整数值运算时的特点:纯整数运算的中间结果会去掉所有小数位。给整数变量赋值时会根据一般计算规则对结果进行四舍五入。,第 4 章 KUKA机器人编程,3)比较运算:通过比较运算可以构成逻辑表达式。比较结构始终是BOOL数据类型。见下表。,第 4 章 KUKA机器人编程,4)逻辑运算:通过逻辑运算可以构成逻辑表达式。这种运算的结果始终是BOOL数据类型。见下表。,第 4 章 KUKA机器人编程,5)运算将根据其优先级顺序进行:见下表。,第 4 章 KUKA机器人编程,(3)数据操作时的操作步骤:1)确定一个或多个变量的数据类型。2)确定变量的有效性和生存期。3)进行变量声明。4)初始化变量。5)在程序运行中,始终在SCR文件中对变量进行操作。6)关闭并保存SRC文件。,第 4 章 KUKA机器人编程,4.3.3 KRL Arrays(数组),KRL数组,数组(Arrays),可为具有相同数据类型并借助下标区分的多个变量提供存储位置。1)数组的存储位置是有限的,即最大数组的大小取决于数据类型所需的存储空间大小。2)声明时,数组大小和数据类型必须已知。3)KRL中的起始下标始终从1开始。4)初始化始终可以逐个进行。5)在SRC文件中的初始化也可以采用循环方式进行数组维数。,第 4 章 KUKA机器人编程,数组维数,(1)维数组,(2)维数组,(3)维数组,KRL不支持4维及4维以上的数组。,第 4 章 KUKA机器人编程,数组声明,1)在SCR文件中建立:,2)在数据列表(即$CONFIG.DAT)中建立:,第 4 章 KUKA机器人编程,在SRC文件中对数组进行声明并初始化,1)通过调用索引单独对每个数组进行声明和初始化。,2)以合适的循环对数组进行声明和初始化。,第 4 章 KUKA机器人编程,在数据列表中初始化数组,1)在每一个数组的数据列表中通过调用索引单独进行,接着将值显示在数据列表中。,第 4 章 KUKA机器人编程,2)在数据列表中不允许进行的声明和初始化。,第 4 章 KUKA机器人编程,在数据列表中对数组进行声明并在SRC文件中进行初始化,假如数组是建立在数据列表中,则不能在数据列表中查看当前值,只能通过变量显示检查当前值。,或,第 4 章 KUKA机器人编程,借助循环进行初始化,(1)维数组,(2)维数组,第 4 章 KUKA机器人编程,(3)维数组,第 4 章 KUKA机器人编程,使用数组时的操作步骤,1)确定数组的数据类型。2)确定数组的有效性和生存期。3)进行数组的声明。4)初始化数组元素。5)在程序运行中,即始终在SCR文件中对数组进行操作。6)关闭并保存SRC文件。,第 4 章 KUKA机器人编程,4.3.4 KRL结构,KRL结构是一种复合型数据类型,其包含多种单一信息的变量。用数组可将同种数据类型的变量汇总。但在现实中,大多数变量是由不同数据类型构成的。例如,对一辆汽车而言,发动机功率或里程数为整数型;对价格而言,实数型最适用;而空调设备的存在则与此相反,应为布尔型。所有部分汇总起来可描述一辆汽车。用关键词STRUC可自行定义一个结构。结构是不同数据类型的组合。,一种结构必须首先经过定义,然后才能继续使用。,第 4 章 KUKA机器人编程,结构的可用性/定义,1)在结构中可使用简单的数据类型INT、REAL、BOOL及CHAR。,2)在结构中可以嵌入CHAR数组。,3)在结构中也可以使用诸如位置POS等已知结构。,4)定义完结构后还必须对此声明工作变量。,第 4 章 KUKA机器人编程,结构的初始化/更改,1)初始化可通过括号进行。2)通过括号初始化时只允许使用常量(固定值)。3)赋值顺序可以不用理会。,4)在结构中不必指定所有结构元素。5)一个结构将通过一个结构元素进行初始化。6)未初始化的值已被或将被设置为未知值。,7)初始化也可以通过点号进行。,8)通过点号进行初始化时也可以使用变量。,9)结构元素可随时通过点号逐个进行重新更改。,第 4 章 KUKA机器人编程,有效性/生存期,1)创建的局部结构在到达END行时便无效。2)在多个程序中使用的结构必须在$CONFIG.DAT中进行声明。,命名,1)不允许使用关键词。2)为了便于辨认,自定义的结构应以TYPE结尾。3)KUKA经常以保存在系统中的预设定结构工作。,位置范围内预设定的KUKA结构,1)AXIS:STRUC AXIS REAL A1,A2,A3,A4,A5,A62)E6AXIS:STRUC E6AXIS REAL A1,A2,A3,A4,A5,A6,E1,E2,E3,E4,E5,E63)FRAME:STRUC FRAME REAL X,Y,Z,A,B,C4)POS:STRUC FRAME REAL X,Y,Z,A,B,C5)E6POS:STRUC E6POS REAL X,Y,Z,A,B,C,E1,E2,E3,E4,E5,E6 INT S,T,第 4 章 KUKA机器人编程,带一个位置的结构的初始化,1)通过括号初始化时只允许使用常量(固定值)。,2)初始化也可以通过点号进行。,3)通过点号进行初始化时也可以使用变量。,第 4 章 KUKA机器人编程,创建结构,1)定义结构。,2)声明工作变量。,4)比较值的更改和/或工作变量的值。,3)初始化工作变量。,第 4 章 KUKA机器人编程,4.3.5 枚举数据类型ENUM,枚举数据类型ENUM由一定量的常量(例如红、黄或蓝)组成:,常量可自由选择名称,由编程员确定。一种枚举类型必须首先经过定义,然后才能继续使用。如COLOR_TYPE型箱体颜色的工作变量只能接受一个常量的一个值。常量的赋值始终以符号#进行,第 4 章 KUKA机器人编程,枚举数据类型的应用(如下程序),1)只能使用已知常量。2)枚举类型可扩展任意多次。3)枚举类型可单独使用。,枚举数据类型的有效性/生存期,1)创建的局部枚举类型在到达END行时便无效。2)在多个程序中使用的枚举类型必须在$CONFIG.DAT中进行声明。,第 4 章 KUKA机器人编程,枚举数据类型的命名,1)枚举类型及其常量的名称应一目了然。2)不允许使用关键词。3)为了便于辨认,自定义的枚举类型应以TYPE结尾生成枚举数据类型。,生成枚举数据类型,1)定义枚举变量和常量。,2)定义枚举变量和常量。,3)初始化工作变量。,4)比较工作变量的值。,第 4 章 KUKA机器人编程,4.4节 子程序和函数,4.4.1 局部程序,局部子程序的特点,1)局部子程序位于主程序之后并以DEF Name_Unterprogr-am()和END标明。,第 4 章 KUKA机器人编程,2)SRC文件中最多可由255个局部子程序组成。3)局部子程序允许多次调用。4)局部程序名称需要使用括号。,用局部子程序工作时的关联,1)运行完局部子程序后,跳回调出子程序后面的第一个指令。,第 4 章 KUKA机器人编程,2)最多可相互嵌入20个子程序。3)点坐标保存在所属的DAT列表中,可用于整个文件。,第 4 章 KUKA机器人编程,4)用RETURN可结束子程序,并由此跳回先前调用该子程序的程序模块中。,第 4 章 KUKA机器人编程,创建局部子程序的操作步骤,1)设置专家用户组。2)使DEF行显示出来。3)在编辑器中打开SCR文件:,4)用光标跳到END行下方。5)通过DEF、程序名称和括号指定新的局部程序头。,第 4 章 KUKA机器人编程,6)通过END命令结束新的子程序。,7)用回车键确认后,会在主程序和子程序之间插入一个横条:,8)继续编辑主程序和子程序。9)关闭并保存程序。,第 4 章 KUKA机器人编程,4.4.2 全局子程序,全部子程序可以独立程序的形式存在,具有单独的SRC和DAT文件。全局子程序允许多次调用。,第 4 章 KUKA机器人编程,全局子程序与局部子程序联合编辑,1)局部子程序运行完毕后,跳回到调出子程序后面的第一个指令。,第 4 章 KUKA机器人编程,2)最多可相互嵌入20个子程序。3)点坐标保存在各个所属的DAT列表汇总,并仅供相关程序使用。,Global2()中P1的不同坐标,第 4 章 KUKA机器人编程,4)用RETURN可结束子程序,并由此跳回先前调用该子程序的程序模块中。,第 4 章 KUKA机器人编程,使用全局子程序编程时的操作步骤,1)设置专家用户组。2)新建程序。,3)新建第二个程序。,4)在编辑器中打开程序MY_PROG的SCR文件。5)借助程序名和括号编程设定子程序的调用。,6)关闭并保存程序。,第 4 章 KUKA机器人编程,4.4.3 将参数传递给子程序,参数传递指全格式,第 4 章 KUKA机器人编程,参数传递给子程序的方法,1)作为IN参数。2)作为OUT参数。即可将参数传给局部子程序,也可传给全局子程序。(1)作为IN参数的参数传递1)变量值在主程序中保持不变,即变量以主程序原来的值继续工作。2)子程序只能读取变量值,但不能写入。,第 4 章 KUKA机器人编程,(2)作为OUT参数的参数传递1)变量值在主程序中同时更改,即变量应用子程序的值。2)更改该值,然后返回新的值。3)将参数传递给局部子程序。,第 4 章 KUKA机器人编程,4)将参数传递给全局子程序。,第 4 章 KUKA机器人编程,5)始终可以向相同的数据类型进行值传递。6)向其他数据类型进行值传递(如下表)。,第 4 章 KUKA机器人编程,多参数传递,第 4 章 KUKA机器人编程,使用数组进行参数传递,1)数组只能被整个传递到一个新的数组中。2)数组只允许以参数OUT的方式进行传递。,第 4 章 KUKA机器人编程,3)单个数组元素也可以被传递。,第 4 章 KUKA机器人编程,参数传递时的操作步骤,1)确定在子程序中需要哪些参数。2)确定参数传递的种类(IN或OUT参数)。3)确定原始数据和目标数据类型(数据类型最好相同)。4)确定参数传递的顺序。5)将主程序载入编辑器。6)通过变量调用创建子程序调用。7)关闭并保存主程序。8)将子程序载入编辑器。9)在DEF行中补充变量及IN/OUT。10)关闭并保存子程序。注意:最先发送的参数被写到子程序中的第一个参数上,第二发送的参数被写到子程序中的第二个参数上,以此类推。,第 4 章 KUKA机器人编程,示例,第 4 章 KUKA机器人编程,4.4.4 函数编程,通过KRL定义函数,1)函数是一种向主程序返回某一值的子程序。2)通常需要输入一定的值才能计算返回值。3)在函数头中会规定返回主程序中的数据类型。4)待传递的值通过指令RETURN(return_value)传递。5)有局部和全局函数两种。6)函数的指令格式如下:,第 4 章 KUKA机器人编程,KRL函数的特性及功能,(1)程序名同时也是一种特定数据类型的变量名称(2)调用全局函数,第 4 章 KUKA机器人编程,(3)调用局部函数,第 4 章 KUKA机器人编程,(4)值传递时使用IN/OUT参数 作为IN参数进行值传递:,第 4 章 KUKA机器人编程,函数编程时的操作步骤:,1)确定该函数应提供哪个值(返回数据类型)。2)确定函数中需要哪些参数(传递数据类型)。3)确定参数传递的种类(IN或OUT参数)。4)确定需要的是局部还是全局函数。5)将主程序载入编辑器。6)创建函数调用。7)关闭并保存主程序。8)创建函数(全局或局部)。9)将函数载入编辑器。10)在DEFFCT行中补充数据类型、变量及IN/OUT。11)创建RETURN(return_value)行。12)关闭并保持函数。,第 4 章 KUKA机器人编程,4.4.5 KUKA标准函数,KUKA标准函数分类,(1)数学函数 见下表。,第 4 章 KUKA机器人编程,(2)字符串变量函数 见下表。,第 4 章 KUKA机器人编程,(3)信息输出函数 见下表。,第 4 章 KUKA机器人编程,KUKA标准函数的特点,(1)每一标准函数均用传递参数调出,1)带固定值。,2)简单数据类型变量。,3)数组变量。,第 4 章 KUKA机器人编程,4)枚举数据类型变量。5)结构变量。6)带多个不同变量。,(2)每个函数均需要一个可将该函数的结果储存其中的合适变量。,1)数学函数返回一个实数(REAL)值。2)字符串函数返回布尔(BOOL)或INT值。,3)信息函数返回布尔(BOOL)或INT值。,第 4 章 KUKA机器人编程,4.5节 用KRL进行运动编程,4.5.1 借助KRL给运动编程,运动所需设置的参数和应该注意的因素有:1)运动方式PTP、LIN、CIRC。2)目标位置,必要时还有辅助位置。3)精确暂停或轨迹逼近。4)轨迹逼近距离。5)速度-PTP(%)和轨迹运动(m/s)。6)加速度。7)工具-TCP和负载。8)工作基坐标。9)机器人外部工具。10)沿轨迹运动时的姿态引导。,第 4 章 KUKA机器人编程,运动编程,(1)运动方式PTP1)PTP目标点。各元素说明见下表。,第 4 章 KUKA机器人编程,2)机器人运动到DAT文件中的一个位置;该位置已事先通过联机表单示教给机器人,机器人轨迹逼近P3点。,3)机器人运动到输入的位置。4)轴坐标(AXIS或E6AXIS):,5)空间位置:,6)机器人仅在输入一个或多个集合时运行。,第 4 章 KUKA机器人编程,(2)运动方式LIN1)LIN目标点。各元素说明见下表。,第 4 章 KUKA机器人编程,2)机器人运行到一个算出的位置并轨迹逼近点ABLAGE4。,(3)运行方式CIRC1)CIRC辅助点,目标点。各元素说明见下表。,第 4 章 KUKA机器人编程,2)机器人运动到DAT文件中的一个位置;该位置已事先通过联机表单示教给机器人,机器人运行一段对应190圆心角的弧段。,3)圆心角CA:正圆心角(CA0):沿着编程设定的转向做圆周运动:起点辅助点目标点,如左图所示。负圆心角(CA0):逆着编程设定的转向做圆周运动:起点目标点辅助点,如右图所示。,第 4 章 KUKA机器人编程,运动参数的功能,(1)运动编程的预设置1)可以应用现有的设置:从INI行的运行中。最后一个联机表单中。从相关系统变量的最后设置中。2)更改或初始化相关的系统变量。,第 4 章 KUKA机器人编程,(2)运动参数的系统变量1)工具:$TOOL和$LOAD。激活所测量TCP:,激活所属的负载数据:,2)参考基坐标/工作基坐标:$BASE。激活所测量的基坐标:,第 4 章 KUKA机器人编程,3)机器人引导型或外部工具:$IPO_MODE。机器人引导型工具:,外部工具:,4)速度。进行PTP运动时:,进行轨迹运动LIN或CIRC时:,第 4 章 KUKA机器人编程,5)加速。进行PTP运动时:,进行轨迹运动LIN或CIRC时:,6)圆滑过渡距离。仅限于进行PTP运动时,C_PTP:,第 4 章 KUKA机器人编程,进行轨迹运动LIN、CIRC和PTP时,C_DIS与目标点的距离必须低于$APO.CDIS的值。,进行轨迹运动LIN、CIRC时,C_ORI主导姿态角必须低于$APO.CORI的值。,进行轨迹运动LIN、CIRC时,C_VEL在驶向目标点的减速阶段中速度必须低于$APO.CVEL的值。,第 4 章 KUKA机器人编程,7)姿态引导:仅限进行LIN和CIRC时。进行LIN和CIRC时,$ORI_TPYE:,该程序中,机器人在进行轨迹运动时姿态始终保持不变。如下图所示。,第 4 章 KUKA机器人编程,在进行轨迹运动时,姿态会根据目标点的姿态不断地自动改变。如下图所示。,在进行轨迹运动期间,工具的姿态从起始位置至终点位置不断地被改变。这是通过手轴角度的线性超控引导来实现的。手轴奇点问题可通过该选项予以避免,因为绕工具作业方向旋转和回转不会进行姿态引导,仅限于CIRC:$CIRC_TPYE。,第 4 章 KUKA机器人编程,圆周运动期间以轨迹为参照的姿态引导,如下图所示。,第 4 章 KUKA机器人编程,用KRL给运动编程时的操作步骤,1)作为专家借助“打开”键将程序载入编辑器中。2)检查、应用或重新初始化运动编程的预设定值,如工具($TOOL和$LOAD)、基坐标设置($BASE)、机器人引导型或外部工具($IPO_MODE)、速度、加速度、轨迹逼近距离、姿态引导。3)创建由以下部分组成的运动指令:运动方式(PTP、LIN、CIRC)。目标点(采用CIRC时还有辅助点)。采用CIRC时可能还有圆心角(CA)。激活轨迹逼近(C_PTP、C_DIS、C_ORI、C_VEL)。4)重新运动时返回点3。5)关闭编辑器并保存。,第 4 章 KUKA机器人编程,4.5.2 借助KRL给相对运动编程,运动方式,(1)绝对运动(见下图),第 4 章 KUKA机器人编程,(2)相对运动(见下图),第 4 章 KUKA机器人编程,相对运动,(1)相对运动PTP_REL1)PTP_REL目标点C_PTP轨迹逼近各元素说明见下表。,第 4 章 KUKA机器人编程,2)轴2沿负方向移动30度,其他的轴都不动。,3)机器人从当前位置沿X轴方向移动100mm,沿Z轴负方向移动200mm。Y、A、B、C和S保持不变。T将根据最短路径加以计算。,(2)相对运动LIN_REL1)LIN_REL目标点轨迹逼近#BASE#TOOL各元素说明见下表。,第 4 章 KUKA机器人编程,2)TCP从当前位置沿工具坐标系中的X轴方向移动100mm,沿Z轴负方向移动200mm。Y、A、B、C和S保持不变。T则从运动中得出。,3)TCP从当前位置沿工具坐标系中的X轴负方向移动100mm。Y、A、B、C和S保持不变。T则从运动中得出。下面示例适用于使工具沿作业方向的反方向。前提是已经在X轴方向测量过工具作业方向。,第 4 章 KUKA机器人编程,(3)相对运动CIRC_REL1)CIRC_REL辅助点,目标点,CA圆心角轨迹逼近各元素说明见下表。,第 4 章 KUKA机器人编程,2)圆周运动的目标点用过500的圆心角加以规定。目标点被轨迹逼近。,用KRL给运动编程时的操作步骤,第 4 章 KUKA机器人编程,2)圆周运动的目标点用过500的圆心角加以规定。目标点被轨迹逼近。,用KRL给运动编程时的操作步骤,1)作为专家借助“打开”键将程序载入编辑器中。2)检查、应用或重新初始化运动编程的预设定值:工具($TOOL和$LOAD)、基坐标设置($BASE)、机器人引导型或外部工具($IPO_MODE)、速度、加速度、轨迹逼近距离、姿态引导。3)创建由以下部分组成的运动指令:运动方式(PTP_REL、LIN_REL、CIRC_REL),目标点(采用CIRC时还有辅助点),采用LIN时选择参照系(#BASE或#TOOL),采用CIRC时可能还有圆心角(CA),激活轨迹逼近(C_PTP、C_DIS、C_ORI、C_VEL)。4)重新运动时返回点3。5)关闭编辑器并保存。,第 4 章 KUKA机器人编程,4.5.3 计算或操纵机器人的位置,机器人的目标位置,(1)使用以下几种结构存储1)AXIS/E6AXIS,轴角(A1,A6,也可能是E1,E6)。2)POS/E6POS,位置(X,Y,Z),姿态(A,B,C)以及状态和转角方向(S,T)。3)FRAME,仅位置(X,Y,Z)和姿态(A,B,C)。(2)可以操纵DAT文件中的现有位置。(3)现有位置上的单个集合可以通过点号有针对性地加以更改。,第 4 章 KUKA机器人编程,重要的系统变量,1)$POS_ACT:当前的机器人位置。变量(E6POS)指明TCP基于基坐标系的额定位置。2)$AXIS_ACT:基于轴坐标的当前机器人位置(额定值)。3)变量(E6AXIS)包含当前的轴角或轴位置。4)计算绝对目标位置。5)一次性更改DAT文件中的位置。,6)每次循环时都更改DAT文件中的位置。,第 4 章 KUKA机器人编程,7)位置被应用,并被保存在一个变量中。,第 4 章 KUKA机器人编程,操作步骤,1)作为专家借助“打开”键将程序载入编辑器中。2)计算/操纵位置。新计算得出的值可能要暂存在新的变量中。3)检查、应用或重新初始化运动编程的预设定值:工具($TOOL和$LOAD)、基坐标设置($BASE)、机器人引导型或外部工具($IPO_MODE)、速度、加速度、轨迹逼近距离、姿态引导。4)创建由以下部分组成的运动指令:运动

    注意事项

    本文(第4章KUKA机器人编程ppt课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开