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.
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.
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 192.168.0.53. With this server-side configuration is finished.
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.
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.
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.
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.
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.
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.
- Types of Schneider PLC
- Site Acceptance Test of PLC
- FIFO Block in Siemens TIA Portal
- Configure PID in Siemens PLC
- How to Create DFB in Schneider PLC