Mapping I/O between : KRC - Ethercat Bridge EL6695-1001 - PLC (codesys)

  • Good day everyone,

    Current Situation:


    - PLC: Lenze (codesys) which is not safe

    - KRC V8.3.42, ROBOT : #KR360R2830 C4 FLR, R1MADA: V8.3.511/KUKA8.3, SYSTEM BASE VERSION: KS V8.3.528

    - The currenty safety interface is: X11 and X13, simple contact coming from SICK safety module,

    - Ethercat Interface: X67.1 AND X67.2 inside the controller I have in sequence : EK1100, EL6695-1001,EL1809,EL2809


    I have a the following problem:

    I have a standard PLC with an Ethercat network. In the middle of this network there is the robot as described in the following picture

    robot-forum.com/attachment/29381/

    Given that the safety is managed by X11, I attach X44 to the X1 of the bridge (EL6695-1001).

    Now, on PLC side, I upload ESI file of EK1100, EL6695-1001 primary, EL1809, EL2809. Then, I make a scan and I found the following picture:


    All the network run perfectly


    Now, I open WoV and :

    1. integrate Beckhoff ESI files into WoV DTM catalog. (EK1100, KRC4 secodary EL6695-1001, EL1xxx, EL2xxx).
    2. Upload into VoW the working project from KRC
    3. Save this as new filename
    4. in WoV activate project, I expand Bus structures and check if KEB is already there,
    5. click on KEB and add EL6695-1001 secondary. then map all signals to KRC I/O.
    6. then from WoV I deploy new project. all is fine, I activate it.
    7. I verify that robot can move using X11 safety interface.

    Now, as you can see from the attachement the list of I/O of EL6695 primary is different from EL6695 secondary. so the first question is:

    What are the common bits/word/dword that the both share?


    I tryed to rise to TRUE the first 2 mapped bit $OUT[1] $OUT[2] , but on PLC side there is not the same list.


    So the big question is: How to integrate EL6695 on PLC and how to map?


    Thanks in advance

  • of course it does not match.... KRC only sees secondary side of EL6695. it has no clue about EL1809 or EL2809. They are managed by PLC.


    so all you need to do is create sufficiently large data blocks to exchange data using EL6695.

    if you still want PLC to use the EL1809 or EL2809, add code in PLC to copy their I/O into I/O range that KRC can use.


    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

  • Hi Panic,


    Thanks for reply.


    About EL1809 and EL2809: I don't really need of them, also because this I/O modules are not wired to any sensors or actuators.


    When you say : "create sufficiently large data blocks to exchange data using EL6695" . You mean on PLC side ? I can create but, how to use it in robot side? There is no common item to be exchange.


    What I need is to share bool/INT/DINT in order to allow the communication between PLC and KRC.

    For instance the "START" and/or the "END".

    For Example: when the robot finish a cycle, rise to True $OUT[1], so that the PLC can understand that it is arrived to the "END".

    In addition to this simple Bool exchange, I want to be able to exchange INT or DINT.


    The bridge should provide a common list otherwise how I can map the I/O

    I suppose a something like that:

    $OUT[1] mapped to -> BOOL1 in EL6695 secondary ----------- BOOL1 in EL6695 primary mapped to -> "VariableTest" on PLC


    Actually this cannot be done.

  • The list of I/O that I can read on PLC side and on KRC side come from the ESI Files. So, I cannot modify it. There should be a common area to be exchanged.


    I was thinking to modify the ESi file, but it is not correct.


    I don't understand why things so simple become impossible. I really don't understand.


    Thanks in advance

  • The list of I/O that I can read on PLC side and on KRC side come from the ESI Files. So, I cannot modify it. There should be a common area to be exchanged.

    not only needs to be... there must be common area. that is the red block in my sketch. and in case of EL6695 this is adjustable.


    Quote

    I was thinking to modify the ESi file, but it is not correct.

    do not modify ESI file, just parametrize it


    Quote

    I don't understand why things so simple become impossible. I really don't understand.

    this product allows exchange of several blocks of data.

    Module1 is used for Sync

    Module2 is safety I/O (fixed size, always 8 bytes)

    Module3 is standard I/O (not safety I/O) which in my sketch appears as red block. this module is configurable (default is 4 bytes). you may even turn on/off exchange of certain blocks.



    you can parametrize transfer blocks by editing Modules area


    i don't see what is so difficult about it. it is very intuitive to me. and there is always formal training. it is offered for a reason.

    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

  • Hi panic,


    Solved!


    yes it is intuitive, infact I soon thought that default I/O was the Module 3.

    But if you call "John" in primary, I expect "john" in the secondary.


    However, I solved. The problem was on PLC. This type of PLC codesys-based require a certain configuration and declaration of the mapped variable otherwise The communication Not working.

    Here the picture of the exchanged variable.


    MAny Thanks for your support and for your time.

Advertising from our partners