
NACHI工业机器人编程与操作教学课件项目五 NACHI工业机器人分拣编程与操作.pptx
56页NACHI工业机器人分拣编程与操作NACHI工业机器人编程与操作项项目五目五:NACHI工业机器人工业机器人分拣分拣编程与操作编程与操作一、学习目标二、工作任务三、知识储备四、实践操作五、问题探究六、知识拓展七、评价反馈八、练习题一、学习目标一、学习目标1.了解工业机器人搬运码垛基本知识2.理解NACHI工业机器人机器人语言编程指令(SOCKCREATE、SOCKCLOSE和GETBYTE)和整数、实数和姿势等变量3.掌握应用命令(FN676、FN90、FN80和FN68等)4.掌握套接字及其编程方法、用户任务编程和软PLC编程5.能使用示教器进行工业机器人基本操作和编程6.能安全启动工业机器人,并遵守安全操作规程进行机器人操作7.能够进行用户坐标系测试和姿势文件制作8.能根据分拣任务进行工业机器人运动规划、工具坐标系测定、示教编程以及程序的手动调试、自动运行和外部运行一)任务描述(一)任务描述NACHI工业机器人从平台1吸取黄色工件(8个),至视觉系统识别识别后,4个成品工件放入对应位置如图5-2(分拣后)所示,4个废品放入废料盒二、工作任务二、工作任务(二)技术要(二)技术要求求1.示教模式下机器人速度倍率通常不超过3挡,自动模式下机器人速度倍率通常选用较低的速度。
2.机器人与周围任何物体不得有干涉3.示教器不得随意放置,不得跌落,以免损坏触摸屏4.不能损坏吸盘、视觉系统5.分拣过程中工件不得与周围物体有任何干涉6.气体压强在0.5MPa左右三)所需设备(三)所需设备NACHI工业机器人工作站二、工作任务二、工作任务(一(一)IFIF、GOTOGOTO、CALLPCALLP等应用命令介绍等应用命令介绍三、知识储备三、知识储备1.IF(条件)FN码为676,条件语句,与ELSEIF、ELSE、ENDIF配合使用条件成立时,控制转移到下一命令;不成立时,控制转移到ELSEIF、ELSE、ENDIFIF命令的条件成立时控制转移到命令1,执行命令1、命令2命令I后控制转移到ENDIF;IF命令的条件不成立时控制转移到ELSEIF,ELSEIF命令的条件成立时执行命令J命令K后控制转移到ENDIF;ELSEIF命令的条件不成立时控制转移到ELSE,执行命令L命令M后控制转移到ENDIF三、知识储备三、知识储备(一(一)IFIF、GOTOGOTO、CALLPCALLP等应用命令介绍等应用命令介绍2.GOTO(跳跃到指定的行或标签)FN码为90,使用此应用命令时,控制无条件转移到行号码或标签所显示的行。
3.CALLP(调用指定的程序)FN码为80,使用此应用命令时,可调用指定的程序调用端程序的最前头步骤若记录应用命令,由于执行调用命令后当场会执行跳往端的应用命令,调用端的程序的再生结束(END)后,即返回至原调用程序的调用命令的下一步骤在步骤4记录成CALLP:程序调用(FN80),程序号码为2再生时机器人在达到步骤4后跳过步骤5和6而跳跃至程序2的最前头步骤,程序2的再生结束后返回至原调用程序1的调用命令的下一步骤5三、知识储备三、知识储备(一(一)IFIF、GOTOGOTO、CALLPCALLP等应用命令介绍等应用命令介绍4.INH(先执行禁止)FN码为310,使用此应用命令时,抑制先执行5.LETR(移位量代入)FN码为68,使用此应用命令时,可在所指定的移位计数器设定移位量数据所指定的移位计数器虽已被SHIFTR(FN52)等使用当中,也不影响其动作,以LETR指定的值则新设定于移位计数器被变更的移位值,在其次的SHIFTR(FN52)再生时即有效例如:执行LETRR1,100,100,100,10,11,12后的移位计数器的值,移位计数器的请求旗标必须是0,设定旗标必须是1,Xz可存储以参数所指定的值已设定于移位计数器的状态下执行时移位计数器为初始状态下执行时 LETR执行前 LETR执行后 LETR执行前 LETR执行后请求旗标00请求旗标00设定旗标11设定旗标01X110100X0100Y120100Y0100Z130100Z0100X510X010Y611Y011Z712Z012三、知识储备三、知识储备(一(一)IFIF、GOTOGOTO、CALLPCALLP等应用命令介绍等应用命令介绍6.SHIFTR(移位2)FN代码为52,指定移位动作的开始/结束。
指定移位动作开始时,即以所指定的移位计数器所存储的移位量来进行移位动作使用此应用命令时,机器人程序的记录位置被指定的移位计数器,根据其所存储的移位量数据一边移位一边再生要移动的坐标系可自“机器人坐标”、“工具坐标”、“用户坐标”、“世界坐标”的四项来选择所指定的移位计数器未设定移位量数据时,可使其向退避步骤跳跃,也可不退避而当场停止机器人如图5-5所示,指令参数释义,在开始移位的位置(步骤N)记录移位开始,在结束移位的位置(步骤N+2)记录移位结束再生时,机器人达到步骤N后,读取FN52指定的移位计数器的内容,而向下一目标位置(步骤N+1)所移位的位置(步骤N+1)前进,直到移位结束被记录的位置(步骤N+2),同样以记录位置被移位的位置为目标而动作三、知识储备三、知识储备(一(一)IFIF、GOTOGOTO、CALLPCALLP等应用命令介绍等应用命令介绍7.LETVI(整数变量代入)FN代码为75,执行此应用命令时,将值代入于所指定的整数变量计数器8.SOCKCREATE(创建套接字)FN代码为570,创建套接字使用套接字进行通信时,请在执行其它套接字功能前执行这个函数,参数如表所示。
序号名称释义第1参数套接字编号 指定要使用的套接字编号,指定为已有套接字编号时,报错(1-16)第2参数TCP/UDP指定0采用TCP协议,指定1采用UDP协议(0-1)9.SOCKCONNECT(与服务器进行连接)FN码为574,采用TCP协议时连接服务器采用UDP协议时不会连接服务器,但需要通过SOCKCONNECT设定IP地址,参数如表所示序号名称释义第1参数套接字编号指定要使用的套接字编号,指定为未知套接字编号时,报错(1-16)第2参数IP地址指定服务器IP地址的的末尾字节,开头3字节使用与本控制装置TCP/IP的设定相同的字节(1-254)第3参数端口编号指定服务器的待机端口(1-65535)第4参数超时时间以秒为单位设定等待连接的超时(0-20)三、知识储备三、知识储备(一(一)IFIF、GOTOGOTO、CALLPCALLP等应用命令介绍等应用命令介绍10.SOCKSENDSTR(字符串发送)FN码为576,发送已指定的字符串,此时可以附加标识字符串结束的终止符未连接时,如果对方已关闭,报错对方未执行关闭处理就切断时,由于无法立即识别对方切断,因此在执行此指令时有可能不会报错,参数如表所示。
序号名称释义第1参数套接字编号指定要使用的套接字编号,指定为未知套接字编号时,报错(1-16)第2参数字符串指定要发送的字符串数据,可以以字符串变量和常数进行指定第3参数发送数据长度以字节单位指定要发送数据的长度(0-199)第4参数超时时间以秒为单位设定等待连接的超时(0-20)第5参数整数变量指定写入已发送数据大小的变量第6参数终止字符指定要发送字符串末尾附加的终止符三、知识储备三、知识储备(一(一)IFIF、GOTOGOTO、CALLPCALLP等应用命令介绍等应用命令介绍11.SOCKREV(数据接收)FN代码为577,接收数据根据 TCP 和 UDP 协议的不同,该函数的动作所有变化TCP 时,在下面的情况下,SOCKRECV函数步骤结束实际接收数据的大小大于接受数据的长度通信伙伴关闭了套接字接收了小于接收数据长度的数据时,再次等待接收数据重复数据接收,积累超过接收数据的长度后,函数步骤结束UDP 时,在下面的情况下,SOCKRECV 函数步骤结束数据接收超时UDP 协议下,接收数据后,将已接收的数据保存在缓冲区,结束函数步骤因此,实际接收的数据长度有可能小于已指定的接收数据长度。
另外,实际接收的数据长度大于已指定的接收数据长度时,将缩减超出的部分,并传回错误另外,数据接收后,通过执行 SOCKSEND 函数,可以回复已发送数据的通信伙伴数据接收后,有别于已发送数据的通信伙伴,需要向其他通信设备发送数据时,可以使用 SOCKCONNECT 再次设定接入点序号名称释义第1参数套接字编号 指定要使用的套接字编号,指定为未知套接字编号时,报错(1-16)第2参数缓冲区编号 指定保存已接收数据的缓冲区编号(1-16)第3参数 接收数据长度 以字节单位指定要接收数据的长度(0-1024)第4参数超时时间以秒为单位设定等待连接的超时(0-20)第5参数整数变量指定接收后写入已收发缓冲区数据大小的整数变量三、知识储备三、知识储备(一(一)IFIF、GOTOGOTO、CALLPCALLP等应用命令介绍等应用命令介绍11.GETBYTE(缓冲读取)FN代码为587,从缓冲区任意位置读取1字节,保存到任意的整数变量(0255的值)序号名称释义第1参数缓冲区编号指定读取数据的缓冲区编号(1-16)第2参数整数变量指定保存读取值的整数变量第3参数起始地址指定读取缓冲区的开头位置,从指定的位置读取1字节数据(0-1024)12.SOCKCLOSE(关闭套接字)清除通过SOCKCREAT创建的套接字,使其形成可以再次使用的状态。
不执行SOCKCLOSE就结束使用套接字的用户任务程序时,自动执行关闭二二)用户任务)用户任务三、知识储备三、知识储备用户任务是使用机器人语言(未与机器人同步动作)创建的程序与机器人动作程序并行动作的功能通过并行执行耗时的计算与机器人的动作,可以缩短周期时间另外,可以在TP画面上放置窗口,显示各种状态三)输入变量(三)输入变量三、知识储备三、知识储备以位(Bit)、或群组(Byte)单位(1 群组=10 位)处理输入端口的变量输入信号变量仅用于参照,不能写入以位为单位处理时以 群组为单位处理时范围In,Inn=12048(可使用变量)IBn,IBnn=1205(可使用变量)范围 0,101023(IB205时为 0255)示例WAIT I1,1,1命令:WAITFN 号码:FN525名称:带定时器输入信号等待输入信号:1等待时间:0待避步骤:0WAITAD IB1,255,0,100命令:WAITADFN 号码:FN558名称:带定时器群组信号等待BCD(AND)群组号码:1条件:255等待时间:0待避步骤:100三、知识储备三、知识储备(四)套接字通信(四)套接字通信套接字界面功能是通过用户任务程序使用各种应用指令进行以太网通信,创建进行以太网通信的用户任务程序,便可通过以太网从控制装置外部执行各种数据的参照和重写操作。
三、知识储备三、知识储备(五)(五)软软PLCPLC程序编辑程序编辑在项目四软PLC程序基础上增加PLC程序,实现拍照数据的收集一)(一)分拣轨迹规划分拣轨迹规划四、实践操作四、实践操作1.运动规划和程序流程图制定要完成分拣程序的示教编程,首先要进行运动规划,即要进行任务规划、动作规划和路径规划任务规划 要完成的任务是将分拣平台上工件搬运至视觉系统进行识别,并将工件放置于对应位置,因此机器人分拣动作可分解为“吸取工件”、“识别工件”和“放置工件”三个任务动作规划 每一个任务分解为机器人的一系列动作,“吸取工件”可以进一步分解为“回原点”、“移到工件上方安全点”、“移动到工件吸取点”、“吸取工件”,“识别工件”可以进一步分解为“退到工件上方安全点”、“移动到视觉系统上方识别点”,“放置工件”可以进一步分解为“移动至放置区上方安全点”、“移动至放置区放置点”、“释放工件”,自行进行运动规划图的绘制路径规划 将每一个动作分解为机器人TCP运动轨迹,考虑到机器人姿态以及机器人与周围设备的干涉,每一个动作需要对应有一个或。












