机器人码垛调试程序.

合集下载

机器人码垛机操作规程

机器人码垛机操作规程

文件制修订记录一、设备操作员1.设备操作员是最熟悉设备的人,为了更好的使用和维护设备,设备操作员应具有一定的机械和电气方面的知识,有一定编程基础的更好。

2.设备操作员应知道设备上每一个按钮、阀门、光电、气缸、电机等主要部件的作用,知道此部件由谁控制或它控制谁,故障出现时,能快速地通过故障现象分析原因,想到可能出现问题的部件及解决办法。

排除故障的速度是一个设备操作员熟练程度的表现。

3.操作人员应该认真执行设备操作规程,保证设备正常运转,减少故障,防止事故发生。

4.设备操作员的基本任务有:设备的日常维护、操作设备前对设备现场清理、设备运行状态检查、常见故障排除、做好交接班工作和记录等。

二、设备介绍一楼的码垛设备包括机器人码垛机和供栈机、栈板线、进箱线AB和控制设备等辅助设备。

码垛机负责为A、B两条线码垛,A线为1.8L、0.9L线,B线为5L 线。

栈板线从供栈机开始依次包括出栈线、送栈线、码垛线A、码垛线B。

控制设备包括控制箱和控制柜,控制箱配合示教盘共同控制机器人码垛机,控制柜控制其他辅助设备以及码垛机的启动。

三、设备按钮操作说明1.控制箱操作面板上的按钮从左到右、从上到下的顺序依次为:方式开关——可进行自动(AUTO)与手动(T1、T2)的切换,其中T2操作时速度较快不易控制,不熟练时手动操作建议使用T1。

切换时需插入钥匙。

异常恢复(FAULT RESET)——当有异常状况时报警灯会亮,排除异常后按下此键可解除报警。

启动按钮(CYCLE START)——为操作方便和安全的考虑,此按键只起运行指示的作用,机器的启动将在控制柜上操作,当机器人处于自动运行状态时此灯会亮。

报警(FAULT)——当有异常状况时此灯会亮,此时机器人将不能启动。

紧急停止(EMERGENCY)——紧急时按下此键,可使机械手臂在任何位置强制停止,解除方法为向右旋转使其跳起来。

电源指示灯(POWER)——电源开关打开后灯亮,关闭后灯灭。

机器人码垛程序流程图

机器人码垛程序流程图

程序初始化开始复位原点等待A /B 线抓取命令当B 00
0=1时,选择抓取A
线
当B 000=3
时,选择抓取A /B 线向B 090(A B
线都有信号)写1当B 000=2
时,选择抓取B 线
判断是否有托盘判断产品种类Y E S N O 产品1产品2
判断抓取抓数执行抓取动作判断放箱抓数第几层、第几抓判断放箱托盘位判断放箱是否放满N O Y E S 判断抓取抓数执行抓取动作判断放箱抓数第几层、第几抓判断放箱托盘位判断放箱是否放满Y E S N O 选择抓取A 线C A L L A -L I N E -S T A R T 放箱完成回原点选择抓取B 线C A L L B -L I N E -S T A R T 放箱完成回原点向B 090(A B 线都有信号标志位)写0判断是否有托盘判断产品种类
Y E S N O 产品3产品4
判断抓取抓数执行抓取动作判断放箱抓数第几层、第几抓判断放箱托盘位判断放箱是否放满Y E S 判断抓取抓数执行抓取动作判断放箱抓数第几层、第几抓判断放箱托盘位判断放箱是否放满Y E S N O N O 判断1、2是否有托盘Y E S 判断3、4是否有托盘N O Y E S N O 判断是否有换罐命令跳转到换罐子程序
返回判断是否有出跺命令执行出跺子程序返回Y E S
Y E S N O N O。

23机器人码垛现场编程

23机器人码垛现场编程

工业机器人码垛现场编程主讲:王晓勇学习目标学会码垛目标点示教学会常用码垛程序编写目录》0102码垛指令编程码垛现场程序案例1码垛指令编程当关闭轴配置监控后,机器人在运动过程中采取最接近当前轴配置数据的配置到达指定目标点。

一、码垛指令编程运动控制指令-ConfL应用:对机器人运行姿态进行限制与调整,程序运行时,使机器人运行姿态得到控制。

系统默认值为ConfL \on。

实例:ConfL\on; ConfL\off;限制:机器人冷启动,新程序载入与程序重置后,系统自动设置为默认值。

备注一、码垛指令编程运动控制指令-ClkReset实例ClkReset clock;Clock:时钟名称。

(Clock )应用:将机器人相应的时钟复位,常用于记录循环时间或机器人跟踪输送链。

ClkReset clock1; ClkStart Clock1; RunCycle; ClkStop Clock1;nCycleTime:=ClkRead(clock1);TPWrite “Last Cycle Time:“\Num:=nCycleTime一、码垛指令编程运动触发指令-TriggIOTriggIO TriggData,Distance[\Start]|[\Time][\Dop]|[\Gop]|[\Aop]|[\ProcID],SetValue[\DODelay];[TriggData]: 触发变量名称。

(triggdata)Distance: 触发距离mm。

(unm)[\Start]: 触发起始开关。

(switch)[\Time]: 时间触发开关。

(switch)[\Dop]: 时间数字输出。

(signaldo)一、码垛指令编程运动触发指令-TriggIOTriggIO TriggData,Distance[\Start]|[\Time][\Dop]|[\Gop]|[\Aop]|[\ProcID],SetValue[\DODelay];[\Gop] : 触发组合输出。

工业机器人码垛工作站安装与调试教学能力比赛教案

工业机器人码垛工作站安装与调试教学能力比赛教案

工业机器人码垛工作站安装与调试教学能力比赛教案教案名称:工业机器人码垛工作站安装与调试教学能力比赛教案教学目标:1. 学习工业机器人码垛工作站的基本原理和工作流程。

2. 掌握工业机器人码垛工作站的安装和调试方法。

3. 培养学生的团队合作和问题解决能力。

4. 提高学生的实际操作和技术应用能力。

教学内容:1. 工业机器人码垛工作站的基本原理和工作流程介绍。

2. 工业机器人码垛工作站的安装步骤和注意事项。

3. 工业机器人码垛工作站的调试方法和常见问题解决。

4. 实际操作演练和比赛准备。

教学步骤:第一步:工业机器人码垛工作站的基本原理和工作流程介绍(30分钟)1. 介绍工业机器人码垛工作站的定义、作用和应用领域。

2. 详细解释工业机器人码垛工作站的工作流程,包括从接收订单到完成码垛的整个过程。

第二步:工业机器人码垛工作站的安装步骤和注意事项(60分钟)1. 介绍工业机器人码垛工作站的各个组成部分,包括机器人、传感器、控制系统等。

2. 分步骤演示工业机器人码垛工作站的安装过程,包括机器人的安装、传感器的安装和控制系统的连接。

