您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 第4章-KUKA机器人编程
第4章KUKA机器人编程结构化编程213专家界面变量和协定KUKA工业机器人编程与实操技巧4子程序和函数5用KRL进行运动编程6系统变量编程7程序流程控制8KRL的切换函数第4章KUKA机器人编程KUKA机器人的编程语言是KUKA公司自行开发的针对用户的语言平台,通俗易懂。但在面对一些较复杂的工艺动作进行机器人运动编程时需要进行结构化编程。KUKA机器人KCP提供了较为开放的编程环境,能通过底层语言平台,如C语言、C++语言等的逻辑语句命令进行结构化编程。采用结构化编程可使复杂的任务分解成几个简单的分步任务,降低编程时的总耗时,使相同性能的组成部分得以更换,单独开发各组成部分。注释第4章KUKA机器人编程注释是编程语言中的补充/说明部分。机器无法识别注释,因此程序运行结果不会受到其影响,注释只在编程员编程与程序阅读时起提示作用。注释的用处1)程序内容或功能说明。2)改善程序的可读性。3)有利于程序结构化。第4章KUKA机器人编程注释举例(1)关于整个源程序的信息DEFPICK_CUBE();该程序将方块从库中取出;作者:MaxMustermann;创建日期:2016.01.03INI…END(2)源程序的分段第4章KUKA机器人编程DEFPALLETIZE();***************;*该程序将16个方块堆垛在工作台上*;*作者:MaxMustermann-------------------*;*创建日期:2011.08.09----------*;***************INI…;-----------位置的计算----------…;-----------16个方块的堆垛----------…;-----------16个方块的卸垛----------…END(3)单行的说明第4章KUKA机器人编程DEFPICK_CUBE()INIPTPHOMEVel=100%DEFAULTPTPPre_Pos;驶至抓取预备位置LINGrip_Pos;驶至方块抓取位置…END第4章KUKA机器人编程(4)对需执行的工作的说明DEFPICK_CUBE()INI;此处还必须插入货盘位置的计算!PTPHOMEVel=100%DEFAULTPTPPre_Pos;驶至抓取预备位置LINGrip_Pos;驶至方块抓取位置;此处尚缺少抓爪的关闭END第4章KUKA机器人编程(5)不用代码变为注释DEFPalletize()INIPICK_CUBE();CUBE_TO_TABLE()CUBE_TO_MAGAZINE()END第4章KUKA机器人编程FOLD命令在KUKA机器人编程过程中,FOLD命令可将程序中的不变部分或注释行隐藏以增强程序的可读性但又不影响整个程序的运行过程。在FOLD里可隐藏程序段。FOLD的内容对用户来说是不可见的,在程序运行流程中会正常执行。第4章KUKA机器人编程1)FOLD通常在创建后首先显示成关闭状态:DEFMain()…INI;KUKAFOLD关闭SET_EA;由用户建立的FOLD关闭PTPHOMEVel=100%DEFAULT;KUKAFOLD关闭PTPP1CONTVel=100%TOOL[2]:GripperBASE[2]:Table…PTPHOMEVel=100%DefaultEND第4章KUKA机器人编程2)Fold的打开状态:DEFMain()…INI;KUKAFOLD关闭SET_EA;由用户建立的FOLD打开$OUT[12]=TRUE$OUT[102]=FALSEPART=0Position=0PTPHOMEVel=100%DEFAULT;KUKAFOLD关闭PTPP1CONTVel=100%TOOL[2]:GripperBASE[2]:Table…PTPHOMEVel=100%DefaultEND第4章KUKA机器人编程子程序在KUKA机器人编程过程中,可将程序中需要多次使用而不需发生变化的可独立程序段单独建立为子程序,可避免程序码重复,节省存储空间,使程序结构化,分解总任务,方便排除程序错误。子程序示例:DEFMAIN()INILOOPGET_PEN()PAINT_PATH()PEN_BACK()GET_PLATE()GLUE_PLATE()PLATE_BACK()IF$IN[1]THENEXITENDIFENDLOOPEND第4章KUKA机器人编程指令行缩进为了增加子程序嵌套入主程序时程序的可读性,使用指令行的缩进,以便于说明程序模块之间的关系,具体形式为一行紧挨一行地写入嵌套深度相同的指令。缩进示例:DEFINSERT()INTPART,COUNTERINIPTPHOMEVel=100%DEFAULTLOOPFORCOUNTER=1TO20PART=PART+1;联机表格无法缩进!!!PTPP1CONTVel=100%TOOL[2]:GripperBASE[2]:TablePTPXP5ENDFOR…ENDLOOP第4章KUKA机器人编程程序流程图的作用1)用于程序流程结构化的工具。2)程序流程更加易读。3)结构错误更加易于识别。4)同时生成程序的文献。第4章KUKA机器人编程程序流程图图标过程或程序的开始和结束指令与运算连接符号If分支程序代码中的一般指令子程序调用输入/输出指令第4章KUKA机器人编程程序流程图示例第4章KUKA机器人编程专家界面下,编程人员可进行程序的编写、检查与修改,但不能将插件集成到机器人控制器中,其中用户组有密码保护。第4章KUKA机器人编程机器人控制器可向不同的用户组提供不同的功能。可以选择以下几个用户组:(1)操作人员操作人员用户组。此为默认用户组。(2)应用人员操作人员用户组。在默认设置中操作人员和应用人员的目标群是一样的。(3)专家编程人员用户组。此用户组有密码保护。(4)管理员功能与专家用户组一样。另外可以将插件(Plug-Ins)集成到机器人控制器中。此用户组有密码保护。(5)安全维护人员该用户组可以激活和配置机器人的安全配置。此用户组有密码保护。(6)安全投入运行人员只有当使用KUKA.SafeOperation或KUKA.SafeRangeMonitoring时,该用户组才相关。该用户组有密码保护。第4章KUKA机器人编程专家用户组的扩展功能1)密码保护2)模块的详细说明界面可供使用3)显示/隐藏DEF行4)展开和合拢折叠(FOLD)5)在程序中显示详细说明界面6)创建程序时可从预定义的模块中选择7)在下列情况下将自动退出专家用户组:①当运行方式切换至AUT(自动)或AUTEXT(外部自动运行)时;②在一定的持续时间内未对操作界面进行任何操作时(300s)。第4章KUKA机器人编程借助模板创建程序(1)Cell现有的Cell程序,只能被替换或者在删除Cell程序后重新创建。(2)Expert模块由只有程序头和程序尾的SRC和DAT文件构成。(3)ExpertSubmit附加的Submit文件(SUB)由程序头和程序尾构成。(4)FunctionSRC函数创建,在SRC中只创建带有BOOL变量的函数头。函数结尾已经存在,但必须对返回值进行编程。(5)ModulModul(模块)由具有程序头、程序结尾以及基本框架(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行将显示出来,无须专门进行显示操作。打开/关闭FOLD1)对于应用人员,FOLD始终关闭,但可以以专家身份打开。2)专家也可以编程设立自己的FOLD。第4章KUKA机器人编程1激活专家界面1)在主菜单中选择“配置”“用户组”。2)作为专家登录:单击“登录”,选定用户组专家,输入密码(默认:kuka)。1纠正程序中的错误1)在导航器中选择出错的模块,如下图所示。第4章KUKA机器人编程2)选择菜单错误列表,错误显示(程序名.ERR)随即打开。3)选定错误,在下面的错误显示中将显示描述。4)在错误显示窗口中按“显示”按键,跳出出错的程序。5)纠正错误。6)退出编辑器并保存。第4章KUKA机器人编程变量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中的名称允许包括字母(A~Z)、数字(0~9)以及特殊字符“_”和“$”。3)KRL中的名称不允许以数字开头。4)KRL中的名称不允许为关键词。5)不区分大小写。第4章KUKA机器人编程KRL的数据类型(1)预定义的标准数据类型见下表。简单数据类型整数实数布尔数单个字符关键词INTREALBOOLCHAR数值范围231~(2311)1.1e38~3.4e38TRUE/FALSEASCII字符集示例199或560.000123或3.1415TRUE或FALSE“A”或“q”或“7”(2)数组ArrayVoltage[10]=12.75Voltage[11]15.591)借助下标保存相同数据类型的多个变量。2)初始化或者更改数值均借助下标进行。3)最大数组的大小取决于数据类型所需存储空间的大小。第4章KUKA机器人编程(3)枚举数据类型1)枚举类型的所有值在创建时会用名称进行定义。2)系统也会规定顺序。3)元素的最大数量取决于存储位置的大小。(4)复合数据类型/结构Date={day14,month12,year1996}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中允许双重声明:①运行已定义好变量的程序时,只会更改局部值,而不会更
本文标题:第4章-KUKA机器人编程
链接地址:https://www.777doc.com/doc-7155757 .html