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 | 568 次浏览: | 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.


  • GE IS210MACCH1AGG Turbine Control Module
  • GE IS230TNRLH1B Terminal Base Station Relay Module
  • GE DS200PCCAG1ACB Power Connection Card
  • GE DS200SI0CG1AEA Instant Overcurrent Card
  • GE DS200SHVMG1AGE servo valve interface module
  • GE DS200SI0CG1A6A Input/Output Module
  • GE DS200RT8AG3AHC Programmable Logic Controller
  • GE VMICPCI-7632-03310 IS215UCCAH3A 350-657362-003310J Rack mounted Input/Output Module
  • GE WEA13-13 2508-21001 Embedded Digital Module
  • GE WES5120 2340-21004 Controller Main Module
  • GE WES5120 2340-21006 on-site control host
  • GE WESDAC D20ME 18-MAR-13 Excitation Control Module
  • GE D20 EME 27-APR-13 Input/Output Module
  • GE D20 EME 2400-21004 Substation Controller
  • GE SR745-W2-P1-G1-HI-A-L-R-E Transformer Protection Relay
  • GE SR745-W2-P1-G1-HI-A-L-R Transformer Management Relay
  • GE IS230TNDSH2A Independent Output Relay Module
  • GE IS200TDBSH2ACC Terminal Module
  • GE PMC-0247RC-282000 350-93750247-282000F Disk Drive
  • GE VMIVME-5576 high-speed fiber optic reflective memory
  • GE 760-P1-G1-S1-LO-A20-R-E feeder management relay
  • GE 760-P1-G1-S1-LO-A20-R 760 Series Management Relay
  • GE 760-P5-G5-S5-HI-A20-R-E Motor Management Relay
  • GE IS200AEPAH1BKE IS215WEPAH2BB Printed Circuit Board
  • GE IS210BPPCH1AEC Programmable Monitoring System
  • GE WESDAC D20ME II Remote Terminal Unit (RTU) Main Processor Card
  • GE IC693DSM302-AE Discrete Output Module
  • GE IS220PRTDH1A 336A4940CSP6 temperature sensor input module
  • GE IS420ESWBH3AX Ethernet Switch
  • GE EVPBDP0001 EVPBDP032 output module
  • GE V7668A-131000 350-93100076668-131000 B Control Module
  • GE IS200SPROH1AAB MRP663860 Turbine Protection Relay
  • GE VG5SK8I052311 PM0N2000 Digital Input Module
  • GE MVR1600-4601 air-cooled rectifier module
  • GE CT11T7F10PN1 PMC676RCTX V2.3 01 16 C1145 CR11 V2.X Network Interface Card
  • GE IS215UCVHM06A IS200PMCIH1ACC Controller
  • GE IC695CPU315-BB Programmable Logic Controller
  • GE WES5120 5120-1506 High Performance Field Controller
  • GE D20-PS LFDSC143-4000 processor
  • GE 8811-IO-DC 8811-IO-DC-01 Digital Input/Output Module
  • GE VMIVME-7750 VMIVMME-7750-834 350-02775-834 D Bus Interface Module
  • GE VMIVME-7750 VMIVMME-7750-760000 350-027750-76000 N Bus Processor
  • GE IS210BPPBH2BMD redundant power module
  • GE IS220PDIAH1A 336A4940CSP1 Discrete Input Module
  • GE IC698CMX016 VMIVME-5567-000 350-005567-000 Industrial Module
  • GE V7768-320000 350-9301007768-320000 A0 Controller Module
  • GE IS215VCMIH2CA IS200VCMIH2CAA Communication Interface Board
  • GE IS215UCVGM06A IS215UCVGH1A VMIVMME-7666-11000 Serial Communication Module
  • GE SR745-W3-P5-G5-HI Transformer Protection Relay
  • GE IS220PDIIH1B 336A5026ADP1 Input/Output Module
  • GE IS200SDIIH1ADB MRP683026 Contact Input Isolation Terminal Board
  • GE WESTEM D20 M++CNC System
  • GE SR745-W2-P1-G1-HI-E-H Generator Relay Protection Device
  • GE SR469-P5-HI-A20-H motor protection relay
  • GE IS200TDBTH6ACD gas turbine control system module
  • GE WESDAC D20 C Combination Module
  • GE IC698CMX016 Control Memory Switch Module
  • GE SRPE60A 40 rated plug
  • GE 94-164136-001 motherboard control board
  • ABB PCD237A101 3BHE028915R0101 excitation control module
  • ABB XZC826A102 3BHE036348R0102 control module
  • ABB SAFT183VMC Safety Monitoring and Control Module
  • ABB LD 810HSE EX 3BSE091722R1 fieldbus link equipment
  • ABB RED615 HCDCACADAAHC2BNN11E Line Differential Protection and Control
  • ABB UFC760BE41 3BHE004573R0141 Industrial Computer Board
  • ABB 1TGE120011R2200 Motor Feed Control Unit
  • ABB PM865 3BSE030193R1 Compact Programmable Controller
  • ABB MVR 0.44-10KA high-power motor control module
  • ABB AO810 Input/Output Module
  • ABB SPAU341C1-AA RS488003-AA numerical protection repeater
  • ABB DSTA131 2668180-48/2 Programmable Logic Controller
  • ABB COM00012RAA005844A0004J2RAA005696N Control Panel Module
  • ABB MR7557891MRS050640C power relay
  • ABB 2RCA025057A0001R safety relay
  • ABB 2RCA013892A0003H power relay
  • ABB 2RCA013655A0001H power relay accessories
  • ABB 07KT94-98 controller
  • ABB 1MRK002247 Apr04 Transformer Module
  • ABB UNS0884a-v1 3BHE004385R0001 current sensor
  • ABB WMDOLT2-A75 (65KA) 6E 1TGE106812P0001 Input and Output Board
  • ABB Uras26 F-No. 3.346368.0 A-No 0240462201/2030 Gas Chamber Detector
  • ABB UFC911B101 3BHE037864R0101 control board
  • ABB TU841 3BSE020848R1 Termination unit for 1+1 TB840
  • ABB REF541KM115AAA relay feeder protection
  • ABB NINT-71C main circuit interface board
  • ABB LS14250 lithium battery
  • ABB ICSF08D1 FPR3323101R1012 24VDC high-speed counter
  • ABB DO814 Input/Output System
  • ABB 769111B gas chamber detector
  • ABB CM10/00MU1E0/STD Process Controller
  • ABB 769154 A filter element
  • ABB 769137 C 13CO2-10% 0746919 E detector
  • ABB 0769143 A Sample cell (Al), 175 mm
  • ABB 0002-07-2-000001-01 BMXS Scientific Module (ADC)
  • ABB CM15/000S0E0/STD Universal Process Indicator
  • ABB BSD0750 servo drive
  • ABB CI854BK01 Communication Interface Module
  • ABB XVC772A102 3BHE0322285R0102 circuit board
  • ABB AI04 Input/Output System
  • ABB TU847 module terminal unit
  • ABB TB807 module bus terminator
  • ABB PP877K control panel
  • ABB AO845A eA Analog Output Module
  • ABB SD822 power supply equipment
  • ABB 3BHB006716R0277 SYN5302A-Z.V277 synchronizer
  • ABB GFD233A103 3BH02294R0103 Controller
  • ABB 129740-002 134177-001 Intelligent I/O Module
  • ABB XUD194 3BHE018137R0001 AC800PEC High Performance Controller
  • ABB T3N225 Circuit Breaker
  • ABB A30-30-10RT three pole AC contactor
  • ABB SYN5302A-Z, V217 3BHB006716R0217 digital synchronizer
  • ABB NBIO-31 3BSE011337R1 I/O and Expansion Control Module
  • ABB 5SHX1960L0006 3BHB016120R0002 3BHE019719R0101 GVC736BE101 High Voltage Inverter Module
  • ABB PPC905AE101 3BHE014070R0101 control module
  • ABB REF615E_E HBFHAEAGNBA1BNN1XE digital feeder protection relay
  • ABB XVC770BE101 3BHE02103R0101 circuit board module
  • ABB 3BHL000986P7001 redundant DC power supply unit
  • ABB 3HAB8101-18/09A servo drive
  • ABB PM876-1 3BDH000707R1 Controller
  • ABB PPD117A3011 3BHE030410R3011 Excitation Controller Module
  • ABB 1MRK0023505-AA Transformer Differential Protection Relay
  • ABB PFSA140RULLM7A 3BSE006503R1 safety relay module
  • ABB PFSA140RULM1I 3BSE06503R1 drum power supply device
  • ABB MVME162-010A Embedded Controller Module
  • ABB 500BIM01 1MRB150024R0002 Digital Input Module
  • ABB 500BIM01 1MRB160024R0002 Digital Input Module
  • ABB 500PSM03 1MRB 150038 R1 894-030375D 136-011100H power module
  • ABB 500PSM02 1MRB150015R1 AD-272.100.20-01 AZ: C digital power module