3. 强调安装过程中的注意事项,如安全操作、正确连接和固定等。

第三步:工业机器人码垛工作站的调试方法和常见问题解决(60分钟)1. 介绍工业机器人码垛工作站的调试方法,包括机器人的校准、传感器的调试和控制系统的配置。

2. 分析工业机器人码垛工作站常见问题,如机器人运动不准确、传感器故障等,并提供解决方法。

第四步:实际操作演练和比赛准备(120分钟)1. 将学生分成小组,每个小组安装和调试一台工业机器人码垛工作站。

2. 每个小组根据教师提供的实际任务,进行实际操作演练。

3. 比赛准备:每个小组根据比赛要求,进行工业机器人码垛工作站的优化和调试,以提高工作效率和准确性。

教学评估:1. 学生的理论知识掌握情况,包括工业机器人码垛工作站的基本原理和工作流程。

2. 学生的实际操作能力,包括工业机器人码垛工作站的安装和调试。

ABB机器人码垛程序

ABB机器人码垛程序

A B B机器人码垛程序(总11页)本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.MarchMODULE MainModulePROC Main()TPErase;TPReadNum nCount1, "Qing Shu Ru Yi Ma Bao Shu!" ;TPReadNum nJob, "Qing Shu Ru Mo Shi:50KG:=1,25KG:=2!";InitAll;WHILE TRUE DOReadType;clock2re;PickIF;clock2re;PlaceOF;ENDWHILEENDPROCPROC clock2re()!tempint:=movstat;IF DI10_1Product0K = 0 or DI10_2TuoPanOK = 0 ThenIF tempint< thenClkStart CLK2;ELSEClkStop CLK2;ENDIFElseClkStop CLK2;EndIFEndprocPROC InitAll()MoveHome;Reset DO10_1JiaZhua;Reset DO10_2YaBan;Reset DO10_3ZhuaOK;Reset DO10_4MaDuoOK;Waittime ;bPickPart:=FALSE;ClkReset CLK1;ClkStart CLK1;ClkReset CLK2;MoveL Offs(pPick,0,0,400), vFast, z10, tGripper\WObj:=wobj0;ENDPROCPROC PickIF()IF bPickPart = FALSE AND nJob <> 0 AND DI10_1Product0K = 1 THEN!CalculatePick;MoveJ Offs(pPick,0,0,400), vFast, z200, tGripper\WObj:=wobj0;!MoveLDO Offs(pPick,0,0,100), vFast, z20, tool0\WObj:=wobj0, DO10_1JiaZhua, 1;MoveL pPick, vFast, fine, tGripper\WObj:=wobj0;Close1;GripLoad LoadFull;Accset 50,50;HandshakeIF;bPickPart:=TRUE;ConfL\Off;MoveJ pAfterPick, vFast, z60, tGripper\WObj:=wobj0;ENDIFENDPROCPROC PlaceOF()IF DI10_2TuoPanOK = 1 AND bPickPart = TRUE THENCalculatePlace;ConfL\Off;!MoveL Offs(pOver,0,0,nOffsZ2), vFast, z200, tGripper;IF bTag=true thenAccset 70, 70;MoveJ pAbovePlace, vFast, z10, tGripper\WObj:=wobj0;elseAccset 90, 90;MoveJ pAbovePlace, vFast, z10, tGripper\WObj:=wobj0;EndifAccset 100,100;! place first boxConfL\Off;!MoveL Offs(pPlace1,nOffsX1,nOffsY1,nOffsZ1),vTurn,z10,tGripper\WObj:=wobj0;MoveL pPlace1, vMiddle, fine, tGripper\WObj:=wobj0;Open1;ConfL\Off;MoveL Offs(pPlace1,0,0,nOffsZ1),vMiddle,z5,tGripper\WObj:=wobj0;GripLoad LoadEmpty;Accset 100,100;bPickPart:=FALSE;Incr nCount1;HandshakeOF;MoveJ pAbovePick, vFast, z200, tGripper\WObj:=wobj0;MoveL Offs(pPick,0,0,400), vFast, z10, tGripper\WObj:=wobj0;!MoveJ pHome, vFast, z200, tGripper;ENDIFENDPROCPROC HandshakeIF()IF nJob=1 THEN!Set DO10_3ZhuaOK;ENDIFIF nJob=2 THEN!Set DO10_3ZhuaOK;ENDIFENDPROCPROC HandshakeOF()IF (nCount1=40 and nJob =1) or (nCount1=80 and nJob =2) THEN Set DO10_4MaDuoOK;WaitDI DI10_2TuoPanOK, 0;SetDO\SDelay:=,DO10_4MaDuoOK,0;nCount1:=0;ClkStop CLK1;ClkStop CLK2;TPErase;nCycleCount:=ClkRead(CLK1);Waitingtime:=ClkRead(CLK2);TPWrite "Cycle time: "\Num:=nCycleCount;TPWrite "Waiting time in this Cycle: "\Num:=Waitingtime;ClkReset CLK2;ClkReset CLK1;ClkStart CLK1;ENDIFENDPROCPROC MoveHome()TempP1:=CRobT(\Tool:=tool0 \WObj:=wobj0);; MoveJ TempP1, v1000, z20, tGripper;MoveJ pHome, v1000, z20, tGripper;ENDPROCPROC ReadType()IF nPriority = 1 AND DI10_1Product0K = 1 THEN!nJob:=1;! Incr nPriority;ELSEIF nPriority = 2 AND DI10_1Product0K = 1 THEN!nJob:=2;!Incr nPriority;ELSE!nJob:=0;!Incr nPriority;!IF nPriority>2 nPriority:=1;ENDIFENDPROCPROC Open1()Reset DO10_2YaBan;Waittime ;Reset DO10_1JiaZhua;waittime ;!Waittime nTimeGripper; ENDPROCPROC Close1()Set DO10_1JiaZhua;Waittime ;WaitDI DI10_4Zhua1End, 1;Set DO10_2YaBan;Waittime ;!Waittime nTimeGripper;WaitDI DI10_4Zhua1End, 1;!WaitDI DI10_6Zhua2End, 1; ENDPROCPROC CalculatePick()IF nJob = 1 THENpPick:=pPick1;ELSEIF nJob = 2 THENpPick:=pPick1;ENDIF!pAbovePick:=pPick;!pAfterPick:=pPick;!Pattern80;! CalculatePlace()IF nJob = 1 THENnBagL:=nBag50L;nBagW:=nBag50W;nBagH:=nBag50H;Pattern80;ELSEIF nJob = 2 THENnBagL:=nBag25L;nBagW:=nBag25W;nBagH:=nBag25H;Pattern100;ENDIF!pAbovePlace:=pPlace1;pAfterPlace:=pAbovePlace;ENDPROCPROC Pattern80()bTag:=FALSE;TEST nCount1+1CASE 1:pPlace1:=pBase180; 2:pPlace1:=pBase0; 3:pPlace1:=pBase90; 4:pPlace1:=pBase90; 5:pPlace1:=pBase90; CASE 6:pPlace1:=pBase180; 7:pPlace1:=pBase0; 8:pPlace1:=pBase270; 9:pPlace1:=pBase270; 10:pPlace1:=pBase270; 11:pPlace1:=pBase180; CASE 12:pPlace1:=pBase0; 13:pPlace1:=pBase90; 14:pPlace1:=pBase90; 15:pPlace1:=pBase90;CASE 16:pPlace1:=pBase180; 17:pPlace1:=pBase0; 18:pPlace1:=pBase270; 19:pPlace1:=pBase270; 20:pPlace1:=pBase270; 21:pPlace1:=pBase180; CASE 22:pPlace1:=pBase0; 23:pPlace1:=pBase90; 24:pPlace1:=pBase90; 25:pPlace1:=pBase90;pPlace1:=pBase180;27:pPlace1:=pBase0;28:pPlace1:=pBase270;29:pPlace1:=pBase270;30:pPlace1:=pBase270;31:pPlace1:=pBase180;CASE 32:pPlace1:=pBase0;33:pPlace1:=pBase90;34:pPlace1:=pBase90;35:pPlace1:=pBase90;36:pPlace1:=pBase180;37:pPlace1:=pBase0;38:pPlace1:=pBase270;39:pPlace1:=pBase270;40:pPlace1:=pBase270;DEFAULT:ErrWrite "Wrong box Count...","Single box must be the last one of a Pallet";Stop;EXIT;ENDTESTENDPROCPROC Pattern100()bTag:=FALSE;TEST nCount1+1CASE 1:pPlace1:=p25Base270;2:pPlace1:=p25Base0;pPlace1:=p25Base90;pPlace1:=p25Base180; 5:pPlace1:=p25Base270; CASE 6:pPlace1:=p25Base0; 7:pPlace1:=p25Base90; 8:pPlace1:=p25Base180; 9:pPlace1:=p25Base270; 10:pPlace1:=p25Base0; 11:pPlace1:=p25Base90; 12:pPlace1:=p25Base180; 13:pPlace1:=p25Base270; CASE 14:pPlace1:=p25Base0; 15:pPlace1:=p25Base90; 16:pPlace1:=p25Base180; 17:pPlace1:=p25Base270; 18:pPlace1:=p25Base0; 19:pPlace1:=p25Base90; 20:pPlace1:=p25Base180; 21:pPlace1:=p25Base270; CASE 22:pPlace1:=p25Base0; 23:pPlace1:=p25Base90; 24:pPlace1:=p25Base180; 25:pPlace1:=p25Base270; 26:pPlace1:=p25Base0; 27:pPlace1:=p25Base90; 28:pPlace1:=p25Base180;29:pPlace1:=p25Base270; CASE 30:pPlace1:=p25Base0; 31:pPlace1:=p25Base90; 32:pPlace1:=p25Base180; 33:pPlace1:=p25Base270; 34:pPlace1:=p25Base0; 35:pPlace1:=p25Base90; 36:pPlace1:=p25Base180; 37:pPlace1:=p25Base270; CASE 38:pPlace1:=p25Base0; 39:pPlace1:=p25Base90; 40:pPlace1:=p25Base180; 41:pPlace1:=p25Base270; 42:pPlace1:=p25Base0; 43:pPlace1:=p25Base90; 44:pPlace1:=p25Base180; 45:pPlace1:=p25Base270; CASE 46:pPlace1:=p25Base0; 47:pPlace1:=p25Base90; 48:pPlace1:=p25Base180; 49:pPlace1:=p25Base270; 50:pPlace1:=p25Base0; 51:pPlace1:=p25Base90; 52:pPlace1:=p25Base180; 53:pPlace1:=p25Base270;CASE 54:pPlace1:=p25Base0; 55:pPlace1:=p25Base90; 56:pPlace1:=p25Base180; 57:pPlace1:=p25Base270; 58:pPlace1:=p25Base0; 59:pPlace1:=p25Base90; 60:pPlace1:=p25Base180; 61:pPlace1:=p25Base270; CASE 62:pPlace1:=p25Base0; 63:pPlace1:=p25Base90; 64:pPlace1:=p25Base180; 65:pPlace1:=p25Base270; 66:pPlace1:=p25Base0; 67:pPlace1:=p25Base90; 68:pPlace1:=p25Base180; 69:pPlace1:=p25Base270; CASE 70:pPlace1:=p25Base0; 71:pPlace1:=p25Base90; 72:pPlace1:=p25Base180; 73:pPlace1:=p25Base270; 74:pPlace1:=p25Base0; 75:pPlace1:=p25Base90; 76:pPlace1:=p25Base180; 77:CASE 78:79:pPlace1:=p25Base90;80:pPlace1:=p25Base180;DEFAULT:ErrWrite "Wrong box Count...","Single box must be the last one of a Pallet";Stop;EXIT;ENDTESTENDPROCENDMODULE。

