User defined log file in KUKA

  • I am interested to log the variables and signals at different point of the program execution to understand and sort the error.

    One idea would be to create a functional block with struc/array and to call this function from main block and write this array at different program execution point like a ring buffer.

    The problem I have now is, all the elements in the function need to be initialized and KUKA cannot self initialized this file. When the size of ring buffer is >5000 it is really an issue. Does someone have any different idea to make such log of variable.

    This log file should hold the signal state, variable state, switch case state and internal position of robot movement etc at different times. Does someone have an innovative or easy approach to solve this issue.


  • The problem I have now is, all the elements need to be initialized and KUKA cannot self initialized this file

    What do you actually want to do?

    What log file you are actually using?

    And by the way:

    Is this is a problem from KUKA or could you provide more information (like KR C?, KSS and so on)

    Did you buy your KUKA robot with the magic glass bowl (if yes, the world is looking for this article number)?

  • please read READ FIRST.... this is way way waaaaay too ambiguous.

    only title say it is one of KUKA units but no clue which one.

    array limit of 5000? what controller / software/ what kind of array?

    are we to assume SunriseOS? you can create ring buffer with 5000000 elements...

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • Think he is too lazy to create the big array im the dat file by hand.

    But this is a question of one or two minutes, if you use a good editor like notepad++ with column editing possibilities or you can create the array with excel.

  • ah... that makes sense...

    generating ordered structure can be easily done in Excel or just about any programing language... including KRL.

    The most convenient way is to use some sort of spreadsheet like Excel or similar

    keys to this are:

    enter something into one cell, highlight the cell(s) and note that there is a black dot in lower right corner of the selection. click on that dot (and hold) then drag mouse down. if the content is numeric... or ENDS in a number... next line will get incremented value.

    this means splitting your initialization value into two (or more) fields, right after index. then cells in selection that ended with number will be incremented and other cells will stay the same. than just copy and paste into test editor. optionally remove TAB using simple Search and replace...

  • I wrote a small set of library routines for doing this kind of thing a few years ago:

    GLOBAL ENUM ArrayTerminator Valid,Invalid,Terminator
    GLOBAL STRUC LogColumnHeaderStruc CHAR chColumnLabel[40],chDataString[40],ArrayTerminator Usage
  • to me: the question is not really answered

    In bavaria they call the request mentioned in post #1 as "eierlegende WollmilchSau"

    but as mentioned in post #6 he is happy

    You are right. That didn't answer my question, but atleast he understood my problem. Copy and paste line by line for initialization is a pain. I raised the same question to KUKA, Waiting for their response.

  • You did not mention the KSS Version (for KR C4 you have KSS V8.2, KSS V8.3, KSS V8.5 and KSS V8.6)

    I made some tests with KSS V5.6 and I was only able to create a buffer of 1157 Frames.

    So the question is:

    How should your record (struct) look like (how many components and size of variables).

    Depending on that and maybe depending of the KSS version you may get your max number of this buffer.

    I would not expect to get a buffer size over 5000.

    Have you checked the log directory and the sub directories to find some information you are actually looking for?

  • .. I made some tests with KSS V5.6 and I was only able to create a buffer of 1157 Frames...

    Old problem with all versions of kss, if the array size is the limit, create two or more arrays of the same type. In the program creating the log check the actual index and spread the actual log data to the correct array.

    So f. e. index 1 to 1000 goes to array1 and index 1001 to 2000 goes to array2

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now