首页 上一页 1 2 下一页 尾页

新人贴!兄弟我从事机器人维修行业的!对ABB 了解一些!有问题及需求可以留言! 点击:5800 | 回复:32



ABB yang

    
  • 精华:1帖
  • 求助:1帖
  • 帖子:9帖 | 92回
  • 年度积分:2
  • 历史总积分:1520
  • 注册:2012年5月22日
发表于:2013-05-17 23:06:23
楼主

新人贴!兄弟我从事机器人维修行业的!对ABB 了解一些!有问题及需求可以留言!

M2000 IRC5

IRB 140    IRB 2400

应该有人看得懂吧!

欢迎交流 

 




王者之师——广州@阿君

  • [版主]
  • 精华:25帖
  • 求助:18帖
  • 帖子:503帖 | 6997回
  • 年度积分:0
  • 历史总积分:66772
  • 注册:2010年6月26日
发表于:2013-05-17 23:18:11
1楼

求交流。。。求种子。。。求代码。。。

 

IRC5控制器

IRB 140 

IRB 2400

ABB yang

  • 精华:1帖
  • 求助:1帖
  • 帖子:9帖 | 92回
  • 年度积分:2
  • 历史总积分:1520
  • 注册:2012年5月22日
发表于:2013-05-17 23:24:04
2楼

回复内容:

对: 王者之师——广州@阿君  求交流。。。求种子。。。求代码。。。 IRC5控制器I... 内容的回复!


 朋友,你发的IRC 5怎么有点不像啊!是不是版本很老了啊!还有变压器更不像或者也很老了!那三个风扇有点像!嘻嘻 有点像双层立柜那种!

ABB yang

  • 精华:1帖
  • 求助:1帖
  • 帖子:9帖 | 92回
  • 年度积分:2
  • 历史总积分:1520
  • 注册:2012年5月22日
发表于:2013-05-17 23:25:09
3楼

回复内容:

对: 王者之师——广州@阿君  求交流。。。求种子。。。求代码。。。 IRC5控制器I... 内容的回复!


 我刚发了个贴,正在审,有空可以看看1

王者之师——广州@阿君

  • [版主]
  • 精华:25帖
  • 求助:18帖
  • 帖子:503帖 | 6997回
  • 年度积分:0
  • 历史总积分:66772
  • 注册:2010年6月26日
发表于:2013-05-17 23:29:47
4楼

你好!帖子已经审核通过了。。。多多交流。。。机器人版块永远欢迎热心的你!!!

HFU

  • 精华:0帖
  • 求助:2帖
  • 帖子:3帖 | 18回
  • 年度积分:0
  • 历史总积分:34
  • 注册:2013年7月09日
发表于:2013-07-09 10:05:41
5楼

你好啊 我想问一下在焊接方面的应用,ABB有哪些优缺点?

hongtaofu_f7@hotmail.com

谢谢!

王者之师——广州@阿君

  • [版主]
  • 精华:25帖
  • 求助:18帖
  • 帖子:503帖 | 6997回
  • 年度积分:0
  • 历史总积分:66772
  • 注册:2010年6月26日
发表于:2013-07-10 13:12:10
6楼

引用 HFU 的回复内容: 你好啊 我想问一下在焊接方面的应用,ABB有哪些优缺点...


点焊 OR 弧焊。。。

madoca

  • 精华:0帖
  • 求助:2帖
  • 帖子:3帖 | 28回
  • 年度积分:0
  • 历史总积分:33
  • 注册:2013年4月02日
发表于:2013-07-16 22:20:08
7楼

楼主,我是初学者。请问如果使用PLC的话,除了集成PLC,AC500以外,能不能使用其他的PLC呢?如果可以的话,应该怎么连接呢?

今生缘

  • [版主]
  • 精华:43帖
  • 求助:20帖
  • 帖子:4757帖 | 10148回
  • 年度积分:75
  • 历史总积分:111144
  • 注册:2011年3月02日
发表于:2013-07-16 22:35:14
8楼

欢迎楼主给我们扶贫,偶知识贫瘠的很        

王者之師——水雲間

  • 精华:0帖
  • 求助:5帖
  • 帖子:11帖 | 460回
  • 年度积分:0
  • 历史总积分:1008
  • 注册:2009年11月30日
发表于:2013-07-31 15:13:43
9楼

引用 今生缘 的回复内容: 欢迎楼主给我们扶贫,偶知识贫瘠的很          


 

队长10号

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 5回
  • 年度积分:0
  • 历史总积分:13
  • 注册:2013年10月05日
发表于:2013-10-05 11:56:42
10楼