阐述abb机器人 码垛程序编程 方法与步骤

阐述abb机器人 码垛程序编程 方法与步骤

ABB机器人是一种自动化工业机器人,可用于各种生产线上的码垛操作。

码垛是指将产品按照一定的规则叠放起来,以方便运输、存储或其他后续处理。

在生产环境中,码垛通常需要精确的排列和叠放,而ABB机器人可以通过编程实现自动化的码垛操作,提高生产效率和准确性。

在实际操作中,编写ABB机器人的码垛程序是至关重要的。

下面我们将结合ABB机器人的特点和编程方法,详细阐述ABB机器人码垛程序编程的方法与步骤。

1. 确定码垛需求和规则在进行ABB机器人码垛程序编程之前,首先需要确定具体的码垛需求和规则。

这包括需要码垛的产品规格、堆放的方式、堆放的高度、堆放的稳定性要求等。

只有明确了这些需求和规则,才能更好地进行编程设计。

2. 了解ABB机器人的编程语言ABB机器人使用的是ABB RobotStudio软件,可以通过该软件进行编程。

了解该软件的编程语言和功能,是进行码垛程序编程的基础。

该软件支持多种编程语言,包括ABB的RAPID编程语言和基于图形的FlexPendant编程方式,可以根据实际情况选择合适的编程方式进行操作。

3. 编写码垛程序在确定了需求和规则,并掌握了相应的编程语言和工具之后,就可以开始编写码垛程序。

首先需要创建一个新的项目,并在项目中创建一个新的程序。

然后根据产品规格和堆放规则,编写具体的码垛程序。

这包括机器人的移动路径规划、夹爪的动作控制、产品的堆放位置计算等。

4. 调试和优化程序编写完成后,需要进行程序的调试和优化。

