RobotStudio event

SImulate Emergency Stop

Hi All,

I need to simulate a safety feature, laser curtain where the robot will stop if the laser curtain is cut. Then (in real situation) the task can be cntinued after pressing button on TeachPendant.

So how do I simulate the (emergency?) stop in Simulation? I was thinking about using Collision Set and changing ES1 &ES2 I/O (since I notice ES1 &ES2 is reset when Emergency Stop buttton is pressed in COntrol Panel). But I dont have write acccess to ES1 & ES2.

Thanks in advance.


Comments


  • You cannot simulate Emergency Stop from RobotStudio since the controller is not involved (the brakes are applied). What you can do, however, is to apply a QuickStop that will use the servo to stop the robot. The robot will stop on the path, i.e. a controlled stop. The stop distance will be slightly longer than the emergency stop. On the other hand, it is much quicker to restart the robot after a QuickStop, than after an EmergencyStop.
     
    To do it, simply define an I/O signal and use it when you define a System Input, see picture below.
    image
     
    For more info about the QuickStop, check the RAPID Reference manual
    Henrik Berlin
    ABB
  • OskarHenriksson
    edited February 2018
    QuickStop does not seem to be present in the RAPID instruction set RW 5.13 and above.

    I found a "neat" way to trigger a QuickStop(and other actions) from RAPID inside RobotStudio:

    1. Configuration -> I/O System -> Signal: Create a Digital output and a digital input on the controller.
    2. Station Logic -> Design: create a connection between the two digital signals you have created.
    3. Configruation -> I/O System -> System Input: Link the created digital input to the action QuickStop
    4. In RAPID: just set the digital output using SetDO.

    Here is some example code to get you started:
    MODULE stop
        VAR num pos1;
        
        PROC main()
            WHILE TRUE DO
                WaitTime 0.01;
                GetJointData \Mechunit := ROB_1 , 1, \Position := pos1; 
                IF pos1 >= 90 THEN
                    SetAO STOPANGLE, pos1;
                    SetDO STOPOUT, 1;
                    !StopMove \Quick; ! terribly long delay
                ENDIF       
            ENDWHILE
        ENDPROC
    ENDMODULE

  • You can also just press the virtual e-stop button on the virtual TP.
    Lee Justice
  • The original question was to issue an emergency stop when a certain condition was fulfilled, I assume you wan't more advance logic than manual supervision, in my case I wanted to track brake distance angles, pressing the button manually is not an option.
  • Hello Oskar, i want a more explication about your method to trigger a Quick stop if you it is possible. I created a path which is a rotation 30 degree of the robot around the axis 1. In the rapid i have the module which represents the 2 targets. Now i will create another module called stop to simulate my stop function in an exact moment. Then it is possible to see the results using the signal analyzer isn't it ? 
     
  • Hi @Amjed
    What I think is the easiest is to create a separate non-motion task that only consist of my module "Stop" described above.
    Non-motion tasks runs all the time independent of the robot movement, though the option 623-1 Multitasking needs to be enabled.

    I do not think that the controller will send any data after an emergency stop has been issued.

     
  • Thanks Oskar I am going to try this and see what gives us ^^