您好!欢迎光临工博士商城

ABB机器人_代理商

产品:40    
联系我们
联系方式
  • 联系人:刘彬
  • 电话:18621383607
  • 邮件:liub@gongboshi.com
  • 手机:18621383607
新闻分类
友情链接
首页 > 新闻中心 > ABB机器人工厂压铸编程,你想不想了解一下
新闻中心
ABB机器人工厂压铸编程,你想不想了解一下
发布时间:2021-02-26        浏览次数:418        返回列表
  
工博士机器人技术有限公司
作为智能工厂服务商,从智能制造解决方案的提供,到工业电气产品的一站式采购,从智能制造培训到专业维护保养,围绕设备的智能升级改造、生产加工、设备保障、技能培训等多个方面,实现生产的智能、高效、环保和安全。

主营ABB库卡KUKA安川YASKAWA发那科FANUC欧地希OTC川崎Kawasaki遨博AUBO现代HYUNDAI电装DENSO欧姆龙OMRON爱普生EPSON等进口品牌机器人项目集成、机器人代理、机器人配件、机器人售后维保、机器人培训一站式服务。

地址:上海市嘉定区博园路1333号1栋7层
--------------------------------------------------------------------------------------------------

现代的科技产品,编程是必不可少的一门课程,一套优秀的程序可以让你的机器拥有无线的可能,今天给大家一套ABB家人压铸的编程,快来看看吧。

ABB机器人
 

MODULE Module1

