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. KUKA 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

Background Work

  • paulfile
  • March 28, 2023 at 10:06 AM
  • Thread is Resolved
  • paulfile
    Reactions Received
    3
    Trophies
    2
    Posts
    64
    • March 28, 2023 at 10:06 AM
    • #1

    Hello,

    I have a kuka krc2 robot. Spindle attached at the end of the robot , and ı start this from $OUT[4].

    But ı want to this $OUT[4] = false when the emergency stop is pressed.

    How can ı do this.

    Edited once, last by paulfile (March 28, 2023 at 10:12 AM).

  • panic mode
    Reactions Received
    1,268
    Trophies
    11
    Posts
    13,041
    • March 28, 2023 at 2:50 PM
    • #2

    Emergency Stop is one of the safety functions.

    Like all safety functions this means it should stops devices no matter what, regardless of user program state etc. and this need to be tamper resistant.

    The way to accomplish this is to use outputs that are controlled by user program but also affected by safety state of the controller. In almost all cases safe state is deenergized state. So this is done by using safety circuit to interrupt power supply to the output card(s). But that may not be enough - for example if it is possible for the device (in this case spindle) to still run even if the control signal is off. This could be due to construction of the device itself. If the design is such that it could still run despite signal being off, then one cannot simply rely on blocking the signal - one need to block power to the device itself. Note that "could run" includes both normal or abnormally (for example due malfunction of the device).

    If the device does not have built in (and correctly used) safety features, then interrupting power to the device itself is needed. And that too need to match the integrity level of the used safety function (in this case EStop). Safety integrity level includes things like redundancy, monitoring etc.

    Implementing something that bypasses safety or pretends to be safe means liability. An example of this is any band-aid attempt to "make it safe" like turning off an output in user program. the robot outputs are not safety rated. neither are the robot or submit interpreter. nor they are tamper proof....

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • SkyeFire
    Reactions Received
    1,044
    Trophies
    12
    Posts
    9,391
    • March 28, 2023 at 4:25 PM
    • #3

    As Panic says: if this is a safety hazard, then the correct way to handle the problem is to wire the power supply of the spindle in series with the E-Stop circuit in some way.

    One possible approach would be to have the spindle power interrupted by a relay closed by the Drives On status outputs at pins 35&36 and 33&34.

  • paulfile
    Reactions Received
    3
    Trophies
    2
    Posts
    64
    • March 29, 2023 at 6:22 AM
    • #4

    Thank you for reply . So , Can ı do this another program? like submit iterpreter.

    For example can ı make this output false when ı press emergency stop

  • panic mode
    Reactions Received
    1,268
    Trophies
    11
    Posts
    13,041
    • March 29, 2023 at 6:29 AM
    • #5

    yes, it is possible of course... and it i trivial... but you have been warned. this is not what you want.

    Code
    IF NOT $ALARM_STOP THEN
       $OUT[4]=FALSE
    ENDIF

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • paulfile
    Reactions Received
    3
    Trophies
    2
    Posts
    64
    • March 29, 2023 at 6:34 AM
    • #6

    This code .for example , If I want to stop the spindle while it is running auto mod, I have to do it in a submit iterpreter program, right?

  • panic mode
    Reactions Received
    1,268
    Trophies
    11
    Posts
    13,041
    • March 29, 2023 at 6:44 AM
    • #7

    yes

    Code
    IF $AUT AND NOT $ALARM_STOP THEN
       $OUT[4]=FALSE
    ENDIF

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • paulfile
    Reactions Received
    3
    Trophies
    2
    Posts
    64
    • March 29, 2023 at 6:49 AM
    • #8

    Thank you so much .

  • SkyeFire
    Reactions Received
    1,044
    Trophies
    12
    Posts
    9,391
    • March 29, 2023 at 4:15 PM
    • #9

    The problem with using the SPS is that, if the SPS is not running for some reason, then the spindle will never be stopped. That's one reason (among several) that this is not a Safety-qualified solution.

    One way to protect against SPS halts might be something in the SPS like:

    Code
    IF bRunSpindle AND NOT $ALARM_STOP THEN
      PULSE ($OUT[4], TRUE, 0.1)
    ENDIF

    where bRunSpindle is a global BOOL variable. In this usage, every cycle of the SPS (which should execute a full loop several times every 0.012sec) will "pulse" $OUT[4].

    But the Pulse command has a hidden trick: If you do something like this:

    Code
    PULSE ($OUT[4], TRUE, 1.0)
    WAIT SEC 0.5
    PULSE ($OUT[4], TRUE, 1.0)

    Then $OUT[4] will stay True for 1.5sec. Basically, repeating a Pulse command before the previous Pulse command expires extends the original Pulse. So, in the upper example, as long as bRunSpindle is True and $ALARM_STOP is False, $OUT[4] will stay True all the time. But, if either BOOL changes state, or the SPS is halted for any reason, 0.1sec later, $OUT[4] will become False.

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

  • Background programs

    • SkyeFire
    • October 22, 2020 at 12:36 AM
    • Fanuc Robot Forum
  • KUKA.EthernetKRL and OfficeLite

    • DannyDJ
    • September 24, 2019 at 11:43 AM
    • KUKA Robot Forum
  • Independent Motion Task

    • SkyeFire
    • October 12, 2022 at 11:21 PM
    • ABB Robot Forum
  • Backgroundtask Logging

    • tammoj
    • October 30, 2018 at 2:41 PM
    • KUKA LBR IIWA
  • Debugging SemiStatic modules -- some notes

    • SkyeFire
    • March 30, 2022 at 7:42 PM
    • ABB Robot Forum
  • Has any way to fix the vision problem?

    • monred
    • November 3, 2021 at 1:33 PM
    • Fanuc Robot Forum
  • Background Tipdress with Servogun Basic

    • Orange Disaster
    • October 22, 2021 at 3:31 PM
    • KUKA Robot Forum
  • Countdown timer that runs in the background

    • xerim
    • April 22, 2021 at 2:14 PM
    • ABB Robot Forum
  • Background Task TCP/IP will not reconnect after synchronization

    • JM212
    • December 9, 2020 at 2:19 AM
    • KUKA LBR IIWA
  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