这包括在仿真环境中模拟运行程序,检查程序的运行效果和是否符合需求和规则。

如果发现问题,需要对程序进行优化和修改,直至达到理想的效果。

5. 在实际环境中应用程序在程序调试和优化完成后,可以将程序应用到实际的生产环境中。

在操作时需要注意安全和稳定性,确保码垛操作的效率和准确性。

总结起来,ABB机器人的码垛程序编程需要根据需求和规则进行编程设计,掌握ABB RobotStudio软件的编程语言和功能,编写码垛程序,进行调试和优化,最后将程序应用到实际环境中。

fanuc机器人码垛编程实例

fanuc机器人码垛编程实例

fanuc机器人码垛编程实例
(最新版)
目录
1.FANUC 机器人码垛编程概述
2.码垛编程的实例分析
3.码垛编程的优点与应用范围
正文
一、FANUC 机器人码垛编程概述
FANUC 机器人作为全球知名的工业机器人品牌,其码垛编程是机器人在搬运过程中实现自动化的重要手段。

码垛编程是针对机器人搬运货物时需要堆叠摆放的一种编程方式,通过合理设置码垛的形状、大小和摆放顺序,从而实现货物的高效搬运。

二、码垛编程的实例分析
假设有一个场景,需要用 FANUC 机器人将不同尺寸的货物进行码垛摆放。

首先,需要确定码垛的形状,例如,可以将货物摆放成 3x3 的正方形码垛。

接下来,通过编程设定机器人的运动轨迹和顺序,以完成码垛的搭建。

具体编程步骤如下:
1.设定机器人的初始位置和姿态;
2.设定机器人的运动轨迹,以完成货物的抓取;
3.设定机器人将货物摆放到码垛上的位置和姿态;
4.循环重复以上步骤,直至码垛搭建完成。

三、码垛编程的优点与应用范围
码垛编程具有以下优点:
1.提高搬运效率:通过合理设置码垛的形状和大小,可以减少机器人在搬运过程中的运动时间,从而提高整体效率。

2.节省空间:码垛摆放方式可以有效利用仓库空间,减少货物摆放所需的面积。

3.便于管理:码垛编程使得货物摆放更加规范,便于仓库管理和查找。

码垛编程在以下场景中有广泛应用:
1.仓库货物搬运;
2.生产线上的物料配送;
3.物流中心的货物分拣等。

abb机器人搬运码垛程序

abb机器人搬运码垛程序

abb搬运码垛程序目录:1、简介2、系统硬件2.12.2 码垛工作台3、系统软件3.1 ABB RobotStudio3.2 码垛程序4、编程步骤4.1 创建工作目录4.2 连接4.3 创建码垛程序4.4 算法设计4.5 编写程序代码4.6 调试程序5、运行程序6、附件1、简介:本文档将介绍ABB在搬运和码垛任务中的程序开发方法。

通过使用ABB RobotStudio软件,结合和码垛工作台的硬件设备,可以实现自动化的搬运码垛操作。

2、系统硬件:2.1 :- 品牌:ABB- 型号:- 功能:搬运和码垛任务2.2 码垛工作台:- 品牌:- 型号:- 功能:提供码垛操作的工作平台,包括传送带、传感器等附件3、系统软件:3.1 ABB RobotStudio:- 版本:- 功能:用于程序的开发、调试和仿真3.2 码垛程序:- 开发环境:ABB RobotStudio- 功能:实现在搬运和码垛任务中的运动控制和路径规划4、编程步骤:4.1 创建工作目录:- 在ABB RobotStudio中创建新的工作目录,用于存放码垛程序和相关文件4.2 连接:- 使用ABB RobotStudio中的连接功能,将开发环境与实际的进行连接4.3 创建码垛程序:- 在工作目录中创建新的码垛程序- 设定的起始位置和姿态- 设置码垛工作台的位置和尺寸参数4.4 算法设计:- 根据具体的码垛任务需求,设计相应的算法- 包括货物识别、路径规划、运动控制等方面的算法设计4.5 编写程序代码:- 使用ABB RobotStudio提供的编程语言,编写的运动控制和路径规划代码- 根据算法设计的结果,将相应的命令和参数写入程序4.6 调试程序:- 在ABB RobotStudio中进行程序的调试和仿真- 检查程序的正确性和稳定性,进行必要的修改和优化5、运行程序:- 将调试好的程序至实际的系统- 配置工作环境,包括码垛工作台的准备、传感器的调整等 - 运行程序,观察的运动和码垛任务的执行情况6、附件:本文档涉及的附件包括:- ABB RobotStudio软件安装包- 和码垛工作台的规格参数文档 - 码垛程序源代码文件- 算法设计文档和相关说明7、法律名词及注释:(待补充)。

码垛机器人操作规程

码垛机器人操作规程

码垛机器人操作规程
《码垛机器人操作规程》
一、操作规程概述
码垛机器人是一种自动化装配设备,用于对物料进行堆叠、拆叠、转移等操作。

为了保证码垛机器人的安全运行和正常操作,特制定本操作规程。

二、操作人员要求
1. 必须经过专业培训,并取得相关证书;
2. 操作人员必须具备一定的机械操作知识和维修常识;
3. 严禁未经授权的人员进行操作。

三、操作规程
1. 在进行操作之前,必须对机器人的设备进行全面检查,确保各项功能运行正常;
2. 操作人员必须穿戴符合安全标准的工作服和防护用具;
3. 确保码垛机器人工作区域的周围没有障碍物,以免影响操作;
4. 在进行物料堆叠时,必须按照设定的堆叠高度和堆叠方式进行操作;
5. 操作人员应随时关注机器人的运行状态,如发现异常情况应及时停机并报告维修人员进行处理;
6. 操作结束后,必须对机器人进行清洁和维护。

四、安全注意事项
1. 严禁将手或其他部位伸入运行中的机器人工作区域;
2. 禁止将非指定物料放入机器人进行操作;
3. 发现故障时,应及时通知维修人员进行处理,不得私自尝试修理;
4. 操作人员必须按照相关标识和操作规程进行工作,不得擅自更改设备的操作程序。

五、操作规程违规处理
对于违反《码垛机器人操作规程》的行为,将进行相应的纪律处罚,严重者将追究法律责任。

六、规程修改
本操作规程如有更新或修改,应及时通知相关操作人员,并进行相应的培训和考核。

以上是《码垛机器人操作规程》的具体内容,操作人员必须严格遵守此规程,确保码垛机器人的安全运行和正常操作。

爱斯盾机器人码垛机调试教程

爱斯盾机器人码垛机调试教程

爱斯盾机器人码垛机调试教程
码垛机器人是一种高新的技术产品,能够随时的调整码垛机的程序,完成带有包装物品的码垛工作。

码垛机的电力耗费小,它能够依据请求使垛形更严密划一,下面就来看看它的主要特性有哪些吧。

