1. Home
    1. Dashboard
    2. Search
  2. Forum
    1. Unresolved Threads
    2. Members
      1. Recent Activities
      2. Users Online
      3. Team Members
      4. Search Members
      5. Trophys
  3. Articles
  4. Blog
  5. Videos
  6. Jobs
  7. Shop
    1. Orders
  • Login or register
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Blog Articles
  • Products
  • More Options
  1. Robotforum - Support and discussion community for industrial robots and cobots
  2. Forum
  3. Industrial Robot Support and Discussion Center
  4. KUKA Robot Forum
Your browser does not support videos RoboDK Software for simulation and programming
Visit our Mainsponsor
IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Sponsored Ads

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

  • Robot_apprenti
  • June 8, 2022 at 2:43 PM
  • Thread is Unresolved
  • Robot_apprenti
    Trophies
    2
    Posts
    11
    • June 9, 2022 at 4:50 PM
    • #21

    Thank you so much for pointing me in the right direction.

    so in my case the name of my CP5613/14 profibus card is 127

    example 1;

    inb3=127,0,x3 ; inb6 means $IN[25..48]

    example 2;

    inb6=127,0,x3 ; inb6 means $IN[41..64]

    but not at the same time otherwise correlation.

    inbX --> input bytes

    inbX --> start bytes

    127,0,x3 --> the name of the IO carte (in my case CP5613/14)

    127,0,x3 --> start bytes PLC

    127,0,x3 --> start bytes robot

    thanks for your help and your attention

  • panic mode
    Reactions Received
    1,281
    Trophies
    11
    Posts
    13,091
    • June 9, 2022 at 5:23 PM
    • #22

    no... your card name is still CP5613/14...

    127 is a node address or handle for one particular device.

    see if you use CP5613/14 as a master, there are likely to be several slaves that master is talking to.

    bus cable is simply daisy chaining all nodes.

    so you may have something like one PLC acting as master that is connected to several pieces of equipment in the plant:

    node 3 : kuka robot 1

    node 7 : kuka robot 2

    node 2 : Siemens PLC doing job A

    node 26 : Siemens PLC doing job B

    node 31 : Festo manifold controlling conveyor

    node 15 : Festo manifold controlling XYZ

    etc.

    all of them respond to messages from same master. and when they respond, their message also contains the node address info. that way master can tell that message sent from node 3 is really from node 3 and not from node 31 or something else.

    to keep track of all of this, master need a list or database of some sort.in case of profibus LDB file is that database.

    so rather than using long names, master is using a number to keep track of its slaves.

    iit is more efficient to use one byte (0-255) than series of characters or string that that would otherwise be needed.

    humans use numbers all the time to organize things, such as hotel room numbers. when someone asks for service, attendant can arrange for it and send the service (cleaning/food delivery/whatever) to specific room by using room number rather than guest name or room coordinates. "send the bottle to room 391". payload is the bottle of vine.

    so hotel room numbers are handle to refer to specific room. field bus node address is handle to refer to specific fieldbus node.

    "send the message to node 26". payload is the block of data that node 26 will receive

    when it sends message to "node 26", everything on the bus sees that message but they all choose to ignore it - except the node 26 which thinks "ok this message is for me, i better take care of this".

    if the address set on slave does not match address in master DB (in this case tat database is an LDB file), then message is lost and master will complain that it cannot reach specific node (26 or whatever).

    so no... your card name is still CP5613/14... and it sees all the data on the network. but to access data sent from master and destined to this card, you need to use handle 127

    actually profibus nodes are normally 0-63. there is no node 127. so this is a special number used by KUKA CP5613/14 to access data that "master exchanges with me"...!

    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

  • Robot_apprenti
    Trophies
    2
    Posts
    11
    • June 10, 2022 at 8:27 AM
    • #23

    Ok thank you for this well developed explanation, I understand better.

    in my system I will have 3 KRC2 bays with CP5613/14 profibus cards as a slave which communicates with a master PLC.

    the "pfbms.ini" file for the 3 bays and as explained below.

    Code: pfbms.ini
    [CP_5613/14]
    DEBUG=1
    LOGFILE_PATH=init/profibus.log
    ERROR_TEXT=English
    FORCE_RESET=1
    
    [MASTER]
    MASTER_USED=0
    DATABASE_PATH=init/brother.ldb
    FIRMWARE_PATH=drivers/FW_5613.bin
    WATCHDOG_TIME=3
    MAPPING_USED=0
    MAPPING_PATH=init/
    
    [SLAVE]
    MODUL_USED=1
    MODUL_ADDRESS=15
    ;START_TIME=20
    ERROR_ACTION=1
    ;STANDBY=0
    ;SLAVE_TIMEOUT=0
    CHECK_CONFIGURATION_DATA=0
    ACCEPTABLE_INPUT_LENGTH=244
    ACCEPTABLE_OUTPUT_LENGTH=244
    IO_DATA_BASE=0
    CONSISTENCE=1 
    Display More

    however, i have to adapt the code of the "iosys.ini" file to make the bays functional and independent.

    Code: iosys.ini bay 1
    [CONFIG]
    VERSION=2.00
    
    
    [DRIVERS]
    ;MFC=0,mfcEntry,mfcdrv.o
    PBMASL=11,pbmsInit,pfbmsdrv.o
    
    
    [MFC]
    ;INW0=0       ;$IN[33-48]
    ;OUTW0=0      ;$OUT[33-48]
    ;OUTW2=2      ;$OUT[49-64]
    
    [INTERBUS]
    [DEVNET]
    [BOSCH]
    [PERCEPTRON]
    [SBIP]
    [FIPIO]
    [PROFISL]
    [PROFIMA]
    [RIO]
    [LIBO]
    
    [PBMASL]
    ;maitre
    ;inb0=2,0,x4  ;ET200LSC entrees 1 a 32
    ;outb0=2,0,x4 ;ET200LSC sorties 1 a 32
    
    ;inb4=5,0,x2  ;ET200L entrees 33 a 47
    ;outb4=5,0,x2 ;ET200L sorties 33 a 47
    
    ;esclave
    inb1=61,0,x4  ; Automate    ($IN[9-40])
    outb1=61,0,x4 ; AUtomate    ($out[9-40])
    
    [DNSC1]
    [DNSC2]
    [DNSC3]
    [DNSC4]
    [DNSC5]
    [DNSC6]
    [DSEIO]
    [INTERBUSPCI]
    [CNKE1]
    
    [END SECTION]
    Display More
    Code: iosys.ini bay 2
    [CONFIG]
    VERSION=2.00
    
    
    [DRIVERS]
    ;MFC=0,mfcEntry,mfcdrv.o
    PBMASL=11,pbmsInit,pfbmsdrv.o
    
    
    [MFC]
    ;INW0=0       ;$IN[33-48]
    ;OUTW0=0      ;$OUT[33-48]
    ;OUTW2=2      ;$OUT[49-64]
    
    [PBMASL]
    
    ;esclave
    inb1=62,5,x4  ; Automate    ($IN[9-40])
    outb1=62,5,x4 ; AUtomate    ($out[9-40])
    
    [END SECTION]
    Display More
    Code: iosys.ini bay 3
    ;esclave
    inb1=63,9,x4  ; Automate    ($IN[9-40])
    outb1=63,9,x4 ; AUtomate    ($out[9-40])

    I really hope I am not mistaken, if not that means that I did not understand everything.

    Thank you very much for your advice and your patience.

  • panic mode
    Reactions Received
    1,281
    Trophies
    11
    Posts
    13,091
    • June 22, 2022 at 7:40 PM
    • #24

    you keep using "Bay" to refer to robot cabinet/controller. this is wrong and confusing.

    you should decide what the network addresses are and use them - consistently...

    from what i see so far you have one PLC acting as master and three KRC2 controllers acting as slaves.

    slaves are identified on DP network by their node addresses (macid) 61, 62, 63. if i recall Siemens PLC normally uses value 2 as default macid for itself.

    slaves cannot talk to each other. the only get messages from PLC and respond to PLC.

    node 2 talks to 61

    node 2 talks to 62

    node 2 talks to 63

    61 has no clue about 62 or 63 since they are all slaves (only masters are aware of slaves - masters keep track of their slaves by some sort of scan list or in this case an LDB file).

    so...

    DP master (PLC in this case) will need to have configured network with three slaves addressed 61,62 and 63.

    each robot will be configured the same way except that each of them will have own macid listed in their PFBMS.INI.

    Robot 1 will have "MODUL_ADDRESS=61"

    Robot 2 will have "MODUL_ADDRESS=62"

    Robot 3 will have "MODUL_ADDRESS=63"

    and everything else in that file is the same

    ...and none of them should have "MODUL_ADDRESS=15".

    then in the IOSYS.INI, each robot will have access using macid 127. as mentioned this is a special number for "my own data channel to communicate with my master".

    Code
    [PBMASL]
    ;esclave
    inb1=127,0,x4 ; Automate ($IN[9-40])
    outb1=127,0,x4 ; Automate ($out[9-40])

    of course it is possible to create more complex relationships.

    for example robot1 can be a slave to PLC and at the same time it could be master to some ET200S IO (gripper for example)

    in that case LDB file on the robot1 cannot be the dummy file - you need to create correct LDB file yourself and that file will have info of the nodes that are slaves to robot1 (in this example just single ET200S node). so lets say that node is using macid 21

    then the IOSYS.INI on robot 1 would have more IO mapped, something like:

    Code
    [PBMASL]
    
    ; signals to/from ET200s (our slave that has macid 21)
    ; when referring to own slaves, address them directly using their own macid:
    inb0=21,0,x1 ; ($IN[1-8])
    outb0=21,0,x1 ; ($out[1-8])
    
    ; signals to/from PLC (this is slave with macid 63 is seen by PLC, but...
    ; the slave is unaware of master so always use 127 when talking to master)
    inb1=127,0,x4 ; ($IN[9-40])
    outb1=127,0,x4 ; ($out[9-40])
    Display More

    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

  • Abdussamet ozlu
    Trophies
    1
    Posts
    22
    • February 15, 2023 at 11:24 AM
    • #25

    Hello,

    I want to communicate krc2 with ET200s profibus I/O module. I'm getting a Configuration error I/O driver PBMASL error.Where am I doing wrong?

    Quote from panic mode

    you keep using "Bay" to refer to robot cabinet/controller. this is wrong and confusing.

    you should decide what the network addresses are and use them - consistently...

    from what i see so far you have one PLC acting as master and three KRC2 controllers acting as slaves.

    slaves are identified on DP network by their node addresses (macid) 61, 62, 63. if i recall Siemens PLC normally uses value 2 as default macid for itself.

    slaves cannot talk to each other. the only get messages from PLC and respond to PLC.

    node 2 talks to 61

    node 2 talks to 62

    node 2 talks to 63

    61 has no clue about 62 or 63 since they are all slaves (only masters are aware of slaves - masters keep track of their slaves by some sort of scan list or in this case an LDB file).

    so...

    DP master (PLC in this case) will need to have configured network with three slaves addressed 61,62 and 63.

    each robot will be configured the same way except that each of them will have own macid listed in their PFBMS.INI.

    Robot 1 will have "MODUL_ADDRESS=61"

    Robot 2 will have "MODUL_ADDRESS=62"

    Robot 3 will have "MODUL_ADDRESS=63"

    and everything else in that file is the same

    ...and none of them should have "MODUL_ADDRESS=15".

    then in the IOSYS.INI, each robot will have access using macid 127. as mentioned this is a special number for "my own data channel to communicate with my master".

    Code
    [PBMASL]
    ;esclave
    inb1=127,0,x4 ; Automate ($IN[9-40])
    outb1=127,0,x4 ; Automate ($out[9-40])

    of course it is possible to create more complex relationships.

    for example robot1 can be a slave to PLC and at the same time it could be master to some ET200S IO (gripper for example)

    in that case LDB file on the robot1 cannot be the dummy file - you need to create correct LDB file yourself and that file will have info of the nodes that are slaves to robot1 (in this example just single ET200S node). so lets say that node is using macid 21

    then the IOSYS.INI on robot 1 would have more IO mapped, something like:

    Code
    [PBMASL]
    
    ; signals to/from ET200s (our slave that has macid 21)
    ; when referring to own slaves, address them directly using their own macid:
    inb0=21,0,x1 ; ($IN[1-8])
    outb0=21,0,x1 ; ($out[1-8])
    
    ; signals to/from PLC (this is slave with macid 63 is seen by PLC, but...
    ; the slave is unaware of master so always use 127 when talking to master)
    inb1=127,0,x4 ; ($IN[9-40])
    outb1=127,0,x4 ; ($out[9-40])
    Display More
    Display More

    Images

    • WhatsApp Image 2023-02-15 at 13.27.58.jpg
      • 94.27 kB
      • 900 × 1,200
      • 2

    Edited once, last by Abdussamet ozlu (February 15, 2023 at 11:29 AM).

  • M.Ozkan
    Reactions Received
    22
    Trophies
    5
    Posts
    538
    • February 15, 2023 at 11:34 AM
    • #26

    You can't add Profisafe module to KRC2. Remove profisafe module and try again.

  • Abdussamet ozlu
    Trophies
    1
    Posts
    22
    • February 15, 2023 at 11:41 AM
    • #27
    Quote from M.Ozkan

    You can't add Profisafe module to KRC2. Remove profisafe module and try again.

    Images

    • WhatsApp Image 2023-02-15 at 13.40.35 (1).jpg
      • 93.67 kB
      • 675 × 1,200
      • 17
  • Abdussamet ozlu
    Trophies
    1
    Posts
    22
    • February 15, 2023 at 11:52 AM
    • #28
    Quote from M.Ozkan

    You can't add Profisafe module to KRC2. Remove profisafe module and try again.

    Sorry I deleted PBmaster. do you want me to remove 2 profisafe modules as hardware?

  • Abdussamet ozlu
    Trophies
    1
    Posts
    22
    • February 16, 2023 at 12:32 PM
    • #29
    Quote from M.Ozkan

    You can't add Profisafe module to KRC2. Remove profisafe module and try again.

    Hi,

    Error CP561DRV writing / reading

    What should I do?

    Thanks in advance.

    My codes

    [CP_5613/14]

    Debug=1

    LOGFILE_PATH=log/pfbms.log

    ERROR_TEXT=English

    FORCE_RESET=1

    ;OLD_ERROR_DB=0

    [MASTER]

    MASTER_USED=1

    DATABASE_PATH=init/212R2_03.ldb

    FIRMWARE_PATH_A1=drivers/FW_5613.bin

    FIRMWARE_PATH_A2=drivers/FW5613A2.bin

    WATCHDOG_TIME=30 ;300ms

    MAPPING_USED=0

    MAPPING_PATH=init/

    DEACTIVATED_SLAVES=40,45,50,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,49,41,42,46,47,48,51,52,53,55,60,61,62,63,64,65,66,67,68,69,70,71,72,73,93,94,74,75,76,77,78,79,80,81,82,85,86,87,88,89,90,91,92,95,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,120,59

    WAIT_FOR_SLAVES=0 ;!

    [SLAVE]

    MODUL_USED=1

    MODUL_ADDRESS= 94

    START_TIME=60 ; ! min 20

    CHECK_CONFIGURATION_DATA=0 ; !

    ERROR_ACTION=1

    STANDBY=1

    ACCEPTABLE_INPUT_LENGTH= 244 ;1-244

    ACCEPTABLE_OUTPUT_LENGTH= 244 ;1-244

    IO_DATA_BASE=1 ;BYTE / WORD

    CONSISTENCE=0

    [SWAP]

    Images

    • 1 (2).jpg
      • 70.92 kB
      • 675 × 1,200
      • 12

    Edited once, last by Abdussamet ozlu (February 16, 2023 at 12:54 PM).

  • hermann
    Reactions Received
    407
    Trophies
    9
    Posts
    2,615
    • February 17, 2023 at 7:21 AM
    • #30
    Quote from Abdussamet ozlu

    ...

    DEACTIVATED_SLAVES=40,45,50,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,49,41,42,46,47,48,51,52,53,55,60,61,62,63,64,65,66,67,68,69,70,71,72,73,93,94,74,75,76,77,78,79,80,81,82,85,86,87,88,89,90,91,92,95,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,120,59

    Remove all those numbers. They are for configured slaves, but not activated at boot time. F. e. when you have a tool changer with modules on the changed tool.

    Quote from Abdussamet ozlu

    DATABASE_PATH=init/212R2_03.ldb

    Did you create the file 212R2_03.ldb? Is it correct?

    Did you remove the safety modules?

    Remaster the robot and show ALL error messages regarding pfbms.

    Post iosys.log and pfbms.log.

    Quote from Abdussamet ozlu

    SLAVE]

    MODUL_USED=1

    Change 1 to 0, you don't use the slave part of the robot profibus card.

    EDIT: Don't cross post. This thread is useless for you, as you already have another thread with more help.

  • hermann
    Reactions Received
    407
    Trophies
    9
    Posts
    2,615
    • February 17, 2023 at 7:37 AM
    • #31
    Quote from hermann

    EDIT: Don't cross post. This thread is useless for you, as you already have another thread with more help.

    Use this thread: error on wrinting, driver, CP561DRV

    Cross posting :mad:

  • Abdussamet ozlu
    Trophies
    1
    Posts
    22
    • February 17, 2023 at 7:44 AM
    • #32
    Quote from hermann

    Use this thread: error on wrinting, driver, CP561DRV

    Cross posting :mad:

    OK. I delete my post and throws it there.

Advertising from our partners

IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Advertise in Robotics
Advertise in Robotics

Job Postings

  • Anyware Robotics is hiring!

    yzhou377 February 23, 2025 at 4:54 AM
  • How to see your Job Posting (search or recruit) here in Robot-Forum.com

    Werner Hampel November 18, 2021 at 3:44 PM
Your browser does not support videos RoboDK Software for simulation and programming

Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000

Thread Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000
  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™
As a registered Member:
* You will see no Google advertising
* You can translate posts into your local language
* You can ask questions or help the community with your knowledge
* You can thank the authors for their help
* You can receive notifications of replies or new topics on request
* We do not sell your data - we promise

JOIN OUR GREAT ROBOTICS COMMUNITY.
Don’t have an account yet? Register yourself now and be a part of our community!
Register Yourself Lost Password
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on Google Play
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on the App Store
Download