Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

IO Outputs not activated when running robot with RoboDK

Hi Jeremy,

I am currently connecting RoboDk to my KUKA KRC-2 and running the robot directly from my laptop using RoboDK, but I am switching on the coolant and blade motor manually from an external switch because I haven't figured out yet how to do it from RoboDK.

My programs are created by DXF2Gcode and M-Runcode program calls are created automatically in the programs.

The only problem is that the outputs on the KUKA are not activated when running the program on the robot by RoboDK. I have 3 outputs created on the Kuka controller which are named as follows:

Output 1 - Waterjet
Output 2 - Blade
Output 3 - Coolant 

When I generate an src program from RoboDK and copy it to the Kuka controller and then run it from the Kuka controller all the outputs are activated correctly. This is because I've created a M_RunCode() program (as per attachment) in the Kuka controller which controls the outputs. Currently, I am only controlling the Blade output and the Coolant output in this M-RunCode program. 

My first issue when running from RoboDK is that the M-Runcode(3) is created automatically but there is no M-Runcode program created in RoboDK and thus no output activated.  Please explain where and how to set up RoboDk so that the outputs are activated when running the robot. 

My second issue is that RoboDK only creates M-RunCode(3) and does not consider which tool is active. I would expect a different M_RunCode number to be created for a different tool? It creates the same M-RunCode(3) program call for switching on both the Waterjet tool and the Blade Tool. I would assume that instead of calling a M-RunCode, Code can be entered under Program Events with an IF function which activates Output 1 IF Waterjet tool is selected, Output 2 if  Blade tool is selected. Please can you suggest teh simplest way to get around this issue

Please can you also send a link where to find the meaning of and differences between the following functions under program events as I could not find much in the RoboDK guide about this under program events.
1.   Set Digital Output On
2.   Set Digital Output Off
3.   Set Digital Output On (sync)
4.   Set Digital Output Off (sync)

Hi Guys,

Any response this thread would be highly appreciated?
You should select "Program Events" to have better control about how to handle special codes (such as custom M codes) and special triggers (such as tool change function call and managing digital inputs and outputs). More information here:

When you are using the driver (running a program on the robot directly from RoboDK), make sure your Digital Outputs are numbered and you have this setting unchecked:
  • Tools-Options-Drivers
  • Uncheck: Manage IO with RoboDK when connected to a robot
We can help you better troubleshoot if you can share your RDK project file.
Thanks Albert,

I will try your advice and let you know the outcome.

Some questions though,
1. On our Kuka Robot the Output number 1 is named Waterjet and Output number 2 is named Blade. You mentioned the Digital Outputs should be numbered. Where in RoboDk do we number the Output? Please can you send an example?
2. You also mentioned that I have to Uncheck "Manage IO with RoboDk when connected to a robot". That does not sound right because managing the IO with RoboDk when connected is exactly what we are trying to do? Please can you confirm if it is correct to uncheck it for what we are trying to achieve?

Users browsing this thread:
1 Guest(s)