Can you show us that part of that program ?
Being a palletizer, I bet you there's a lot of Pxxx offset and overwiting, even $Pxxx and that could be the reason
Posts by Fabian Munoz
-
-
it processes both camera views at one time ?????
Running the processes it's up to you. Run one, save it on VR1,then run another and save it on VR2
-
naduley
To help you better, why dont you post the config of your DI/DO ?
-
WOW
I should take the day off"XRC connection would be CN05-5 and CN05-6 on the XIO01......." are on the vertical green Phoenix terminal with the little orange tags
-
95devils , I thought that config was for DX
Oh well, I'm one robot version behind, what I described before is for XRC -
Hi
At the bottom of the cabinet, check for a black terminal strip, It's about 8 terminals long Those are the external customer connections
do you see PPESP3, PPESP4 etc, ? put a jumper between PPESP3+ AND PPESP3-, same with PPESP4+ and PPESP4-
Do the same with the PBESP -
i never had an issue with this Send me your file, please
-
Can you print part of your prog where you do the approach ?
Would it be possible that the tool changed "magically" between one point and another
I have more question, but first I want to see your prog -
Enjoy, dont be afraid to ask
-
i dont have the time right now to try on a robot .
on your tries you go for 1 to 2 , then 1 can you try 2 to 1, then 1, just for the heck of italso, why dont you try this ?
Ref Pos 1................DO1
Ref Pos 2................DO2and create a background program or crossreference
If DO1 or DO2 are on then turn DO1 on
or
If DO2 is on then turn DO1 on -
JJ
I"ll tell you what I've done
Step 1
After every motion I use a register to keep track on the motion that it just did
48: ;
49:J P[1] R[22:JFAST]% CNT90 ;
50: R[1:RECOVER DATA]=1 ;
51:L P[2] R[17:LFAST]mm/sec CNT90 ;
52: R[1:RECOVER DATA]=2 ;
53: ;
54: LBL[20] ;
55: MESSAGE[***********************] ;
56: MESSAGE[VISION POSITION] ;
57: MESSAGE[***********************] ;
58:L P[3] R[17:LFAST]mm/sec FINE ;
59: R[1:RECOVER DATA]=3 ;Step 2
At the top of the program I save the P[] points into PR[]. Excellent feature from Fanuc
6: MESSAGE[***********************] ;
7: MESSAGE[LOADING RECOVERY DATA] ;
8: CALL ZERO_PR ;
9: PR[101:RECOV 1]=P[1] ;
10: PR[102:RECOV 2]=P[2] ;
11: PR[103:RECOV 3]=P[3] ;
12: PR[104:RECOV 4]=P[4] ;
13: PR[105:RECOV 5]=P[5] ;
14: R[28:TOOL STATUS]=0 ;
15: CALL LAST_PR ;
16: !R29 has value of last PR ;
17: MESSAGE[RECOVERY DATA LOADED] ;
18: MESSAGE[***********************] ;As you can see there's a couple more routines
8: CALL ZERO_PR ; which zeroes the PR
15: CALL LAST_PR ; will help when you do the recovery, automatically retrieves pointsStep 3
The recovery program/MN
1: MESSAGE[***********************] ;
2: MESSAGE[JOB NUMBER 255] ;
3: MESSAGE[RECOVER TO HOME] ;
4: MESSAGE[***********************] ;
5: ;
6: GO[1:CURRENT JOB ]=255 ;
7: IF DI[43]=ON,JMP LBL[1] ;
8: WAIT DI[47:JOB NUM OK]=ON ;
9: ;
10: LBL[1:TOP] ;
11: MESSAGE[***********************] ;
12: MESSAGE[JOB NUMBER 255] ;
13: MESSAGE[***********************] ;
14: IF $REFPOS1[1].$ATPERCH=1,JMP LBL[10] ;
15: IF R[1:RECOVER DATA]=0,JMP LBL[999] ;
16: IF R[1:RECOVER DATA]=1,JMP LBL[3] ;
17: IF R[1:RECOVER DATA]=100,JMP LBL[10] ;
18: ;
19: R[2:RECOVER CURRENT]=100+R[1:RECOVER DATA] ;
20: ;
21: LBL[2:HEADING HOME] ;
22: MESSAGE[***********************] ;
23: MESSAGE[RECOVERING ] ;
24: MESSAGE[***********************] ;
25: ;
26: IF R[5:SPACIAL POS]=5,CALL UTOOL ;
27: ;
28:L PR[R[2]] R[18:LRECOVER]mm/sec FINE ;
29: R[1:RECOVER DATA]=R[1:RECOVER DATA]-1 ;
30: JMP LBL[1] ;
31: ;
32: LBL[3:PREWORK TO HOME ] ;
33: MESSAGE[***********************] ;
34: MESSAGE[LAST MOTION BEFORE HOME] ;
35: MESSAGE[***********************] ;
36:L PR[101:RECOV 1] R[18:LRECOVER]mm/sec FINE ;
37: JMP LBL[10] ;
38: ;
39: LBL[999:NO RECOVERY] ;
40: MESSAGE[***********************] ;
41: MESSAGE[NO RECOVERY DATA] ;
42: MESSAGE[ ] ;
43: MESSAGE[***********************] ;
44: CALL ALARM(1) ;
45: JMP LBL[99] ;
46: ;
47: LBL[10:HOME] ;
48: MESSAGE[***********************] ;
49: MESSAGE[SAFE TO MOVE HOME] ;
50: MESSAGE[MOVING TO HOME POSITION] ;
51: MESSAGE[***********************] ;
52:J PR[1:HOMER] R[23:JRECOVER]% FINE ;
53: CALL HOMER ;
54: ;
55: LBL[99:END] ;
56: ;
57: DO[47:JOB COMPLETE]=ON ;
58: WAIT GI[1:JOB NUMBER]=0 ;
59: DO[47:JOB COMPLETE]=OFF ;
/POS
/ENDSO, in words now
Every time that I teach a point I add the register after and I save them on PR
When I want to recover I just read my last value of R, lets say is 5, then I run RECOVERY and the program goes directly to
PR105, then 104, the 103 ......Hope these help I can give you full copies or more details, but first digest what I told you
-
Hi TRBe
I read your post 3 or 4 times and this is what i concludedRef Pos 1................DO1
Ref Pos 2................DO1and you say that when you are at either ref pos , DO1 goes ON ,so what is the problem ?
-
Hi
Question: What's the application ?
My answer does not answers nitin29 question but solves the problem. This is what i would doMOVL Inside circle
SET I000 0
*CIRC
MOVC V=563 PL=3 (pt1)
MOVC V=563 PL=3 (pt2)
MOVC V=563 PL=3 (pt3)
MOVC V=563 PL=3 (pt4)
MOVC V=563 PL=3 (pt1)
MOVC V=563 PL=3 (pt2)............... added
INC I000
JUMP *CIRC IF I000<2
MOVL Inside circle different than the first oneI never do circles that start and stop in the same point, I always overlap a couple of them
-
Hi guys
Narrow down your questions.
Bin picking has been in the industry for few years.There are many software companies working together with robot manufacturers doing this.
I just went to the Automate show in Chicago and there were 5 or six booths showing bi picking -
Got a better idea
Why they don't put the TP inside an locked enclosure ?
-
-
If your toll pick/drop is fine and I mean excatly like it was a month ago then I can assume is not the robot location or tooling
If your user frames are (again) exactly like before, which BTW, explain how do you use the frame ? do you touch it up everytime ?Then , just like easyrobot said "fixture are being mislocated" or part misplaced in fixture
Could you write a 3 point program (don use user frames) to "mark" where your fixture is ? -
-
I use 256, 512 and 1 g
Sometimes the controller doesnt read some brand of cards. I dont know whyI dont knwo anything about RJ2
-
Is it a working robot or you have the luxury to start from zero ?
I don't know nothing about your robot or system but I would do this for your piece of mindMove to zero position in ll the axis
Find out (picture is good enough) if that looks like the original zero pos from fanfic
Hopefully it is
Measure the the axis are 90 degrees with a protractor
If everything looks good, make your own witness marks. This will help you in the futureTo tell you the truth, if you have a bunch of programs running just go to zero and marked even if they are not perfect. You have been running like that for a while, so all the progs are based on 'that' zero