机器人码垛机主要特性有节能、操作简单、传动效率高、牢靠等。

节能性能:机器人部件装置在本体底座上,轻盈坚固的手臂,耗电量少,节能环保。

操作性能简单。

只要设定抓取点与托盘位置,每一步的空间轨迹与放置位置由机器人自动计算构成。

对实践码垛位置的修正调整简单,用户能够直接在触摸屏上完成。

在产品更改后,只要在现场触摸屏上输入新产品数据,即可停止便当。

机械构造:思索到码垛的特征的连杆机构,零部件点树少,传动效率高,才能好。

运动特性:直线方向的运动只需1个电机驱动,码垛效果好,空间动作范围明了,防备好。

牢靠性:大局部零件集中在底座四周,在高速运转的状况下,整体牢靠性高。

维护的烦琐性:采用直线导轨、滚珠丝杆、皮带轮等大量的规范元件,采购以及改换简双方便。

3年之内只需添加光滑脂,无需改换部件。

示教操作:示教器按钮简约易懂,菜单界面简单明了,操作便当。

抓手方式:量身制造,夹持产品稳定。

两侧夹持,再加上底部支撑,确保通知状况下万无一失。

码垛机操作说明

码垛机操作说明

一、机械手自动状态的操作1. 开启机器人电源,成功启动后,将机器人控制柜上的两位旋钮切换至再现模式(亦可称为自动),显示如上画面;2. 将示教器上的示教锁两位旋钮切换至“OFF ”位置;3. 选择步骤:在触摸屏面板上点击机器人程序复位按钮;亦可在示教器点击步骤数位置,弹出步骤操作下拉菜单,键盘输入“1”,按登陆;4. 调整再现速度:点击7.再现速度,弹出下拉菜单,光标选中“+10%”或“-10%”按登陆;5. A 和运行同时按住将开启运行状态,示教器上的2.运行指示会被点亮,停止只需按下示教器上的暂停键即可;建议:当天第一次开机时,建议先调整在低一点的码垛速度(7.再现速度),等码完一托盘无问题后,再恢复至高速。

注意:步骤选择到1,无论如何都会从第1层开始码垛,而不受接口面板里“层数”的影响。

选择其他的步骤,将导致不可控的情况出现!!!7.再现速度9.错误显示 5.程序名6.步骤 1.运行模式3.马达 2.运行4.循环二、生产线启动操作1.检查气源、电源等都已经准备好;2.确保机械手在抓取位短距离附近;3.机械手按上一步的自动操作步骤准备完成;4.将操作面板上的旋钮打到自动位置;5.6.进箱数和转箱数显示都为0;7.8.9.错误显示区域,根据提示操作后,重新启动机器人;附:机器人自动运行(即机器人按钮灯)条件:1.再现模式2.示教锁关3.运行状态4.循环启动5.步骤连续6.再现连续7.解除干运行9.按钮灯点亮;若没有点亮,检查错误并重新启动;10.11.停止的办法,按照相反的顺序执行,托盘输送也可在任意时间停止,不必按照顺序执行;12.三、码垛机手动操作8.手动速度1.开启机器人电源,成功启动后,将机器人电源柜上的两位旋钮切换至示教模式(亦可称为手动),显示如上画面;2.将示教器上的示教锁切换至“ON”位置;3.同时按住A和运行将开启运行状态,同时示教器上的2.运行指示会被点亮,停止只需按下示教器上的暂停键即可;4.同时按住A 和马达开将开启马达,同时示教器上的3.马达指示会被点亮;5.用手动速度按键,将8.手动速度选择至合适的速度,一般建议为3。

KUKA机器人码垛程序怎么写(案例)

KUKA机器人码垛程序怎么写(案例)

kuka机器人码垛编程网盘_KUKA机器人码垛程序怎么写(案例)KUKA机器人码垛程序怎么写(案例)Cell.src为主程序,与PLC通讯调用其他子程序。

正常工作前,应先手动回到Home位,选定cell.src,再将模式切换为EXT—AUTO。

t.src为回home 位程序,自编。

TREATMENT_PIECE.src为工件型号处理程序,里面有TREATMENT_PIECE和TREATMENT_PIECE2,意思是有2种类型的工件,目前我们生产的只用**种,TREATMENT_PIECE2暂时可以不考虑,如果以后工件换型要用到就稍加调整,步骤与TREATMENT_PIECE功能一样。

下面PICK_UP和PICK_UP2同理。

工件型号处理调用程序,调用顺序如下:DEF TREATMENT_PIECE()INI$OUT[183]=FALSE ///循环开始$OUT[182]=FALSE ///放料工件为0$OUT[179]=FALSE ///IFW位置为0$OUT[180]=FALSE ///面罩位置为0$OUT[181]=FALSE ///吹洗位置为0$OUT[184]=FALSE ///机械手夹爪工件为0PICK_UP() ///抓料程序SCROLL_DOWN() ///抖料程序IFW_TANK() ///IFW冲洗程序PIN_POINT() ///面罩冲洗程序BLOWING() ///吹洗程序DEPOSIT() ///放料程序END**步:PICK_UP.src 机械手抓料程序DEF PICK_UP() ///定义程序名INI ///定义变量PTP HOME Vel= 100 % DEFAULT ///回到home点$OUT[183]=FALSE ///循环开始$OUT[182]=FALSE ///工件放料位为0$OUT[179]=FALSE ///IFW位置为0$OUT[180]=FALSE ///面罩位置为0$OUT[181]=FALSE ///吹洗位置为0$OUT[184]=FALSE ///夹爪为0SET GRP 1 State=OPN CONT at START Delay=0ms ///夹爪打开TRIGGERWHENDISTANCE=0 DELAY=0 DO H50(GRP_APO,1,1,GCONT)PRIO=-1;VADO SOTTO AL PEZZO ALCARICO;GO UNDER PART LOAD ///进入工件加载LIN P1 Vel=0.1 m/s CPDAT1 Tool[1] Base[0] ///关键点:工件下面位置1,每次修改的**个主要位置LIN P5 Vel=0.1 m/s CPDAT4 Tool[1] Base[0] ///位置1到位后上升进入定位销位置2SET GRP 1 State=CLO CONT at START Delay=0ms ///夹爪夹紧LIN P6 Vel=0.1 m/s CPDAT5 Tool[1] Base[0] ///位置2顶起来后驶出位置3;ESCO DAI RULLI;GO OUT BY ROLLER ///驶出轨道LIN P3 Vel=0.09 m/s CPDAT3 Tool[1] Base[0] ///驶出位置,不用改$OUT[184]=TRUE ///机器人抓料位置为1PTP P4 Vel=100 % PDAT2 Tool[1] Base[0] ///驶出位置,不用改END第二步:SCROLL_DOWN.src 抖料位置程序DEF SCROLL_DOWN() ///这步精度不高*简单,只要不撞合适就行。

