RobotStudio event

Software Interrupt for Motion Supervision


Hello my fellow Roboticists!

is there a way to execute a software interrupt whenever Motion Supervision gets triggered, or, more generally, the system is halted? 

I run a program on a PC that is communicating with the robot. This program needs to know whether the robot has come to an extraordinary halt. Communication with the robot is done via polling (i.e., certain state variables are read periodically from the robot). It would be very convenient if it was possible to set a variable so the PC program can see that the robot has stopped.

Thank you very much.

Best regards, CA

PS: I'm using an IRB120 with IC5 Compact

CaptainAwesome2012-11-08 13:11:32

Comments



  • Have you tried setting a System Output as described in the System Parameter Reference manual?
    Henrik Berlin
    ABB
  • Hi
    You could use the background task to check the state of the error code.
    You could also check the error code in a stop event routine of the main task.

    Best regards

    Marcel
  • Thank you for your responses!

    @Hendrik: I see, the MOTLMP system output looks like exactly what I need. Is there a way to access it from the PC SDK? I haven't found any information on that.

    @Marcel: Good idea. If it's impossible to access the MOTLMP system output from the PC SDK, this is what I will do. Thanks.
  • This is really outside my area of expertise, but I assume PC-SDK will be able to read values of digital signals. And since the System Output connects a certain system status to an output signal you are done: configure a system output to trigger a certain I/O signal, and read its value from PC-SDK.

    Henrik Berlin
    ABB

  • Dear Henrik, thank you. 
    However, I have one more problem: how can I "configure a system output to trigger a certain I/O signal"? I can't access the MOTLMP variable from my RAPID program. Reading the abundance of manuals has not brought me any insight so far :(

    CaptainAwesome2012-11-09 11:38:40
  • Hi
     

    You could take a system output.

    EIO.cfg:

    #
    SYSSIG_OUT:

          -Status "MotOnState" -Signal "doRobMotOnState"

     

    Or you could do a crossconnection with the system signal MOTLMP then you see it in the rapid code.


    EIO.cfg:
    #
    EIO_CROSS:

          -Res "doRobMotOnLamp" -Act1 "MOTLMP"

     

    Best regards

    Marcel

     





  • I started to work on a reply, but Marcel was quicker. Anyway here's mine:
     
    You need to configure a new output signal and define a new system output. I have recorded a video that illustrates the procedure.
     
     
     

    Henrik Berlin2012-11-09 15:25:32
    Henrik Berlin
    ABB
  • Thank you both. That helped enormously. Have a nice weekend :-D