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 | 539 次浏览: | 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 LS4000 diode laser analyzer
  • ABB REM615 HBMBCCAHNB1NN1XD Motor Protection Control
  • ABB 3BHE017628R0002 PPD115A02 SG579989013 Controller Module
  • ABB G2000A5.7ST human-machine interface
  • ABB DKTFM418B 3BHB015651P0001 Controller
  • ABB 3BHE039724R0C3D PPD513 A0C-100440 AC800PEC Controller
  • ABB PPD513AOC -100440 3BHE039724R0C3D 800 D513 Integrated Gate Commutator Transistor (IGCT)
  • ABB XUD194 XUD194A 3BHC018137R0001 Controller Unit Module
  • ABB UDC920BE01 3BHE034863R0001 High Voltage Inverter
  • ABB PPD517A3011 3BHE041576R3011 Excitation Controller
  • ABB MT-91-ARC FP A Control Panel
  • ABB UAC383AE01 HIEE3008900001 interface module
  • ABB XVC722AE101 3BHB002751R0101 High Performance Industrial Control Module
  • ABB TB820V2 3BSE013208R1 Modulebus Cluster Modem
  • ABB 3BHE003604R0102 UFC765AE102 circuit board
  • ABB SPSED01 High-Performance SOE DI Module
  • ABB GFD233A103 3BHE02294R0103 multifunctional control machine
  • ABB DO810 3BSE008510R1 Digital Output Module
  • ABB PM866A 3BSE076359R1 Process Controller
  • GE P111-6053 Advanced Microcontroller
  • GE SPU232.1-CAN PART NO: 029.354 630. Industrial grade module
  • ALSTOM VCM 232.2 029.359 088 VME-MANAGER-MASTER 0085.022.99
  • ALSTOM Centrol Unit COP 232.2 029.232 446
  • ABB PPD539A102 3BHE039770R0102 Control System Module
  • ABB UFC921A101 3BHE024855R0101 Digital Control Module
  • ABB UFC911B106 3BHE037864R0106 Voltage Measurement Board
  • ABB 5SHY4045L0006 3BHB030310R0001 IGCT module
  • ABB HIEE300024R4 UAA326A04 control module
  • ABB PPC905AE101 3BHE014070R010 Controller Module
  • ABB CDP-312R CONTROL PANEL
  • ABB TPPB-02 Control Processor Module
  • ABB UFC762AE101 3BHE006412R0101 motor control interface
  • ABB 1TGE120020R0614 industrial control module
  • ABB UFC760BE145 3BHE004573R0145 High-Voltage Interface Board
  • ABB XVC768116 3BHB007211R116 Programmable Controller
  • ABB XVC767AE105 3BHB007209R0105 Current Monitoring Board
  • ABB PCS6000 VLM70 3BHE034262R0001 Medium-Voltage Converter Module
  • ABB FPX86-9364-A controller motherboard
  • ABB FPX86-9345-B 3BHL000986P0006 Controller Module
  • ABB S-053M 3BHB012897R0003 Phase controller module
  • ABB 3BHE05077R0102 UNS0881b-PV2 control board
  • ABB VIPA972-0DP01 bus connector
  • ABB HS810 3BDH000305R0101 Controller Module
  • ABB PF900-NR 3BDH000357 power module
  • ABB 3BHB005245R0101 power board
  • ABB SUE3000 1VCR007346 G0032 Synchronous Motor Exciter
  • ABB SUE3000 1VCR007346 G0028 High speed Transmission Equipment
  • ABB UFC921A 3BHE024856P106 Communication Module
  • ABB GMKP2800-32IBY Communication Module
  • ABB PS203PRESSPMPPS Intelligent Control Module
  • ABB UNS4681V511 3BHE004074R0511 Expansion Unit Module
  • ABB PFTL101B 10KN 3BSE004197R1 high-performance weighing sensor
  • ABB CI532V02 3BSE003B27R1 Communication Module
  • ABB COM0034 control module
  • ABB 216VC626/P1000 HESG324442R112 processor unit relay card
  • ABB 216MB66 HESG324510M1 PLC Memory Expansion Module
  • ABB SPAJ140C overcurrent and ground fault relay
  • ABB DI840 3BSE020836R1 Digital Input Module
  • ABB AI845 3BSE023675R1 Analog Input Module
  • ABB B5LA HENF327886R0001 DC power module
  • ABB P7LA HNEF105323R0002 High Performance Control Module
  • ABB PPC322AEV01 HIEE300697R1 excitation control board
  • ABB REF620C_F NCFNAAAAABC2DNN1XF Feeder Protection and Control
  • ABB P72140-4-0788740 CTI21-P Input/Output Module
  • ABB DYTP123A 61430001-TW Ethernet Connection Module
  • ABB DYSF118B 61430001-XG Communication Interface Module
  • ABB DYPS154C 61430001-YP Serial Communication Module
  • ABB DTCC901B 61430001-FU Ethernet Communication Module
  • ABB SB510 3BSE000861R1 Backup Power Supply 110/230V AC
  • ABB CI535V26 3BSE022161R1 Communication Interface Module
  • ABB RAO02 redundant analog output module
  • ABB RAI02J redundant analog input module
  • ABB 1MRK002133-ABr02 analog-to-digital module
  • ABB UNITRAL1010 3BHE035301R0004 voltage regulator
  • ABB 3BHB019265R0410 Analog Input/Output (I/O) Module
  • ABB UNC4672AV1 HIEE205012R1 multi-functional input/output analog module
  • ABB REC650 1MRK008514-CB multifunctional circuit breaker
  • ABB RER 103 bus connection module
  • ABB REF545KB133AAAA High Performance Protection Relay
  • ABB REC670 1MRK002814-AC High-Performance Relay Module
  • ABB DASD001 3ASC25H241 Industrial Digital Input Module
  • ABB RED670 touchpad film
  • ABB NTAC-02 fiber optic cable
  • ABB XVC768AE102 3BHB007211R0102 Analog Input Module
  • ABB AD02 multi-channel integrated I/O module
  • ABB TU842 3BSE020850R1 module terminal unit
  • ABB APBU-44C 64669982 High Performance Controller Module
  • ABB REM611 panel
  • ABB RED615 panel
  • ABB L003748-AR 3BSX108237R300 Voltage Regulating Control Module
  • ABB COM0034 2RCA023019A0004C control module
  • ABB REU615E-D HBUAEAADNCA1BNN1XD Voltage Protection and Control Relay
  • ABB S-113H 3BHB01808R0003 Hydraulic Control Module
  • ABB REU615 panel
  • ABB TB840A 3BSE037760R1 modular cluster modem
  • ABB XVC770BE102 3BHE02103R0102 Controller Module
  • ABB LTC391AE01 HIEE401782R0001 Interface Module
  • ABB XVC770AE 3BHE006414R0001 fieldbus control system multifunctional module
  • ABB XVC768101 3BHB007211R101 Controller Module
  • ABB PM858-C 3BSE093350R1 Process Control System Module
  • ABB UAC389AE01 HIEE30088R0001 module controller
  • ABB AI02J high-performance I/O module
  • ABB IC698CPE030/IC698CPE020 series battery cover
  • ABB KSD211B 3BHE022455R1101 Input Coupling Unit ICU
  • ABB DSCA190V 57310001-PK Communication Processor
  • ABB GFD563A102 3BHE046836R0102 Analog I/O module
  • ABB XVC768115 3BHB007211R115 Industrial Control Module
  • ABB AI815 3BSE052604R1 I-O Module
  • ABB 5SGY3545L0010 3BHB006485R0001 Controller Module
  • ABB DAPI100 3AST000929R109 Ethernet Communication Interface Module
  • ABB SYN5201A-Z,V277 3BHB006714R0277 Auto single channel Syn
  • ABB KUC755AE117 3BHB005243R0117 System Controller
  • ABB CMA130 3DDE300410 Display Front Panel
  • ABB 07DC92D GJR525220R0101 Digital I/O Module
  • ABB PCD237A101 3BHE028915R0101 excitation control module
  • ABB CI627A 3BSE017457R1 Communication Interface
  • ABB 5SHY4045L0004 3BHB021400R0002 3BHE039203R0101 GVC736CE101 thyristor IGCT
  • ABB SYN5202A Controller Module
  • ABB LWN2660-6E 3BHL000986P7002 Power Conversion Module
  • ABB PFCA401SF 3BSE024387R4 Control Unit
  • ABB HIEE401807R0001 Advanced Power Electronics Module
  • ABB VBS01-EPD High Performance Digital Signal Processing Module
  • ABB LWN2660-6EG 3BHL000986P7002 Industrial Control Module
  • ABB SYN5201A-Z 3BHB006714R0217 Hydraulic Servo Module
  • ABB SYN5200a-Z,V217 SYNCHROTACT5 3BHB006713R0217 Dual channel synchronization device
  • ABB SAM3.0 Surge Arrester Monitoring System
  • ABB UNITROL 1005-0011 ECO 3BHE043576R0011 Automatic Voltage Regulator
  • ABB 3BHE032025R0101 PCD235B101 Exciter Control Module