《工业机器人工作站系统组建(活页式教材)》电子教案 3.4码垛工作站控制系统编程与调试

《工业机器人工作站系统组建(活页式教材)》电子教案 3.4码垛工作站控制系统编程与调试
工业机器人码垛 工作站系统组建
任务4 码垛工作站控制系统编程 与调试
1 任务描述 2 学习目标 3 任务实施
目录
CONTENTS
01 任 务 描 述
任务描述
任务描述:
使用PROFIBUS DP电缆连接PLC与工业机器人,进行PLC端的IO分配,编写 PLC控制程序并对搬运工作站进行整机调试。
教师评分
02 学 习 目 标
学习目标
学前准备: 1.准备FANUC工业机器人说明书、西门子PLC编程说明书 2.了解工业机器人安全操作事项
学习目标: 1.学会使用PROFIBUS DP电缆连接设备。 2.学会如何通过PROFIBUS DP实现PLC与机器人的通讯控制。
03 任 务 实 施
Байду номын сангаас
任务实施
任务评价:PLC编程与调试操作评分。
序号 1 2 3
4
考核要点 职业素养 IO接线 机器人码垛程序运行
PLC程序编写及验证
项目(配分100分) 工位保持清洁,物品整齐(2) 着装规范整洁,佩戴安全帽(3) 操作规范,爱护设备(5) 接线正确(10) 接线符合工艺要求(10) 机器人正确吸持工件(10) 机器人正确放置工件(10) 机器人运行轨迹正确,无碰撞(10) 完成任务后机器人回工作原点(10) 机器人程序编写符合规范要求(5) 程序编写完整(5) 正确下载(5) 能监控信号(5) 能触发机器人工作(10) 得分

Abb机器人调试步骤

Abb机器人调试步骤

2015年 03 月 31 日实施Q/RT 20002-2004ABB 机器人调试规范武汉人天包装技术有限公司 发布前言为了培养和加强设计人员、现场安调人员对ABB机器人知识的了解和熟悉,规范安调人员对ABB机器人的调整,特编写《ABB机器人调试规范》。

本标准起草单位:人天公司电气所。

本标准主要起草人: 朱学建。

目录序言............................................................................................................................................................一、安装机器人 ........................................................................................................................................1-1 ABB机器人控制柜1-1-1控制柜的安装21-1-2控制柜的构造1-2机器人本体1-3机器人本体与控制柜的连接二、认识机器人 ........................................................................................................................................三、序列号恢复的运用 ............................................................................................................................四、ABB机器人的基础操作...................................................................................................................4-1语言设置4-2备份与恢复4-2-1备份4-2-2恢复44-3手动机器人4-4校准五、系统I/O配置及接线.........................................................................................................................六、检查信号............................................................................................................................................七、导入程序............................................................................................................................................八、工件坐标系设定 ................................................................................................................................九、校基准点 (49)十、调整参数............................................................................................................................................10-1 微调纸箱的长宽高10-2修改已经码放的纸箱数量710-3微调抓取位置10-4微调码垛摆放位置十一、手动调试 ........................................................................................................................................十二、自动运行 ........................................................................................................................................十三、注意事项 ........................................................................................................................................序言本手册主要针对ABB关节机器人在码垛生产线运用的调试。

安川码垛变量设置

安川码垛变量设置

安川码垛变量设置安川码垛变量设置是指在安川机器人进行码垛操作时,对于相关参数的设定和调整。

这些参数可以影响到码垛过程的速度、准确性和稳定性。

下面是一些参考内容,帮助用户进行安川码垛变量设置。

1. 速度参数设置:安川码垛操作中,机器人的移动速度是一个重要的参数。

根据实际情况,可以设置机器人的移动速度,使其能够快速而准确地将货物码垛到指定位置。

一般来说,速度设置越高,机器人的移动速度越快,但是也需要考虑到机器人的安全性和稳定性。

可以根据实际情况进行调整。

2. 加速度参数设置:加速度参数是指机器人在启动和停止过程中的加速度。

合理设置加速度参数可以减少机器人在码垛过程中的震动和摆动,提高整个码垛过程的稳定性。

同时,也可以根据具体情况,设置合适的加速度参数,以达到工作效率和质量的平衡。

3. 负载参数设置:安川机器人在进行码垛操作时,会受到负载的影响。

负载参数的设置是为了提高机器人的稳定性和准确性。

一般来说,负载参数的设置需要根据具体的货物重量进行调整。

如果负载参数设置不合理,可能会导致机器人在码垛过程中出现问题,甚至造成机器人损坏。

4. 末端速度设置:末端速度参数是指机器人末端执行机构的速度设置。

通过合理设置末端速度参数,可以使机器人末端执行机构在码垛过程中的移动速度达到最佳状态。

一般来说,末端速度设置较高可以提高机器人的工作效率,但也要考虑到机器人的稳定性和安全性。

5. 位置偏差设置:在码垛过程中,安川机器人需要将货物准确地码放到指定位置。

通过设置合适的位置偏差参数,可以使机器人在码垛过程中能够精确控制位置,减少误差。

一般来说,位置偏差设置越小,码垛的精度越高,但也需要根据实际情况进行设定。

总结起来,安川码垛变量设置是码垛操作中一项非常重要的工作,合理设置这些参数可以提高机器人的工作效率和稳定性。

对于不同的应用场景和工作要求,需要根据具体情况进行调整。

通过对这些参数的合理设定,可以使安川机器人能够更好地完成码垛任务。

川崎机器人案例码垛程序说明

川崎机器人案例码垛程序说明

码垛程序一般常见语言说明●SPEED/SP 速度ALWAYS指定下一条动作命令的运动速度,若追加ALWAYS则此命令指定的速度值将持续到执行下一条SPEED命令为止。

程序速度通常以百分比(0.01%~100%)指定,也可以通过指定速度单位MM/S(毫米/秒)或MM/MIN(毫米/分)来指定绝对速度。

示例:SPEED 50 将下一条运动的速度指定为最大速度的50%SPEED 100 将下一条运动的速度指定为最大速度SPEED 200 将下一条运动的速度指定为最大速度(速度超过100%时被看作为100%)SPEED 20MM/S ALWAYS 工具坐标系原点的速度被指定为20MM/S,直到它被另一SPEED命令改变。

SPEED 6000MM/MIN 将下一条运动中工具坐标系原点的速度被指定为6000MM/MINSPEED 5S 设定下一条机器人运动的速度,使其在5S中到达SPEED 100MM/S,50 指定下一条运动的速度。

到达目标位姿所需时间长者优先●ACCURACY/ACCU 距离ALWAYS指定下一条动作命令中判断机器人位姿时的精度,若追加ALWAYS则此命令指定的精度值将持续到执行下一条ACCURACY命令为止。

其中参数距离的单位为毫米。

