Welcome to the Industrial Automation website!

NameDescriptionContent
HONG  KANG
E-mail  
Password  
  
Forgot password?
  Register
当前位置:

Based on the S7-300/400 Ethernet module CP343-1 &CP443-1 Modbus TCP used in STEP7 Door (V6.0)

来源: | 作者:佚名 | 发布时间 :2023-11-21 | 766 次浏览: | 🔊 Click to read aloud ❚❚ | Share:

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) :

id: indicates the ID of the configured connection in Configure Network. The connection ID is the unique identification of the connection between the CPU and the connection partner through the CP. Enter the number for the connection configuration here. This parameter ranges from 1 to 64.

db_param: parameter data block that contains modbus data parameters for the modbus block instance. The CPU determines the value range of this parameter. DB number 0 is reserved for the system and cannot be used. Enter the DB number "DBxy" in plain text format. If multiple connections are to be implemented, the parameter data block can contain the parameters required for all connections in order.

REG_KEY_DB: Registration key used for authorization.

MONITOR: Monitoring time MONITOR is used to monitor incoming data from connection partners. The time format T# is used to specify the monitoring time. It is recommended that the monitoring time be about 1.5s.

In "S7 as server" mode, the input of the second part of the frame is monitored by MONITOR time. If the monitoring time is exceeded, an error is reported. This time is calculated from the receipt of the MODBUS/TCP specific packet header and ends when the request is fully received.

Init: initializes the Modbus block when there is a rising edge in the parameter. Initialization can only be performed if no jobs are currently running. This condition must be ensured in the program by ENQ_ENR = FALSE and BUSY = FALSE.

(2) Parameter data block DB2

Parameter data block DB2 (name MODBUS_PARAM_CP). This parameter DB block is used to set the modbus data area.

Notice To modify Data in the DB block, switch the DB block to Data view and modify the DB block in the Actual value column.

In this example, you need to change DB2 ID2_ID to 16#1 according to the connection Settings in Figure 3-7. To facilitate the mapping of subsequent communication test addresses, change the start and end addresses of the modbus register to 16#0 and 16#1F3 respectively.

3.4 Communication Test

Download the project to the CPU, open the Modsan32 application, the following to the hold register as an example to introduce the communication test process.

First, select connect under the Connection menu for ModScan32 and set the IP address and port number for ModScan32 to access the PLC as the server side.

Finally, set the start address and length of Modbus to be accessed in Modscan32 software (in this test, Modscan32 uses data type 3 and the start address of the access hold register is 10 words of 40001), establish a communication connection with PLC, and carry out data reading.

You can view the communication status in the network configuration window.

Some considerations for using the function block "MODBUSCP" :

1) The S7-300CPU supports communication with multiple Modbus clients through the function block "MODBUSCP" of the Ethernet module CP343-1. The number supported depends on the number of TCP connections supported by the CP343-1. The function block "MODBUSCP" must be invoked once for each client connection. Parameters such as background data block, ID, and port number must be unique.

2) The S7-300CPU can be used as the Server and Client of Modbus TCP through the Ethernet module CP343-1.

3) The S7-300CPU supports multiple protocols through the Ethernet module CP343-1, which can run PROFINET, TCP/IP, S7 and other protocols in addition to Modbus TCP.

4 Configure the Ethernet module as the Modbus TCP Client to establish communication with the communication partner

