Posts by nimius83


    I'm having serious troubles with a scara eCobra 600 (controller updated to the latest 2.4 C4 version). After a certain movement instruction (I replicated this at very slow speed), joint 4 rotates fast and then stops in error.

    After this error, if I call the normal repositioning sequence (tested million of times), it seems the robot is trying to move joint 2 to 0° (singolarity point) as if it is trying to recalibrate axes. Is this possible?

    Someone told me that after certain errors robot tries to recalibrate itself but I don't want to believe that.

    Thank you

    The digital signal comes from PLC (Profinet). If the condition is already met, program should exit from waitFor() loop but it doesn't! Program is stuck and doesn't go on.

    Kuka service told me that it is better to use PositionHold() rather than WaitFor()

    It takes a longer time in PLC 'cause I transfer double words at a time. I should ungroup all these double words again but I'm lazy as well :icon_smile:

    you can swap them in WorkVisual too. check WorkVisual manual or help file.

    for standard robots it is straight forward - highlight range with the mouse.
    if everything else fails, one can map them one by one in any order you like.

    I already tried to swap them in WorkVisual but it doesn't work. Kuka service says that maybe this limitation is due to data transfer over Profinet (GSDML). In fact, data to be transferred from/to PLC is grouped in bytes, not in words or double words

    Hi guys,

    I'm having some problems with waitFor() method:

    AbstractIO startInput = pnio.getInput("ReadyToCycle");
    BooleanIOCondition startCond = new BooleanIOCondition (startInput, true);

    It seems that if the ReadyToCycle input is already "true", the program execution is stuck waiting for a new rising edge of the signal to go on.

    I use instead positionhold() without any problem:

    AbstractIO startInput = pnio.getInput("ReadyToCycle");
    BooleanIOCondition startCond = new BooleanIOCondition (startInput, true);
    posControl = new PositionControlMode();
    lbr.move(positionHold(posControl, -1, TimeUnit.SECONDS).breakWhen(startCond));

    ??? ??? ???


    I'm using WorkVisual 4.0.18 on a IIWA. I talked to people who had the same experience with standard Kuka Robot about profinet communication between a PLC Siemens S7 and robot. For this reason I decided to post this topic in the general Kuka Robot Forum.

    However.. I don't have any problem if I swap the two bytes from PLC side and I don't know why it doesn't work in WorkVisual.. :icon_frown:

    it is not enough to make change in WorkVisual... it must be compiled, deployed and activated


    after any modification in WorkVisual, I usually export configuration to Sunrise Workbench (i'm using a LBR iiwa). I never compile or deploy the project...

    I just now tried to deploy project but WorkVisual crashes.

    Are you sure that byte swap feature needs to be compiled and deployed first?

    Thank you

    Hi guys,

    I want to transfer a 16 bit UINT from a PLC Siemens S7 to Robot. I grouped a 16 bit signal in Profinet tab in WorkVisual 4.0

    Example I want to transfer the following number:

    PLC: 0x12 0x34

    On Robot smartpad I see:

    ROBOT: 0x34 0x12

    I tried to swap the two bytes in WorkVisual but it didn't work but it works if I swap bytes in PLC...

    For those who might be interested, I received from Kuka indications for how to stop the main application from a background task. The code is the following:

    if (pnio.getTask_Stop()){
    try {
    } catch (InterruptedException e) {

    Hi guys,

    I activated external control to start an application from a PLC (via Profinet) by means of app_Start and app_Enable signals.

    If app_Enable turns low application is stopped. Now, I can only "resume" the application. Instead, what I want to do is to "restart" the application from beginning; in other words I want to move the pointer back to the first line of application and then, start it again.

    Is it possible to do that from Sunrise external control?

    Alternatively, I'm searching for some RoboticsAPIApplication class method to abort/select/start an application but with no results so far.

    Many Thanks