示例:ACCURACY 50 ALWAYS 将所有后继运动命令的精度范围设定为50毫米。

●BREAK/BRE暂停程序中的下一步骤的执行,直到当前机器人运动完成后再继续。

示例:……LMOVE aBREAKSIGNAL 9……上述命令当机器人移动到a点时,输出外部信号9为ON。

如果去掉BREAK命令,则有可能机器人在向a点运动的过程中(未达到a点时),提前输出外部信号9。

●JMOVE/JM 位姿变量LMOVE/LM 位姿变量移动机器人到指定位姿JMOVE:机器人以关节插补动作移动LMOVE:机器人以直线插补动作移动示例:JMOVE #pick 以关节插补移动到关节位移值“#pick”描述的位姿。

机器人码垛程序实例

机器人码垛程序实例

机器人码垛程序实例简介机器人码垛程序是指通过使用计算机编程和自动化设备,实现对产品进行堆叠和码垛的过程。

这种程序可以大幅提高生产效率和减少人力资源的需求。

在现代制造业中,机器人码垛程序已经成为一种常见的解决方案。

本文将介绍机器人码垛程序的工作原理、应用领域、编写步骤以及相关技术要点。

工作原理机器人码垛程序通常由以下几个关键组件组成:1.传感器:用于检测产品位置、姿态和尺寸等信息。

2.控制系统:负责接收传感器数据,并根据预设的算法控制机械臂进行操作。

3.机械臂:用于抓取、移动和放置产品。

4.编程界面:提供给操作员进行编程和监控。

工作流程如下:1.检测传感器读取产品信息,包括位置、姿态和尺寸等。

2.控制系统根据传感器数据计算出最佳的抓取点和路径。

3.机械臂根据控制系统发送的指令进行抓取、移动和放置操作。

4.重复执行步骤1至3,直到所有产品码垛完成。

应用领域机器人码垛程序广泛应用于各种生产线上,特别是需要大量重复性堆叠和码垛操作的行业,如物流、电子、食品等。

以下是一些常见的应用场景:1.仓储物流:机器人码垛程序可以自动将货物从传送带或货架上抓取,并按照预设的规则进行堆叠和码垛。

这样可以大幅提高仓库的处理能力和减少人力成本。

2.生产线:在生产线上,机器人码垛程序可以将制造出来的产品按照指定的方式堆叠起来,以便后续包装和运输。

这种自动化过程可以提高生产效率和质量控制。

3.食品加工:在食品加工行业中,机器人码垛程序可以将包装好的食品产品进行堆叠和码垛。

这样既提高了生产效率,也确保了产品的卫生安全。

编写步骤编写机器人码垛程序需要以下几个步骤:1.确定需求:首先需要明确需要进行码垛的产品类型、尺寸和堆叠规则等。

这些信息将决定后续编程和机械臂的设计。

2.设计机械臂:根据产品的尺寸和堆叠规则,设计机械臂的抓取器和运动轨迹。

确保机械臂能够准确抓取和放置产品。

3.编写控制程序:使用编程语言(如C++、Python等)编写控制程序,实现传感器数据处理、路径规划和机械臂控制等功能。

机器人码垛调试程序.

机器人码垛调试程序.

