kevintumibay - 2025-03-30

SUMMARIZED VERSION OF QUESTION:
I'm trying to connect a Raspberry Pi running "Codesys Control for Raspberry Pi" to a Beckhoff EK1100, unfortunately, when I try to connect I get the following messages
SEE FIRST PICTURE

DETAILED VERSION OF QUESTION:
Hi everyone,
I'm a college student that is super interested in learning about PLCs. I wanted to dive into the subject and decided to follow this great Instructables article: https://www.instructables.com/Programming-Raspberry-Pi-With-CODESYS/

Thank you in advance for your help!

My current setup is as follows:
1. I have Codesys Control for Raspberry Pi, version 4.14.0.0, (https://store.codesys.com/en/codesys-control-for-raspberry-pi-sl.html) installed on a Raspberry Pi 3B.
2. I am using my smartphone hotspot to create a network.
3. I have CODESYS 3.5 SP21 (64 bit) installed on my Windows 11 laptop.
4. Both the Raspberry Pi and my laptop are connected to the smartphone hotspot network (I am wirelessly connecting to the Raspberry Pi).

Connecting to the Raspberry Pi from CODESYS on my laptop:
1. I launch Codesys Installer -> I install Codesys Control for Raspberry Pi (link to the software).
2. I launch Codesys 3.5 SP21 (64 bit) on my laptop.
3. I go to file --> new project --> standard project --> in the pop-up I select "Codesys Control for Raspberry Pi" and "Structured Text"
4. I click on tools -> Deploy Control SL (on older versions of Codesys you would click on "update Raspberry Pi", I got that information from this video: link)
5. Inside Deploy Control SL --> I go to the "communication" menu and I input the IP address of my Pi, the password, and click on connect.
6. Inside Deploy Control SL --> I go to the "deployment" menu and I install Codesys Control for Raspberry Pi SL and Codesys Edge Gateway for Linux
7. Now I double click on "device" in the left hand tree and put in the IP address of my Raspberry Pi and click on connect --> success! I am able to connect!
SEE SECOND PICTURE

Powering the EK1100 and connecting it to the Raspberry Pi:
1. I am supplying the EK1100 with 24 V across the + and - pins.
2. I have jumper wires going from the + pin to the 24V pin and from the - pin to the 0V pin.
SEE THIRD PICTURE
4. I am pretty confident that the EK1100 is receiving power because the "LED Us 24 V" and "LED Up 24 V" are lighting up.
5. I then run an ethernet cable from the EK1100 to the Raspberry Pi port (the Raspberry Pi is connected to my laptop wirelessly over WiFi). I think this connection should also be good since the LINK/ACT LED lights up.

Trying to connect to the EK1100:
1. Back in Codesys I right-click on "Device" in the left tree and then in the pop up I click on "add device".
2. I then click on EtherCAT Master.
3. Next in a terminal window I SSH into the raspberry Pi and run the "ifconfig" command.
4. From there I get the MAC address for eth0 --> in my case: b8:27:eb:29:a9:25
5. Then, back in Codesys I double click on "EtherCAT Master" in the left hand tree. I then paste the MAC address into the "Source Address (MAC)" field.
6. I go to the Beckhoff official website and download the XML files for EtherCAT: https://www.beckhoff.com/en-en/products/i-o/ethercat-terminals/ek1xxx-bk1xx0-ethercat-coupler/ek1100.html?
7. I unzip those files in my computer into some folder that I can remember.
8. Back in Codesys I click on "Tools" --> "Device Repository" --> "Install" --> and then on the "Beckhoff EK11xx.XML" file.
9. In theory the necessary XML file is now installed.
10. THIS IS WHERE I RUN INTO THE PROBLEM: I then click on login --> I right click on EtherCAT_Master and then scan for devices --> and nothing.
11. It just doesn't detect it. On top of this whenever I login I get those orange triangles on the left on my tree. When I check the Log I get the messages at the very first screenshot of this post.
SEE FOURTH PICTURE

Solutions that I have tried to resolve this problem:
1. I thought it was maybe the .XML file so I installed all the .XML files from the EtherCAT folder that I downloaded. That didn't fix it.
2. I went on the Wayback Machine and got the .XML files from 2018 as I thought maybe an older version would work. This file of EtherCAT folders had a .XML file named "Beckhoff EKxxxx.XML" I thought this would work because that's the name of the file the guy in the Instructables used (https://www.instructables.com/Programming-Raspberry-Pi-With-CODESYS/). That didn't do anything.
3. I ran the PLC on my computer instead of the Raspberry Pi and tried to connect to the EK1100, in case the issue was with the Raspberry Pi, but I still ran into the same error from the picture above: "Attention! The device was not found in the repository. Vendorcode: 0x0. Productcode: 0x0. Revision: 0x0".
SEE FIFTH PICTURE
4. I reinstalled Codesys, I was originally on version 3.5 SP20 when I did this, I upgraded to 3.5 SP21 with no success.
5. I then thought the solution might be to first add the EK1100 hardware before connecting so I did the following:
6. Right click on "EtherCAT Master" on the left hand tree --> then click on "add device" --> then I added the "EK1100 EtherCAT Coupler (2A E-Bus)"

  1. MY THEORY OF WHAT IS CAUSING THE PROBLEM: I asked ChatGPT for help and it said that it might have something to do with the revision number. On the physical EK1100 it says "Rev. Nr.: 0018". I believe that this means that I need to a revision 0018 XML file but if you look in Codesys it says the version is 16 (picture above). This is confusing because I got my .XML file from the official Codesys website so it should be the most up to date version possible. I searched and I searched and I couldn't find a version 18 .XML file, I don't even now if this exists.

Any help you can provide is greatly appreciated, I don't know what to do anymore and I really really want to get this working. Thank you!