你好。我单位使用的ABB机器人,在运行当中总是会莫名的减速回到初始位置,然后又正常使用。具体情况是:通常有两个垛堆,总是在左侧的垛堆时,会出现这个问题,而且有时候一个班出现10几次,有时候可能会出现3次左右,从现象上看,估计程序没有问题,向请您指教一下,一般会是什么情况因起的这种可能?

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 41回
  • 年度积分:28
  • 历史总积分:138
  • 注册:2006年5月20日
发表于:2013-10-09 22:46:03
11楼

你好, 我也做过多年ABB 机器人维修,交个朋友,多交流。QQ121842872

应应

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 9回
  • 年度积分:0
  • 历史总积分:8
  • 注册:2014年5月07日
发表于:2014-05-08 05:14:06
12楼

我好本人新手刚开始学ABB维修,希望得到大家赐教!!!

应应

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 9回
  • 年度积分:0
  • 历史总积分:8
  • 注册:2014年5月07日
发表于:2014-05-08 05:20:23
13楼

你好,我现在有一个问题ABB机器人 开机后按下使能键   显示报报警英文意思大概是额外接

触器打开,且给伺服电源通电的接触器不能吸下,寻求不家帮助。有懂高人指点指点,非常感激

g274044223

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 12回
  • 年度积分:0
  • 历史总积分:20
  • 注册:2013年1月07日
发表于:2014-05-26 09:09:16
14楼

你好,我有套ABB的码垛程序,现在的问题是每次码完垛以后, 机器人输出的码垛完成信号不能复位,导致第二个托盘到位停不下来,请你帮我看一下程序是什么问题,谢谢

MODULE MainMoudle

PERS wobjdata WobjPallet_L:=[FALSE,TRUE,"",[[-456.216,-2058.49,-233.373],[1,0,0,0]],[[0,0,0],[1,0,0,0]]];

PERS wobjdata WobjPallet_R:=[FALSE,TRUE,"",[[-421.764,1102.39,-233.373],[1,0,0,0]],[[0,0,0],[1,0,0,0]]];

PERS tooldata tGripper:=[TRUE,[[0,0,527],[1,0,0,0]],[40,[0,0,150],[1,0,0,0],0,0,0]];

PERS loaddata LoadFull:=[20,[0,0,300],[1,0,0,0],0,0,0.1];

PERS wobjdata CurWobj;

