1. Home
    1. Dashboard
    2. Search
  2. Forum
    1. Unresolved Threads
    2. Members
      1. Recent Activities
      2. Users Online
      3. Team Members
      4. Search Members
      5. Trophys
  3. Articles
  4. Blog
  5. Videos
  6. Jobs
  7. Shop
    1. Orders
  • Login or register
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Blog Articles
  • Products
  • More Options
  1. Robotforum - Support and discussion community for industrial robots and cobots
  2. Forum
  3. Industrial Robot Support and Discussion Center
  4. Fanuc Robot Forum
Your browser does not support videos RoboDK Software for simulation and programming
Visit our Mainsponsor
IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Sponsored Ads

Safety program in Automatic mode

  • NathanJo
  • October 6, 2024 at 1:42 PM
  • Thread is Unresolved
  • NathanJo
    Posts
    68
    • October 6, 2024 at 1:42 PM
    • #1

    I'm looking to create a safety program for when the robot operates in automatic mode.

    What factors should I keep in mind during the planning process? What potential issues could arise, and what are the best practices for safely returning the robot to its home position?:thinking_face:

  • ASUA1
    Reactions Received
    6
    Trophies
    1
    Posts
    24
    • October 7, 2024 at 8:06 PM
    • #2

    Breadcrumb mentality is good for recovery in auto from auto. You use registers basically to update where the robot was at in a program when it was stopped your recovery program sees that and knows it needs to back out of the position to a safer position then on to its "Home".

    For any recovery after manual movement, it gets much trickier as the robot doesn't really have a reference to rely on for it position or surrounding obstacles. Scara are easy though as you can send it to a known good z height and then home.


    For full safety though a risk assessment is always going to be recommended.

  • Shellmer
    Reactions Received
    52
    Trophies
    5
    Posts
    161
    • October 7, 2024 at 11:45 PM
    • #3
    Quote from ASUA1

    Breadcrumb mentality is good for recovery in auto from auto. You use registers basically to update where the robot was at in a program when it was stopped your recovery program sees that and knows it needs to back out of the position to a safer position then on to its "Home".

    For any recovery after manual movement, it gets much trickier as the robot doesn't really have a reference to rely on for it position or surrounding obstacles. Scara are easy though as you can send it to a known good z height and then home.

    Personally I would avoid the use of registers to track where the robot was. The reason is that you do not really know if someone has just moved the robot manually before executing the homing sequence.

    I would suggest to just create a few of SpaceFunctions and check these areas on the homing routine, then, knowing where the TCP is located you can guess how to move in order not to collide, or just move in one direction and then go to a reference point (you could also set reference points and check the associalted DO), then go home with a taught path.

    I've had very awful experiences with robots whose recovery paths were programmed using registers, and it makes the code very dirty if you need to know where the robot was all the time.

  • HalbesYoyo
    Persona non grata
    Reactions Received
    47
    Trophies
    3
    Posts
    151
    • October 9, 2024 at 3:07 PM
    • #4
    Quote from Shellmer

    Personally I would avoid the use of registers to track where the robot was. The reason is that you do not really know if someone has just moved the robot manually before executing the homing sequence.

    You can use some code like this in a background logic:

    Code
    IF ($MOR_GRP[1].$JOGGED=1) OR (DO[8:TP enabled]=ON AND $MOR_GRP[1].$ROB_MOVE=1) THEN ;
    !rob has been moved manually or by program in manual mode
    ELSE ;
    !rob has not beeing moved ;
    ENDIF ;


    $MOR_GRP[1].$JOGGED
    A boolean variable, indicating that the robot has been jogged since last motion by program.
    It is reset to FALSE on program motion start.

    Keep in mind: It does not maintain TRUE state through power restart, and is always FALSE on power up.


    DO[8:TP enabled]
    A system signal indicating the TP is switched to manual mode.


    $MOR_GRP[1].$ROB_MOVE
    A boolean variable, indicating that the robot is moving (by program or by jogging).


    This code will recognize jogging the FANUC or running a motion command via program (and therefore maybe leaving the path) while in manual mode.

    Because the DO and $JOGGED are reset when switching on, the code does not (currently) recognise whether the FANUC has been moved to a different position and then switched off.

    To do this, you could save the current position on the rising edge of $ROB_MOVE and compare it with the current position after switching on(!?) This is already on my TODO list. :smiling_face_with_halo:

  • Shellmer
    Reactions Received
    52
    Trophies
    5
    Posts
    161
    • October 9, 2024 at 8:57 PM
    • #5
    Quote from HalbesYoyo

    You can use some code like this in a background logic:

    Code
    IF ($MOR_GRP[1].$JOGGED=1) OR (DO[8:TP enabled]=ON AND $MOR_GRP[1].$ROB_MOVE=1) THEN ;
    !rob has been moved manually or by program in manual mode
    ELSE ;
    !rob has not beeing moved ;
    ENDIF ;


    $MOR_GRP[1].$JOGGED
    A boolean variable, indicating that the robot has been jogged since last motion by program.
    It is reset to FALSE on program motion start.

    Keep in mind: It does not maintain TRUE state through power restart, and is always FALSE on power up.


    DO[8:TP enabled]
    A system signal indicating the TP is switched to manual mode.


    $MOR_GRP[1].$ROB_MOVE
    A boolean variable, indicating that the robot is moving (by program or by jogging).


    This code will recognize jogging the FANUC or running a motion command via program (and therefore maybe leaving the path) while in manual mode.

    Because the DO and $JOGGED are reset when switching on, the code does not (currently) recognise whether the FANUC has been moved to a different position and then switched off.

    To do this, you could save the current position on the rising edge of $ROB_MOVE and compare it with the current position after switching on(!?) This is already on my TODO list. :smiling_face_with_halo:

    Display More

    Yeah, it could be a solution, but I just preffer to use the space functions as I know that the gripper is inside an area and I can know how and where to move to exit safelly. Been using this method for years and it works wonderfully, it rarelly collides and if it does, it's at a very low speed.

    I also use the reference positions to return home, and sometimes even the axis degrees or word coordinates. The homing procedure is usually structured to first check if the robot is on any refposition, then if it's on any spcfunction, then if it's on a certain zone checking by coordinates or axis values, and if everything fails... it just aborts the program and someone must move it manually.