PROC main(Label1:Inital;WHILETRUEDOPick;Pallet;IF pndi13_diection_selet = 1 THENPallet;ELSEPallet_vert;ENDIFIF nCount = Totality THEN MoveLpHome, v800, fine, tool0;PulseDO\PLength:=1, pndo10_palletOK_part; IF pndi12_palletOK_all = 1 THEN PulseDO\PLength:=1, pndo11_palletOK_all; Stop;ENDIFGOTO Label1;ENDIFENDWHILEENDPROCPROC Inital(MoveJpHome, v600, fine, tool0; Totality :=n_Totality;Row :=n_Row;Height := 1;Y := 1;H1 := 1;H2 := 1;nCount := 0;PulseDO\PLength:=0.5, do00_tuici; Reset do00_tuici;Reset do01_shangci;Reset pndo09_pick_ok;Reset pndo10_palletOK_part; Reset pndo11_palletOK_all; ENDPROCPROC Pallet(MoveL pPlace_safe10, v600, z100, tool0;MoveJ pPlace_safe30, v600, z100, tool0;pPlace := pPlace_base;IF Height MOD 2 = 1 THENpPlace := Offs(pPlace,X_offser,Y_offser - (Y - 1 * 61,Z_offser + (H1 -1 * 28;ELSEpPlace := Offs(pPlace,X_offser,Y_offser + 15 - (Y - 1 * 61,Z_offser + (H2 - 1 * 26; ENDIFMoveLOffs(pPlace,0,0,50, v300, fine, tool0\WObj:=wobj_place; MoveLpPlace, v20, fine, tool0\WObj:=wobj_place;PulseDO\PLength:=1, do00_tuici;WaitTime 1;WaitDI di01_tuici_OK, 1;MoveLOffs(pPlace,0,0,300, v300, z30, tool0\WObj:=wobj_place;MoveL pPlace_safe30, v600, z50, tool0;IncrnCount;IF Y = Row THENY := 0;Incr Height;IF Height MOD 2 = 1 THENIncr H1;ELSEIncr H2;ENDIFENDIFIncr Y;ENDPROCPROC Pallet_vert(MoveL pPlace_safe100, v600, z100, tool0;MoveJ pPlace_safe110, v600, z100, tool0;MoveJ pPlace_base2, v50, fine, tool0\WObj:=wobj_place;pPlace := place_base2;IF Height MOD 2 = 1 THENpPlace := Offs(pPlace,X_offser,Y_offser - (Y - 1 * 61,Z_offser + (H1 - 1 * 28; ELSEpPlace := Offs(pPlace,X_offser,Y_offser + 15 - (Y - 1 * 61,Z_offser + (H2 - 1 * 26;ENDIFMoveLOffs(pPlace,0,0,50, v300, fine, tool0\WObj:=wobj_place; MoveLpPlace, v20, fine, tool0\WObj:=wobj_place;PulseDO\PLength:=1, do00_tuici;WaitTime 1;WaitDI di01_tuici_OK, 1;MoveLOffs(pPlace,0,0,300, v300, z30, tool0\WObj:=wobj_place; MoveL pPlace_safe30, v600, z50, tool0;IncrnCount;IF Y = Row THENY := 0;Incr Height;IF Height MOD 2 = 1 THENIncr H1;ELSEIncr H2;ENDIFENDIFIncr Y;ENDPROCPROC Pick(MoveJ p10, v600, fine, tool0;WaitDI pndi09_can_pick, 1;MoveLpPick_base, v20, fine, tool0\WObj:=wobj0;pPick := pPick_base;pPick := Offs(pPick,0,-L_offser / 2,0;MoveLOffs(pPick,0,0,70, v200, fine, tool0\WObj:=wobj0; IF Height MOD 2 = 1 THENMoveLpPick, v20, fine, tool0\WObj:=wobj0;ELSEMoveLOffs(pPick,0,0,15, v20, fine, tool0\WObj:=wobj0; ENDIFPulseDO\PLength:=1, do01_shangci;WaitDI di02_shangci_OK, 1;MoveLOffs(pPick,0,0,100, v150, z50, tool0\WObj:=wobj0; MoveLOffs(pPick,0,0,400, v400, z50, tool0\WObj:=wobj0; PulseDO\PLength:=1, pndo09_pick_ok;ENDPROCPROC wobj_place0(MoveL p_x1, v20, fine, tool0;MoveL p_x2, v20, fine, tool0;MoveLp_y, v20, fine, tool0;ENDPROCPROC set_home(WZSphDef\Inside, shape1, home_C1, 100;WZDOSet\Temp, home_wz\Before, shape1, pndo07_home, 1; ENDPROC PROC ppp(IDelete intno1;CONNECT intno1 WITH kkk;ISignalDI\Single, di01_tuici_OK, 1, intno1;IWatch intno1;MoveL p30, v100, fine, tool0;MoveL p40, v20, fine, tool0;ENDPROCTRAP kkkStopMove;WaitTime 3;!WaitDI di01_tuici_OK, 0; StartMove;MoveJ p50, v100, fine, tool0; IDelete intno1;ENDTRAP ENDMODULE。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PROC main(
Label1:
Inital;
WHILETRUEDO
Pick;
Pallet;
IF pndi13_diection_selet = 1 THEN
Pallet;
ELSE
Pallet_vert;
ENDIF
IF nCount = Totality THEN MoveLpHome, v800, fine, tool0;
PulseDO\PLength:=1, pndo10_palletOK_part; IF pndi12_palletOK_all = 1 THEN PulseDO\PLength:=1, pndo11_palletOK_all; Stop;
ENDIF
GOTO Label1;
ENDIF
ENDWHILE
ENDPROC
PROC Inital(
MoveJpHome, v600, fine, tool0; Totality :=n_Totality;
Row :=n_Row;
Height := 1;
Y := 1;
H1 := 1;
H2 := 1;
nCount := 0;
PulseDO\PLength:=0.5, do00_tuici; Reset do00_tuici;
Reset do01_shangci;
Reset pndo09_pick_ok;
Reset pndo10_palletOK_part; Reset pndo11_palletOK_all; ENDPROC
PROC Pallet(
MoveL pPlace_safe10, v600, z100, tool0;
MoveJ pPlace_safe30, v600, z100, tool0;
pPlace := pPlace_base;
IF Height MOD 2 = 1 THEN
pPlace := Offs(pPlace,X_offser,Y_offser - (Y - 1 * 61,Z_offser + (H1 -
1 * 28;
ELSE
pPlace := Offs(pPlace,X_offser,Y_offser + 15 - (Y - 1 * 61,Z_offser + (H2 - 1 * 26; ENDIF
MoveLOffs(pPlace,0,0,50, v300, fine, tool0\WObj:=wobj_place; MoveLpPlace, v20, fine, tool0\WObj:=wobj_place;
PulseDO\PLength:=1, do00_tuici;
WaitTime 1;
WaitDI di01_tuici_OK, 1;
MoveLOffs(pPlace,0,0,300, v300, z30, tool0\WObj:=wobj_place;
MoveL pPlace_safe30, v600, z50, tool0;
IncrnCount;
IF Y = Row THEN
Y := 0;
Incr Height;
IF Height MOD 2 = 1 THEN
Incr H1;
ELSE
Incr H2;
ENDIF
ENDIF
Incr Y;
ENDPROC
PROC Pallet_vert(
MoveL pPlace_safe100, v600, z100, tool0;
MoveJ pPlace_safe110, v600, z100, tool0;
MoveJ pPlace_base2, v50, fine, tool0\WObj:=wobj_place;
pPlace := place_base2;
IF Height MOD 2 = 1 THEN
pPlace := Offs(pPlace,X_offser,Y_offser - (Y - 1 * 61,Z_offser + (H1 - 1 * 28; ELSE
pPlace := Offs(pPlace,X_offser,Y_offser + 15 - (Y - 1 * 61,Z_offser + (H2 - 1 * 26;
ENDIF
MoveLOffs(pPlace,0,0,50, v300, fine, tool0\WObj:=wobj_place; MoveLpPlace, v20, fine, tool0\WObj:=wobj_place;
PulseDO\PLength:=1, do00_tuici;
WaitTime 1;
WaitDI di01_tuici_OK, 1;
MoveLOffs(pPlace,0,0,300, v300, z30, tool0\WObj:=wobj_place; MoveL pPlace_safe30, v600, z50, tool0;
IncrnCount;
IF Y = Row THEN
Y := 0;
Incr Height;
IF Height MOD 2 = 1 THEN
Incr H1;
ELSE
Incr H2;
ENDIF
ENDIF
Incr Y;
ENDPROC
PROC Pick(
MoveJ p10, v600, fine, tool0;
WaitDI pndi09_can_pick, 1;
MoveLpPick_base, v20, fine, tool0\WObj:=wobj0;
pPick := pPick_base;
pPick := Offs(pPick,0,-L_offser / 2,0;
MoveLOffs(pPick,0,0,70, v200, fine, tool0\WObj:=wobj0; IF Height MOD 2 = 1 THEN
MoveLpPick, v20, fine, tool0\WObj:=wobj0;
ELSE
MoveLOffs(pPick,0,0,15, v20, fine, tool0\WObj:=wobj0; ENDIF
PulseDO\PLength:=1, do01_shangci;
WaitDI di02_shangci_OK, 1;
MoveLOffs(pPick,0,0,100, v150, z50, tool0\WObj:=wobj0; MoveLOffs(pPick,0,0,400, v400, z50, tool0\WObj:=wobj0; PulseDO\PLength:=1, pndo09_pick_ok;
ENDPROC
PROC wobj_place0(
MoveL p_x1, v20, fine, tool0;
MoveL p_x2, v20, fine, tool0;
MoveLp_y, v20, fine, tool0;
ENDPROC
PROC set_home(
WZSphDef\Inside, shape1, home_C1, 100;
WZDOSet\Temp, home_wz\Before, shape1, pndo07_home, 1; ENDPROC PROC ppp(
IDelete intno1;
CONNECT intno1 WITH kkk;
ISignalDI\Single, di01_tuici_OK, 1, intno1;
IWatch intno1;
MoveL p30, v100, fine, tool0;
MoveL p40, v20, fine, tool0;
ENDPROC
TRAP kkk
StopMove;
WaitTime 3;
!WaitDI di01_tuici_OK, 0; StartMove;
MoveJ p50, v100, fine, tool0; IDelete intno1;
ENDTRAP ENDMODULE。

相关文档
最新文档