Posts by Fabian Munoz


    Not to be a prick, but, R-30iB doesn't indicate the robot. It's just the controller type.

    Anyway, going back to your question

    Is it overload it ?

    Does it fail on every direction ?

    I'm picturing a floor mounted robot trying to go up wit a lot of weight or with a decent weight but arms stretching all the way out


    Let' say you have 10 robots that are going to be doing the same operation. They have the same configuration

    So, I do one of them, with line tracking, vision, etc, etc..

    I like to copy all this info to the rest of them ( it will required touch up, obviously)

    Normally what I do is load the TP, progrs, the IO, etc, etc but takes some time

    I would love to do and image backup from robot 1 and just dump it on the other one. The problem doing that is that I'm going to destroy system information the belongs to the other robot.

    What is the problem if I follow the next procedure

    On robot 1 do an image backup (Robot 1 is at zero position)

    Jog Robot 1 is at zero position

    On robot 2 do All of the above

    Do an image restore on robot 2 from robot 1. This is where you destroy Robot 2

    Load on robot 2 SUMMARY which will rebuild robot 2.

    Can I do this, do I have to load any other file. ?


    The Operator panel E-stop is contained inside the panel.

    The possible problems could be

    1) loose connection on the button

    2) push button contact damaged

    3) loose connector at the other end

    Do you have any other faults, in particular related to 24 vdc ?

    Check that properly


    Please, sit down, relax and follow HawkMe advice

    I'll bet you, you will get in many situation like the one I show below

    This is your own program.

    So, you are running this part

    70: ;

    71: R[820:RGRP RCVR LBL]=3 ;

    72: R[821:NEXT UFRAME]=2 ;

    73: R[822:NEXT UTOOL]=3 ;

    74: JMP LBL[3] ;

    75: ;

    and you jump here

    31: ;

    32: LBL[3] ;

    33: JMP LBL[R[820]] ;

    34: ENDIF ;

    35: ;

    Can you explain what are you thoughts on what the program should do ?

    Also, commands like

    128: IF (PR[99,1:RECOVERY]>700 AND PR[99,1:RECOVERY]<1000 AND PR[99,2:RECOVERY]<(-1100) AND PR[99,2:RECOVERY]>(-800) AND PR[99,3:RECOVERY]<750 AND PR[99,3:RECOVERY]>425 AND PR[99,6:RECOVERY]>0 AND PR[99,6:RECOVERY]<180) THEN ;

    are very specific . That could be solve having a register tracking the steps

    Something like

    131:J P[1:MOVE BACK TO FRT] 50% FINE ;

    132:J P[1:MOVE BACK TO FRT] 50% FINE Offset,PR[4:OFFSET] ;

    133:J PR[96:AT REGRIP] 50% FINE ;

    Reg 999 = 1

    131:J P[1:MOVE BACK TO FRT] 50% FINE ;

    Reg 999 = 2

    132:J P[1:MOVE BACK TO FRT] 50% FINE Offset,PR[4:OFFSET] ;

    Reg 999 = 3

    133:J PR[96:AT REGRIP] 50% FINE ;

    Just ask for the value of your register and recover from there, but do it on a different routine


    I never had to use the RUN command in many years of programming.

    Looks like I'm going to use it on my next project .

    I need to take a picture every time after pick. NO question about it. I just want to save some time and take pictures while robot is moving instead of doing it purely sequential


    Stationary camera looking down to conveyor. It's not a irpicktool application. Conveyor will index when robot can not find more parts

    This is my idea

    **********************MAIN PROGRAM

    RUN vision ("SR") I'm going to use AR and SR for the names. I've got 40 parts

    label LOOP

    Wait part found and get coord I know I have to take care of other thing but this is a general idea

    Move to PICK with offsets Once I move to pick I'm blocking the FOV

    Move to CLEAR of FOV point I want to take my new picture between the clear of fov and placing the part

    RUN vision ("SR")

    Move to PLACE away from FOV Hopefully at this point I'm getting the new coord from the new part

    jump to LOOP


    get the coord from part ("SR") Very simple program, no motion, just vision commands

    I know I'm missing the "what happens if you dont find the part, etc,etc" That's not a problem

    I need to take a picture every time after pick. NO question about it


    1) when the command RUN is executed. Does execute vision from top to bottom and finishes it or keep looping ?

    Basically, is it a "one shot" program ?

    2) is there a command to stop the RUN program ? What is for some reason the program gets stack because the camera is not working or whatever ? I can't even think a good reason, but Can I stop it ?


    So, I see your PR 25,3 didn't get the 1 from R168 and you are saying that when you load the values manually it works "When I use different set of registers and hand enter the values directly into them It works fine"

    Try this (call me crazy), put a delay between loading the values and see what happens

    12: PR[25,1]=(R[166:OffsetX]) ;

    wait .5

    13: PR[25,2]=(R[167:OffsetY]) ;

    wait .5

    14: PR[25,3]=(R[168:OffsetZ]) ;


    I made a mistake explaining

    When you say L P[2:Pick Point] 1500 mm/sec FINE Tool Offset PR[60: Offset Data], this is wrong it should be

    L PR[60:Pick Point] 1500 mm/sec FINE

    The values of you camera go directly into your point. YOu will get x,y rotation . The other axis are constant

    Do the values make any sense ?

    If you follow what I wrote on the first post do this.

    Put the part at 10 cm from the corner on the x direction and 10 cm from the corner on the y direction.

    If you take a picture now, you should get 100 mm offset on the x and on the y from your PLC, if not, there's something wrong on your set up.

    Please understand the concept that the sheet paper represent a plane. You take a picture of that plane and you know the dimensions. On your Cognex you have to convert the 8 1/2 inches by 11 in pixels, and then you will know how many pixels 1 inch is

    Also on the same sheet of paper teach a user using the same origin and coord you define on the vision. If you put the robot is user coord frame a jog it to the origin you should be at 0,0 which is the 0,0 of your vision.

    11 x 2.54 = 279.4 mm This means if you go to the corner of your sheet you should have 279.4 mm in one of the position coordinates AND you should also be able to measure 279.4 in pixels value

    Same for 8 inches

    Once you get this, you are set, any part on that sheet of paper should be found by your vision with numbers that you can easily measure from the origin


    Many ways. Here just two of them

    1) if you are running one program and you select another program to move a point it will be a pp lost

    2) after reboot

    I mean every time you alter the location jumping from one program to another. All robot that I know do that


    I dont know if I understand correctly but a plane geometrically is defined by 3 points

    Correct me if I'm wrong but I think you want a plane (USER FRAME) that contains 50 points and the points are not necessarily on the plane . That's exactly what user frames are for Am I correct ?


    I'm not a mechanical engineer but I think 8 mm is pushing the limits

    Are they anchor bolts ? How deep are they in ?

    I hope you don't do sudden motion because that what really make the plate lose.

    You will see the nuts lose once you start moving fast.

    Do some tests, teach a fix point outside the plate, teach the robot few points on the air (fast), run it for 1/2 hour and go back to the fix point to see any deviation. Also check the nuts.

    I used to put a glass with water on the plate and look at the "waves" produce by the vibration.