Steps to Configure TCP/IP Communication in Siemens S7-1200 PLC

In terms of the famous OSI Model (Open Systems Interconnection Model). TCP/IP is a transport-layer protocol.

TCP/IP stands for Transmission Control Protocol/ Internet Protocol

TCP/IP protocol is one of the Layer using which data can be transmitted between 2 Physical devices in an Industrial Network.

TCP/IP Communication

It is the most basic layer in TCP communication which works in the backend of any famous communication protocol namely Profinet, Modbus TCP/IP, etc.

TCP IP Model
TCP/IP Model

Sometimes it is really a headache when different third-party devices need to communicate with each other and they don’t support any common protocols in between them then this protocol holds to be very helpful.

It can be configured in the following method.

One device acts as a TCP Client and the other device acts as TCP Server.

AT First TCP server opens a single socket port and behaves as a passive device and now this device is ready to share data once the communication handshake is done.

TCP Client requires the following data of the TCP server IP address and Port Number to initiate the connection request. Hence, the client acts as an Active device.

Steps to configure TCP/IP Communication in Siemens S7-1200 PLC.

I have used Hercules software as TCP server and PLC as TCP Client

TCP Server Configuration

I have opened port 4660 for communication and my Laptop’s IP address is With this server-side configuration is finished.

TCP Server Configuration

TCP Client Configuration

Make a new DB with the following settings. A DB is a database of Siemens PLC. You can store any sort of data and use it in your program if it is required.

  • Interface id: Hardware ID is of Siemens PLC Ethernet port can be found in the hardware setting.
  • ID: Connection ID
  • Connection Type: 11 = TCP/IP
  • Active Established = True [As PLC is TCP Client]
  • Remote Address = IP address on Server in my case laptop’s IP address.
  • Remote Port = Port of Server

I have taken 2 string data types.

Send_Data String is to send the data to Hercules.

Rcv_Data String is to receive the data from Hercules.

Database in Siemens PLC

Network 1: Start Connection

To initiate the connection TCON Block is used which will establish the connection.

This block does the necessary handshaking with another device, which is required as per transport layer architecture.

TCON instruction in Siemens PLC
Transport layer connection mechanism
Figure: Transport layer connection mechanism

Network 2: Send String Data

To send data to the server. TSEND Block is used.

Write values on the DB address “TCP”.SEND_DATA and then Set the value of bit address M2.1 [Send_Data] = True to trigger the message.

Use Same ID as TCON.

TSEND instruction in Siemens PLC

Network 3: Receive String Data

To Receive data TRCV block is used. Enable bit address M2.2 [Recv_Data].

It will be in listening mode whenever new data arrives it will be displayed on the DB address “TCP”.RCV_DATA.

Use Same ID as TCON.

TRCV instruction in Siemens PLC


It is an open protocol, unlike profinet which is proprietary.

Many IT professionals don’t have knowledge about industrial software so it is easy if we want to develop a general application that uses PLCs data.


It is sometimes complex to learn for beginners. As it requires a proper understanding of the fundamentals of the OSI layer.

Application Examples

This protocol can be used to send data from PLC to IT Software such as

  • Recipe Management
  • Reporting Apps
  • Data Logging to SQL


Understanding this protocol clears your fundamentals about Modern Communication protocols. Good Luck!

If you liked this article, then please subscribe to our YouTube Channel for Electrical, Electronics, Instrumentation, PLC, and SCADA video tutorials.

You can also follow us on Facebook and Twitter to receive daily updates.

Read Next:

Don't Miss Our Updates
Be the first to get exclusive content straight to your email.
We promise not to spam you. You can unsubscribe at any time.
Invalid email address

Leave a Comment