The following uses the S7-300 single-site system and ModSim32 software as an example to describe how to configure the S7-300 single-site system as the Modbus TCP Client through the Ethernet module CP343-1 to communicate with Modsim32 as the Server.


  • ABB ATS022 Automatic Transfer Switch
  • ABB REM543CG2160AA A Machine Terminal
  • ABB REF615 Feeder Protection and Control REF615E D
  • ABB CMA 50 SYNPOL GVT 360 8490 Control Unit
  • ABB OETL 1000K3 1000A 690V 3-Pole Disconnect Switch
  • ABB 1MRK002247-AGr 00 PCB Card
  • ABB EFORE 1MRK000005-380 1MRK000614-ABr 00 PCB Board
  • ABB DSSB-01C Control Unit
  • ABB 560PSU01 1KGT006600R000 Power Supply
  • ABB REF542plus 1VCF752000 Base Unit
  • ABB DI03 16-Channel 24 VDC Digital Input Module
  • ABB RDI01 16-Channel Redundant 24/48 VDC Digital Input
  • ABB DI01 16-Channel 24/48 VDC Digital Input Module
  • ABB SPOC 110 C-AA Network Control and Protection
  • ABB CPD 11 Redundant Power Supply Rack
  • ABB AI03 8 Channel Isolated RTD Input Module
  • ABB REG316 4 Numerical Generator Protection Relay
  • ABB SYMAP EC Multifunction Protection Relay
  • ABB 3HAC047724-001 FlexPendant Retractable Cable 10m
  • ABB DI01 16 Channel 24/48 VDC Digital Input Module
  • ABB AC 870P Melody CMC 70 Multifunction Unit
  • ABB AS515 ISEI 01 Analog Input Module
  • ABB REM545BG227AAA A Machine Protection Terminal
  • ABB HIEE300936R010 1UF C718 AE101 Inverter Board
  • ABB SPAM 150 C Motor Protection Relay
  • ABB DI03 Symphony Plus Digital Input Module
  • ABB SADT20MP33H ME Signal Isolator/Converter
  • ABB 75023/804 Power Supply 100-240Vac/dc
  • ABB 750203/806 Power Supply 100-250Vac/dc
  • ABB REM543BG215AAA A Machine Terminal
  • ABB REF543 Feeder Terminal Relay REF543KM129AAA
  • ABB PR512/P IEC Circuit Breaker Protection Relay
  • ABB SYMAP-BCG Digital Protection Control Monitor
  • ABB DSSA 165 Distributed Power Supply
  • ABB 3BHE003748R0002 DC Governor Communication Board
  • ABB PP846 3BSE042238R1 HMI Operator Panel
  • ABB 3BHE010751R010 PP C902 AE101 PCB Board
  • ABB DSSA 150A DC/DC Converter
  • ABB DSCA 130 57510001-AT Communication Board
  • ABB CMC 70 Multifunction Meter
  • ABB REM543CG214AAA A Machine Terminal
  • ABB RAI04 16-Channel Isolated Thermocouple Input Module
  • ABB CCF 10 Modbus Coupler P 73113-4-0788 713
  • ABB CMC 70 Multifunction Communication Controller
  • ABB RER 111C-AA Star Coupler RER 111
  • ABB DSHP 162C Protection Relay
  • ABB DSHP 162B Protection Relay
  • ABB RET615 Transformer Protection and Control Relay
  • ABB REM601 Motor Protection Relay
  • ABB DSSR 122 M Power Supply
  • ABB REM543BG217AAA A Machine Protection Relay
  • ABB REF543CM129AAA B Feeder Terminal Protection Unit
  • ABB REM545BM223AAA A Machine Protection
  • ABB REF543KM129AAA A Feeder Terminal
  • ABB RET541 Transformer Terminal Protection Unit Technical Data
  • ABB REM545BM223AAA B Feeder Terminal
  • ABB FCB350-A1A1050 Coriolis Mass Flow Meter
  • ABB REF543AM129AAA A REV A1 Feeder Terminal
  • ABB REM545AG225AAA A Machine Terminal Rev A
  • ABB REF543CM129AAA A Feeder Terminal Protection Relay
  • ABB REM545 Machine Terminal REM545BG225AAA A Protection
  • ABB ACS800-01-0040-5 VFD Drive
  • ABB IOEC I/O Interface 3BHB003041R010 Module
  • ABB REM545BG225AAA A Machine Terminal Relay
  • ABB REF543 Feeder Terminal Relay REF543KM129AAA
  • ABB RED670 Line Differential Protection IED 1MRK004810-AA
  • ABB RED670 Line Differential IED 1MRK002810-AA
  • ABB RET670 Transformer Protection IED 1MRK002816-AA
  • ABB REC670 Bay Control IED 1MRK002814-AB
  • ABB REC670 Bay Control IED 1MRK002814-AA
  • ABB 3BHE021889R010 UF C721 BE101 ADCVI Board
  • ABB 560PSU02 1KGT011900R000 RTU560 Power Supply
  • ABB EL3020 Continuous Gas Analyzer
  • ABB 3BHB003154R010 5SXE 05-0156 IGCT
  • ABB ACS600 AC Drive ACS60401705/ACS60401704
  • ABB AC 800PEC Controller
  • ABB PP D113 3BHE023584R264 Power Supply
  • ABB Zirconia ZMT Oxygen Analyzer Panel (231/000000/411 2)
  • ABB ZIRCONIA ZMT Oxygen Analyzer
  • ABB EL3040 Smart Electro-Pneumatic Positioner
  • ABB ACS60401703 000C0000901 ACS600 VFD
  • ABB AS515 IMS Analog Input Module
  • ABB RED670 Line Differential Protection Relay Specs
  • ABB AC 800pec High-Speed Control System
  • ABB PP D113 B03-26-111600 3BHE023584R2647 Processor Unit
  • EATON XV-102-D6-70TWRC-10 Industrial HMI Panel
  • EATON XV-440-10TVB-1-1AI Analog Input Module
  • EATON XV-102-E8-57TVRC-10 Industrial HMI Panel
  • EATON XV-440-10TVB-1-1AI Analog Input Module
  • EATON DP-32DI/P-2X16 Digital Input Module
  • EATON XV-102-D0-57TVR-10 5.7-inch Touch Panel HMI
  • EATON LZMC2-4-A250 4-Pole Molded Case Circuit Breaker
  • EATON CG5V8GWUMUB611 Proportional Directional Valve
  • EATON PXR25V000L0AM Power Xpert Release Trip Unit
  • EATON FWJ-50A High Speed Ferrule Fuse
  • Eaton ELC-GP02001 HMI 2-inch Graphic Panel
  • Eaton 10316H1059 Replacement Filter Element
  • Eaton EEA-PAM-525-A-33 Proportional Amplifier Module
  • Eaton CG5V8GWUMUB611 Miniature Circuit Breaker 1P C 6A
  • Eaton PXR25V000L0AM PXR Trip Unit 250A
  • EATON HMCP100R3C Hydraulic Control Pump
  • EATON HMDLB3800T33W Hydraulic Motor
  • EATON DG4S4-018C-50 Directional Control Valve
  • EATON XV-102-H3-70TWRL-10 Industrial HMI Panel
  • EATON KRP-C-700SP Programmable Logic Controller
  • EATON XMW-OC-350-M10-4-300MM Flexible Copper Busbar
  • EATON HMCP400L5C Motor Circuit Protector
  • EATON EEA-PAM-561-A-33 Proportional Valve Amplifier
  • EATON 233-3279-003 Industrial Electronic Component
  • EATON DP-4000 IQDP4130 66D2040G03 Digital Meter
  • Eaton AV91AG0C010D AC Drive 7.5kW 400V
  • Eaton 70C1185R53 Control Relay 4PDT 10A 120V
  • Eaton F880-CR-PS Compact PLC Power Supply
  • Eaton MTL-644 Galvanic Isolator 4-20mA
  • Eaton 8811-IO-DC-01 Digital I/O Module 24VDC
  • EATON XV-152-E6-10TVRC-10 HMI Touch Panel
  • EATON LBD9900 Protection and Control Device
  • EATON B20098140711 A5 Industrial Control Module
  • EATON PVH057R01AA10 Hydraulic Piston Pump
  • EATON 7585T-8XE Industrial Managed Ethernet Switch
  • EATON TT-C5-LED-E1-WQ-BZ LED Lighting
  • EATON XV-303-70-C00-A00-1B Multi-Touch HMI
  • EATON T-1-M2-030-17-03-15 Industrial Component
  • EATON XV-102-E8-70TWRC-10 HMI PLC
  • EATON NZM2-XR208-240AC Remote Operator
  • Eaton 6N599-1 KNF7361 Limit Switch Industrial IP67
  • Eaton NZMS6-100/ZM6-100 MCCB 100A Thermal Magnetic
  • Eaton EEA-PAM-568-A-32 Proportional Amplifier Vickers