PERS jointtarget jposHome:=[[-6.68707E-05,5.57038E-05,-0.000191306,0,0,-28.1719],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget pPlaceBase0_L:=[[341.98,1190.11,-618.57],[9.69378E-07,0.269112,-0.963109,1.53836E-06],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget pPlaceBase90_L:=[[-335.46,1280.3,-455.32],[1.28548E-06,0.867254,-0.497866,1.26441E-06],[1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget pPlaceBase0_R:=[[296.473529255,212.21064316,3.210904169],[0,0.707221603,-0.70699194,0],[1,0,0,0],[9E9,9E9,9E9,9E9,9E9,9E9]];

CONST robtarget pPlaceBase90_R:=[[218.407102669,695.953395421,3.210997808],[0,-0.00038594,0.999999926,0],[1,0,1,0],[9E9,9E9,9E9,9E9,9E9,9E9]];

CONST robtarget pPick_L:=[[2182.03,-26.69,-633.76],[1.77017E-06,0.268979,-0.963146,-5.05762E-07],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

CONST robtarget pPick_R:=[[1611.055992534,442.364097921,-26.736584068],[0,0.707220363,-0.706993181,0],[0,0,-1,0],[9E9,9E9,9E9,9E9,9E9,9E9]];

CONST robtarget pHome:=[[2182.04,-26.69,564.94],[1.72802E-06,0.268979,-0.963146,-5.05762E-07],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];

PERS robtarget pPlaceBase0;

   PERS robtarget pPlaceBase90;

   PERS robtarget pPick;

PERS robtarget pPlace;

PERS robtarget pPickSafe;

PERS num nCycleTime:=16.75;

   PERS num nCount_L:=1;

   PERS num nCount_R:=1;

   PERS num nPallet:=2;

   PERS num nPalletNo:=1;

   PERS num nPickH:=300;

   PERS num nPlaceH:=250;

   PERS num nBoxL:=715;

   PERS num nBoxW:=510;

   PERS num nBoxH:=140;

   VAR  clock Timer1;

   PERS bool bReady:=TRUE;

   PERS bool bPalletFull_L:=TRUE;

   PERS bool bPalletFull_R:=FALSE;

   PERS bool bGetPosition:=TRUE;

   VAR triggdata HookAct;

   VAR triggdata HookOff;  

   VAR intnum iPallet_L;

   VAR intnum iPallet_R;

   PERS speeddata vMinEmpty:=[1000,100,6000,1000];

   PERS speeddata vMidEmpty:=[1100,100,6000,1000];

   PERS speeddata vMaxEmpty:=[1000,100,6000,1000];

   PERS speeddata vMinLoad:=[1000,100,6000,1000];

   PERS speeddata vMidLoad:=[1000,300,6000,1000];

   PERS speeddata vMaxLoad:=[1000,300,6000,1000];

PERS num Compensation{32,3}:=[[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]];

VAR pos pos1:=[0,0,0];


PROC main()

   rInitAll;

   WHILE TRUE DO

   IF bReady THEN

     rPick;

 rPlace;

ENDIF

rCycleCheck;

ENDWHILE

ENDPROC


PROC rInitAll()

   rCheckHomePos;

   ConfL\OFF;

ConfJ\OFF;

nCount_L:=1;

   nCount_R:=1;

nPallet:=1;

nPalletNo:=1;

bPalletFull_L:=FALSE;

bPalletFull_R:=FALSE;

bGetPosition:=FALSE;

Reset do00_ClampAct;

Reset do01_HookAct;

ClkStop Timer1;

ClkReset Timer1;

TriggEquip HookAct,100,0.1\DOp:=do01_HookAct,1;

TriggEquip HookOff,100\Start,0.1\DOp:=do01_HookAct,0;

IDelete iPallet_L;

   CONNECT iPallet_L WITH tEjectPallet_L;

   ISignalDI di02_PalletInPos_L,0,iPallet_L;

   IDelete iPallet_R;

   CONNECT iPallet_R WITH tEjectPallet_R;

   ISignalDI di03_PalletInPos_R,0,iPallet_R;

ENDPROC


PROC rPick()

   ClkReset Timer1;

   ClkStart Timer1;

rCalPosition;

MoveJ Offs(pPick,0,0,nPickH),vMaxEmpty,z50,tGripper\WObj:=wobj0;

MoveL pPick,vMinLoad,fine,tGripper\WObj:=wobj0;

Set do00_ClampAct;

Waittime 0.3;

GripLoad LoadFull;

TriggL Offs(pPick,0,0,nPickH),vMinLoad,HookAct,z50,tGripper\WObj:=wobj0;

MoveL pPickSafe,vMaxLoad,z100,tGripper\WObj:=wobj0;

       MoveL Offs(pPicksafe,-350,0,0),vMaxLoad,z100,tGripper\WObj:=wobj0;

       MoveL Offs(pPicksafe,-350,0,400),vMaxLoad,z100,tGripper\WObj:=wobj0;

ENDPROC


PROC rPlace()

MoveJ Offs(pPlace,0,0,nPlaceH),vMaxLoad,z50,tGripper\WObj:=CurWobj;

TriggL pPlace,vMinLoad,HookOff,fine,tGripper\WObj:=CurWobj;

Reset do00_ClampAct;

Waittime 0.5;

GripLoad Load0;

MoveL Offs(pPlace,0,0,nPlaceH),vMinEmpty,z50,tGripper\WObj:=CurWobj;

rPlaceRD;

MoveJ pPickSafe,vMaxEmpty,z50,tGripper\WObj:=wobj0;

ClkStop Timer1;

nCycleTime:=ClkRead(Timer1);

ENDPROC


PROC rCycleCheck()

   TPErase;

TPWrite "The Robot is running!";

TPWrite "Last cycle time  is  : "\Num:=nCycleTime;

TPWrite "The number of the Boxes in the Left pallet is:"\Num:=nCount_L-1;

TPWrite "The number of the Boxes in the Right pallet is:"\Num:=nCount_R-1;

   IF (bPalletFull_L=FALSE AND di02_PalletInPos_L=1 AND di00_BoxInPos_L=1) OR (bPalletFull_R=FALSE AND di03_PalletInPos_R=1 AND di01_BoxInPos_R=1) THEN

   bReady:=TRUE;

   ELSE

   bReady:=FALSE;

   WaitTime 0.1;

ENDIF

ENDPROC


PROC rCalPosition()

   bGetPosition:=FALSE;

   WHILE bGetPosition=FALSE DO

   TEST nPallet

CASE 1:

           IF bPalletFull_L=FALSE AND di02_PalletInPos_L=1 AND di00_BoxInPos_L=1 THEN

           pPick:=pPick_L;

               pPlaceBase0:=pPlaceBase0_L;

               pPlaceBase90:=pPlaceBase90_L;

           CurWobj:=Wobj0;

           pPlace:=pPattern(nCount_L);

bGetPosition:=TRUE;

nPalletNo:=1;

       ELSE

bGetPosition:=FALSE;

       ENDIF

       nPallet:=2;

CASE 2:

       IF bPalletFull_R=FALSE AND di03_PalletInPos_R=1 AND di01_BoxInPos_R=1 THEN

           pPick:=pPick_R;

               pPlaceBase0:=pPlaceBase0_R;

               pPlaceBase90:=pPlaceBase90_R;

           CurWobj:=WobjPallet_R;

           pPlace:=pPattern(nCount_R);

bGetPosition:=TRUE;

nPalletNo:=2;

       ELSE

bGetPosition:=FALSE;

       ENDIF

       nPallet:=1;

DEFAULT:

   TPERASE;

TPWRITE "The data 'nPallet' is error,please check it!";

   Stop;

ENDTEST

ENDWHILE

ENDPROC


FUNC robtarget pPattern(num nCount)

   VAR robtarget pTarget;

IF nCount>=1 AND nCount<=4 THEN

   pPickSafe:=Offs(pPick,0,0,400);

ELSEIF nCount>=5 AND nCount<=8 THEN

   pPickSafe:=Offs(pPick,0,0,400);

ELSEIF nCount>=9 AND nCount<=12 THEN

   pPickSafe:=Offs(pPick,0,0,400);

ELSEIF nCount>=13 AND nCount<=16 THEN

   pPickSafe:=Offs(pPick,0,0,400);

ELSEIF nCount>=17 AND nCount<=20 THEN

   pPickSafe:=Offs(pPick,0,0,400);

ELSEIF nCount>=21 AND nCount<=24 THEN

   pPickSafe:=Offs(pPick,0,0,400);

ELSEIF nCount>=25 AND nCount<=28 THEN

   pPickSafe:=Offs(pPick,0,0,400);

ELSEIF nCount>=29 AND nCount<=32 THEN

   pPickSafe:=Offs(pPick,0,0,400);

ENDIF

   TEST nCount

   CASE 1:

     pTarget.trans.x:=pPlaceBase0.trans.x;

   pTarget.trans.y:=pPlaceBase0.trans.y;

   pTarget.trans.z:=pPlaceBase0.trans.z;

pTarget.rot:=pPlaceBase0.rot;

pTarget.robconf:=pPlaceBase0.robconf;

     pTarget:=Offs(pTarget,Compensation{nCount,1},Compensation{nCount,2},Compensation{nCount,3});

   CASE 2:

     pTarget.trans.x:=pPlaceBase90.trans.x+nBoxL+20;

   pTarget.trans.y:=pPlaceBase90.trans.y+nBoxW-30;

   pTarget.trans.z:=pPlaceBase90.trans.z+nBoxH-120;

pTarget.rot:=pPlaceBase90.rot;

pTarget.robconf:=pPlaceBase90.robconf;

pTarget:=Offs(pTarget,Compensation{nCount,1},Compensation{nCount,2},Compensation{nCount,3});

   CASE 3:

     pTarget.trans.x:=pPlaceBase0.trans.x-nBoxW-15;

   pTarget.trans.y:=pPlaceBase0.trans.y+nBoxL-50;

   pTarget.trans.z:=pPlaceBase0.trans.z+nBoxH+70;

pTarget.rot:=pPlaceBase0.rot;

pTarget.robconf:=pPlaceBase0.robconf;

pTarget:=Offs(pTarget,Compensation{nCount,1},Compensation{nCount,2},Compensation{nCount,3});

   CASE 4:

     pTarget.trans.x:=pPlaceBase90.trans.x;

   pTarget.trans.y:=pPlaceBase90.trans.y;

   pTarget.trans.z:=pPlaceBase90.trans.z+nBoxH-180;

pTarget.rot:=pPlaceBase90.rot;

pTarget.robconf:=pPlaceBase90.robconf;

pTarget:=Offs(pTarget,Compensation{nCount,1},Compensation{nCount,2},Compensation{nCount,3});

   CASE 5:

     pTarget.trans.x:=pPlaceBase0.trans.x-nBoxW-40;

   pTarget.trans.y:=pPlaceBase0.trans.y;

   pTarget.trans.z:=pPlaceBase0.trans.z+nBoxH;

pTarget.rot:=pPlaceBase0.rot;

pTarget.robconf:=pPlaceBase0.robconf;

pTarget:=Offs(pTarget,Compensation{nCount,1},Compensation{nCount,2},Compensation{nCount,3});

   CASE 6:

     pTarget.trans.x:=pPlaceBase90.trans.x;

   pTarget.trans.y:=pPlaceBase90.trans.y+nBoxW-30;

   pTarget.trans.z:=pPlaceBase90.trans.z+2*nBoxH-100;

pTarget.rot:=pPlaceBase90.rot;

pTarget.robconf:=pPlaceBase90.robconf;

pTarget:=Offs(pTarget,Compensation{nCount,1},Compensation{nCount,2},Compensation{nCount,3});

   CASE 7:

     pTarget.trans.x:=pPlaceBase0.trans.x+15;

   pTarget.trans.y:=pPlaceBase0.trans.y+nBoxL-70;

   pTarget.trans.z:=pPlaceBase0.trans.z+2*nBoxH;

pTarget.rot:=pPlaceBase0.rot;

pTarget.robconf:=pPlaceBase0.robconf;

pTarget:=Offs(pTarget,Compensation{nCount,1},Compensation{nCount,2},Compensation{nCount,3});

   CASE 8:

     pTarget.trans.x:=pPlaceBase90.trans.x+nBoxL+15;

   pTarget.trans.y:=pPlaceBase90.trans.y;

   pTarget.trans.z:=pPlaceBase90.trans.z+2*nBoxH-140;

pTarget.rot:=pPlaceBase90.rot;

pTarget.robconf:=pPlaceBase90.robconf;

pTarget:=Offs(pTarget,Compensation{nCount,1},Compensation{nCount,2},Compensation{nCount,3});

   CASE 9:

     pTarget.trans.x:=pPlaceBase0.trans.x;

   pTarget.trans.y:=pPlaceBase0.trans.y;

   pTarget.trans.z:=pPlaceBase0.trans.z+2*nBoxH+30;

pTarget.rot:=pPlaceBase0.rot;

pTarget.robconf:=pPlaceBase0.robconf;

     pTarget:=Offs(pTarget,Compensation{nCount,1},Compensation{nCount,2},Compensation{nCount,3});

   CASE 10:

     pTarget.trans.x:=pPlaceBase90.trans.x+nBoxL+25;

   pTarget.trans.y:=pPlaceBase90.trans.y+nBoxW;

   pTarget.trans.z:=pPlaceBase90.trans.z+3*nBoxH-140;

pTarget.rot:=pPlaceBase90.rot;

pTarget.robconf:=pPlaceBase90.robconf;

pTarget:=Offs(pTarget,Compensation{nCount,1},Compensation{nCount,2},Compensation{nCount,3});

   CASE 11:

     pTarget.trans.x:=pPlaceBase0.trans.x-nBoxW-15;

   pTarget.trans.y:=pPlaceBase0.trans.y+nBoxL-50;

   pTarget.trans.z:=pPlaceBase0.trans.z+3*nBoxH+80;

pTarget.rot:=pPlaceBase0.rot;

pTarget.robconf:=pPlaceBase0.robconf;

pTarget:=Offs(pTarget,Compensation{nCount,1},Compensation{nCount,2},Compensation{nCount,3});

   CASE 12:

     pTarget.trans.x:=pPlaceBase90.trans.x+30;

   pTarget.trans.y:=pPlaceBase90.trans.y;

   pTarget.trans.z:=pPlaceBase90.trans.z+3*nBoxH-180;

pTarget.rot:=pPlaceBase90.rot;

pTarget.robconf:=pPlaceBase90.robconf;

pTarget:=Offs(pTarget,Compensation{nCount,1},Compensation{nCount,2},Compensation{nCount,3});

   CASE 13:

     pTarget.trans.x:=pPlaceBase0.trans.x-nBoxW-40;

   pTarget.trans.y:=pPlaceBase0.trans.y-15;

   pTarget.trans.z:=pPlaceBase0.trans.z+3*nBoxH+70;

pTarget.rot:=pPlaceBase0.rot;

pTarget.robconf:=pPlaceBase0.robconf;

pTarget:=Offs(pTarget,Compensation{nCount,1},Compensation{nCount,2},Compensation{nCount,3});

   CASE 14:

     pTarget.trans.x:=pPlaceBase90.trans.x;

   pTarget.trans.y:=pPlaceBase90.trans.y+nBoxW-65;

   pTarget.trans.z:=pPlaceBase90.trans.z+4*nBoxH-110;

pTarget.rot:=pPlaceBase90.rot;

pTarget.robconf:=pPlaceBase90.robconf;

pTarget:=Offs(pTarget,Compensation{nCount,1},Compensation{nCount,2},Compensation{nCount,3});

   CASE 15:

     pTarget.trans.x:=pPlaceBase0.trans.x-15;

   pTarget.trans.y:=pPlaceBase0.trans.y+nBoxL-120;

   pTarget.trans.z:=pPlaceBase0.trans.z+4*nBoxH+30;

pTarget.rot:=pPlaceBase0.rot;

pTarget.robconf:=pPlaceBase0.robconf;

pTarget:=Offs(pTarget,Compensation{nCount,1},Compensation{nCount,2},Compensation{nCount,3});

   CASE 16:

     pTarget.trans.x:=pPlaceBase90.trans.x+nBoxL+30;

   pTarget.trans.y:=pPlaceBase90.trans.y-15;

   pTarget.trans.z:=pPlaceBase90.trans.z+4*nBoxH-130;

pTarget.rot:=pPlaceBase90.rot;

pTarget.robconf:=pPlaceBase90.robconf;

pTarget:=Offs(pTarget,Compensation{nCount,1},Compensation{nCount,2},Compensation{nCount,3});

   CASE 17:

     pTarget.trans.x:=pPlaceBase0.trans.x;

   pTarget.trans.y:=pPlaceBase0.trans.y-20;

   pTarget.trans.z:=pPlaceBase0.trans.z+4*nBoxH+80;

pTarget.rot:=pPlaceBase0.rot;

pTarget.robconf:=pPlaceBase0.robconf;

     pTarget:=Offs(pTarget,Compensation{nCount,1},Compensation{nCount,2},Compensation{nCount,3});

   CASE 18:

     pTarget.trans.x:=pPlaceBase90.trans.x+nBoxL-15;

   pTarget.trans.y:=pPlaceBase90.trans.y+nBoxW-60;

   pTarget.trans.z:=pPlaceBase90.trans.z+5*nBoxH-140;

pTarget.rot:=pPlaceBase90.rot;

pTarget.robconf:=pPlaceBase90.robconf;

pTarget:=Offs(pTarget,Compensation{nCount,1},Compensation{nCount,2},Compensation{nCount,3});

   CASE 19:

     pTarget.trans.x:=pPlaceBase0.trans.x-nBoxW-15;

   pTarget.trans.y:=pPlaceBase0.trans.y+nBoxL-70;

   pTarget.trans.z:=pPlaceBase0.trans.z+5*nBoxH+90;

pTarget.rot:=pPlaceBase0.rot;

pTarget.robconf:=pPlaceBase0.robconf;

pTarget:=Offs(pTarget,Compensation{nCount,1},Compensation{nCount,2},Compensation{nCount,3});

   CASE 20:

     pTarget.trans.x:=pPlaceBase90.trans.x;

   pTarget.trans.y:=pPlaceBase90.trans.y-20;

   pTarget.trans.z:=pPlaceBase90.trans.z+5*nBoxH-90;

pTarget.rot:=pPlaceBase90.rot;

pTarget.robconf:=pPlaceBase90.robconf;

pTarget:=Offs(pTarget,Compensation{nCount,1},Compensation{nCount,2},Compensation{nCount,3});

   CASE 21:

     pTarget.trans.x:=pPlaceBase0.trans.x-nBoxW-40;

   pTarget.trans.y:=pPlaceBase0.trans.y-20;

   pTarget.trans.z:=pPlaceBase0.trans.z+6*nBoxH;

pTarget.rot:=pPlaceBase0.rot;

pTarget.robconf:=pPlaceBase0.robconf;

pTarget:=Offs(pTarget,Compensation{nCount,1},Compensation{nCount,2},Compensation{nCount,3});

   CASE 22:

     pTarget.trans.x:=pPlaceBase90.trans.x+30;

   pTarget.trans.y:=pPlaceBase90.trans.y+nBoxW-50;

   pTarget.trans.z:=pPlaceBase90.trans.z+6*nBoxH-70;

pTarget.rot:=pPlaceBase90.rot;

pTarget.robconf:=pPlaceBase90.robconf;

pTarget:=Offs(pTarget,Compensation{nCount,1},Compensation{nCount,2},Compensation{nCount,3});

   CASE 23:

     pTarget.trans.x:=pPlaceBase0.trans.x+15;

   pTarget.trans.y:=pPlaceBase0.trans.y+nBoxL-90;

   pTarget.trans.z:=pPlaceBase0.trans.z+6*nBoxH+40;

pTarget.rot:=pPlaceBase0.rot;

pTarget.robconf:=pPlaceBase0.robconf;

pTarget:=Offs(pTarget,Compensation{nCount,1},Compensation{nCount,2},Compensation{nCount,3});

   CASE 24:

     pTarget.trans.x:=pPlaceBase90.trans.x+nBoxL+10;

   pTarget.trans.y:=pPlaceBase90.trans.y-20;

   pTarget.trans.z:=pPlaceBase90.trans.z+6*nBoxH-110;

pTarget.rot:=pPlaceBase90.rot;

pTarget.robconf:=pPlaceBase90.robconf;

pTarget:=Offs(pTarget,Compensation{nCount,1},Compensation{nCount,2},Compensation{nCount,3});

   CASE 25:

     pTarget.trans.x:=pPlaceBase0.trans.x;

   pTarget.trans.y:=pPlaceBase0.trans.y-30;

   pTarget.trans.z:=pPlaceBase0.trans.z+6*nBoxH+100;

pTarget.rot:=pPlaceBase0.rot;

pTarget.robconf:=pPlaceBase0.robconf;

     pTarget:=Offs(pTarget,Compensation{nCount,1},Compensation{nCount,2},Compensation{nCount,3});

   CASE 26:

     pTarget.trans.x:=pPlaceBase90.trans.x+nBoxL-5;

   pTarget.trans.y:=pPlaceBase90.trans.y+nBoxW-60;

   pTarget.trans.z:=pPlaceBase90.trans.z+7*nBoxH-130;

pTarget.rot:=pPlaceBase90.rot;

pTarget.robconf:=pPlaceBase90.robconf;

pTarget:=Offs(pTarget,Compensation{nCount,1},Compensation{nCount,2},Compensation{nCount,3});

   CASE 27:

     pTarget.trans.x:=pPlaceBase0.trans.x-nBoxW-15;

   pTarget.trans.y:=pPlaceBase0.trans.y+nBoxL-95;

   pTarget.trans.z:=pPlaceBase0.trans.z+7*nBoxH+145;

pTarget.rot:=pPlaceBase0.rot;

pTarget.robconf:=pPlaceBase0.robconf;

pTarget:=Offs(pTarget,Compensation{nCount,1},Compensation{nCount,2},Compensation{nCount,3});

   CASE 28:

     pTarget.trans.x:=pPlaceBase90.trans.x;

   pTarget.trans.y:=pPlaceBase90.trans.y-30;

   pTarget.trans.z:=pPlaceBase90.trans.z+7*nBoxH;

pTarget.rot:=pPlaceBase90.rot;

pTarget.robconf:=pPlaceBase90.robconf;

pTarget:=Offs(pTarget,Compensation{nCount,1},Compensation{nCount,2},Compensation{nCount,3});

   CASE 29:

     pTarget.trans.x:=pPlaceBase0.trans.x-nBoxW-40;

   pTarget.trans.y:=pPlaceBase0.trans.y-40;

   pTarget.trans.z:=pPlaceBase0.trans.z+7*nBoxH+180;

pTarget.rot:=pPlaceBase0.rot;

pTarget.robconf:=pPlaceBase0.robconf;

pTarget:=Offs(pTarget,Compensation{nCount,1},Compensation{nCount,2},Compensation{nCount,3});

   CASE 30:

     pTarget.trans.x:=pPlaceBase90.trans.x;

   pTarget.trans.y:=pPlaceBase90.trans.y+nBoxW-70;

   pTarget.trans.z:=pPlaceBase90.trans.z+8*nBoxH-70;

pTarget.rot:=pPlaceBase90.rot;

pTarget.robconf:=pPlaceBase90.robconf;

pTarget:=Offs(pTarget,Compensation{nCount,1},Compensation{nCount,2},Compensation{nCount,3});

   CASE 31:

     pTarget.trans.x:=pPlaceBase0.trans.x+15;

   pTarget.trans.y:=pPlaceBase0.trans.y+nBoxL-110;

   pTarget.trans.z:=pPlaceBase0.trans.z+8*nBoxH+60;

pTarget.rot:=pPlaceBase0.rot;

pTarget.robconf:=pPlaceBase0.robconf;

pTarget:=Offs(pTarget,Compensation{nCount,1},Compensation{nCount,2},Compensation{nCount,3});

   CASE 32:

     pTarget.trans.x:=pPlaceBase90.trans.x+nBoxL-20;

   pTarget.trans.y:=pPlaceBase90.trans.y-40;

   pTarget.trans.z:=pPlaceBase90.trans.z+8*nBoxH-80;

pTarget.rot:=pPlaceBase90.rot;

pTarget.robconf:=pPlaceBase90.robconf;

pTarget:=Offs(pTarget,Compensation{nCount,1},Compensation{nCount,2},Compensation{nCount,3});

DEFAULT:

   TPErase;

   TPWrite "The data 'nCount' is error,please check it !";

   stop;

ENDTEST

Return pTarget;

ENDFUNC


PROC rPlaceRD()

   TEST nPalletNo

CASE 1:

   Incr nCount_L;

   IF nCount_L>32 THEN

       Set do02_PalletFull_L;

   bPalletFull_L:=TRUE;

nCount_L:=1;

endif

CASE 2:

Incr nCount_R;

IF nCount_R>15 THEN

Set do03_PalletFull_R;

   bPalletFull_R:=TRUE;

nCount_R:=1;

   ENDIF

DEFAULT:

   TPERASE;

   TPWRITE "The data 'nPalletNo' is error,please check it!";

   Stop;

ENDTEST

ENDPROC


PROC rCheckHomePos()

   VAR robtarget pActualPos;

 IF NOT CurrentPos(pHome,tGripper) THEN  

       pActualpos:=CRobT(\Tool:=tGripper\WObj:=wobj0);

       pActualpos.trans.z:=pHome.trans.z;

       MoveL pActualpos,v500,z10,tGripper;

       MoveJ pHome,v1000,fine,tGripper;    

   ENDIF

ENDPROC


FUNC bool CurrentPos(robtarget ComparePos,INOUT tooldata TCP)

   VAR num Counter:=0;

   VAR robtarget ActualPos;

   ActualPos:=CRobT(\Tool:=TCP\WObj:=wobj0);

   IF ActualPos.trans.x>ComparePos.trans.x-25 AND ActualPos.trans.x<ComparePos.trans.x+25 Counter:=Counter+1;

   IF ActualPos.trans.y>ComparePos.trans.y-25 AND ActualPos.trans.y<ComparePos.trans.y+25 Counter:=Counter+1;

   IF ActualPos.trans.z>ComparePos.trans.z-25 AND ActualPos.trans.z<ComparePos.trans.z+25 Counter:=Counter+1;

   IF ActualPos.rot.q1>ComparePos.rot.q1-0.1 AND ActualPos.rot.q1<ComparePos.rot.q1+0.1 Counter:=Counter+1;

   IF ActualPos.rot.q2>ComparePos.rot.q2-0.1 AND ActualPos.rot.q2<ComparePos.rot.q2+0.1 Counter:=Counter+1;

   IF ActualPos.rot.q3>ComparePos.rot.q3-0.1 AND ActualPos.rot.q3<ComparePos.rot.q3+0.1 Counter:=Counter+1;

   IF ActualPos.rot.q4>ComparePos.rot.q4-0.1 AND ActualPos.rot.q4<ComparePos.rot.q4+0.1 Counter:=Counter+1;

   RETURN Counter=7;

ENDFUNC


TRAP tEjectPallet_L

Reset do02_PalletFull_L;

   bPalletFull_L:=FALSE;

   tperase;

 TPWrite "The left trip is running!";

ENDTRAP


TRAP tEjectPallet_R

Reset do03_PalletFull_R;

   bPalletFull_R:=FALSE;

   tperase;

   TPWrite "The right trip is running!";

ENDTRAP


PROC rMoveAbsj()

   MoveAbsJ jposHome\NoEOffs, v100, fine, tGripper\WObj:=wobj0;

ENDPROC


PROC rModPos()

  MoveL pHome,v100,fine,tGripper\WObj:=Wobj0;

  MoveL pPick_L,v100,fine,tGripper\WObj:=Wobj0;

  MoveL pPick_R,v100,fine,tGripper\WObj:=Wobj0;

  MoveL pPlaceBase0_L,v100,fine,tGripper\WObj:=Wobj0;

  MoveL pPlaceBase90_L,v100,fine,tGripper\WObj:=Wobj0;

  MoveL pPlaceBase0_R,v100,fine,tGripper\WObj:=WobjPallet_R;

  MoveL pPlaceBase90_R,v100,fine,tGripper\WObj:=WobjPallet_R;

ENDPROC

ENDMODULE


ninghuaxia

  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 26回
  • 年度积分:0
  • 历史总积分:49
  • 注册:2009年11月16日
发表于:2014-05-26 15:56:28
15楼

请教一个问题,关于ABB机器人伺服电机拆装编码器之后,机器人不能启动?应该怎样处理!

jh1989

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 7回
  • 年度积分:0
  • 历史总积分:5
  • 注册:2014年2月26日
发表于:2014-06-14 23:37:40
16楼

专业ABB机器人维修电话18033453290

PQjoker

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 15回
  • 年度积分:0
  • 历史总积分:28
  • 注册:2007年7月09日
发表于:2014-06-17 09:12:40
17楼

回复内容:

对: ninghuaxia  请教一个问题,关于ABB机器人伺服电机拆装编码器之后,... 内容的回复!


Update revoluation counter or calibration.

PQjoker

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 15回
  • 年度积分:0
  • 历史总积分:28
  • 注册:2007年7月09日
发表于:2014-06-17 09:25:07
18楼

回复内容:

对: 应应  你好,我现在有一个问题ABB机器人 开机后按下使能键 ... 内容的回复!


 Manual mode or Auto mode?

EstunWang

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 10回
  • 年度积分:0
  • 历史总积分:10
  • 注册:2014年6月30日
发表于:2014-06-30 13:18:09
19楼

回复内容:

对: 王者之师——广州@阿君  求交流。。。求种子。。。求代码。。。 IRC5控制器I... 内容的回复!


 新人请教呀,不知道大哥们有没有类似交流的群呀,工控系统和机器人的,希望能够学习更多知识结识更多同行呀~~~

广州安川机电科技有限公司

  • 精华:0帖
  • 求助:0帖
  • 帖子:31帖 | 24回
  • 年度积分:3
  • 历史总积分:266
  • 注册:2011年4月24日
发表于:2015-07-30 16:52:09
20楼

广州安川机电科技有限公司是机器人控制系统中国最具规模和实力的维修服务商,建立了机器人测试平台确保100%出仓率,对您所给的型号维修具有丰富的经验,有问题请致电020-22157924,我们将解决您的机器所出现的故障。


热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页