CONST robtarget pDingMo10:=[[1436.16,8.79,981.25],[0.767501,-0.0705027,0.634648,-0.0565024],[-2,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget pDingMo20:=[[1436.16,8.79,981.25],[0.767501,-0.0705027,0.634648,-0.0565024],[-2,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget pDingMo30:=[[1436.16,8.79,981.25],[0.767501,-0.0705027,0.634648,-0.0565024],[-2,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget pDingMo40:=[[1436.16,8.79,981.25],[0.767501,-0.0705027,0.634648,-0.0565024],[-2,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget pDingMo50:=[[1436.16,8.79,981.25],[0.767501,-0.0705027,0.634648,-0.0565024],[-2,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget pDingMo60:=[[1436.16,8.79,981.25],[0.767501,-0.0705027,0.634648,-0.0565024],[-2,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget pDingMo70:=[[1436.16,8.79,981.25],[0.767501,-0.0705027,0.634648,-0.0565024],[-2,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget pDingMo80:=[[1436.16,8.79,981.25],[0.767501,-0.0705027,0.634648,-0.0565024],[-2,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget pDingMo90:=[[1436.16,8.79,981.25],[0.767501,-0.0705027,0.634648,-0.0565024],[-2,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget pDingMo100:=[[1436.16,8.79,981.25],[0.767501,-0.0705027,0.634648,-0.0565024],[-2,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget pDongMo10:=[[1436.16,8.79,981.25],[0.767501,-0.0705027,0.634648,-0.0565024],[-2,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget pDongMo20:=[[1436.16,8.79,981.25],[0.767501,-0.0705027,0.634648,-0.0565024],[-2,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget pDongMo30:=[[1436.16,8.79,981.25],[0.767501,-0.0705027,0.634648,-0.0565024],[-2,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget pDongMo40:=[[1436.16,8.79,981.25],[0.767501,-0.0705027,0.634648,-0.0565024],[-2,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget pDongMo50:=[[1436.16,8.79,981.25],[0.767501,-0.0705027,0.634648,-0.0565024],[-2,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget pDongMo60:=[[1436.16,8.79,981.25],[0.767501,-0.0705027,0.634648,-0.0565024],[-2,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

[1436.16,8.79,981.25],[0.767501,-0.0705027,0.634648,-0.0565024],[-2,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget pDongMo80:=[[1436.16,8.79,981.25],[0.767501,-0.0705027,0.634648,-0.0565024],[-2,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget pDongMo90:=[[1436.16,8.79,981.25],[0.767501,-0.0705027,0.634648,-0.0565024],[-2,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget pDongMo100:=[[1436.16,8.79,981.25],[0.767501,-0.0705027,0.634648,-0.0565024],[-2,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget pChuiQi10:=[[1218.07,-4.81,1100.14],[0.793093,-0.0147833,0.608733,0.0151206],[-2,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget pChuiQi20:=[[1218.07,-4.81,1100.14],[0.793093,-0.0147833,0.608733,0.0151206],[-2,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget pChuiQi30:=[[1218.07,-4.81,1100.14],[0.793093,-0.0147833,0.608733,0.0151206],[-2,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget pChuiQi40:=[[1218.07,-4.81,1100.14],[0.793093,-0.0147833,0.608733,0.0151206],[-2,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget pChuiQi50:=[[1218.07,-4.81,1100.14],[0.793093,-0.0147833,0.608733,0.0151206],[-2,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget pChuiQi60:=[[1218.07,-4.81,1100.14],[0.793093,-0.0147833,0.608733,0.0151206],[-2,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget pChuiQi70:=[[1218.07,-4.81,1100.14],[0.793093,-0.0147833,0.608733,0.0151206],[-2,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget pChuiQi80:=[[1218.07,-4.81,1100.14],[0.793093,-0.0147833,0.608733,0.0151206],[-2,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget pChuiQi90:=[[1218.07,-4.81,1100.14],[0.793093,-0.0147833,0.608733,0.0151206],[-2,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget pChuiQi100:=[[1218.07,-4.81,1100.14],[0.793093,-0.0147833,0.608733,0.0151206],[-2,-1,0,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

PROC main()  主程序

!**********************************

!QuJian+PenWu Progame  Data:2016/10/11  取件加喷雾程序

!Modify1:                Data:201#/#/#

!Modify2:                Data:201#/#/#

!Modify3:                Data:201#/#/#

!**********************************  

rResetAll;  初始化子程序

MoveJ phome,v1000,z0,tool1\WObj:=wobj1;机器人在作业原点位置

WHILE TRUE DO

IF RDI_01YaZhuJiZiDong=0 AND RDI_03KaiMoXian=1 AND RDI_14DianDongPenwu=1 THEN

MoveL pWaitDCM,v5000,z0,tool1\WObj:=wobj1;如果压铸机在自动信号为0(也就是手动)并且压铸机在开模限位置同时收到外部给的一个手动喷雾信号为1时

MoveL pInDCM,v5000,z1,tool1\WObj:=wobj1;进入压铸机位置

rDingPenWu;定模喷雾子程序

rDongPenWu;动模喷雾子程序

rChuiQi;吹气子程序

MoveL pInDCM,v5000,z10,tool1\WObj:=wobj1;进入压铸机位置

MoveL pWaitDCM,v5000,fine,tool1\WObj:=wobj1;压铸机外面等待位置

ENDIF

IF RDI_01YaZhuJiZiDong=1 AND RDI_03KaiMoXian=1 AND Collect=1 THEN

rQuJian_DingQianJia;如果压铸机在自动信号为1并且压铸机在开模限位置同时收到外部给的一个手动喷雾信号为1时,调用取件子程序

rJianCe;检测程序(良品和不良品检测子程序)

rFangJian;放件子程序

PulseDO\PLength:=1,RDO_02MenKongZhi;输出压铸机门控制脉冲信号1S

MoveL pWaitDCM,v5000,z0,tool1\WObj:=wobj1;压铸机外面等待位置

MoveL pInDCM,v5000,z1,tool1\WObj:=wobj1;进入压铸机位置

rDongPenWu;动模喷雾子程序(由于产品比较大,所以先放完产品后再喷雾,这可以根据实际情况来定,小产品空间够大时我们可以取完料后就可以立马喷雾,前提是夹具设备要合理,可以省节拍提高产能)

rChuiQi;吹气子程序

MoveL pInDCM,v5000,z10,tool1\WObj:=wobj1;进入压铸机位置

IF RDI_01YaZhuJiZiDong=1 THEN

PulseDO\PLen-gth:=1,RDO_04HeMoQiDong;

important; overflow-wrap: break-word !important;">                ENDIF 压铸机自动,喷雾完后机器人在安全等待位置后输出合模启动脉冲信号1S)再次压铸

important; overflow-wrap: break-word !important;">            ENDIF

important; overflow-wrap: break-word !important;">            MoveJ phome,v1000,z0,tool1\WObj:=wobj1;机器人在作业原点位置

important; overflow-wrap: break-word !important;">            WaitTime 0.2;

important; overflow-wrap: break-word !important;">        ENDWHILE

important; overflow-wrap: break-word !important;">    ENDPROC

important; overflow-wrap: break-word !important;"> 

important; overflow-wrap: break-word !important;">    PROC rResetAll()

important; overflow-wrap: break-word !important;">        SoftDeact;关闭软件伺服

important; overflow-wrap: break-word !important;">        Reset RDO_06CuoWu;复位错误报警信号

important; overflow-wrap: break-word !important;">        Collect:=0;也就是模内没有产品为0 计数

important; overflow-wrap: break-word !important;">        Idelet intno1;删除中断intno1数据

important; overflow-wrap: break-word !important;">        CONNECT intno1 WITH tCollect;中断intno1数据关联 tCollect中断程序

important; overflow-wrap: break-word !important;">        ISignalDI RDI_04YaShe,1,intno1;压铸机压射信号DI4为1 时关联中断intno1数据

important; overflow-wrap: break-word !important;">        Idelet intno2;删除中断数据intno2

important; overflow-wrap: break-word !important;">        CONNECT intno2 WITH tManMod;中断数据intno2关联tManMod中断程序

important; overflow-wrap: break-word !important;">        ISignalDI RDI_01YaZhuJiZiDong,0,intno2;压铸机自动信号为0 时关联中断数据intno2

important; overflow-wrap: break-word !important;">    ENDPROC

important; overflow-wrap: break-word !important;"> 

important; overflow-wrap: break-word !important;">    PROC rCheckHomePos() 回原点检查程序

important; overflow-wrap: break-word !important;">        SoftDeact;软件伺服关闭

important; overflow-wrap: break-word !important;">        WaitTime 1;延时1S钟

important; overflow-wrap: break-word !important;">        NowPos:=CRobT(\Tool:=tool1\WObj:=wobj1);以tool1为工具坐标以wobj1为工件坐标,获取当前机器人位置赋值给NowPos

important; overflow-wrap: break-word !important;">        IF NowPos.trans.x>600 THEN,如果当前机器人位置的X方向大于600mm时

important; overflow-wrap: break-word !important;">            Reset RDO_07JiaShou1;

important; overflow-wrap: break-word !important;">            Reset RDO_08JiaShou2;

important; overflow-wrap: break-word !important;">            Reset RDO_09JiaShou3;复位夹手1,2,3

important; overflow-wrap: break-word !important;">            WaitTime 0.5;延时0.5S钟

important; overflow-wrap: break-word !important;">            NowPos.trans.y:=pInDCM.trans.y;进入压铸机里面位置的Y方向赋值给当前机器人位置的Y方向

important; overflow-wrap: break-word !important;">            NowPos.rot:=pInDCM.rot;进入压铸机里面位置的姿态赋值给当前机器人位置的姿态

important; overflow-wrap: break-word !important;">            MoveL NowPos,v300,z1,tool1\WObj:=wobj1;赋值完后机器人当前的位置。

important; overflow-wrap: break-word !important;">            NowPos.trans.z:=pInDCM.trans.z;进入压铸机里面位置的Z方向赋值给当前机器人位置的Z方向

important; overflow-wrap: break-word !important;">            MoveL NowPos,v300,z1,tool1\WObj:=wobj1;再次赋值完后机器人当前的位置。

important; overflow-wrap: break-word !important;">            MoveL pWaitDCM,v300,z1,tool1\WObj:=wobj1;;压铸机外面等待位置

important; overflow-wrap: break-word !important;">        ELSEIF NowPos.trans.y>400 THEN  如果当前机器人位置的Y方向大于400mm时

important; overflow-wrap: break-word !important;">            MoveJ phome10,v300,z10,tool1\WObj:=wobj1;机器人在phome10位置

important; overflow-wrap: break-word !important;">        ENDIF

important; overflow-wrap: break-word !important;">        MoveJ phome,v300,fine,tool1\WObj:=wobj1; 机器人在作业原点位置

important; overflow-wrap: break-word !important;">        Reset RDO_02MenKongZhi;复位门控制

important; overflow-wrap: break-word !important;">        Reset RDO_03JinZhiDingChu;;复位禁止顶出顶针信号

important; overflow-wrap: break-word !important;">        Reset RDO_07JiaShou1;复位夹手1

important; overflow-wrap: break-word !important;">        Reset RDO_08JiaShou2;复位夹手2

important; overflow-wrap: break-word !important;">.        Reset RDO_09JiaShou3;复位夹手3

important; overflow-wrap: break-word !important;"> 

important; overflow-wrap: break-word !important;">    ENDPROC

important; overflow-wrap: break-word !important;">在这要声明下压铸的工艺:顶前夹就是先夹紧产品后再机器人打开软伺服,顶针开始把产品从模具顶出来。还有一种顶后夹(压铸机先把产品顶出后机器人再去夹产品,这时机器人就不需要打开软伺服,前提是产品顶出后没有掉落位置没什么多大变化,否则产品很难抓取)

important; overflow-wrap: break-word !important;">    PROC rQuJian_DingQianJia()  取件顶前夹也叫押前夹

important; overflow-wrap: break-word !important;">        Collect:=0;复位产品采集数为0

important; overflow-wrap: break-word !important;">        MoveL pWaitDCM,v5000,z0,tool1\WObj:=wobj1; 压铸机外面等待位置

important; overflow-wrap: break-word !important;">        MoveL pInDCM,v5000,z10,tool1\WObj:=wobj1;进入压铸机位置

important; overflow-wrap: break-word !important;">        MoveL Offs(ptake_DQ,-100,0,0),v5000,z0,tool1\WObj:=wobj1;;产品取件目标点的X方向偏移-1000mm

important; overflow-wrap: break-word !important;">        !****************qu jian dian*************************

important; overflow-wrap: break-word !important;">        MoveL ptake_DQ,v500,fine,tool1\WObj:=wobj1;产品取件目标点

important; overflow-wrap: break-word !important;">        !*****************************************************

important; overflow-wrap: break-word !important;">        Set RDO_07JiaShou1;置位夹手1 夹紧产品

important; overflow-wrap: break-word !important;">        WaitTime 0.5;延时0.5s

important; overflow-wrap: break-word !important;">        rSoft;调用软伺服子程序

important; overflow-wrap: break-word !important;">        WaitTime 0.1;延时0.1s

important; overflow-wrap: break-word !important;">        PulseDO\PLength:=1,RDO_03KeDingChu; 顶针可顶出脉冲信号1s

important; overflow-wrap: break-word !important;">        WaitDI RDI_05DingChuXian,1\MaxTime:=8\TimeFlag:=flag1;

important; overflow-wrap: break-word !important;">        IF Flag1=FALSE THEN 等待顶针顶出限到位信号为1时,*大时长8s,在8s时间内收到顶出限到位信号顶出成功。

important; overflow-wrap: break-word !important;">            !*********************ding chu cheng gong*************************

important; overflow-wrap: break-word !important;">            !*****************************************************************

important; overflow-wrap: break-word !important;">            WaitTime 0.5;  延时0.5s

important; overflow-wrap: break-word !important;">            pLsEjectOK:=CRobT(\Tool:=tool1\WObj:=wobj1);获取机器人当前位置赋值给 pLsEjectOK

important; overflow-wrap: break-word !important;">            MoveL pLsEjectOK,v500,z1,tool1\WObj:=wobj1;  pLsEjectOK位置

important; overflow-wrap: break-word !important;">            WaitTime 0.3;  延时0.3s

important; overflow-wrap: break-word !important;">            SoftDeact;  软伺服关闭

important; overflow-wrap: break-word !important;">            MoveL Offs(ptake_DQ,-90,0,0),v500,z0,tool1\WObj:=wobj1;取件点X方向偏移-90mm

important; overflow-wrap: break-word !important;">            MotionSup\Off; 运动区域监控关闭

important; overflow-wrap: break-word !important;">            MoveL pInDCM,v5000,z1,tool1\WObj:=wobj1;进入压铸机位置

important; overflow-wrap: break-word !important;">            MoveL pWaitDCM,v5000,fine,tool1\WObj:=wobj1;压铸机外面等待位置

important; overflow-wrap: break-word !important;">        ELSE

important; overflow-wrap: break-word !important;">            !***********************ding chu cuo wu***************************

important; overflow-wrap: break-word !important;">            !****超出8s没有收到顶针到位信号输出一个60s的脉冲报警信号(这信号也可以用蜂鸣器或者三色灯来提示技术人员来检查压铸机异常情况)

important; overflow-wrap: break-word !important;">            PulseDO\PLength:=60,RDO_06CuoWu;

important; overflow-wrap: break-word !important;">            SoftDeact;  软伺服关闭

important; overflow-wrap: break-word !important;">            Reset RDO_07JiaShou1;  复位夹手1

important; overflow-wrap: break-word !important;">            WaitTime 0.5;  延时0.5s

important; overflow-wrap: break-word !important;">          MoveL Offs(ptake_DQ,-100,0,0),v1000,z0,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">            MotionSup\Off;

important; overflow-wrap: break-word !important;">            MoveL pInDCM,v1500,z0,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">            MoveL pWaitDCM,v1500,z10,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">            MoveJ phome,v1500,fine,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">            ErrWrite "Eject Error","Num is 001"\RL2:="ding zhen mei you ding chu dao wei";

important; overflow-wrap: break-word !important;">            EXIT;

important; overflow-wrap: break-word !important;">        ENDIF

important; overflow-wrap: break-word !important;">    ENDPROC

important; overflow-wrap: break-word !important;"> 

important; overflow-wrap: break-word !important;">    PROC rQuJian_DingHouJia()

important; overflow-wrap: break-word !important;">        set RDO_02MenKongZhi;

important; overflow-wrap: break-word !important;">        Set RDO_03JinZhiDingChu;

important; overflow-wrap: break-word !important;">        Collect:=0;

important; overflow-wrap: break-word !important;">        MoveJ pWaitDCM,v5000,z0,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">        MoveL pInDCM,v5000,fine,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">        Reset RDO_03JinZhiDingChu;

important; overflow-wrap: break-word !important;">        MoveL Offs(ptake_DH,-90,0,0),v5000,z0,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">        WaitDI RDI_05DingChuXian,1\MaxTime:=8\TimeFlag:=flag1;

important; overflow-wrap: break-word !important;">        IF Flag1=FALSE THEN

important; overflow-wrap: break-word !important;">            !*********************ding chu cheng gong*************************

important; overflow-wrap: break-word !important;">            !*****************************************************************

important; overflow-wrap: break-word !important;"> 

important; overflow-wrap: break-word !important;">            !****************qu jian dian*************************

important; overflow-wrap: break-word !important;">            MoveL ptake_DH,v500,fine,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">            !*****************************************************

important; overflow-wrap: break-word !important;">            MotionSup\On\TuneValue:=250;

important; overflow-wrap: break-word !important;">            Set RDO_07JiaShou1;

important; overflow-wrap: break-word !important;">            WaitTime 0.5;

important; overflow-wrap: break-word !important;">            MoveL Offs(ptake_DH,-90,0,0),v500,z0,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">            MotionSup\Off;

important; overflow-wrap: break-word !important;">            MoveL pInDCM,v5000,z1,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">            MoveL pWaitDCM,v5000,z10,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">        ELSE

important; overflow-wrap: break-word !important;">            !***********************ding chu cuo wu***************************

important; overflow-wrap: break-word !important;">            !*****************************************************************

important; overflow-wrap: break-word !important;">            PulseDO\PLength:=60,RDO_06CuoWu;

important; overflow-wrap: break-word !important;">            SoftDeact;

important; overflow-wrap: break-word !important;">            Reset RDO_07JiaShou1;

important; overflow-wrap: break-word !important;">            WaitTime 0.5;

important; overflow-wrap: break-word !important;">            MoveL Offs(ptake_DH,-90,0,0),v1000,z0,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">            MotionSup\Off;

important; overflow-wrap: break-word !important;">            MoveL pInDCM,v1500,z0,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">            MoveL pWaitDCM,v1500,z10,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">            MoveJ phome,v1500,fine,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">            ErrWrite "Eject Error","Num is 001"\RL2:="ding zhen mei you ding chu dao wei";

important; overflow-wrap: break-word !important;">            EXIT;

important; overflow-wrap: break-word !important;">        ENDIF

important; overflow-wrap: break-word !important;">    ENDPROC

important; overflow-wrap: break-word !important;"> 

important; overflow-wrap: break-word !important;">    PROC rJianCe()  检测子程序

important; overflow-wrap: break-word !important;">        MoveL pWaitDCM,v5000,z0,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">        MoveL pCheckPath,v5000,z10,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">        MoveL pCheck,v5000,fine,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">        WaitUntil\InPos,RDI_08JianCe1=1 AND RDI_09JianCe2=1 AND RDI_10JianCe3=1 AND RDI_11JianCe4=1\MaxTime:=2\TimeFlag:=flag1;

important; overflow-wrap: break-word !important;">        IF flag1=FALSE THEN

important; overflow-wrap: break-word !important;">            TPWrite "Check OK!";

important; overflow-wrap: break-word !important;">        ELSE

important; overflow-wrap: break-word !important;">            PulseDO\PLength:=60,RDO_06CuoWu;

important; overflow-wrap: break-word !important;">            ErrWrite "Check Parts Error","Num is 002"\RL2:="mei you jiance dao chanpin!";

important; overflow-wrap: break-word !important;">            EXIT;

important; overflow-wrap: break-word !important;">        ENDIF

important; overflow-wrap: break-word !important;">    ENDPROC

important; overflow-wrap: break-word !important;"> 

important; overflow-wrap: break-word !important;">    PROC rFangJian()   放件子程序

important; overflow-wrap: break-word !important;">        MoveL pCheck,v5000,fine,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">        MoveL pPut,v4000,fine,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">        Reset RDO_07JiaShou1;

important; overflow-wrap: break-word !important;">        WaitTime 0.3;

important; overflow-wrap: break-word !important;">        MoveJ phome10,v4000,z10,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">        MoveJ phome,v1000,fine,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">    ENDPROC

important; overflow-wrap: break-word !important;"> 

important; overflow-wrap: break-word !important;">    PROC rDingPenWu()  定模喷雾子程序

important; overflow-wrap: break-word !important;">        MoveL pDingMo10,v1000,fine,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">        Set RDO_14DingShui;

important; overflow-wrap: break-word !important;">        Set RDO_12DingWuQi;

important; overflow-wrap: break-word !important;">        WaitTime 1;

important; overflow-wrap: break-word !important;">        MoveL pDingMo20,v600,fine,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">        WaitTime 1;

important; overflow-wrap: break-word !important;">        MoveL pDingMo30,v600,fine,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">        WaitTime 1;

important; overflow-wrap: break-word !important;">        MoveL pDingMo40,v600,fine,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">        WaitTime 1;

important; overflow-wrap: break-word !important;">        MoveL pDingMo50,v600,fine,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">        WaitTime 1;

important; overflow-wrap: break-word !important;">        Reset RDO_14DingShui;

important; overflow-wrap: break-word !important;">        WaitTime 1;

important; overflow-wrap: break-word !important;">        Reset RDO_12DingWuQi;

important; overflow-wrap: break-word !important;">    ENDPROC

important; overflow-wrap: break-word !important;"> 

important; overflow-wrap: break-word !important;">    PROC rDongPenWu()    动模喷雾子程序

important; overflow-wrap: break-word !important;">        MoveL pDongMo10,v1000,fine,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">        Set RDO_15DongShui;

important; overflow-wrap: break-word !important;">        Set RDO_13DongWuQi;

important; overflow-wrap: break-word !important;">        WaitTime 1;

important; overflow-wrap: break-word !important;">        MoveL pDongMo20,v300,z10,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">        WaitTime 1;

important; overflow-wrap: break-word !important;">        MoveL pDongMo30,v300,z10,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">        WaitTime 1;

important; overflow-wrap: break-word !important;">        MoveL pDongMo40,v300,z10,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">        WaitTime 1;

important; overflow-wrap: break-word !important;">        MoveL pDongMo50,v300,z10,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">        WaitTime 1;

important; overflow-wrap: break-word !important;">        Reset RDO_15DongShui;

important; overflow-wrap: break-word !important;">        WaitTime 1;

important; overflow-wrap: break-word !important;">        Reset RDO_13DongWuQi;

important; overflow-wrap: break-word !important;">    ENDPROC

important; overflow-wrap: break-word !important;"> 

important; overflow-wrap: break-word !important;">    PROC rChuiQi()    吹气子程序

important; overflow-wrap: break-word !important;">        Set RDO_10DingChuiQi;

important; overflow-wrap: break-word !important;">        Set RDO_11DongChuiQi;

important; overflow-wrap: break-word !important;">        MoveL pChuiQi10,v600,z10,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">        MoveL pChuiQi20,v600,z10,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">        MoveL pChuiQi30,v600,z10,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">        MoveL pChuiQi40,v600,z10,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">        MoveL pChuiQi50,v300,z10,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">        MoveL pChuiQi60,v600,z10,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">        MoveL pChuiQi70,v600,z10,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">        MoveL pChuiQi80,v600,fine,tool1\WObj:=wobj1;

important; overflow-wrap: break-word !important;">        WaitTime 0.5;

important; overflow-wrap: break-word !important;">        Reset RDO_10DingChuiQi;

important; overflow-wrap: break-word !important;">        Reset RDO_11DongChuiQi;

important; overflow-wrap: break-word !important;">    ENDPROC

important; overflow-wrap: break-word !important;"> 

important; overflow-wrap: break-word !important;">    PROC rPowerOn()     EventRoutine关联rPowerOn子程序

important; overflow-wrap: break-word !important;">        pos1:=[460,-3000,-3000];

important; overflow-wrap: break-word !important;">        pos2:=[3000,3000,3000];   安全区域两个对角点

important; overflow-wrap: break-word !important;">        WZBoxDef\\Inside,shape1,pos1,pos2;

important; overflow-wrap: break-word !important;">        WZDOSet\Stat,wzstat1\Inside,shape1,RDO_01AnQuanWeiZhi,1;  安全区域信号

important; overflow-wrap: break-word !important;">        TPWrite "Run WorkZone OK";

important; overflow-wrap: break-word !important;">    ENDPROC

important; overflow-wrap: break-word !important;"> 

important; overflow-wrap: break-word !important;">    PROC rSoft()   软伺服子程序

important; overflow-wrap: break-word !important;">        SoftAct 1,100;

important; overflow-wrap: break-word !important;">        SoftAct 2,50;

SoftAct 3,50;

SoftAct 4,30;

SoftAct 5,20;

SoftAct 6,10;

ENDPROC

 

TRAP tManMod

IF RDI_01YaZhuJiZiDong=0 THEN

Collect:=0;

Reset RDO_02MenKongZhi;

ENDIF

ENDTRAP

 

TRAP tCollect

IF RDI_01YaZhuJiZiDong=1 AND RDI_04YaShe=1 THEN

ENDIF

ENDTRAP

 

ENDMODULE


学到了吗。
ABB机器人

了解更多ABB机器人



 

联系热线:18621383607 联系人:刘彬 联系地址:上海市宝山区富联一路98弄6号

技术和报价服务:星期一至星期六8:00-22:00 ABB机器人_代理商

返回
顶部