Posts by RobotCoder

    Another item to consider which hasn't been mentioned is your firewall settings. RG communicates to robot server which will go through firewall to communicate to dependent programs.

    This is actually a really great point. Firewalls even local can block some items. Good catch.

    I know this might be a far stretch to do, but, take these files and try the install on another computer. This will tell you if it's PC based or install file based.


    Edit: In addition, anytime you are working with RG specific applicational events, copy from USB and store locally. This might suppress some issues as well.

    Might be useful to add debug code throughout the Karel program. This will allow you to see what line it's getting to and then you can see if there is an eternal loop/stack overflow - which is what it sounds like is happening.

    Provided you're on a newer controller, you could use the IF THEN statement to accomplish this.


    IF (UO[6] AND !UO[8]) THEN ;

    DO[2]=OFF ;

    RO[1]=OFF ;

    RO[2]=OFF ;

    RO[3]=OFF ;

    RO[4]=OFF ;

    RO[5]=OFF ;

    RO[6]=OFF ;

    RO[7]=OFF ;

    RO[8]=OFF ;

    ENDIF ;


    Edit: Added ! in IF clause.

    In addition to what HawkME stated, you don't even need numbers on newer controllers. You could have the code as follows (and it should parse fine) - Keep in mind, you do need the ASCII Uploader Option to do anything in Notepad and be able to upload it:

    Code
    : !Segment1 ;
    
    :J P[2] 100% FINE ;
    
    : !Segment2 ;
    
    :L P[3] 70mm/sec CNT75 ;

    Thanks for the reply pdl, I bought Duracell's "Procell" D size battery. I am unsure if they are industrial grade or not, but praying they last at least one year, since our Preventative maintenance routine calls to change them out once a year.

    Battery technology changes are minimal at best. You should follow PM schedules. - It's all the same behind the hood. - In all actuality, unless you're power cycling the robot consistently (or keeping the robot offline for long periods of time). Just watch your alarms. You will get an alarm when it's time to change.

    We have a plc interfacing with the robot via ethernet i/p. The plc currently makes all the decisions for the robot. Not sure if that is a good idea or not.

    Without understanding the full logic of the PLC driving the robot, using my method would probably not be good. Generally speaking though, a robot starts with a "Known" location and should also end its logic with going to that same "Known" location. Usually in PLC setups they send bits to the robot on what sequence/where to go and the robot just uses those as JMP LBL's or however the programmer decides to do it.

    Below Is Assuming You Are Not Using A PLC To Control The Robot, and all Logic Is Handled By The Robot.


    A Homing Routine.

    PR[1]=LPOS or PR[1]=JPOS --- Number is arbitrary, LPOS & JPOS record current position to PR.

    Check UserFrame & ToolFrame if needed using system variables.


    Make decisions in homing routine as to where the robot should be headed. Edit: To be clear, after you decide where you are/were in homing, then you should check for this in your main logic.


    Here are some other items that might help:

    https://www.robot-forum.com/se…5/?highlight=fanuc+homing

    It's on pages B-51 and B-52 of my manual:

    Oh, Command F is great... I had to search Modulus but I see where this is referenced. It's on B-47 of mine. Ver. 9.3 (R30iB Plus)

    Fanuc recommends Sharepoint Designer 2007. However, if you understand what is going on in the background (e.g. the code side) you can use pretty much any preferred text editor/IDE to do what you need to do.

    Can you please confirm that system variable $SHELL_WRK$CUST_NAME is set to MAIN .. ? I presume that is the case, just wanted to confirm.

Advertising from our partners