当前位置:文档之家› 码垛机器人程序代码

码垛机器人程序代码

码垛机器人程序代码
码垛机器人程序代码

码垛机器人程序代码

MODULE Module_stacking

VAR num DN250:=0;

VAR num DN300:=0;

VAR num DN350:=0;

VAR num DN400:=0;

VAR num DN450:=0;

VAR num DN500:=0;

VAR num DN600:=0;

VAR num DN700:=0;

VAR num DN750:=0;

VAR num DN800:=0;

VAR num DN900:=0;

VAR num DN1000:=0;

VAR num singlelaxxxxyer_250:=4; VAR num singlelaxxxxyer_300:=4; VAR num singlelaxxxxyer_350:=3; VAR num singlelaxxxxyer_400:=3; VAR num singlelaxxxxyer_450:=3; VAR num singlelaxxxxyer_500:=4; VAR num singlelaxxxxyer_600:=2; VAR num singlelaxxxxyer_700:=2; VAR num singlelaxxxxyer_750:=1; VAR num singlelaxxxxyer_800:=1; VAR num singlelaxxxxyer_900:=1; VAR num singlelaxxxxyer_1000:=1; !..............................

VAR num Totallaxxxxyer_L_250:=5; VAR num Totallaxxxxyer_L_300:=5; VAR num Totallaxxxxyer_L_350:=5;

VAR num Totallaxxxxyer_L_400:=5; VAR num Totallaxxxxyer_L_450:=4; VAR num Totallaxxxxyer_L_500:=4; VAR num Totallaxxxxyer_L_600:=4; VAR num Totallaxxxxyer_L_700:=4; VAR num Totallaxxxxyer_L_750:=4; VAR num Totallaxxxxyer_L_800:=4; VAR num Totallaxxxxyer_L_900:=4; VAR num Totallaxxxxyer_L_1000:=4; !..............................

VAR num Totallaxxxxyer_R_250:=5; VAR num Totallaxxxxyer_R_300:=5; VAR num Totallaxxxxyer_R_350:=5; VAR num Totallaxxxxyer_R_400:=5; VAR num Totallaxxxxyer_R_450:=4; VAR num Totallaxxxxyer_R_500:=4; VAR num Totallaxxxxyer_R_600:=4; VAR num Totallaxxxxyer_R_700:=4; VAR num Totallaxxxxyer_R_750:=4; VAR num Totallaxxxxyer_R_800:=4; VAR num Totallaxxxxyer_R_900:=4; VAR num Totallaxxxxyer_R_1000:=4;

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

VAR bool One_number:=true; VAR bool two_number:=true;

VAR num products_num:=0;

VAR num One_num:=1;

VAR num two_num:=1;

PERS num nCouny_L:=0;

PERS num nCouny_R:=0;

PERS num nPickH:=500;

PERS num nPlaceh:=500;

PERS bool bPallet_L:=FALSE; PERS intnum INTN1;

VAR intnum intno1:=0;

VAR intnum intno2:=0;

!!!!!!!!!!!!!!!

VAR bool flag1:=FALSE;

VAR bool flag2:=FALSE;

VAR bool flag3:=FALSE;

VAR bool flag4:=FALSE;

VAR bool flag5:=FALSE;

VAR bool flag6:=FALSE;

VAR bool flag7:=FALSE;

VAR bool flag8:=FALSE;

VAR bool flag9:=FALSE;

VAR bool lock1:=true;

VAR bool DI7_2UP_Down1:=FALSE; VAR bool DI4_1UP_Down1:=FALSE; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

! CHAN PIN ZHONG XIN JU!

var num Line_1_array:=0;

var num Line_2_array:=0;

var num Line_Distance250 :=430;

var num Line_Distance300 :=550;

var num Line_Distance350 :=430;

var num Line_Distance400 :=0;

var num Line_Distance450 :=600;

var num Line_Distance500 :=430;

var num Line_Distance600 :=430;

var num Line_Distance700 :=430;

var num Line_Distance750 :=430;

var num Line_Distance800 :=430;

var num Line_Distance900 :=430;

var num Line_Distance1000 :=430;

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!FANG ZHI DIAN WEI!

!!!!!!!!!!!!!!!!!!!!!!!!!

CONST speeddata speed1:=[100050050001000]; CONST speeddata speed2:=[50050010001000]; CONST speeddata speed3:=[30050050001000];

PROC main()

rInitAll;

MoveJ HOMEspeed1z100GripperTool1\WObj:=wobj0; WHILE TRUE DO

DI7_DI4_INTERRUPT;

option_program;

stacking_program;

ENDWHILE

ENDPROC

PROC option_program()

