1 Overview of Modbus TCP communication
MODBUS TCP is a simple, vendor-neutral derivative of the MODBUS family of communication protocols for managing and controlling automation devices, and it obviously covers the purpose of MODBUS messages in the "Intranet" and "Internet" environments that use TCP/IP. The most common use of the protocol is for services such as PLCS and gateways connecting to other simple domain buses or I/O modules.
MODBUS TCP enables MODBUS_RTU to run on Ethernet. MODBUS TCP uses TCP/IP and Ethernet to transmit MODBUS packets between sites. MODBUS TCP combines Ethernet physical networking with the networking standard TCP/IP and data representation with MODBUS as the application protocol standard. MODBUS TCP communication packets are encapsulated in Ethernet TCP/IP packets. Unlike the traditional serial port mode, MODBUS TCP inserts a standard MODBUS message into the TCP message without the data checksum address.
1.1 Ethernet reference model for communication
The Modbus TCP transmission process uses Layer 5 of the TCP/IP Ethernet reference model:
Layer 1: The physical layer provides the physical interface of the device and is compatible with the commercially available media/network adapter.
The second layer: the data link layer, formats the signal to the source/destination hardware address data frame.
Layer 3: The network layer implements packets with 32-bit IP addresses.
The fourth layer: the transport layer, to achieve reliable connection, transmission, error checking, retransmission, port service, transmission scheduling.
Layer 5: Application layer, Modbus protocol packets.
1.2 Modbus TCP Data frame
Modbus data is transmitted over TCP/IP Ethernet and supports Ethernet II and 802.3 frame formats. The Modbus TCP data frame consists of three parts: packet header, function code and data. The Modbus Application Protocol (MBAP) packet header is divided into four domains. Total 7 bytes.
1.3 Port Number for Modbus TCP
(1) When PLC is used as Modbus server, Port 502 communication port is used according to default protocol, and any communication port is set in the Modus client program.
(2) When PLC is used as Modbus client, it is not necessary to set the local port number; If you want to specify a client port number, you are advised to start with 2000 to avoid conflicts with other communication protocols.
2 Overview of Modbus TCP communication on the S7-300/400 Ethernet module
This document applies to SIMATIC S7-300, S7-400 CPU with Ethernet module CP343-1 or CP443-1 software products. The instructions allow communication between S7-300, S7-400 systems with Ethernet modules CP343-1 or CP443-1 and devices that support the Modbus TCP protocol.
Data transmission is carried out according to the client-server principle. SIMATIC S7 can be used as a client or server during transfer.
2.1 Software and Hardware
When Modbus TCP commands are used in STEP7 software, the Modbus TCP CP instruction library needs to be installed before SIMATIC S7-300, S7-400 CPU with Ethernet module CP343-1 or CP443-1 can communicate with the communication partners that support Modbus TCP. As shown in Figure 2-1:
2.2 Modbus TCP CP V6.0 Software Option Package
When the software package is installed and integrated into Step7, you can find the block library, routines, and English manual in the corresponding directory of the Step7 installation file, as shown in the following figure. In the actual debugging process of the project, since the functions of the example program are relatively perfect, you can directly use the example program and modify the corresponding parameters according to the actual situation of the project. Can save a lot of parameter setting time.
3 Configure the Ethernet module as the Modbus TCP Server to communicate with the communication partner
The following uses the S7-300 single-site system and Modscan32 software as an example to describe how to configure the S7-300 single-site system as the Modbus TCP Server through the Ethernet module CP343-1 to communicate with Modscan32 as a Client.
3.1 Configuring Hardware
Create a new project (project name: MB_TCP_CP_V60) in STEP7.
3.2 Adding a TCP Connection
On the Hardware Configuration page, click "Configure Network" under Options to enter the network configuration page.
Next, select CPU, and in the table below, right-click and select "Insert New Connection" to add the TCP connection.
The communication partner is Unspecified and the connection type is TCP connection.
Select the local connection resource number (default ID=1) and PLC as the server. Note that "Active connection establishment" is not checked.
Click the "Addresses" page and set the local port number to 502.
3.3 Routine Description
Open the routine and copy all program Blocks (do not copy System data) from site SIMATIC 300 (Server) to the blocks of site SIMATIC 300 (1) of new project MB_TCP_CP_V60.
(1) Open OB1 and view the command "MODBUSCP"
The Modbus TCP command is invoked in the OB1 organizational block of the project,
The following are some pin descriptions (for other pin information, please see the instruction library manual) :
email:1583694102@qq.com
wang@kongjiangauto.com