Abort All after Manual JOG

  • Hi.


    I have an application with 4 CRX-10ia/l robots.

    I would like somehow to automaticly execute an "Abort All" (or similar), if the robot has been jogged manually.

    This is to ensure that program is aborted if an operator is moving the robot manually.


    If possible i would like to do this without using Karel. :smiling_face:


    Does anybody has an idea how to do this?


    Regards

    Morten

  • Place your Ad here!
  • Fubini

    Approved the thread.
  • Be aware, that this variable only works if the CRX has actually been jogged! If you instead select any line (in any program) with a movement and let the CRX execute this line (even partially) the CRX will move but this variable remains FALSE.


    You may consider to check the variable $MOR_GRP[1].$ROB_MOVE, too, because it will be set to TRUE any time the CRX is moving - whether manually or through a program.

    Almost forgotten:

    If you'd like to use $MOR_GRP[1].$ROB_MOVE you'll need to use Background logic because BG logic it will be executed in background even if you switch to manual mode.

    Never EVER again fanuc!

    Edited 2 times, last by HalbesYoyo: Addendum and typo ().

  • Hi Again.


    I have now been testing a little on this from RoboGuide.

    I am facing some issues with this.

    Maybe you can help me?


    1)

    I seems that it is not allowed to execute an ABORT command in a BG-logic program.


    2)

    I have tried to add a simple TP-program that only contains an ABORT command.

    I tried to RUN this program from my BG-logic program, to execute the ABORT command.

    This results in an Error "RUN stmt failed in background program"


    Do you have a good way to execute a ABORT command from a BG-logic program?

    I have been thinking this way of solving it:

    1. Map UI[4] CSTOPI to a flag eg. F[10]
    2. Create a BG-program that handles F[10] by combining the current physical Cstop Input (DI[102] and a "Cstop-flag (eg F[11])"
    3. Create a TP-program that can handle the F[11] flag, to trigger a CSTOP
      1. This program is called from my BG-logic program if robot has been jogged manually.

    I think this would work - but i also feel that it will be a quite complex way, to only control triggering a ABORT ALL, if robot is jogged manually. 😅

    Do you have a more simple way to do this?


    Regards.

    Morten

  • Hi Morten,


    you are limited to a subset of commands:


    Additionally there are some restrictions (like JMP only works "downwards" the program, not "upwards"). For further details please have a look to B-83284EN/10 Operator's manual basic function, Chapter 9.12. :winking_face:


    There is a system variable showing the status of BG logic, but unfortunately you cannot use it to stop it from inside the BG logic. Just checked it but for RoboGuide only because I'm not in office at the moment.


    $MIX_BG[1].$STATUS

    1 = Stopped

    2 = Running (Normal)

    3 = Running (Fast)

    4 = Error

    Never EVER again fanuc!

  • This will work in BG Logic:


    Monitor the jogged system variable. Then control UOP cstopi through a flag. Pulse the flag using the counter method (use a register to count BGLogic scans).

    I have just tested this method, and it seems to work as intended. 👍

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now

Advertising from our partners