Posts by n0909

    Posting the manuals that KUKA gives away with the robots is allowed. Posting the training manuals from KUKA College training courses is not allowed.

    The information on wiring X11 is not considered proprietary, and as such presents no problems being posted.

    Many of the KUKA manuals are available in the "Manuals, Software, and Tools" sub-forum of this forum.

    Hi SkyeFire,

    Thanks for the clarification.

    Here's the KRC5 manual.


    Hey, i was hoping to ask how to configure safety interface of KRC5 Micro Controller.

    XG 11.1 AND XG 58

    For the KRC5mirco,

    You must jumper the plugs with the jumper links provided if you are not planning to use the additional external emergency stop and additional external operator safety.

    This cannot be bypassed by software! You must jumper the terminals if you don't plan to use them.

    Please find the images for the plug wiring.

    I am not sure if I'm allowed to post a manual here as I respect KUKA copyrights and don't want to see myself kicked out of the forum.


    Trimming what? Plastic? Fiberglass? Iron? Titanium? How much, how thick, how deep, how fast?

    Without a lot more detail, there's no way anyone can answer this question with even minimal precision.

    Polyethylene and 3mm thickness.

    Accuracy +/- (2-3mm)

    Ultrasonic trimming at 40khz

    Hope this helps

    Hi all,

    I was hoping to know what EOAT is the best in the market for trimming application? I'm hoping some ultrasonic cutter with vacuum extractor for clean jobs? Yaskawa motomans have a very nice trimming specific application range.

    But was hoping to see if I can mount a tool on an existing KUKA robot.

    Any budget estimates?


    Hi pfuser,

    What do you mean ?

    Did you manually assign a static IP address for the KRC5 controller?

    You will have to assign a static IP address first on the KRC5 and make sure the IO Device is activated if you're planning to use a Siemens PLC as PN Master and KRC5 as PN slave IO device.

    Connect the PLC to the KRC5 on KLI2 and then assign a PN name from accessible devices from the TIA portal.

    Hope it helps


    Hi panic mode,

    I'm not too sure what to say.

    The new KRC5 micro has 8 rj45 ports which are dedicated to a specific task.

    Ports are assigned to daisy chain other robots into the robo team or connect to a plc or IT interface or Programming Port.

    It's great in a sense we don't have to match the controller IP address to program it. The XF1 is on a DHCP server at that assigns an IP to the user (similar to the ABB IRC5). Plug and Program.

    A few extra things to be wired up are the additional external stop and additional operator safety. If not used it had to be jumpered. (16 pin plug on the controller).

    Also the controller has onboard 16 pin digital IO.

    The UPS ACCUMULATOR (Battery box) is supplied in a separate little box that can be daisy chained to several other krc5's.

    The whole commissioning took less than 8 hours.

    I hope it would be useful information if someone ever gets a c5. Luckily we're fortunate to have one of the very few c5 supplied in the world.

    Hi all,

    For the one's who got their hands on with the new KRC5 micro on KSS8.7 and Profinet 6.0 KOP.

    The fancy 8 port ethernet switch on the krc5 will be a little tricky.

    But for use KLI2 (Port XF5 for PLC Connection - Ethernet/Profinet)

    Manual mentions XF6 does the same but does not appear to establish any comms.

    Use KSI (Port XF1) for Programming Wov/Debug.

    Hope it helps

    There should not be, as long as you manage the INTERRUPT ON and OFF commands carefully.

    The first thing any Interrupt Service Routine should do is turn the Interrupt that called it OFF, so as to ensure that any anomalous conditions (like a "flickering" input) do not cause the interrupt to fire while the ISR is still executing. When to turn the Interrupt back ON again depends on where you need it.

    So your INTERRUPT OFF commands should be before the BRAKE commands.

    Thanks Skyefire.

    Much appreciated.

    Hi all,

    I had populated the below and seem to be reasonably working well but will there be an issue with re-triggering interrupts in the same program over and over again?

    Any helpful insights will be greatly appreciated.

    Where does the pointer go to if I add a RESUME function in the part in contact?

    Thanks panic mode,

    Part is closer is turned on when the ultrasonic sensor gets to 100mm above the part to tell me to reduce speed and search for part to make contact. At this point the vac is turned on to continue lin_rel motion -2mm on Z until it senses vac made signal or does not go past the 100mm allowed travel and issue a fault

    What are you trying to do here? The PTP #POS_ACT will counteract the C_DIS on the LIN_REL, so the robot will do stop/go/stop/go every 100mm.

    If you removed the PTP $POS_ACT, you'll end up stopping some 200-400mm lower than the position where PARTFOUND goes True, due to the Advance Run Pointer. This situation is what Interrupts were created for.

    Your approach might work, if you used much smaller Z steps, and your tooling had a generous tolerance for height errors. So, if your gripper had spring-loaded suction cups with ~40mm of spring travel, and you used -10 in the LIN_REL instead of -100.

    Thanks skyefire,

    Unfortunately the tool does not allow for tolerances so interrupts might be the only way forward as Mentat suggested.

    I assumed the stop go stop would give the controller enough time to terminate the motion prematurely but looks like it doesn't.

    But here's what I'm trying to do.

    1.Search whether the part is closer. $IN[90]

    2.Search when the part is in contact. $IN[91]

    SO I will be needing two interrupts,

    Can you suggest what the syntax might look like for two interrupts in the same program?


    Hi all,

    Hoping to see if someone had done a smarter and more simpler way to auto search for a part? Parts are stacked vertically and robot will be incrementing Z everytime the program is loaded.

    I am currently following the logic as below,



    LIN P1

    LIN P2



    PTP $pos_act

    BAS(#VEL_CP, 0.25)

    BAS(#ACC_cp, 10)

    LIN_REL {Z -100} C_DIS






    So how do I stop the current logic when part found in a simpler way apart from setting $ov_pro speed:/ to 0 and interrupts and end the iteration.?

    Just want to make sure the relative linear motion terminates when part present is detected by an input.?

    Any helpful suggestions appreciated.

    Kind regards

    If the plugs behind the robot or the rdc box or the controller are unplugged recently. Please recheck if the pins are still in the right spot. Had seen cases where the pins get bent when technicians plug them back with brute force.

    It's generally the x21 or the motor power plugs.

    The kva will depend upon what application you will be using the robot for. The more harder and faster you drive the motors, the more kva it attracts.

    And just to add it to the list.

    While using Work visual 6 on the KSS 8.6.6 does not give the Profinet IO option for 64 safe io and xxx non safe io.

    Just says Profinet io xxx.

    Had to go through the pain to refer to the manual for a simple task to not include the 64 bits anymore and just use the non safe bits for Profisafe robots.

    I am assuming that this is running in a background task. If the robot is running at high speed, it will never be quite real time. You have a wait time, which is necessary to avoid CPU overload, therefore, you have an inherent lag due to the nature of the program. You could probably reduce it to 0.01 seconds.

    Hi Lemster,

    Thanks for your feedback.

    Yes it is a background task. And just to ease the buffer and I had them in several tasks running in parallel in background.

    Any idea how long it takes to stop if it deviates from the path? Say j1 has to be between 85-89 degrees so can the plc issue a stop by reading the task in the above manner without too much lag?

    Any suggestions appreciated.

    Hi All,

    Just wondering if anyone had tried sending Joint Axis Positions from ABB IRC5 controller to a PLC?

    I currently use the below and it seems to work on the simulator but does not appear to be real-time. It has a lag to update the Joints but has anyone tried similar methods or code changes to the below to make it work more real-time?

    Any help or example code appreciated.