IF DI10_3num=1 AND DI11_7num=1 AND DI12_5num=1 AND DI13_6num=1 THEN DN600:=21;

flag1:=TRUE;

flag4:=TRUE;

TPWrite "DN600";

ELSE

DN600:=0;

flag1:=False;

flag4:=False;

endif

IF DI10_3num=1 AND DI11_7num=1 AND DI12_5num=1 and flag1=FALSE THEN DN500:=15;

flag2:=TRUE;

flag4:=TRUE;

TPWrite "DN500";

ELSE

flag2:=False;

flag4:=False;

DN500:=0;

endif

!....................

IF DI11_7num=1 AND DI12_5num=1 AND flag1=FALSE AND flag2=FALSE THEN DN1000:=12;

flag9:=TRUE;

TPWrite "DN1000";

ELSE

DN1000:=0;

flag9:=False;

endif

!....................

IF DI12_5num=1 AND DI13_6num=1 AND flag1=FALSE THEN

DN900:=11;

flag4:=TRUE;

flag8:=TRUE;

TPWrite "DN900";

ELSE

DN900:=0;

flag4:=False;

endif

!..............

IF DI11_7num=1 AND DI13_6num=1 and flag1=False THEN

DN800:=13;

flag4:=TRUE;

flag7:=TRUE;

TPWrite "DN800";

ELSE

DN800:=0;

flag4:=False;

flag7:=False;

endif

IF DI10_3num=1 AND DI13_6num=1 AND flag1=false THEN

DN750:=9;

flag6:=TRUE;

flag4:=TRUE;

TPWrite "DN750";

ELSE

DN750:=0;

flag6:=False;

flag4:=False;

endif

IF DI10_3num=1 AND DI12_5num=1 AND flag1=false AND flag2=false THEN DN700:=8;

flag5:=TRUE;

TPWrite "DN700";

ELSE

DN700:=0;

flag5:=False;

flag4:=False;

endif

IF DI10_3num=1 AND DI11_7num=1 and flag1=FALSE AND flag2=FALSE THEN DN450:=10;

flag4:=TRUE;

TPWrite "DN450";

ELSE

DN450:=0;

flag4:=False;

endif

IF DI13_6num=1 AND flag4=FALSE AND flag2=FALSE and flag1=FALSE AND flag6=False AND flag7=False AND flag8=False THEN

DN400:=6;

TPWrite "DN400";

ELSE

DN400:=0;

endif

机器人码垛机操作规程

机器人码垛机操作规程 5内容 5.1要求 5.1.1未接受岗前培训,不熟悉安全注意事项的人员不得操作本生产线。 5.1.2操作人员必须留短发或将长发盘起,服装与鞋帽应便于工作。在进行检测或维护时必须戴安全帽穿 绝缘鞋。 5.1.3启动设备之前,须确认没有人员在设备运行区域内,当操作者超过一个人时,须在与其他操作者取 得一致信息后在启动设备。 5.1.4设备通电、通气后,禁止接触设备的运动件。 5.1.5生产线通电后,禁止任何无关物体进入光电开关的检测范围内,禁止任何无关金属物体靠近接近开 关。 5.1.6生产线正在运行时,禁止进入危险区域或跨越设备。 5.1.7禁止无关人员修改控制柜内接线、 PLC 程序、变频器的设定参数。 5.1.8机器运作出现异常时,应立即停机检查。 5.1.9对设备进行润滑、机械调整、检查、维护维修等工作前,须先切断电源、关闭气源,释放气动管路 中的残压,并在电源开关及气源阀门处挂上警示标志。 。 穀袋压 3E 整形及输送a 整形压平机 P 5.]奶粉码垛生产线工艺流程图 料袋輸送及暂存屛 缓停输送机+j

5.3料袋输送 5.3.1上游输送来的料袋经立袋、倒袋、斜坡、弯道、皮带输送机输送至辊道输送机。 532在倒带输送机的入口处有一个光电开关,用于配合倒带的动作,即当料袋离开倒带光电后,倒袋机 构动作,将料袋推倒在斜坡输送机上。通过触摸屏选择,可以设定倒袋时倒袋输送机是否停车。 5.3.3在倒袋输送机入口处有一个选择开关,可以通过“联动” 、“调试”的状态更改,分别对是否使用倒 袋机构进行选择,即“联动”时倒袋机构正常工作、 “调试”时倒袋机构不工作,料袋直接通过倒袋输送 机,输送至生产线外,实现人工码垛功能。 5.4整形输送、缓停输送 541上游输送来的料袋经辊道输送机进入整形压平机压平整形,使包装袋内的物料均衡分布,以利于机 器人码垛。 542在辊道输送机的出口处有一个光电开关,用于控制辊道输送机的动作,即当整形输送机处有一组物 料并且缓停输送机上也有无聊时,如果下一个料袋已到达辊道输送机出口的光电开关处,则辊道输送机停 止输送。 胶块码垛÷j 玛垛机器人4 料袋暂僅,输送心 编组机A 托盘(垛盘)暂存、输送仪

