Slave configuration of the CP 5613/14 profibus card with KUKA KRC2 Bay

  • Hello, I am contacting you to find out how to correctly configure my CP5613/14 profibus card as a slave and how to activate it on the bay KRC2.


    Info baie : KRC2, 2003, V4.1.5

    Version IHM : V3.3.64 B106 (V)KRC1 V3.3/V4.1

    Info robot : KR16 C2 FLR ZH16 ‘’ - \ KRC2\KR16\FLOOR - 2004

    link for images with bay and robot info --> https://we.tl/t-JCExVFncEf

    kuka documents link use --> https://we.tl/t-klBtNwYpuD


    I followed the indications of the document PBCP5613/41 10.02.02 FR to configure the pfbms.ini file which manages the configuration of the profibus card.

    "MASTER_USED=1" and "MODUL USED=0" to configure the card as a slave, this is what is said in the document.

    the document also talks about DATABASE_PATH but I don't understand what I should do exactly.



    But for some unknown reason I have the error that my input and output are not configured.

    as can be seen in the linked image, the profibus driver is not active.

    what should I do please to make it work?


    Thank you in advance for your help. :smiling_face:

  • Place your Ad here!
  • SkyeFire

    Approved the thread.
  • you got it completely backwards


    "MASTER_USED=1" is activating master. if you want robot to work as slave only, this should be changed to "MASTER_USED=0" and you will not need to supply LDB file


    "MODUL USED=0" is telling that card it not going to work as DP slave.

    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

  • I made the change

    Now when I go to the configuration - driver input and output, the profibus card and recognized as it appear in red.


    where should I go to modify/map the output inputs of the profibus card?

    for the moment, I do'nt have an automaton to connect directly to the bay.

    how can i test if it is working?

  • according to my broken French... manual says something like

    Quote

    2.1.3 Slave mode


    ...option exists "MODUL_USED=0".... and this parameter value must be set (by user), default value is 0 (by default it is reset).

    so to use slave mode this parameter need to be changed by user from default value to

    MODU_USED=1


    but then again.... there is a good chance something is lost in translation

    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

  • this file is where IO mapping takes place.

    search forum or your robot archive for details. read this file begin to end.

    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

  • I translated the slave part of the previously transmitted kuka document

    thanks for your reply

  • i don't exactly trust users even when they state something in English. most people asking for help are quite sloppy with their language to extent that majority of statements are vague at best.


    so yeah... i certainly don't really trust much their own translations. which may be perfect btw but maybe not using common vocabulary.


    for that reason anyone preferring other language should consider using suitable forum section - several are listed in Other languages.


    this is an English forum so everything posted here need to be in English. That includes posts, screenshots, references to documentation etc.


    Please read pinned topic READ FIRST. KUKA HMI can be switched to different language in seconds. Configuration files on the robot contain plenty of information about settings - specially fieldbus config files.

    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

  • i see quite detailed comments inside PFBMS.INI itself:

    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

  • And courtesy of free online OCR and Google translation:


    Quote


    The DATABASE_PATH record must still be present and refer to a valid database! The configuration itself does not play any role, because the master is not last. empty database is located in the KRC,INIT directory - Slave.ldb. It is possible to use it when it is not necessary to start the master. If the record refers to an invalid database, it is not possible to load it and the driver cannot be updated. It is possible to access the slave module in read and write mode via the DP address 127 (see point 3.2.2).

    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

  • Alright, I was negligent.

    I mainly refer to the French version of the document.


    I understand the English version, which means that to operate my profibus card as a slave, I must have "MASTER_USER=0" and "MODUL_USED=1".



    I must have a "slave.ldb" file, even if I don't use it in slave version. I have this file but I can't open it to find out what it contains.


    moreover, I looked at the "IOSYS.ini" file, from what I understand it is a file that configures the input and output depending on the card.

    but I can't understand the explanation given at the end of the card which explains how it works.



    I assume that the profibus part is the one declared under [PROFISL] and [PROFIMA] which are not declared in my case.


    I also recently found a "profibus.ini" file of which I do not understand all of its functions.


    I know it's a lot but I want to understand how it works to be able to be independent afterwards.


    Thanks in advance for your answers and explanations.

  • I assume that the profibus part is the one declared under [PROFISL] and [PROFIMA] which are not declared in my case.

    No, both parts are declared under [pbmasl] .

    The other entries are dedicated to different cards.

    I also recently found a "profibus.ini" file of which I do not understand all of its functions.

    Forget about that, also for different cards. For your card everything is configured in pfbms.ini and iosys.ini.

    In your excerpt of iosys.ini everything already is declared, you have to delete or comment the lines for master io (et200..)


    I must have a "slave.ldb" file, even if I don't use it in slave version. I have this file but I can't open it to find out what it contains.

    You can't analyze ldb files in an easy way. In this case (if slave.ldb is the original one from Kuka) it is just a placeholder. No slaves are declared in it. If you use Master section of the cp5614, you need to build your own ldb file with step7 or NCM manager.

    inb6=127,0,x4 ; Automate

    outb6=127,0,x4 ; AUtomate

    This lines declare 4 (x4) bytes of io on the slave part (fixed number in iosys.ini of 127) of cp5614, beginning from io number 6*8+1=49 on robot.

  • Hello and thank you for your answer,


    If I understand everything correctly, I should only focus on the "pfbms.ini" and "iosys.ini" files and ignore the other files I mentioned.


    as if below, I commented on what you told me and will test it during the day.


    Quote from hermann

    For your card everything is configured in pfbms.ini and iosys.ini.

    In your excerpt of iosys.ini everything already is declared, you have to delete or comment the lines for master io (et200..)


    but sorry i don't understand what you mean in your last sentence.

    Quote from hermann

    This lines declare 4 (x4) bytes of io on the slave part (fixed number in iosys.ini of 127) of cp5614, beginning from io number 6*8+1=49 on robot.

    I understand that this is the number of inputs and outputs to declare for (probably) my profibus card.


    I referred to the linked document (I apologize because it is in French) where you can see the number input and output on the CP5614.

  • Don't read Siemens documentation for cp5614 this is only applicable if you use it in Siemens environment. Your card is installed on a Kuka bot, so read kuka doc for profibus.

    You have to configure both sides (plc and KUKA) for the same amount of io.

    The line inb6=127,0,x4 means:

    inb : the declaration is done in bytes

    6 : the first input is mapped to number 6*8+1, 6 comes from inb6, 8 and 1 is constant.

    127 : fix dummy address for slave part, the real address is declared in pfbms.ini.

    0 : inputs begin on plc side from byte nr. 0, the first one on bus.

    x4 : the declaration explained before is repeated for in sum 4 times. So there are 4 bytes (32 bits) in a row from input nr 49 on robot coming from the first byte declared in plc interface to the robot.

  • OK, your answer explains to me how declarations work.

    Thanks a lot,


    If I summarize quickly, kuka is limited to a maximum of 127 bytes input and output.


    inb (declaration in bytes), and the 6 (or X num) bytes belong to when taking into account the input and output of the profibus card.

    the X4 represents the number of bytes we want to map.


    for the moment I don't know how the profibus card is configured on the PLC side, and the PLC is not yet connected to the bay, the project being under development.


    So as my Profibus CP5613/14 card is not yet connected to the PLC even if I correctly configure my card, the robot displays the error message "I/O configuration) every day?


    I only know the settings on the automatic side within 1 week.


    Thank you very much for your help and this explanation, it means a lot to me

  • no... 127 is just the node address of the slave. this is used to manage traffic with multiple nodes (bus can have several). so think of it as "name" of the node ("my siemens plc" if you like).


    size of IO block does not depend on that. but whatever the size of input and output range is, it need to match at PLC and KRC.


    the x4 is a short hand notation that means same 4 times (on next memory available). so in this case it uses inb6, inb7, inb8 and inb9 on the robot side and reads bytes 0,1,2,3 from the plc message


    in detail that would look like


    inb6=127,0,x1 ; inb6 means $IN[41..48], get values from "my siemens plc", map byte 0 from PLC, x1 means map one byte only

    inb7=127,1,x1 ; inb7 means $IN[49..56], get values from "my siemens plc", map byte 1 from PLC (byte0 is already mapped to $IN[41..48], we need to skip that), x1 means map one byte only

    inb8=127,2,x1 ; inb8 means $IN[57..64]

    inb9=127,3,x1 ; etc



    note that first IO address in the byte is obtained using calculation as mentioned by hermann.


    and while that looks great and simple, it is more compact to just write:


    inb6=127,0,x4


    compact form is common when dealing with large blocks of data

    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

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

Advertising from our partners