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


  • PERITEK AC7-00712-1113 Industrial Interface Module
  • PFEIFFER EVR116 Vacuum Control Module
  • Pepperl+Fuchs RSD-CI-EX8 Hazardous Area Interface Module
  • PEPPERL+FUCHS 2108HAT Intrinsic Safety Barrier Module
  • Philips 958481320201 PROC+ Processing Unit
  • Philips 958481321300 PSB Power Supply Board
  • Philips 958481321220 PD208 Power Module
  • PHILIPS 958481321200 PD216 Control Module
  • PHILIPS 958481320201 PROC PLUS Control Module
  • Philips 958481320400 PIF Interface Module
  • Philips 958481320100 LCB Control Board
  • PHILIPS 958481223220 Industrial Control Module
  • PHILIPS 958481223223 Industrial Control Module
  • PHILIPS 958481321300 Industrial Control Module
  • PHILIPS SCM040 Digital Output Synchronization Module
  • PHILIPS DSI020 Data Storage Interface Module
  • PHILIPS OPM010 Optoelectronic Control Module
  • PHILIPS VBM010 Industrial Automation Module
  • PHILIPS VBM030 Turbine Supervisory Instrumentation
  • PHILIPS PR1613 Industrial Control Module
  • PHOENIX PATG1/23 1013847 Ground Terminal Block
  • Phoenix Contact IB ST 24 AI 4/SF Analog Input
  • Phoenix Contact OPC5315-004-AB Industrial PC
  • Phoenix Contact UMK-SE11.25-1 Side Element
  • PHOENIX 2961192 Relay Module
  • PHOENIX IB ST ZF 24 AI 4/SF Analog Input Module
  • Phoenix Contact PLC-BSC-24DC/21 Relay Base
  • Phoenix Contact UK6N Feed-Through Terminal Block
  • Phoenix Contact UK4-T Disconnect Terminal Block
  • Phoenix UK3N Screw Terminal Block
  • Phoenix QUINT-PS-100-240AC/10 Power Supply
  • Phoenix QUINT PS-100-240AC/24DC/10 Power Supply
  • Phoenix UT 6-HE SI Surge Protection Terminal Block
  • Phoenix UT 4-MTD Feed-through Terminal Block
  • Phoenix UT 4-HE SI Surge Protection Terminal Block
  • Phoenix IBS 24BK-I/O-T Bus Coupler
  • Phoenix Contact HDFK4 High-Current Terminal Block
  • PHOENIX ST-SI-UK4 Fuse Terminal Block
  • PHOENIX FLMC10BASE-T/FO G850 Fiber Media Converter
  • PHOENIX CONTACT QUINT-PS-100-240AC/24DC/40 Power Supply
  • PHOENIX CONTACT QUINT-DIODE/40 Redundancy Module
  • Phoenix Contact 2884208 Wireless I/O MUX
  • Photonetics 3646 HE 1540 Tunable Laser Source
  • PI C-663.12 Mercury Multi-Axis Step Motor Controller
  • PI C-663.10 Mercury Step Motor Controller
  • Pillar CB6687-2L Industrial Communication Board
  • Pilz DE-106712 A.F.051.5/01 Safety Module
  • Pilz 680003 Safety Relay Module Set
  • Pilz 301140 PNOZ X3 Safety Relay
  • Pilz P1U-1NB Safety Relay
  • Pioneer PM3398B-6-1-3-E Power Supply
  • Pioneer Magnetics PM3326B-6-1-2-E Power Supply
  • Pioneer Magnetics HYRSP-1500-56 Power Supply
  • Pioneer Magnetics PM3398B-6-1-3-E Power Supply
  • Pioneer Magnetics PM3328BP-6 Power Supply
  • Potter & Brumfield SDAS-01-7Y2S1024 Relay
  • Powec PMP10.48 SIC High-Efficiency Rectifier
  • Powerbox PU200-31C Industrial DC-DC Converter
  • PIONEER MAGNETICS PM3398BP-6-1-3-E Power Supply Module
  • PIONEER MAGNETICS PM1253AL-6-3-Z03 Power Supply Module
  • Powerex PD411811 Rectifier Diode Module
  • Power-One MAP55-1024 AC-DC Power Supply
  • ProSoft MVI56-MDA4 ControlLogix Multi-Protocol
  • POLYSPED PRD2-200 Industrial Drive Module
  • P-OPEN P-OPEN-P4-150 PAC-OP150 Operator Panel
  • ABB Processor 958481321210 350211080320 Rugged CPU
  • ABB Processor 958481320201 350211080460 Safety CPU
  • ABB Processor 958481321200 350211080320 CPU Module
  • ABB Processor 958481321220 350211080320 CPU Module
  • ABB Processor 958481320100 350211080090 CPU Module
  • Pro-Face PL5901-T42-24V HMI Touch Panel
  • PROFIBUS PB3-VME-1-E V1.2.2 Interface Card
  • PROMESS 850040060P Force Displacement Monitor
  • PROSOFT AN-X2-AB-DHRIO DH+ and Remote I/O Gateway
  • PROSOFT RLX2-IFH24E Industrial Wireless Radio Module
  • PROSOFT 5202-DFNT-MCM4 DF1 to EtherNet/IP Gateway
  • PROSOFT PLX35-NB2 EtherNet/IP to Modbus TCP Gateway
  • ProSoft 5201-MNET-MCM-WEB Modbus TCP/Serial Gateway
  • ProSoft 5304-MBP-PDPMV1 Modbus Plus to PROFIBUS DP Master
  • ProSoft 5302-MBP-MCM4 Modbus Plus to Modbus Master/Slave
  • ProSoft 5301-MBP-DH485 Modbus Plus to DH485 Gateway
  • ProSoft 6104-WA-PDPM Wireless PROFIBUS DP Master
  • ProSoft MVI56-LTQ ControlLogix Limitorque Master
  • Prosoft 5304-MBP-PDPM PROFIBUS Master Module
  • Prosoft 1452-25M Relay Output Module
  • Prosoft MVI56-MNETR Modbus TCP/IP Module
  • Prosoft MVI69L-MBS Modbus Serial Module
  • Prosoft PLX32-EIP-SIE Ethernet Gateway
  • Prosoft MVI56-PDPS PROFIBUS DP Slave Module
  • Prosoft PMF1327205 Gateway Module
  • Prosoft PMF1216D61 FOUNDATION Fieldbus Module
  • PROSOFT MVI56-GSC Generic Serial Communication Module
  • PROSOFT 5601-RIO-MCM Remote I/O Communication Module
  • PROSOFT 1454-9F Communication Interface Module
  • PROTECH SYSTEMS PBI-6SA Industrial Single Board Computer
  • PRSTECH DMP10.24-20 DIN-Rail Power Supply
  • PRT PSA300R-81 Industrial Power Supply Module
  • PULS SLA8.100 AS-Interface Power Supply
  • QSI QTERM-K65 Industrial Operator Interface
  • R-2528Z R-2528Z Industrial Specialized Component
  • Radisys SBC486DX66 Single Board Computer
  • Radisys EPC-5 with EXM-13 Embedded System
  • Radisys EPC-16 Embedded Computer
  • Ramix PMC676TX PMC Ethernet Adapter
  • Ramix PMC008A PMC-to-VME Adapter
  • Ramix PMC237C-008EMI PMC Carrier
  • Ramix PMC661J PMC Carrier Board
  • Renata CR2450N Lithium Battery
  • Renault Circuit CU-8593-IND.A Control Module
  • Reotron 567LH-DP24 Voltage Regulator
  • RIFA IC693PWR321U GE Fanuc Series 90-30 Power Supply
  • RKC REX-B871NN-CS1B Intelligent Controller
  • RKC B871-RCU Digital Temperature Control Unit
  • ROBICON 469718 Variable Frequency Drive Control Board
  • IAI ROBO CYLINDER RC-S5-M-50-M Electric Actuator
  • Robo Cylinder RCA-T Electric Actuator
  • Rockwell 0-60066 Relay Output Module
  • Rockwell TC-303-02-4M0 Power Cable
  • Rockwell TC-302-02-4M0 Encoder Cable
  • Rockwell TC-205-02-8M5 Cable Assembly
  • Rockwell SA3100 AC Drive
  • Rockwell Automation T9110 Processor Module
  • Rockwell Automation 56AMXN I/O Module
  • ROD-L M100DC-5-10 High Voltage Dielectric Withstand Tester
  • ROE ELKO RAUH ⅡA 2200MFD 40V Electrolytic Capacitor
  • ROEMHEKD D35321 Hydraulic Clamping and Power Component
  • Rofin Laser HG-24 Industrial Laser Marking and Processing System
  • Ropex RES-402/400VAC Temperature Controller