Advertising from our partners

IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Advertise in Robotics
Advertise in Robotics

Job Postings

  • Anyware Robotics is hiring!

    yzhou377 February 23, 2025 at 4:54 AM
  • How to see your Job Posting (search or recruit) here in Robot-Forum.com

    Werner Hampel November 18, 2021 at 3:44 PM
Your browser does not support videos RoboDK Software for simulation and programming

Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000

Thread Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000

Similar Threads

  • KRC4 Profinet Controller

    • robot-cnc
    • March 26, 2024 at 8:40 PM
    • KUKA Robot Forum
  • How to get Realtime data position and power consumsion with Ethernet KRL

    • rakhaswm
    • June 7, 2024 at 4:13 AM
    • KUKA Robot Forum
  • Recovering from E-Stop automatically from PC program

    • dhindhimathai
    • November 8, 2023 at 1:06 PM
    • Kawasaki Robot Forum
  • Got my hands on an old KUKA KR125 with KRC1 controller. Assessing possibillities

    • mauritswoudenberg
    • November 6, 2023 at 11:16 PM
    • KUKA Robot Forum
  • RX130+CS7 Not powering up fully

    • jmouw28
    • August 11, 2023 at 11:04 PM
    • Stäubli & Bosch Robot Forum
  • Operator safety confirmation

    • JFF
    • May 30, 2023 at 11:48 AM
    • KUKA Robot Forum
  • C70F controller with FS03N robot arm error 1334

    • vineeee
    • September 15, 2022 at 11:38 AM
    • Kawasaki Robot Forum
  • How to set up a used robot from scratch..

    • eliasgr
    • December 27, 2021 at 4:30 PM
    • KUKA Robot Forum
  • Don't move in T1, T2 mode. Automatic mode works

    • warlock2k
    • January 24, 2022 at 11:30 AM
    • KUKA Robot Forum
  • Kuka Vacuum Suction Configuration

    • Asmin
    • August 9, 2021 at 9:13 AM
    • KUKA Robot Forum

Tags

  • Fanuc
  • LRmate-200iD7L
  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™
As a registered Member:
* You will see no Google advertising
* You can translate posts into your local language
* You can ask questions or help the community with your knowledge
* You can thank the authors for their help
* You can receive notifications of replies or new topics on request
* We do not sell your data - we promise

JOIN OUR GREAT ROBOTICS COMMUNITY.
Don’t have an account yet? Register yourself now and be a part of our community!
Register Yourself Lost Password
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on Google Play
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on the App Store
Download