码垛机器人应用程序说明

码垛机器人应用程序说明 一、文件说明 该文件夹下4个主要文件如下: 1. 码垛仿真视频(包含工件).wmv是一层码垛的完整仿真视频, 该视频包含了工 件和传送带运动的仿真。 2. 机器人码垛视频(不含工件).wmv是一层码垛工业机器人的仿真视频,仅包 含机器人运动。 3. Maduohuanjing.rspag是码垛机器人的仿真环境打包文件,读者可在此基础 上进行码垛练习。 4. maduoshili.rspag是一个示例程序,其工作过程如机器人码垛视频(不含 工件).wmv所示。 二、示例程序解析 本示例程序完成的工作过程如下: 机器人上电后, 按下复位按钮, 机器人复位, 复位完成后, 发出复位完成信号。 机器人在接收到启动信号后, 运行到待抓取点, 同时传送带电机工作。当检测到工件到位信号后,机器人抓取工件(运行到抓取 点,气缸夹紧工件),检测到夹紧后,依次进行码垛(运行放置点,放下工件)。 IO信号配置如表1所示。 表 1 IO 信号配置表 Name Type of Signal Assigned to uni Unit mapping 信号注释 Di0 Digital input Board10 0 复位信号 Di1 Digital input Board10 1 启动信号 Di2 Digital input Board10 2 工件到位信号 Di3 Digital input Board10 3 夹紧信号 Di4 Digital input Board10 4 松开信号 Do0 Digital output Board10 32 复位完成信号 Do1 Digital output Board10 33 电机运行信号 Do2 Digital output Board10 34 气缸工作 该程序中,设置了左右2个工件坐标系,通过在1个坐标系下示教定位, 实现另外一个坐标系的定位。参考程序如下。 PROC main() WaitDI di0, 1? MoveJ phome, v1000, z10,tool0? Set do0? WaitDI di1, 1? MoveL p10, v1000, z10,tool0? Set do1? WaitDI di2, 1? MoveL p20, v1000, z10,tool0? Set do2? WaitDI di3, 1?

机器人码垛机操作规程

机器人码垛机操作规程 一、设备操作员 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 ――电源开关打开后灯亮,关闭后灯灭。 USB插孔一一用于程序备份。 电源开关——摇柄往上扳到ON,电源打开;摇柄往下扳到OFF,电源关闭。 2.示教盘 示教盘开关――手动操作时需将此开关调到ON 上。 急停按钮——作用同控制箱面板上的急停按钮。 安全开关——在示教板的背面有两个安全开关,使用示教盘时使

码垛机器人简要教程

码垛机器人简要教程青岛宝佳自动化设备有限公司

码垛机器人简要教程 一、上电 主电器柜上电后,将机器人控制柜上的电源开关由OFF顺时针拨到ON。 二、机器人控制柜上电后,首先观察机器抓手的位置,若是正常工 作突然断电的情况,重新上电,自动状态启动后,机器人会按断电前的工作状态继续工作。若是程序要重新从第0步运行的话,机械手必须位于两个辊道抓取区的位置之一,否则程序无法运行,需手动将抓手运行到位(输出O36或O37亮)。 三、手动将抓手运行到位 将控制柜和示教器上的自动/手动控制开关都打到手动位置, 1、将抓手运行到1#位:手动将抓手运行到1#辊道抓取区上 端,然后调入100#程序,手动运行第3行程序(输出O34亮),然后运行到第5行程序,将抓手运行到位(输出O36亮)。 2、将抓手运行到2#位:手动将抓手运行到2#辊道抓取区上 端,然后调入100#程序,手动运行第7程序(输出O35亮), 然后运行到第9行程序,将抓手运行到位(输出O37亮)。四、退出100#程序。将控制柜和示教器上的自动/手动控制开关都 打到自动位置,调入50#码垛主程序运行。 五、送入托盘、满托盘铲走后、辊道线停止重新启动都需要按绿色

