Posts by EmilijaS

    This is the link of video tutorial that we used for the settings:

    External Content
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.

    this are the settings in workvisual, the ip is in the subnet, we can ping the robot

    this are the errors on the robot side

    we tried with totali new tia portal program also, new ip addres new name for the robot on profinet but nothing is working

    when we swich to the plc 1200 it is working

    Has anyone encountered a similar problem:

    We used a plc siemens S7-1200 configured PROFINET communication with two robots and everything worked normally and the communication absolutely worked

    Due to the needs of the project we had to replace that plc with S7 1500 and we configured the communication again in the same way but the communication does not work.

    Are there additional settings for the S7-1500 series? Has anyone had similar experiences?

    Hi to all,

    I'm sorry, I didn't phrase the question well, and I didn't analyze enough everything written in this post, with a little deeper analysis I realized the following:

    The function I used from this post is the IntToReal function (written by panic mode )

    it converts from signed int to real -> example (1156681166 convert to 1932.4313)


    and I got the correct value

    now I want to understand the logic of how KUKA reads a 32 bit integer (form from 32 Input values) in order to know what needs to be passed:

    mathematically when represented in 32 bits as signed int (big endian):

    My new question is the following: I declared a 32-bit SIGNAL in config:

    SIGNAL DI_Test $IN[106] TO $IN[137]

    are this values in KUKA represented as little endian -> is my IN[106] the last bit representing 2^0?

    and does the KUKA with the help of SIGNAL declaration read this number as SIGNED INT or am I actually making a mistake there?

    Do I need to swap the bytes order 4321 or 3412

    I've tried several combinations, I think I'm doing something wrong

    Thanks in advance

    Hi Panic I was using your function for converting int to real and I got this error - in the picture, the value of SIGNAL(32 bit input) was 7, I declared it in $config file and called your function IntToReal. Do I need to do to something more? KSS 8.7 , Kuka KRC5 compact controller

    KSS 8.3

    In the main program:

    1. EthernetKRL communication is opened in XML form:


    2. an interrupt is also declared


    which is called when entire message arrives (FLAG 1 becomes true in that case, which, as you already know, is set in the config file :




    <ELEMENT Tag="Robot01" Set_Flag="1" />



    3. In this interrupt function, values are actually written from memory into some variables

    This all works as it should for a while, but then it happens that the message that was sent arrives incorrectly, in the sense that I see that the variable True was sent from the PC, but the program read it as False

    I thought that EKI_ClearBuffer before the message arrived would help, but that didn't help,

    Another thing I tried is to set the new flag (FLAG[5] in Program Logic ) to False at the beginning of the function GET_FROM_PC().

    When the end of the function is reached -> that is, everything has been read from memory, to set the FLAG[5] to True to ensure that the new message is written in variable -> While waiting for that FLAG[5] to become True in the main program (WAIT FOR $FLAG[5]==TRUE), but that only stopped the program:

    Program Logic:

    Main Program:

    and in GET_FROM_PC:

    Do you have any advice on how to solve this problem?

    Thanks in advance

    in the for loop, linear movement is performed so that it does not stop at every point of the loop, but continues with C_DIS :

    FOR _Index = 1 TO PointsNo
        LIN FrameArr_01[_Index] C_DIS

    Is it possible to use an interrupt or some other method to monitor the value of the input, without stopping the robot, and without losing continuity?

    It is only necessary to monitor if there is a change in the input in order to use that information later

    In the Manual it seas that robot can be attached to the ceiling

    When we manually change its position, the robot moves normally.

    The problem occurs when we test hand guidance with the help of the HEX sensor - along the global X,Y axis it still moves normally, but in the direction of the global Z axis this problem occurs (movement in height/upright)

    Thank you for response

    Description: Robot KR10 R1100-2 KSS 8.3.39

    a robot hangs from the ceiling and has L bracket on the flange - we use HEX F/T sensor and use RSI for sensor communication and correction of the path

    In the WorkVisual is set that the robot is on the sealing, the new TCP was calculated in the robot.

    Error: Command gear torque A2

    Stop by $CORRECTION function(reset or block selection required) Originator: A2

    Does anyone have an idea if we may have forgotten some settings - the same program worked for us on a robot that was not attached to the ceiling and did not have an L bracket

    Thank you in advance