# Wago plc codesys+ easy builder pro

**URL:** <https://www.wago.community/t/wago-plc-codesys-easy-builder-pro/1710>\
**Category:** CODESYS\
**Tags:** pfc200, how-to\
**Created:** [March 28, 2025, 9:11am UTC](https://www.wago.community/t/wago-plc-codesys-easy-builder-pro/1710 "2025-03-28T09:11:44Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Beker](https://avatars.discourse-cdn.com/v4/letter/b/f475e1/32.png) [@Beker](https://www.wago.community/u/Beker)\
**Post date:** [March 28, 2025, 9:11am UTC](https://www.wago.community/t/wago-plc-codesys-easy-builder-pro/1710/1 "2025-03-28T09:11:44Z")

</div>

Hello, I’m trying to connect my wago plc to weintek operators panel. Could someone give me any advices on how to establish communication? I thought about modbus but I’m not 100% sure how to do it.

---

<div class="post-metadata">

**Author:** ![AdamReeve](https://sea2.discourse-cdn.com/flex016/user_avatar/www.wago.community/adamreeve/32/59_2.png) [@AdamReeve](https://www.wago.community/u/AdamReeve)\
**Post date:** [March 28, 2025, 12:52pm UTC](https://www.wago.community/t/wago-plc-codesys-easy-builder-pro/1710/2 "2025-03-28T12:52:25Z")

</div>

1. Add both an Ethernet Adapter and ModbusTCP Slave device to your project.  

2. In the Ethernet adapter, set your Network Interface on the General page.

3. In the ModbusTCP Slave, enter your desired number of Holding Registers and Input Registers and what Modbus addresses you want them to start at.  

4. Then go to the IO Mapping area and you can now assign PLC variables to those Modbus Registers you just defined.

---

<div class="post-metadata">

**Author:** ![Beker](https://avatars.discourse-cdn.com/v4/letter/b/f475e1/32.png) [@Beker](https://www.wago.community/u/Beker)\
**Post date:** [March 28, 2025, 1:26pm UTC](https://www.wago.community/t/wago-plc-codesys-easy-builder-pro/1710/3 "2025-03-28T13:26:19Z")

</div>

Okey. All done now how can i connect the plc to hmi? I got everytching on switch, ip of both devices are set as they should be and now is the question what do i do next?

---

<div class="post-metadata">

**Author:** ![AdamReeve](https://sea2.discourse-cdn.com/flex016/user_avatar/www.wago.community/adamreeve/32/59_2.png) [@AdamReeve](https://www.wago.community/u/AdamReeve)\
**Post date:** [March 28, 2025, 1:38pm UTC](https://www.wago.community/t/wago-plc-codesys-easy-builder-pro/1710/4 "2025-03-28T13:38:55Z")

</div>

Sorry, I can’t help with the Weintek side of things at all. I’m not familiar enough with their hardware or software.

---

<div class="post-metadata">

**Author:** ![CITS\_Eddie](https://avatars.discourse-cdn.com/v4/letter/c/f08c70/32.png) [@CITS\_Eddie](https://www.wago.community/u/CITS_Eddie)\
**Post date:** [March 31, 2025, 3:13pm UTC](https://www.wago.community/t/wago-plc-codesys-easy-builder-pro/1710/5 "2025-03-31T15:13:54Z")

</div>

![image](https://us1.discourse-cdn.com/flex016/uploads/wago/original/2X/2/210e9626222b94903b821de246c9423056873ca0.png)

Setup the WAGO PLC in System parameters. Match the setup in your PLC I am using 192.168.50.10 that is my IP address. Port 512 is the port set in my WAGO PLC.

 ![image](https://us1.discourse-cdn.com/flex016/uploads/wago/original/2X/b/bf58223deb18437cb9a7ba581cddec9960eb559f.png)

You will have to create your data tags in your library. The register 40020 would be address mode word, address type 4x 16 bit unsigned address 20.

 ![image](https://us1.discourse-cdn.com/flex016/uploads/wago/original/2X/3/3fe08e9989e49e858e229297b5cc3eab679e8697.png)

Hope this helps!

---

<div class="post-metadata">

**Author:** ![Beker](https://avatars.discourse-cdn.com/v4/letter/b/f475e1/32.png) [@Beker](https://www.wago.community/u/Beker)\
**Post date:** [May 13, 2025, 7:39am UTC](https://www.wago.community/t/wago-plc-codesys-easy-builder-pro/1710/6 "2025-05-13T07:39:36Z")

</div>

I found another issue regarding this topic. I don’t have a Modbus TCP slave; I have a Modbus TCP server. Are there any differences between those two?  
And another question: how do I properly set holding registers to send them to my HMI?

---

<div class="post-metadata">

**Author:** ![AdamReeve](https://sea2.discourse-cdn.com/flex016/user_avatar/www.wago.community/adamreeve/32/59_2.png) [@AdamReeve](https://www.wago.community/u/AdamReeve)\
**Post date:** [May 13, 2025, 2:05pm UTC](https://www.wago.community/t/wago-plc-codesys-easy-builder-pro/1710/7 "2025-05-13T14:05:32Z")

</div>

ModbusTCP “slave” and “server” mean the same thing. “Master/Slave” are older terms that have been largely replaced in many industries in favor of “Client/Server”.

Holding Registers are read-only from the point of view of the server (i.e. plc in this case) unless you check the “writeable” box in the server configuration (shown in purple below).

 ![image](https://us1.discourse-cdn.com/flex016/uploads/wago/original/2X/e/e0647e4b07354453091dff98749a7a9235da3e89.png)

Holding registers and Input registers are from the point of view of the client. The client normally writes holding registers and reads input registers.

Care must be taken when using “writeable” holding registers due to the cyclic nature of plc tasks, so that any data written by the HMI is not immediately overwritten by the plc on the next cycle.

---

<div class="post-metadata">

**Author:** ![Beker](https://avatars.discourse-cdn.com/v4/letter/b/f475e1/32.png) [@Beker](https://www.wago.community/u/Beker)\
**Post date:** [May 13, 2025, 2:32pm UTC](https://www.wago.community/t/wago-plc-codesys-easy-builder-pro/1710/8 "2025-05-13T14:32:20Z")

</div>

Okay, I understand. But here comes another question: how do I correctly add those registers so that my HMI can read them?  
For example, I want my HMI to show whether the switch is on or off.

---

<div class="post-metadata">

**Author:** ![AdamReeve](https://sea2.discourse-cdn.com/flex016/user_avatar/www.wago.community/adamreeve/32/59_2.png) [@AdamReeve](https://www.wago.community/u/AdamReeve)\
**Post date:** [May 13, 2025, 3:33pm UTC](https://www.wago.community/t/wago-plc-codesys-easy-builder-pro/1710/9 "2025-05-13T15:33:01Z")

</div>

I’m not sure I understand your question. Scroll up to my post from 3/28 for screenshots of setting the quantity of Holding/Input registers, starting address, and variable assignment.

---

<div class="post-metadata">

**Author:** ![Beker](https://avatars.discourse-cdn.com/v4/letter/b/f475e1/32.png) [@Beker](https://www.wago.community/u/Beker)\
**Post date:** [May 13, 2025, 3:55pm UTC](https://www.wago.community/t/wago-plc-codesys-easy-builder-pro/1710/10 "2025-05-13T15:55:38Z")

</div>

Ooo. You are right, my bad i will try this out again.

---

<div class="post-metadata">

**Author:** ![WagoIcard](https://sea2.discourse-cdn.com/flex016/user_avatar/www.wago.community/wagoicard/32/1508_2.png) [@WagoIcard](https://www.wago.community/u/WagoIcard)\
**Post date:** [May 16, 2025, 12:42am UTC](https://www.wago.community/t/wago-plc-codesys-easy-builder-pro/1710/11 "2025-05-16T00:42:20Z")

</div>

Master / Slave are term used in communication where you can have only 1 “Master” (A lot of serial based protocol use this terminology"  
Client / Server became later when one server can have multiple client (In that case the latest information “write” have the priority).  
There is a push to have the Master / Slave terminology replaced by Client / Server which I find it stupid since one explicitly talk about an exclusivity and the other talk about a resource sharing.

But As a rule of thumb:  
Serial based: Master (1) / Slaves (x)  
Ethernet based: Clients (n) / Servers (x)

---

<div class="post-metadata">

**Author:** ![durallymax](https://avatars.discourse-cdn.com/v4/letter/d/9fc348/32.png) [@durallymax](https://www.wago.community/u/durallymax)\
**Post date:** [May 19, 2025, 12:16pm UTC](https://www.wago.community/t/wago-plc-codesys-easy-builder-pro/1710/12 "2025-05-19T12:16:43Z")

</div>

No need for Modbus. EBPro has full symbolic support for Codesys as their devices can run Codesys as well.

In your Codesys project, you’ll need to add a Symbol Configuration. Build the project. Then select which vars you want added to the config. Click save and the file will be generated.

In your EBPro project, add a device “CODESYS V3 (Ethernet)”. Under settings add your Codesys PLC IP address, port 1740, protocol V3 UDP/IP, source port no. 1742. Add PLC username and password.

Then click “Import Tags”, two char per word and navigate to the location your Codesys project is stored. Open the XML file in that location and your variables will import into your EBPro project.