启动按钮码垛才能开始。 六、若是码垛过程中出现特殊情况,急停后,需要手动移动机器手 离开急停时的位置,若还要继续码垛,必须记住急停时抓手所处位置,不能调用100#程序移动抓手,只能用手动方式移动抓手,处理完后,用手动方式将抓手移动到急停时的位置,再转到自动方式继续进行码垛,否则,必须将已码垛托盘铲走(未满托盘,两边托盘都铲走),50#主程序从第0步开始运行,码垛重新开始。 七、通过通用输入信号监视器查看托盘数和托盘检测光电传感器 的信号输入是否正确,检查两个安全光电传感器信号输入是否正确。检查辊道输送线控制触摸屏上的辊道线工作状态及光电传感器的输入信号是否和实际情况正确对应。 八、若抓手抓取工件的基准位置和辊道上端位置变化,首先依次将 抓手移动到四个位置,同时将四个原始位置在100#程序中进行更改,即100#程序的四个轨迹点: 1 Convyer1 upside(输出信号O34)、 2 Convyer1 clamp position(输出信号O36) 3 Convyer2 upside(输出信号O35) 4 Convyer1 clamp position(输出信号O37) 更改保存后,通过100#程序依次运行到4个点,将6个码垛子程序(1、2、3、5、6、7)中相应的轨迹点都进行更改。 若码垛中间过渡点(为防止碰撞辊道设置的轨迹点)需要更改:1#码垛区为5 Convyer1 Outside,将1、2、3三个子程序中相应

机器人码垛机操作规程

机 器 人 码 垛 机 操 作 规 程 5 内容 5.1 要求 5.1.1 未接受岗前培训,不熟悉安全注意事项的人员不得操作本生产线。 5.1.2 操作人员必须留短发或将长发盘起,服装与鞋帽应便于工作。在进行检测或维护时必须戴安全帽穿 绝缘鞋。 5.1.3 启动设备之前,须确认没有人员在设备运行区域内,当操作者超过一个人时,须在与其他操作者取得一致信息后在启动设备。 5.1.4 设备通电、通气后,禁止接触设备的运动件。 5.1.5 生产线通电后,禁止任何无关物体进入光电开关的检测范围内,禁止任何无关金属物体靠近接近开关。 5.1.6 生产线正在运行时,禁止进入危险区域或跨越设备。 5.1.7 禁止无关人员修改控制柜内接线、PLC 程序、变频器的设定参数。 5.1.8 机器运作出现异常时,应立即停机检查。 5.1.9 对设备进行润滑、机械调整、检查、维护维修等工作前,须先切断电源、关闭气源,释放气动管路中的残压,并在电源开关及气源阀门处挂上警示标志。。 5.2 奶粉码垛生产线工艺流程图

5.3 料袋输送 5.3.1 上游输送来的料袋经立袋、倒袋、斜坡、弯道、皮带输送机输送至辊道输送机。 5.3.2 在倒带输送机的入口处有一个光电开关,用于配合倒带的动作,即当料袋离开倒带光电后,倒袋机构动作,将料袋推倒在斜坡输送机上。通过触摸屏选择,可以设定倒袋时倒袋输送机是否停车。 5.3.3 在倒袋输送机入口处有一个选择开关,可以通过“联动”、“调试”的状态更改,分别对是否使用倒袋机构进行选择,即“联动”时倒袋机构正常工作、“调试”时倒袋机构不工作,料袋直接通过倒袋输送机,输送至生产线外,实现人工码垛功能。 5.4 整形输送、缓停输送

ABB机器人码垛程序

MODULE MainModule PROC 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 DO ReadType; clock2re; PickIF; clock2re; PlaceOF; ENDWHILE ENDPROC PROC clock2re() !tempint:=movstat; IF DI10_1Product0K = 0 or DI10_2TuoPanOK = 0 Then IF tempint<0.25 then ClkStart CLK2; ELSE ClkStop CLK2; ENDIF Else ClkStop CLK2; EndIF Endproc PROC InitAll() MoveHome; Reset DO10_1JiaZhua; Reset DO10_2YaBan; Reset DO10_3ZhuaOK; Reset DO10_4MaDuoOK; Waittime 0.5; bPickPart:=FALSE; ClkReset CLK1; ClkStart CLK1; ClkReset CLK2; MoveL Offs(pPick,0,0,400), vFast, z10, tGripper\WObj:=wobj0; ENDPROC PROC 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;

机器人码垛调试程序.

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

工业机器人码垛程序

