1、机器人编程机器人编程目录一、选择和启动机器人程序二、创建机器人程序三、程序中添加指令四、程序中的变量五、程序中的逻辑六、子程序和功能程序的数据处理七、补充12一、选择和启动机器人程序22022-11-28二、创建机器人程序【Cell】:外部自动运行时的牵引程序(有且仅能存在一个)【Expert】和【Modul】:用户程序(由SRC和DAT文件构成)【Expert Submit】和【Submit】:后台程序【Function】:功能模块程序(用户:专家模式)(用户:专家模式)32022-11-28三、程序中添加指令【联机表格】:机器人已定义好的指令,仅需更改表格中的元素,就可实现运动和功能。42
2、022-11-28运动指令52022-11-28逻辑指令62022-11-28案列1:利用联机表格添加指令【注意】:机器人编程不区分大小写72022-11-28本机:复制程序黏贴到虚拟机“C:KRCROBOTERKRCR1Program”关闭重启虚拟机如何往虚拟机导入程序82022-11-28案列一(分析)打开后,这些是什么?打开后,这些是什么?变量变量如果只输入联机表格的名称:PTP P1 CONT VEL=100%PDAT1机器人不仅没动,还报编程错误的原因是:机器人实际运行的是折合的变量和程序。92022-11-28四、程序中的变量变量的存储位置变量的存储位置【例】DECL GLOBAL
3、 INT IPHONE_X102022-11-28【注意】在DAT文件中:声明和初始化始终在一行【注意】在SRC文件中:声明和初始化始终在两个独立的行中进行4.1创建变量创建变量简单的数据类型(简单的数据类型(INT、REAL、BOOL、CHAR)DECL INT IPHONEDECL变量数据类型变量数据类型变量名称变量名称112022-11-28DECL INT X10DECL REAL TD20DECL BOOL ERROR10122022-11-28案列2:具有简单数据类型和计数循环的数组132022-11-28存储位置在Config.dat、machine.dat系统文件里。系统变量总
4、是以“$”开头,如输入信号$IN1。1.系统变量系统变量系统状态变量系统状态变量2.系统变量系统变量外部自动运行外部自动运行3.系统变量系统变量全部全部(全部系统变量请查看资料(全部系统变量请查看资料system cariables)$pos_act:当前位置$vel_act:当前速度$softn_end:轴的限位开关4.2系统变量系统变量已定义好的全局变量已定义好的全局变量142022-11-28案例3、利用系统变量编程这些是什么?这些是什么?位置数据的变量位置数据的变量(复杂数据类型的变量)(复杂数据类型的变量)152022-11-28已有系统预设定的结构后,可直接进行位置变量的声明已有系
5、统预设定的结构后,可直接进行位置变量的声明DECL AXIS XP1XP1=A1 20,A2 20,A3 20,A4 15,A5 30,A6 0对位置变量赋值对位置变量赋值PTP XP1运动到运动到XP1位置位置4.3系统结构系统结构已定义好的复杂数据类型已定义好的复杂数据类型162022-11-28绝对运动:绝对运动:相对运动:相对运动:【注】详见机器人编程2第五章:用变量来运动编程172022-11-284.4创建复杂的数据类型创建复杂的数据类型结构结构182022-11-28192022-11-28流程控制流程控制为什么用为什么用continue指令?指令?阻止预进停止,机器人动阻止预进
6、停止,机器人动作流程顺畅作流程顺畅五、程序的流程控制202022-11-285.1 信号等待信号等待212022-11-285.2 时间等待时间等待222022-11-285.3 循环指令循环指令232022-11-28242022-11-28252022-11-28262022-11-28272022-11-28282022-11-28六、子函数的数据传递6.1创建局部子程序创建局部子程序292022-11-286.2创建全局子程序创建全局子程序302022-11-286.3将参数传递给子程序将参数传递给子程序312022-11-28案例4、建立函数传递的子程序322022-11-28子程序
7、 功能程序主程序DEF MY_PROG()DECL REAL SS=1CALC(S)END子程序DEF CALC(NUM:OUT)DECL REAL NUMNUM=NUM+1END主程序DEF MY_PROG()DECL REAL SDECL INT RS=1R=CALC(S)END功能程序DEFFCT INT CALC(NUM:OUT)DECL INT MDECL REAL NUMNUM=NUM+1M=300RETURN(M)ENDFCT功能程序是一个功能程序是一个会返回指定数据会返回指定数据类型的全局子程类型的全局子程序序332022-11-286.4自定义功能程序自定义功能程序新建名为C
8、ALC的功能程序,返回值类型是REAL在主程序中调用CALA功能程序342022-11-28【案例5】建立功能程序新建名为新建名为“CALC”功能程序,然后将返回数据类型改为功能程序,然后将返回数据类型改为REAL在主程序中调用CALC功能程序352022-11-286.5系统自带的功能程序系统自带的功能程序怎么使用系统的功能程序?362022-11-28【案例6】使用复杂的功能程序DEF MY_PROG()DECL E6POS POS_1DECL E6AXIS POS_2DECL INT STATUSPOS_2=A1 30,A2 30,A3 20,A4 60,A5 10,A6 30STATU
9、S=1POS_1=FORWARD(POS_2,STATUS)END【目的】坐标转换E6AXIS(A1,A2,A3,A4,A5,A6)转换E6POS(X,Y,Z,A,B,C)【功能程序】E6POS FORWARD(E6AXIS AXVAL:IN,INT STATUS:OUT)返回值的数据类型返回值的数据类型功能函数名功能函数名输入值的数据类型输入值的数据类型输入值的名称输入值的名称类型:类型:INOUT372022-11-28【案例7】利用功能程序实现提示信息的功能用到的功能函数用到的功能函数效果界面效果界面382022-11-28392022-11-28【案例8】利用功能程序实现弹窗选择的功能402022-11-281、触发函数:Trigger when distance=位置 delay=时间 do 指令2、跳转函数:GOTO 标志位 标志位:3、中断函数:Interrupt decl 中断等级 when 条件 do 指令 4、后台程序:Sumbit程序 4、模拟信号的使用:$Anin15、安全空间的使用:$workspace1.mode=#inside等其他内容请参考机器人编程1机器人编程2机器人编程3【补充】Thanks412022-11-28