MODULE M1 VAR num nCount:=0; CONST robtarget pick:=[[48.71,-539.91,287.30],[3.96623E-08,-0.707107,-0.707107,-3.30976E-08],[-1, 0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; CONST robtarget pA:=[[55.55,-381.46,296.30],[1.17377E-08,-3.46945E-18,-1,-8.06103E-08],[-1,0,-1,0 ],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; VAR robtarget place:=[[222.83,0.00,512.52],[2.18557E-08,0,-1,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E +09,9E+09,9E+09]]; VAR robtarget pickH:=[[222.83,0.00,512.52],[2.18557E-08,0,-1,0],[0,0,0,0],[9E+09,9E+09,9E+09,9 E+09,9E+09,9E+09]]; VAR robtarget placeH:=[[222.83,0.00,512.52],[2.18557E-08,0,-1,0],[0,0,0,0],[9E+09,9E+09,9E+09, 9E+09,9E+09,9E+09]]; VAR num nPos{9,3}:=[[0,0,0],[72,0,0],[144,0,0],[144,60,0],[72,60,0],[0,60,0],[0,120,0],[72,120, 0],[144,120,0]]; PROC main() rhome; TPErase; TPReadNum reg1, "<=24"; WHILE nCount <= reg1 DO IF jiance=1 THEN rpoint; rpick; rplace; Incr nCount; !nCount := nCount + 1; !Add nCount, 1; ENDIF ENDWHILE ENDPROC PROC rhome() MoveAbsJ [[0,0,0,0,90,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]], v200, fine, tool0; Reset tool; nCount := 1; ENDPROC PROC rpoint() place := Offs(pA,nPos{nCount,1},nPos{nCount,2},nPos{nCount,3}); placeH := Offs(place,0,0,60);

abb机器人搬运码垛程序

MODULE maduo V AR num nox:=0;V AR num noy:=0;V AR num noz:=0;V AR num disx:=0;V AR num disy:=0;V AR num disz:=0; V AR num a1:=0;V AR num b1:=0;V AR num c1:=0; CONST robtarget pPick:=[[1962.00,-140.49,745.92],[0.199803,-4.33198E-07,0.979836,-2.86531E-07],[-1,-3,2,0],[9 E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; CONST jointtarget home1:=[[2.97566,-16.7117,15.2556,-4.92418,31.5841,5.68641],[9E+09,9E+09,9E+09,9E+09,9E +09,9E+09]]; PERS robtarget pPlace:=[[1919.7,937.54,529.48],[0.199803,-3.69944E-07,0.979836,-4.20685E-07],[0,-2,1,0],[9E +09,9E+09,9E+09,9E+09,9E+09,9E+09]]; CONST robtarget pPlace10:=[[1719.70,837.54,429.48],[0.199803,-3.69944E-07,0.979836,-4.20685E-07],[0,-2,1,0], [9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; CONST robtarget wating01:=[[1753.43,219.90,1023.02],[0.199803,-2.46214E-07,0.979836,-5.32938E-07],[0,-2,1,0] ,[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; PROC main() Initall; prg1; ENDPROC PROC Initall() AccSet 100,100; VelSet 100, 2000; nox:=3;noy:=2;noz:=2; disx:=100;disy:=100;disz:=100; a1:=1;b1:=1;c1:=1; ENDPROC PROC prg1() MoveAbsJ home1\NoEOffs, v1000, z50, pick1; FOR k FROM 1 TO noz DO FOR j FROM 1 TO noy DO FOR i FROM 1 TO nox DO

ABB机器人码垛程序

PROC 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 DO ReadType; clock2re; PickIF; clock2re; PlaceOF; ENDWHILE ENDPROC PROC clock2re() !tempint:=movstat; IF DI10_1Product0K = 0 or DI10_2TuoPanOK = 0 Then IF tempint< then ClkStart CLK2; ELSE ClkStop CLK2; ENDIF Else ClkStop CLK2; EndIF Endproc PROC 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; ENDPROC

PROC 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; ENDIF ENDPROC PROC PlaceOF() IF DI10_2TuoPanOK = 1 AND bPickPart = TRUE THEN CalculatePlace; ConfL\Off; !MoveL Offs(pOver,0,0,nOffsZ2), vFast, z200, tGripper; IF bTag=true then Accset 70, 70; MoveJ pAbovePlace, vFast, z10, tGripper\WObj:=wobj0; else Accset 90, 90; MoveJ pAbovePlace, vFast, z10, tGripper\WObj:=wobj0; Endif Accset 100,100; ! place first box ConfL\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;

川崎机器人拆跺码垛程序

.PROGRAM p1_lin()@17/04/18 09:32 #12;子程序p1奇数抓取放料程序LMOVE #f.1_s POINT f.2 = SHIFT(f.1 BY 0,0,(j+1)*z) LMOVE f.2 BREAK SIGNAL -6 TWAIT 0.5 LMOVE #f.1_s j = j+1 RETURN .END .PROGRAM p2_lin()@17/04/18 09:33 #12;子程序p2偶数抓取放料程序LMOVE #h.1_s POINT h.2 = SHIFT(h.1 BY ,,(h+1)*z) LMOVE h.2 BREAK SIGNAL -6 TWAIT 0.5 LMOVE #h.1_s h = h+1 RETURN .END .PROGRAM p3_lin()@17/04/18 09:33 #12;子程序p3实数函数定义 z = 12 ;物料厚度 h = -1 j = -1 RETURN .END .PROGRAM zhu_lin()@17/04/18 09:38 #2;主程序 CALL p3_lin ;调用实数函数定义程序p3 JMOVE #safe.1 FOR a = 1 TO 10 JMOVE #q.1_s LMOVE q.1

DRAW ,,-z*(a-1),,,,1000 MM/S SIGNAL 6 LMOVE #q.1_s k = (a+2) MOD 2;区分取料奇偶层 IF k==1 THEN CALL p1_lin;调用子程序p1 ELSE CALL p2_lin;调用子程序p2 END END .END .PROGRAM p4_lin()@17/04/18 09:33 #12;子程序p4位姿变量示教程序JMOVE #safe.1 ;安全待加工起始点 JMOVE #q.1_s ;取料点上方位置点 LMOVE q.1 ;第一次取料位置点 LMOVE #f.1_s ;奇数次取料时放料点上方位置点 LMOVE f.1 ;奇数次取料时第一次放料位置点 LMOVE #h.1_s ;偶数次取料时放料点上方位置点 LMOVE h.1 ;偶数次取料时第一次放料位置点 .END .PROGRAM jiagkongcx() #1;监控程序1-我们只运行一个循环监控周期就好了100 if a<9 then;我们只抓取8次就让机器人停止运行 goto 100 else mc hold;停止程序执行循环 SIG(2); 蜂鸣器报警 twait 5 signal -2 end .END

码垛机器人程序代码

码垛机器人程序代码 MODULE Module_stacking VAR num DN250:=0; VAR num DN300:=0; VAR num DN350:=0; VAR num DN400:=0; VAR num DN450:=0; VAR num DN500:=0; VAR num DN600:=0; VAR num DN700:=0; VAR num DN750:=0; VAR num DN800:=0; VAR num DN900:=0; VAR num DN1000:=0; VAR num singlelaxxxxyer_250:=4; VAR num singlelaxxxxyer_300:=4; VAR num singlelaxxxxyer_350:=3; VAR num singlelaxxxxyer_400:=3; VAR num singlelaxxxxyer_450:=3; VAR num singlelaxxxxyer_500:=4; VAR num singlelaxxxxyer_600:=2; VAR num singlelaxxxxyer_700:=2; VAR num singlelaxxxxyer_750:=1; VAR num singlelaxxxxyer_800:=1; VAR num singlelaxxxxyer_900:=1; VAR num singlelaxxxxyer_1000:=1; !.............................. VAR num Totallaxxxxyer_L_250:=5; VAR num Totallaxxxxyer_L_300:=5; VAR num Totallaxxxxyer_L_350:=5;

码垛机设计方案

码垛机设计方案(一) 一:系统方案概述经对贵公司产品、场地的分析,技术需求、指标的详细研究和理解,为 了充分满足该技术要求,对本工程我们采用方案附图所示的机器人码垛系统。 一:总体方案 本机器人码垛系统,通过品质一流品牌的接近开关、按钮开关、可编程控制器等硬件和专家设计的专门控制软件相结合,实现了从客户自身的包装线出来的站立式包装袋到最后的码垛成型,均为无人的高度自动化系统。完善的安全联锁机制,可以对设备和操作人员提供保护。图形显示的触摸屏使整个系统操作简单,故障诊断容易,同时方便了检修和维护。并且每套系统出厂都经过严格的系统测试,保证客户的运行安全、可靠、稳定。 本机器人码垛系统如附图1所示,由1.倒包线、2.提升线、3.整形线、4.抓取线、5.码垛机器人,五部分构成。其各部分工作过程和其主要功能阐述如下: 从称量秤、缝包机等客户末端出来的袋装产品均为站立式,通过输送机,当包装袋到达倒包线(附图2 所示)时,包装袋会接触到其①倒包横梁,自身倒在②倒包板上,然后通过③防滑输送带的传送和④导向滚筒的导向,包装袋会自动调整为长度方向与流水线平行的纵向输送。且此倒包线为高度可以调整型。如果客户在更换产品,导致包装袋长度、称量秤输送线的高度有更改时,此倒包线可以通过其升降按钮,来驱动自身的升降电机,做高度的自动调整。 附图2:倒包线

由于产品从不同高度,客户端输送和倒包线有高度调整,为了更好统一的做码垛规划,最大发挥码垛机器人的功效和码垛能力,现增加提升线(附图3所示)将倒包线出来的包装袋提升到某一统一高度。此提升线为配合前段的自动升降,亦增加有自动升降按钮,可以调节升降电机控制单边提升高度与前段平齐,保证后端高度不变。 附图3:提升线 当产品从提升线出来,进入的是整形线(附图4所示)。整形线顾名思义是为了将包装袋整平,使其末端码垛的剁型美观、整齐。整形线分压包整形和震动整形两部分组成。首先包装袋通过①包胶托辊输送,通过②压包滚筒将包装袋压平。此压包滚筒是高刚性弹簧提供压力,且工作高度可调,能保证极好的压平效果和使用寿命,亦不会破坏包装袋和包装产品。从压包滚筒出来然后通过③方辊震动整形输送,最后出来的包装袋保证能整齐、美观。 附图4:整形线 5所示) 5:抓取线 此前端四段输送线通过接近开关配合程序控制,能保证各条线之间先后有序,自动前进和停止,能保证不会出现多包装袋拥挤在一起,使整条线上包装袋均为分布,有条不紊的前进。 最后,包装袋会被码垛机器人自动码垛成客户所需求的剁型。此码垛机器人为SR200型号,本款机器人具有机构紧凑、能力高、速度快、承载能力大能多重优点,广泛应用于化工、粮食、饲料等多种高速生产线。

广数机器人视觉搬运码垛程序注释

广数机器人视觉搬运码 垛程序注释 Company number:【WTUT-WT88Y-W8BBGB-BWYTT-19998】

确保变位机中每个格中只能放6块物块,且每格中颜色必须一致,,其中0度,60度,180度中分别放不同颜色的三种物块, #ModificationDate:2044-3-5 #CopySource:[******] #SubType:BY #Size:1024byte #Comment:Thisisajob #Writeprotect:FALSE #AxisNum:7 U1=,,,,,,,0,0; U8=,,,,,,,0,0; T9=,,,,,,,0,0; P0=,,,,,,,,9,1; P13=,,,,,,,,9,8; P100=,,,,,,,,9,8; P101=,,,,,,,,9,8; P102=,,,,,,,,9,8; P103=,,,,,,,,9,8; P104=,,,,,,,,9,8; MAIN; SETR3,3;//设定红色物块取料次数,例如3次 SETR4,3;//设定蓝色物块取料次数,例如3次 SETR5,3;//设定黄色物块取料次数,例如3次 SETR0,0;//红色物块取料次数,计数累加变量 SETR1,0;//蓝色物块取料次数,计数累加变量 SETR2,0;//黄色物块取料次数,计数累加变量 SETEPX20(0),0;//取料时向下的平移累加位姿变量清零 SETEPX20(3),;//平移位姿变量平移累加量Z方向每次偏移 SETEPX21(0),0;//放料时向上的平移累加位姿变量清零 SETEPX21(3),19;//平移位姿变量平移累加量Z方向每次偏移19mm SETEPX22(0),0;//取料平移变量 SETEPX23(0),0;//放料平移变量 MOVJP*,,,,,,,,9,8),V20,Z0;//安全等待点位置 DOUTOT12,ON;//夹爪气缸夹紧信号打开夹爪夹紧 DOUTOT13,OFF;//夹爪气缸松开信号关闭 LAB90://红色物块取料标签号 MOVLP*,,,,,,,,9,8),V100,Z0,E1,EV10;//红色物块取料点上方,变位机角度移至0度SHIFTONPX22;//平移开始 MOVLP*,,,,,,,,9,8),V100,Z0;//红色物块取料点

机器人码垛调试程序

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 -

FANUC机器人码垛教程

FANUC机器人码垛 1.码垛功能的定义 对几个具有代表性的点进行示教,即可以从下层到上层按照顺序堆叠工件。 2.码垛的种类 码垛B:包括码垛B(单路径模式)和码垛BX(多路径模式) 适用于工件姿势恒定,堆叠时的底面形状为直线或四角形。 码垛E:包括码垛E(单路径模式)和码垛EX(多路径模式) 适用于复杂的堆叠模式(工件姿势改变,堆叠时的底面形状不是四角形)。 图2-1码垛B 图2-2码垛E 图2-3码垛BX、EX

3.码垛指令 (1)码垛指令格式:码垛指令基于码垛寄存器的值,根据堆叠模式计算当前的堆叠点位置,并根据路径模式计算当前的路径,改写码垛动作指令的位置数据。 (2)码垛动作指令:以使用具有趋近点、堆叠点、回退点的路径点作为位置数据的动作指令,是码垛专用的动作指令。该位置数据通过码垛指令每次都被改写。 (3)码垛结束指令:计算下一个堆叠点,改写码垛寄存器的值。 (4)码垛寄存器:用于码垛的控制。进行堆叠点的指定、比较、分支等。 4.码垛示教 (1)选择码垛程序

(2)输入堆栈初始数据 (3)示教堆上样式 (4)示教路径模式

5.码垛作业课题演示 如图4-1、4-2所示动作循环,在输送带P3出进行工件抓取,在托盘上进行码垛。 图4-1 图4-2

用示教器编写程序,程序如下: 1:J PR[1] 100% FINE ;移动至待命位置P1 2:LBL[1] ;标签1 3:J PR[2] 100% FINE ;移动至待命位置P2 4:W AIT RI[12]=ON ;等待抓料位有料 5:L PR[3] 100mm/sec FINE ;移动至抓料位P3 6:W AIT 1.00(sec) ;等待1S 7:RO[11]=ON ;抓手闭合阀ON 8:W AIT RI[11]=ON ;等待抓手闭合开关ON 9:RO[11]=OFF ;抓手闭合阀OFF 10:PALLETIZING-B_1 11:J PAL_1[A_1] 80% FINE ;移动至趋近点 12:L PAL_1[BTM] 100mm/sec FINE ;移动至堆叠点 13:RO[10]=ON ;抓手张开阀ON 14:W AIT RI[10]=ON ;等待抓手张开开关ON 15:RO[10]=OFF ;抓手张开阀OFF 16:L PAL_1[R_1] 100mm/sec FINE ;移动至回退点 17:PALLETIZING-END_1 18:JUMP LBL[1] ;跳转至标签1 6.注意事项 (1)要提高码垛的动作精度,需要正确进行TCP的设定。 (2)码垛寄存器,应避免同时使用相同编号的其他码垛。 (3)码垛功能,在三个指令也即码垛指令、码垛动作指令、码垛结束指令存在于一个程序而发挥作用。即使只将一个指令复制到子程序中进行 示教,该功能也不会正常工作,应与注意。 (4)码垛编号,在示教完码垛的数据后,随同码垛指令、码垛动作指令、码垛结束指令一起被自动写入。不需要在意是否在别的程序中重复使 用着码垛编号(每个程序都具有该码垛编号的数据)。 (5)在码垛动作指令中,不可在动作类型中设定“C”(圆弧运动)。

机器人码垛工作站使用说明书2.7

机器人码垛工作站使用说明书2.7

JMTECH 机器人系统设备使用和 维护手册 江苏锦明工业机器人自动化有限公司

前言 江苏锦明工业机器人自动化有限公司始创于 2001 年 3 月,是一家专业生产浮法玻璃生产线整套设备的高新技术企业。已顺利通过ISO9000 质量管理体系、ISO14000 环境管理体系及 OHSMS18000 职业健康安全管理体系的三项认证。公司以高瞻的战略眼光成立技术研发中心,以开放求知的广博胸怀不断吸纳高级技术人才,对公司产品不断进行性能优化改造与技术升级,目前已申报认证获得十一项技术专利,其产品已在国际玻璃机械行业中享有很高的声誉. 江苏锦明工业机器人自动化有限公司—研发部,专注于工业机器人研发和自动化生产线的机器人集成应用。已研发360KG 级、150HG 级及以下系列机器人,扭转国内重载机器人完全依赖进口的局面,填补了国内技术空白。其中“六轴重载工业机器人”已通过高新 技术成果监证。

目录 HMI视觉系统操作说明 (5) 一、组成 (7) 二、wincc人工界面 (7) 2.1 总览 (7) 2.2 码垛参数设置 (7) 2.3参数设置 (9) JMTECH 机器人手动操作说明 (10) 一、KUKA机器人系统组成: (11) 二、KUKA 机器人手动操作 (15) 三、其他操作 (19) JMTECH 机器人及配套设备使用说明书 (20) 一、机器人安全注意事项 (21) 二、操作说明 (23) 2.1控制柜面板介绍 (23) 2.2接通电源 (24) 2.3触摸屏操作 (24) JMTECH 机器人码垛工作站常用操作说明 .. 31 一、开机 (32) 1.1 不断电情况下开机 (32) 1.2断电情况下开机: (33) 二、机器人运行过程中的操作 (34) 2.1.第一片玻璃码垛时 (34) 2.2 机器人暂停 (37) 2.3 机器人急停 (38) 三、机器人停止工作 (38) 3.1 不需要机器人工作时 (38)

相关主题
文本预览
相关文档 最新文档