Modbus TCP Kopplung Doku v12 en - pdfuUUffffRLsE
Modbus TCP Kopplung Doku v12 en - pdfuUUffffRLsE
Modbus TCP Kopplung Doku v12 en - pdfuUUffffRLsE
Industry Automation and Drive Technologies Service & Support Portal This article is taken from the Service Portal of Siemens AG, Industry Automation and Drive Technologies. The following link takes you directly to the download page of this document. http://support.automation.siemens.com/WW/view/en/38586568 Warning: The functions and solutions described in this entry are mainly limited to the realization of the automation task. Please also note that if you link your plant with other parts of the plant, the companys network or the Internet, that you have to take according security measures within the framework of Industrial Security. More information can be found under entry ID 50203404. http://support.automation.siemens.com/WW/view/en/50203404
If you have any questions about this document, please contact us at the following e-mail address: online-support.automation@siemens.com
You can also actively use our Technical Forum from the Service & Support Portal regarding this subject. Add your questions, suggestions and problems and discuss them together in our strong forum community: http://www.siemens.com/forum-applications
Automation Task
1 2 3 4 5 6 7 8 9
Automation Solution
Installation
Literature
History
We accept no liability for information contained in this document. Any claims against us based on whatever legal reason resulting from the use of the examples, information, programs, engineering and performance data etc., described in this Application Example shall be excluded. Such an exclusion shall not apply in the case of mandatory liability, e.g. under the German Product Liability Act (Produkthaftungsgesetz), in case of intent, gross negligence, or injury of life, body or health, guarantee for the quality of a product, fraudulent concealment of a deficiency or breach of a condition which goes to the root of the contract (wesentliche Vertragspflichten). However, claims arising from a breach of a condition which goes to the root of the contract shall be limited to the foreseeable damage which is intrinsic to the contract, unless caused by intent or gross negligence or based on mandatory liability for injury of life, body or health. The above provisions do not imply a change in the burden of proof to your detriment. It is not permissible to transfer or copy these Application Examples or excerpts thereof without express authorization from Siemens Industry Sector.
Table of Contents
Table of Contents
Warranty and Liability ................................................................................................. 4 Table of Contents......................................................................................................... 5 1 2 Automation Task................................................................................................ 7 Automation Solution ......................................................................................... 9 2.1 2.2 2.3 3 Overview of the general solution.......................................................... 9 Description of the core functionality ................................................... 11 Hardware and software components used......................................... 14
Basics ............................................................................................................... 16 3.1 3.2 Basics on Modbus TCP...................................................................... 16 S7 function blocks for Modbus TCP................................................... 20
Functional Mechanisms of this Application ................................................. 23 4.1 4.1.1 4.1.2 Program structure of S7 CPU and ET200S CPU with integrated PN interface.............................................................................................. 24 Program details on Modbus PN blocks .............................................. 24 Configuration explanations................................................................. 30 Program structure of S7 CPU with CP ............................................... 31 Program details on MODBUS CP blocks ........................................... 31 Explanation of the configuration......................................................... 39 Program structure of Modicon M340.................................................. 39 Program details regarding the Modicon M340 blocks........................ 39 Explanation of the configuration......................................................... 40
Installation........................................................................................................ 41 Startup of the Application............................................................................... 44 6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.2 6.2.1 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.4 6.4.1 6.4.2 6.4.3 6.4.4 Configuration of the CPU319-3 PN/DP .............................................. 44 Hardware configuration ...................................................................... 44 Inserting Modbus TCP blocks in project............................................. 46 Configuring Modbus TCP connections............................................... 47 Downloading the project..................................................................... 49 Configuration of the IM151-8 PN/DP CPU ......................................... 50 Hardware configuration ...................................................................... 50 Configuration of the CPU315-2 PN/DP with CP343-1 Lean .............. 52 Hardware configuration ...................................................................... 52 Creating project for Modbus TCP....................................................... 55 Configuring Modbus TCP connections............................................... 56 Downloading the project..................................................................... 61 Configuration of the Modicon M340 ................................................... 61 Using application example ................................................................. 61 Hardware configuration ...................................................................... 62 Configuring an Ethernet interface for Modbus TCP ........................... 65 Creating a project for Modbus TCP.................................................... 66
Operating the Application............................................................................... 69 7.1 7.1.1 7.1.2 7.2 Operation CPU319-3 PN/DP and IM151-8 PN/DP CPU.................... 69 S7 station is client .............................................................................. 69 S7 station is server............................................................................. 71 Operation of CPU315-2 PN/DP + CP343-1 Lean .............................. 72
Table of Contents 7.2.1 7.2.2 7.3 7.3.1 7.3.2 8 S7 station is client .............................................................................. 72 S7 station is server............................................................................. 75 Operation Modicon M340................................................................... 76 Modicon M340 is client....................................................................... 76 Modicon M340 is server ..................................................................... 77
Literature .......................................................................................................... 79 8.1 8.2 Bibliographic references..................................................................... 79 Internet link specifications .................................................................. 79
History............................................................................................................... 79
Automation Task
Protocols are necessary to exchange data between communication partners. One of these protocols which is mainly used in an industrial environment, is Modbus TCP. The specification of this protocol is open and can therefore be used by anyone. As a result, there is a multitude of components of various manufacturers with Modbus TCP interface. To enable simple and fast connection to such third-party devices they also have to support Modbus TCP.
Introduction
Overview of the automation task The figure below provides an overview of the automation task.
Figure 1-1
Production plant 1
Production plant 2
S7 Controller
Copyright Siemens AG 2011 All rights reserved
External controller
Ethernet
Description of the automation task There are two production plants in a product line which carry out intermediate and final assembly of a serial production. Production data is to be exchanged between these two production plants. One of the two plants has the controller of another manufacturer. To communicate with other components, this external controller provides a Modbus TCP interface. The data exchange is to be realized through this interface.
The controllers of the two production plants and the panel are located in the same IP subnet. Therefore a gateway is not required.
1 Automation Task 2.1 Overview of the general solution Quantity frameworks of the data transmission The quantity of the data that is to be transferred through Modbus TCP is limited to 64 bits in the application example. The transfer is word by word. I.e., per client job four words are read out from the server or are written into the server. The table below shows the maximum possible data transfer per Modbus TCP job.
Table 1-1: Maximum data volume per order Transfer bit by bit Read job Write job 250 bytes 246 bytes Transfer word by word 250 bytes 246 bytes
2
2.1
Automation Solution
Overview of the general solution
There are several options to connect an external controller through Modbus TCP to a SIMATIC system. This is due to the fact that there are various connection partners on the SIMATIC side that support this protocol with the help of various function blocks for Modbus TCP. Below, on the example of three different SIMATIC components, you will be shown how to realize a link to an external controller via Modbus TCP.
Schematic layout The figures below display the components of three different solution alternatives:
Figure 2-1: Connection Modicon M340 with S7-CPUs
Ethernet
SCALANCE X108
CPU319-3 PN/DP
Structure of the SIMATIC system In each solution alternative the SIMATIC components are physically connected via an industrial Ethernet cable. A SCALANCE X108 enables a connection with a PG/PC and the SIMATIC station as well as the connection to the third-party system. Production data is exchanged with the help of Modbus TCP through the physical connection between SIMATIC components and third party system. A PG/PC is used to trigger the send and receive jobs. The following SIMATIC stations are available: CPU319-3 PN/DP ET200S (IM151-8 PN/DP) CPU315-2 PN/DP with CP 343-1 Lean
2 Automation Solution 2.1 Overview of the general solution Structure of the third-party system The third-party system is a Modicon M340 controller. It is physically connected with the SCALANCE X108 through an industrial Ethernet cable. Classification This application does not provide an introduction to STEP7 provide an introduction to Unity Pro XL contain an introduction to WinCC flexible
Basic knowledge of these topics is assumed. Scope of the application example This application example will describe: Basics on Modbus TCP configuration and structure of a Modbus TCP connection between a CPU319-3 PN/DP and a Modicon M340, as well as data transmission via Modbus TCP between the two peers (variant 1: Modicon M340 acts as client, CPU319-3 PN/DP acts as server; variant 2: Modicon M340 acts as server, CPU319-3 PN/DP acts as client) configuration and structure of a Modbus TCP connection between an ET200S (IM151-8 PN/DP) and a Modicon M340, as well as data transmission via Modbus TCP between the two peers (variant 1: Modicon M340 acts as client, ET200S acts as server; variant 2: Modicon M340 acts as server, ET200S acts as client) configuration and structure of a Modbus TCP connection between a CPU315-2 PN/DP with CP343-1 Lean and a Modicon M340, as well as data transmission via Modbus TCP between the two peers (variant 1: Modicon M340 acts as client, CPU315-2 PN/DP acts as server; variant 2: Modicon M340 acts as server, CPU315-2 PN/DP with CP acts as client) handling the Modbus TCP Wizard
10
2.2
Figure 2-3: CPU319-3 PN/DP as Modbus TCP server; Modicon M340 as Modbus TCP client
Server: Modbus TCP Protocol: Modbus TCP CPU319-3 PN/DP Scalance X108 IP address: 192.168.1.1 Ethernet
IP address: 192.168.1.10
11
2 Automation Solution 2.2 Description of the core functionality Connection Modicon M340 CPU315-2 PN/DP + CP343-1 Lean
Figure 2-4: CPU315-2 PN/DP + CP343-1 Lean as Modbus TCP client; Modicon M340 as Modbus TCP server
Client: Modbus TCP CPU315-2 PN/DP mit CP 343-1 Lean Protocol: Modbus TCP
Figure 2-5: CPU315-2 PN/DP + CP343-1 Lean as Modbus TCP server; Modicon M340 as Modbus TCP client
Server: Modbus TCP
Copyright Siemens AG 2011 All rights reserved
Client: Modbus TCP Protocol: Modbus TCP Modicon M340 Scalance X108
Client: Modbus TCP Protocol: Modbus TCP IM151-8 PN/DP CPU Scalance X108 IP address: 192.168.1.1 Ethernet
IP address: 192.168.1.10
12
Advantages of this solution The solution presented here offers the following advantages:
Copyright Siemens AG 2011 All rights reserved
option to connect Modbus TCP-capable external controllers expansion of existing plants with SIMATIC S7 modules few changes necessary in SIMATIC component when exchanging a Modbus TCP peer Option to select client- or server functionality
Typical fields of application The devices displayed here are typical Modbus TCP Siemens peers.
Table 2-1 Machine or branch Multi-function measuring instrument Sentron PAC3200 Task U,I,R,f measurement Figure
Visualization
Other Modbus TCP components by third-party manufacturers: Modicon M340 by Schneider Electric Modbus/TCP (UDP) bus link by Phoenix Contact TwinCAT Modbus TCP server by Beckhoff
13
2.3
Hardware components
Table 2-2 Component CPU319-3 PN/DP IM 151-8 PN/DP CPU CPU315-2 PN/DP CP343-1 Lean SCALANCE X108 PS307 24 V/5 A Modicon M340 CPS2010 P34 2030 DDO 1602
Copyright Siemens AG 2011 All rights reserved
No. 1 1 1 1 1 1 1 1 1 1
Note
Modicon M340 communication module Modicon M340 digital output module Modicon M340 digital input module
DDI 1602
No.
Note Configuration software for S7 CPUs Configuration software for Modicon M340 Program for configuring the Modbus TCP communication via PN CPUs
1 1
Function blocks for Modbus TCP via PN CPU V 2.4 Function blocks for Modbus TCP via CP V 4.3
2XV9 450-1MB02
These function blocks are not suitable for Modbus TCP via CP These function blocks are not suitable for Modbus TCP via PN CPU
2XV9 450-1MB00
14
2 Automation Solution 2.3 Hardware and software components used Sample files and projects The following list includes all files and projects used in this example. All sample programs contain non-licensed Mobus TCP blocks. A valid license can be obtained through the homepage of S7 OpenModbus/TCP solution (see \6\).
Table 2-4 Component 38586568_Modbus_TCP_Kopplung_CODE_v11.zip 38586568_Modbus_TCP_Kopplung_Doku_v11_en.pdf Note
15
3
3.1
Basics
Basics on Modbus TCP
Modbus TCP is a client/server communication that uses the TCP/IP as transmission medium. In this architecture the client establishes a connection and sends request frames to the server. The server processes this request and sends the appropriate answer to the request back to the client. Depending on the job, data is either read from the memory area of the server or written into it. To be able to distinguish the type of jobs and the memory areas, there are clearly defined function codes for Modbus TCP. They are sent to the server by the client in the request frame, including the address of the memory area, the so called register address.
Frame structure A Modbus frame consists of PDU (Protocol Data Unit) and ADU (Application Data Unit). In the PDU, function code and data belonging to the function are transmitted. ADU is for addressing and error detection. Whilst the PDU is identical for all Modbus variants (Modbus TCP, Modbus RTU, etc.) there are some differences for ADU. Addressing and error detection for Modbus TCP, for example, is undertaken by the subordinate TCP protocol. At the same time the TCP protocol is responsible for the integrity check of the data packets and if necessary also for troubleshooting. The information for addressing and error detection is transferred in the "MBAP Header" (Modbus Application Header).
Figure 3-1:Modbus standard frame
PDU
PDU
16
3 Basics 3.1 Basics on Modbus TCP Modbus register and memory areas Modbus is based on a series of memory areas with various properties. The addresses within this memory area are called register. Depending on the Modbus memory area these registers are either word- or bit-oriented. The table below displays all memory areas a Modbus component may contain.
Table 3-1 Memory area Inputs Coils Input register (input data) Holding Register (output data) Register size 1 bit 1 bit 16 bit word 16 bit word Access Read read and write Read read and write Note can be changed by I/O system can be changed by user program can be changed by I/O system can be changed by user program
Function codes
Copyright Siemens AG 2011 All rights reserved
In the Modbus frame, the function code defines whether it is a read or write job and which memory area is to be accessed. Precise addressing in the memory areas is via a register number and the number of registers to be processed. This information is also contained in the Modbus frame. The table below displays the function codes supported by S7 Modbus TCP. All S7 MODBUS variants (PN-CPUs and CPs) support the function codes 1, 2, 3, 4, 5, 6, 15 and 16.
Table 3-2 Function code 01 02 03 04 05 06 15 16 Function reads several bits reads several bits reads any number of registers reads any number of registers writes individual bits writes individual register writes several bits writes more than one register Memory area Coils (outputs) Inputs Holding Register (output data) Input Register (input data) Coils (outputs) Holding Register (output data) Coils (outputs) Holding Register (output data)
17
Display of address Modbus addresses can vary from the internal address of a Modbus component. For this reason it is necessary to have information on the display of address. I.e. it has to be known which Modbus address displays an internal address of a Modbus component. This is now explained, using a simple example. This example shows the address display between a Siemens and a Modicon controller during data exchange via a holding register. The Modbus register addresses are displayed in black. The internal addresses of the controllers are displayed in gray.
Figure 3-3
SIMATIC Controller DB 11
Copyright Siemens AG 2011 All rights reserved
0 1 122 123 252 253 254 498 499 Modbus register address Internal memory address
%MW 0 %MW 1 %MW 122 %MW 123 %MW 252 %MW 253 %MW 254 %MW 498 %MW 499
18
3 Basics 3.1 Basics on Modbus TCP Another example shows the address display between a Siemens and a Modicon controller during data exchange via coils. The Modbus bit addresses are displayed in black. The internal addresses of the controllers are displayed in gray.
Figure 3-4
SIMATIC Controller DB 11
0.0 0.1 1.0 1.1 2.0
Copyright Siemens AG 2011 All rights reserved
0 1 8 9 16 17 18 32 33
%M 0 %M 1 %M 8 %M 9 %M 16 %M 17 %M 18 %M 32 %M 33
Configuring the Modbus addresses When configuring the Modbus register addresses, attention has to be paid that there is no overlap on the SIMATIC side in the data areas. I.e. if there are, for example, two holding registers, one each configured in DB11 and DB12, no Modbus register addresses may be assigned twice. The figure below shows the example of two DBs as holding register with unique Modbus register addresses. Configuration is via the Modbus parameter DB (MODBUS_PARAM) or the OB100.
19
Value
3 11 160 660 3 12 20 100 0 0 0 0
DB 12
0.0 2.0 44.0 46.0 104.0 106.0 108.0 158.0 160.0 20 21 42 43 72 73 74 99 100
3.2
20
3 Basics 3.2 S7 function blocks for Modbus TCP Modbus TCP via CP If an existing S7 CPU does not have an integrated PN interface, it can be connected to an existing Ethernet network using a CP. Whilst the CP and the CPU, which are linked via a backplane bus, are exchanging data with each other, the CP simultaneously handles communication to the other Ethernet nodes. For this hardware option the Modbus TCP solution "S7 Open Modbus TCP via CP343-1 and CP443-1" is available. This Modbus solution enables Modbus TCP communication for S7-300 and S7-400 CPUs in combination with a CP. The following hardware and software requirements are necessary for the use of the Modbus TCP CP solution. There are no firmware restrictions.
Table 3-3 Hardware CP343-1 MLFB 6GK7 343-1CX00-0XE0 6GK7 343-1CX10-0XE0 6GK7 343-1EX11-0XE0
Copyright Siemens AG 2011 All rights reserved
Firmware
6GK7 343-1EX20-0XE0 6GK7 343-1EX21-0XE0 6GK7 343-1EX30-0XE0 6GK7 343-1GX11-0XE0 6GK7 343-1GX20-0XE0 6GK7 343-1GX21-0XE0 6GK7 343-1GX30-0XE0 CP443-1 6GK7 443-1EX11-0XE0 6GK7 443-1EX20-0XE0 6GK7 443-1EX40-0XE0 6GK7 443-1EX41-0XE0 6GK7 443-1GX11-0XE0 6GK7 443-1GX20-0XE0
Table 3-4 Software SIMATIC Manager MLFB 6ES7810-4CC07-0YA5 Version as of version 5.3
21
3 Basics 3.2 S7 function blocks for Modbus TCP Modbus TCP via integrated interface of a CPU If the integrated interface of the S7-CPU is to be used instead of the CP, another Modbus TCP solution is necessary, as already mentioned earlier. "S7 Open Modbus TCP PN" enables the Modbus TCP communication via the integrated PN interface for all S7-CPUs and ET200S-CPUs. The following hardware and software requirements are necessary for the use of the Modbus TCP PN solution.
Table 3-5 Hardware CPU315-2 PN/DP MLFB 6ES7 315-2EH13-0AB0 6ES7 315-2EG10-0AB0 CPU317-2 PN/DP 6ES7317-2EJ10-0AB0 6ES7317-2EK13-0AB0 CPU319-3 PN/DP
Copyright Siemens AG 2011 All rights reserved
MLFB 6ES7810-4CC08-0YA5
22
4 Functional Mechanisms of this Application 3.2 S7 function blocks for Modbus TCP
23
4 Functional Mechanisms of this Application 4.1 Program structure of S7 CPU and ET200S CPU with integrated PN interface
4.1
Modbus parameter 1 Send data 1 Receive data1 Connection parameter 2 Modbus parameter 2 Send data 2 Receive data 2 IDB 2 "MODBUSPN" OB1
4.1.1
24
4 Functional Mechanisms of this Application 4.1 Program structure of S7 CPU and ET200S CPU with integrated PN interface "MODBUSPN" function block has to take place in a cyclic OB (OB1 or timed OB) and in OB100 with the same DB instance per connection. Modbus PN library blocks The figure below displays all S7 program blocks which are needed for Modbus TCP via the integrated PN interface of a SIMATIC S7-CPU. They can be inserted and configured in any project from the examples for Modbus TCP for PN CPUs or directly from the Modbus TCP library for PN CPUs. To be able to use Modbus TCP for PN CPUs in a program it is only necessary to call the "MODBUSPN" function block. The call of the other blocks is internally in the "MODBUSPN" function block.
Figure 4-2: Modbus TCP PN blocks from the sample program
OB1 call The cyclical calls of the "MODBUSNP" function block are performed in OB1 (or in a timed OB, such as, for example OB35) as well as other user-specific functions and function blocks. This is where runtime parameters are transferred to the "MODBUSPN" function block. OB100 call In OB100 the "MODBUSPN" function block is initialized. OB100 is completed once when there is a STOP RUN transfer or when restarting the CPU in case of a power failure.
25
4 Functional Mechanisms of this Application 4.1 Program structure of S7 CPU and ET200S CPU with integrated PN interface OB121 This OB has to be available in the project; however, the MODBUSPN function block must not be called in it. The OB121 makes an entry in the diagnostic buffer when there is no valid license. Additionally, without a valid license the SF (system error) error LED of the CPU will flash. If OB121 was not configured, the CPU will go to stop mode after start-up. Structure of Modbus DB parameter The Modbus DB parameter stores the Modbus parameters, the send and receive data buffer and the connection parameters for the TCP/IP connection. These four areas of the DB parameter can be seen in the table below. For each Modbus connection all four areas each have to be created in the DB parameter.
Table 4-1 Address +0.0 +0.0 +64.0
Copyright Siemens AG 2011 All rights reserved
Comment Start of structure for connection 1 Connection parameters Modbus parameters Internal send buffer Internal receive buffer End of structure for connection 1 Start of structure for connection 2 Connection parameters Modbus parameters Internal send buffer Internal receive buffer End of structure for connection 2 Start of structure for connection i Connection parameters Modbus parameters Internal send buffer Internal receive buffer
+130.0 +390.0 +650.0 +650.0 +650.0 +714.0 +780.0 +1040.0 +1300.0 (i-1)*650
i*650
26
4 Functional Mechanisms of this Application 4.1 Program structure of S7 CPU and ET200S CPU with integrated PN interface
Parameters of "MODBUSPN" function block The figure below shows all input and output parameters of the "MODBUSPN" function block.
Figure 4-3
Table 4-2 Parameters ID Decl. IN Type WORD Description Connection ID has to be identical with corresponding id parameter in DB parameter MODBUS-PARAM Number of DB parameter MODBUS_PARAM Monitoring time for the receipt of data from peer The minimum time that can be set is 100ms Monitoring time for establishing or terminating connection The minimum time that can be set is 100ms not used S7 is client: job initiation at positive edge S7 is server: ready to receive at positive TRUE FASLE Value range 1 to 4095 W#16#1 to W#16#FFF CPU dependent T#100ms to T#+24d20h3 1m23s647ms T#100ms to T#+24d20h3 1m23s647ms Initializ ation Yes
DB_PARAM RECV_TIME
IN IN
BLOCK_ DB TIME
Yes no
CONN_TIME
IN
TIME
no
KEEP_ALIVE ENQ_ENR
IN IN
TIME BOOL
no
27
4 Functional Mechanisms of this Application 4.1 Program structure of S7 CPU and ET200S CPU with integrated PN interface
Parameters Decl. Type level DISCONNECT IN BOOL S7 is client: TRUE: after receiving the response frame the connection is disconnected S7 is server: TRUE: for ENQ_ENR = FALSE the connection is to be disconnected Registration key (activation code) for licensing License status of block Block is licensed Block is not licensed Processing status of T functions (TCON, TDISCON, TSEND or TRCV) In process Not in process Connection established Connection disconnected S7 is client: TRUE: enabled job was completed without errors S7 is server: TRUE: request was carried out and answered by client An error has occurred. There was no error Error number for protocol error when processing Modbus frames Error number for connection error when processing T blocks (TCON, TSEND, TRCV, TDISCON) Name of function which caused error on STATUS_MODBUS or STATUS_CONN Identification number for licensing With this identifier you can apply for the REG_KEY activation code for your license. Unit identifier (INPUT for CLIENT function, OUTPUT for server function) TRUE FALSE Description Value range Initializ ation
no
REG_KEY LICENSED
IN OUT
STRING [17]
Character
no no
BOOL
TRUE FALSE
BUSY
OUT
BOOL
no
CONN_ESTABLISHED DONE_NDR
OUT OUT
BOOL BOOL
no no
ERROR STATUS_MODBUS
OUT OUT
BOOL
WORD
no no
STATUS_CONN
OUT
WORD
0 to FFFF
no
STATUS_FUNC
OUT
STRING [8]
Character
no
IDENT_CODE
OUT
STRING [18]
Character
no
UNIT
IN/ OUT
BYTE
no
28
4 Functional Mechanisms of this Application 4.1 Program structure of S7 CPU and ET200S CPU with integrated PN interface
Parameters DATA_TYPE Decl. IN/ OUT Type BYTE Description Data type to be processed: (INPUT for CLIENT function, OUTPUT for SERVER function) Coils Inputs Holding Register Input register START_ADDRESS IN/ OUT WORD MODBUS start address (INPUT for CLIENT function, OUTPUT for SERVER function) Number of values to be processed (INPUT for CLIENT function, OUTPUT for SERVER function) Coils read function write function Inputs read function Holding register read function write function Input register read function Transaction identifier (INPUT for client function, OUTPUT for server function) Write access or read access (INPUT for CLIENT function, OUTPUT for SERVER function) 1 2 3 4 0 to 65535 W#16#0000 to W#16#FFFF Value range Initializ ation
no
no
LENGTH
IN/ OUT
WORD
no
1 to 2000 1 to 1968 1 to 2000 1 to 125 1 to 123 1 to 125 0 to 65535 W#16#0 to W#16#FFFF TRUE FALSE
TI
WORD
no
WRITE_READ
BOOL
no
The parameters of the MODBUSPN function block are divided into two groups: initialization parameters runtime parameters
The initialization parameters are only evaluated for calls in OB100 and are transferred to the instance DB. Initialization parameters are marked with "yes" in the table above in the initialization column. Changing the initialization parameters during operation is of no consequence. When these parameters are changed, for example, during test mode, the instance DB (I-DB) of the CPU has to be reinitialized by STOP -> RUN. The runtime parameters can be changed during cyclical operation. However, in "S7 is client" mode, it does not make sense to change the input parameters while a job is being processed. It should be waited with the preparations for the next job and the thus connected changes of the parameters until the previous job was terminated with DONE_NDR or ERROR. In the "S7 is server" mode the output parameters can only be evaluated when DONE_NDR was set.
29
4 Functional Mechanisms of this Application 4.1 Program structure of S7 CPU and ET200S CPU with integrated PN interface Output parameters are dynamical displays and are therefore only pending for one CPU cycle. For possible further processing or for displaying the variable table they have to be copied to other memory areas. The generation of the function code is via the parameters DATA_TYPE, LENGTH and WRITE_READ. Possible combinations to generate a function code are shown in the table below.
Table 4-3 Data type Coils Coils Coils Coils Inputs Holding Register Holding Register Holding Register
Copyright Siemens AG 2011 All rights reserved
DATA_TYPE 1 1 1 1 2 3 3 3 3 4
Function read write write write read read write write write read
WRITE_READ false true true true false false true true true false 1 5 15 15 2 3 6 16 16 4
Function code
4.1.2
Configuration explanations
In this application example, read and write data exchange is to be realized between Modbus client and server. If the S7 CPU with integrated PN interface takes on the client function, data is brought from the server through the read access and is returned through the write access to the Modbus server. If the S7 CPU acts as Modbus server, no write or read jobs can be started. In this case the S7 CPU will wait for a job from the Modbus client (M340).
30
4.2
DB
4.2.1
31
4 Functional Mechanisms of this Application 4.2 Program structure of S7 CPU with CP Modbus library blocks The figure below displays all S7 program blocks which are necessary for Modbus TCP via CP. To be able to use Modbus TCP for CPs in a program, only the "MODBUSCP" block has to be called. The other blocks are called internally in the "MODBUSCP" function block.
Figure 4-5: Modbus TCP CP blocks from the sample program
OB1 call The cyclical calls of the "MODBUSCP" function block are performed in OB1 (or in a timed OB, such as, for example OB35) as well as other user-specific functions and function blocks. This is where runtime parameters are transferred to the "MODBUSCP" function block. OB100 call In OB100 the "MODBUSCP" function block is initialized. OB100 is completed once when there is a STOP RUN transfer or when restarting the CPU in case of a power failure. OB121 call This OB has to be available in the project; however, the MODBUSCP function block must not be called in it. The OB121 makes an entry in the diagnostic buffer when there is no valid license. Additionally, without a valid license the SF (system error) error LED of the CPU will flash. If OB121 was not configured, the CPU will go to stop mode after start-up.
32
4 Functional Mechanisms of this Application 4.2 Program structure of S7 CPU with CP Parameters of "MODBUSCP" function block This section describes the input and output parameters of the "MODBUSCP" function block.
Figure 4-6: "MODBUSCP" function block call in STL
33
Table 4-4 Parameters id Decl. IN Type WORD Description Connection ID in accordance with the configuration LADDR address from hardware configuration Monitoring time for the receipt of data from the peer The minimum time that can be set is 20ms Registration key for licensing CP/FB works as server CP/FB works as client Writing of 1 coil/register function code 5 or 6 function code 15 or 16 1. Range: Data Type Coils Inputs Holding Register Input Register 1. Range: data block number 1. Range: first Modbus address in this DB 1. Range: last Modbus address in this DB 2. Range: Data type (coils, inputs, holding register, input register), 0 if not needed 2. Range: data block number 2. Range: first Modbus address in this DB 2. Range: last Modbus address in this DB Value range 1 to 64 W#16#1 to W#16#40 CPU dependent T#20ms to T#+24d20h3 1m23s647ms Initializ ation yes
laddr MONITOR
IN IN
WORD TIME
yes no
IN IN IN
no yes yes
TRUE FALSE yes 1 2 3 4 1 to 65535 W#16#1 to W#16#FFFF 0 to 65535 W#16#0000 to W#16#FFFF 0 to 65535 W#16#0000 to W#16#FFFF 0 to 4 yes
data_type_1
IN
BYTE
db_1
IN
WORD
start_1
IN
WORD
yes
end_1
IN
WORD
yes
data_type_2
IN
BYTE
yes
db_2
IN
WORD
yes
start_2
IN
WORD
yes
end_2
IN
WORD
yes
34
data_type_3
IN
BYTE
3. Range: data type (coils, inputs, holding register, input register), 0 if not needed 3. Range: data block number 3. Range: first Modbus address in this DB 3. Range: last Modbus address in this DB 4. Range: data type (coils, inputs, holding register, input register), 0 if not needed 4. Range: data block number 4. Range: first Modbus address in this DB 4. Range: last Modbus address in this DB 5. Range: data type (coils, inputs, holding register, input register), 0 if not needed 5. Range: data block number 5. Range: first Modbus address in this DB 5. Range: last Modbus address in this DB 6. Range: data type (coils, inputs, holding register, input register), 0 if not needed 6. Range: data block
0 to 4
yes
db_3
IN
WORD
yes
start_3
IN
WORD
yes
end_3
IN
WORD
yes
data_type_4
Copyright Siemens AG 2011 All rights reserved
IN
BYTE
yes
db_4
IN
WORD
yes
start_4
IN
WORD
yes
end_4
IN
WORD
yes
data_type_5
IN
BYTE
yes
db_5
IN
WORD
yes
start_5
IN
WORD
yes
end_5
IN
WORD
yes
data_type_6
IN
BYTE
yes
db_6
IN
WORD
1 to 65535
yes
35
WORD
6. Range: first Modbus address in this DB 6. Range: last Modbus address in this DB 7. Range: data type (coils, inputs, holding register, input register), 0 if not needed 7. Range: data block number 7. Range: first Modbus address in this DB 7. Range: last Modbus address in this DB 8. Range: data type (coils, inputs, holding register, input register), 0 if not needed 8. Range: data block number 8. Range: first Modbus address in this DB 8. Range: last Modbus address in this DB CP is client: job initiation at positive edge CP is server: ready to receive at positive level License state of block: licensed: not licensed: Processing status of the functions AG_SEND or AG_RECV
yes
end_6
IN
WORD
yes
data_type_7
IN
BYTE
yes
db_7
IN
WORD
yes
start_7
Copyright Siemens AG 2011 All rights reserved
IN
WORD
yes
end_7
IN
WORD
yes
data_type_8
IN
BYTE
yes
db_8
IN
WORD
1 to 65535 W#16#1 to W#16#FFFF 0 to 65535 W#16#0000 to W#16#FFFF 0 to 65535 W#16#0000 to W#16#FFFF TRUE FALSE
yes
start_8
IN
WORD
yes
end_8
IN
WORD
yes
ENQ_ENR
IN
BOOL
no
LICENSED
OUT
BOOL
no TRUE FALSE no
BUSY
OUT
BOOL
36
BOOL
CP is client: enabled job was completed without errors CP is server: request was carried out and answered by client An error has occurred. yes: no: Error number Name of function that caused the error Identification for licensing Request the license with this identification string.
ERROR
OUT
BOOL
UNIT
IN/ OUT
BYTE
Unit identifier (INPUT for CLIENT function, OUTPUT for SERVER function) Data type to be processed (INPUT for CLIENT function, OUTPUT for SERVER function) coils inputs holding register input register MODBUS start address (INPUT for CLIENT function, OUTPUT for SERVER function) Number of values to be processed (INPUT for CLIENT function, OUTPUT for SERVER function) Coils: Read fct. Write fct. Inputs: Read fct. Holding reg.: Read fct. Read fct. Input reg.: Read fct. Transaction identifier (INPUT for CLIENT function, OUTPUT for SERVER function) INPUT for CLIENT function, OUTPUT for SERVER function)
no
DATA_TYPE
IN/ OUT
BYTE
no
1 2 3 4 0 to 65535 no
START_ADDRESS
IN/ OUT
WORD
LENGTH
IN/ OUT
WORD
no
TI
IN/ OUT
WORD
WRITE_READ
IN/ OUT
BOOL
no
37
The parameters of the MODBUSCP function block are divided into two groups: initialization parameters runtime parameters
The initialization parameters are only evaluated in the first run of the MODBUSCP function block and accepted in the instance DB. The initialization parameters are marked with yes in the above table in the Initialization column. A change of the initialization parameters during running operation has no effect. Once these parameters have been changed, for example, in the test operation, the instance DB (I-DB) has to be reinitialized by STOP RUN of the CPU. Runtime parameters can be changed in cyclic operation. It is not advisable to change the input parameters whilst a job is being processed. It should be waited with the preparations for the next job and the thus connected changes of the parameters until the previous job was terminated with DONE_NDR or ERROR. The output parameters should only be evaluated when DONE_NDR is set. The generation of the function code is via the parameters DATA_TYPE, LENGTH, single_write and WRITE_READ. Possible combinations to generate a function code are shown in the table below.
Table 4-5 Data type Coils Coils Coils Coils Inputs Holding Register Holding Register Holding Register Holding Register Input Register 1 1 1 1 2 3 3 3 3 4 DATA_ TYPE Function read write write write read read write write write read LENGTH 1 to 2000 1 1 >1 to 1968 1 to 2000 1 to 125 1 1 >1 to 123 1 to 125 WRITE_READ false true true true false false true true true false single_ write irrelevant TRUE FALSE irrelevant irrelevant irrelevant TRUE FALSE irrelevant irrelevant 1 5 15 15 2 3 6 16 16 4 Function code
38
4.2.2
4.3
Sections
ADDM
Connection parameter
WRITE_VAR
4.3.1
READ_VAR
With this function data from a Modbus server can be read. The addressing of the Modbus server is via IP address. WRITE_VAR With the WRITE_VAR function, data can be written in a Modbus server. For this function the IP address of the Modbus server is also needed.
39
4 Functional Mechanisms of this Application 4.3 Program structure of Modicon M340 ADDM Through this function a string is converted into an address which can be used by communication functions (READ_VAR, WRITE_VAR). The IP address is assigned to the string as initial value in the tag declaration.
4.3.2
40
Installation
This chapter describes which hardware and software components have to be installed. It is also important to read the descriptions, manuals and any delivery information supplied with the products.
Hardware installation The hardware components are listed in chapter 2.3 Hardware and software components used. The following table provides an overview of the IP addresses and the devices that are to be used in the hardware structure of the application. Both S7 CPUs with integrated PN interface and the S7 CPU with CP have the same IP address. These components are never connected at the same time to the Ethernet network.
Table 5-1 Device CPU319-3 PN/DP IM 151-8 PN/DP CPU CPU315-2 PN/DP
Copyright Siemens AG 2011 All rights reserved
To set up the hardware, please follow the instructions in the below table:
Table 5-2 No. 1 2 3 4 Action Mount the modules on a DIN rail. Connect the CPU315-2PN/DP with the CP343-1 Lean via the backplane Connect all modules with the 24V supply voltage Connect the following modules via Ethernet: * CP343-1 Lean or CPU319-3 PN/DP or IM 151-8 PN/DP CPU with the Scalance X108 *Modicon M340 with Scalance X108 *PG/PC with Scalance X108 If necessary use terminal strips or several power supplies Depending on the application example, use the respective S7 CPU. Comment
41
Start the SIMATIC Manager and select the TCP/IP interface Options Set PG/PC interface
Assign the IP addresses from table 5-15 to the S7 CPUs. For this purpose, use the SIMATIC Manager and search the menu for available nodes "PLC Edit Ethernet Node"
Note
The setup guidelines of the components used here always have to be observed.
Software installation
Table 5-3 No. 1 Installing STEP7 Action Comment The installation is automatic. Follow the setup instructions. The installation of STEP7 is also described in the Programming with STEP7 V5.4 manual (see \3\). The installation is automatic. Follow the setup instructions. An installation description of the Modbus TCP library is also provided in the manuals for Modbus TCP (see \4\).
1
42
43
6
6.1
6.1.1
Table 6-1 No. 1 2
Hardware configuration
Action Create a new project in the SIMATIC Manager. Right click the just created project and insert the SIMATIC 300 station via the menu "Insert New Object SIMATIC 300 Filenew
Comment
Station".
Right click Hardware and select the Open Object menu to open the hardware configuration.
44
From the hardware catalog insert a CPU319-3 PN/DP V2.7 in slot 2 of the rack via drag&drop. Configure the Ethernet interface of the CPU319-3 PN/DP: Assign IP address 192.168.1.1 create new Ethernet network
Note: this menu opens automatically after inserting the module. A Profibus network does not have to be created.
45
6.1.2
Table 6-2 No. 1
Action Open the Modbus TCP examples from the library for PN CPUs: File Open Sample projects
Comment
Insert the S7 300 CPU library blocks into the S7 project (FB104 or FB105 has to be copied, depending whether S7 CPU is to be client or server) The blocks can be selected in the sample project and inserted via drag&drop in the block container of your S7 Modbus project. OB1 in the S7 Modbus project has to be overwritten with OB1 of the sample project.
46
6.1.3
Modbus TCP Wizard This section explains how a Modbus connection for S7 CPUs with integrated PN interface can be configured with the help of the Modbus TCP Wizard. When using the wizard, attention needs to be paid that the Modbus Parameter DB (MODBUS_PARAM) is not open in the SIMATIC Manager.
Table 6-3 No. 1 Action Start the Modbus TCP Wizard (Start SIMATIC ModbusTCPWizard) and click the Next button to get to the STEP 7 project menu. Select the just created S7 project in this dialog. Comment
Reading in existing project Click the "upload" button to load a configured connection of your project into the Modbus TCP Wizard. This connection can be processed by enabling the Change option.
47
Selection of the Modbus TCP partner and the internal interface (Select your hardware here: e.g.: Integrated 319) Client application: enter the remote IP address (192.168.1.10). The client is always the active partner. Server application: the server is configured as passive communication partner. Doing this, each client can connect with the server when an unspecified connection partner was selected.
Selection of the port Client application: selection of remote port (port 502 for Modicon M340) Server application: selection of local port (port: 502)
48
Click the Next button to get to the subsequent dialogs. In the Connection list dialog, the Modbus TCP data is transferred to the DB MODBUS_PARAM by clicking the Next button. After the transfer, click the Finish button to exit the wizard.
Now you have to adjust the DBs for the Modbus data areas in the S7 project. Client application: DB11 ARRAY[0300] DB12 ARRAY[0300] Server application: DB11 ARRAY[0600] DB12 ARRAY[0300]
6.1.4
Table 6-4 No. 1
Action Select the SIMATIC 300 station in the SIMATIC Manager and download the project to the controller.
Comment
49
6.2
6.2.1
Table 6-5 No. 1 2
Hardware configuration
Action Create a new project in the SIMATIC Manager. Right click the STEP7 project and insert the SIMATIC 300 station via the "Insert New Object" menu. File New
Comment
Right click Hardware and select the Open Object menu to open the hardware configuration of the S7 300 station.
50
Configure the Ethernet interface of the ET200S: assign the IP address 192.168.1.1 and create a new Ethernet network Note: this menu opens automatically after inserting the module.
51
6 Startup of the Application 6.3 Configuration of the CPU315-2 PN/DP with CP343-1 Lean
No. 6 Action Save and compile hardware configuration Comment
6.3
Copyright Siemens AG 2011 All rights reserved
6.3.1
Table 6-6 No. 1 2
Action Create a new project in the SIMATIC Manager. Right click the STEP7 project and insert the SIMATIC 300 station via the "Insert New Object" menu. FileNew
Comment
Right click Hardware and select the Open Object menu to open the hardware configuration of the S7 300 station.
52
6 Startup of the Application 6.3 Configuration of the CPU315-2 PN/DP with CP343-1 Lean
No. 4 Action Insert a SIMATIC 300 rack via drag&drop. Comment
Insert the CPU315-2 PN/DP in slot 2 of the rack from the hardware catalog via drag&drop. You do not need to define a CPU interface. Close the configuration dialogs that open up automatically after inserting the CPU. Hardware catalog: SIMATIC 300 CPU-300 CPU315-2 PN/DP 6ES7 3152EG10-0AB0 V2.3
Now insert the CP343-1. Hardware catalog: SIMATIC 300 CP-300 Industrial Ethernet CP343-1 Lean 6GK7 343-1CX10-0XE0 V2.0
Configure the Ethernet interface of the CP343-1: assign the IP address 192.168.1.1 and create a new Ethernet network Note: this menu opens automatically after inserting the module.
53
6 Startup of the Application 6.3 Configuration of the CPU315-2 PN/DP with CP343-1 Lean
No. 8 Action Save and compile hardware configuration Comment
54
6 Startup of the Application 6.3 Configuration of the CPU315-2 PN/DP with CP343-1 Lean
6.3.2
Table 6-7 No. 1
Action Open the sample projects for Modbus TCP CP via the File Open menu.
Comment
2
Copyright Siemens AG 2011 All rights reserved
Copy the blocks from the sample projects for a server or client application and insert them in your Modbus project. Overwrite the already existing OB1.
55
6 Startup of the Application 6.3 Configuration of the CPU315-2 PN/DP with CP343-1 Lean
6.3.3
Table 6-8 No. 1
Action Open OB100 and process the initialization parameters in order to adjust the Modbus data areas. For the application example described here, the following parameters have to be assigned (see figure). For areas not used a zero is entered. Client: 1. DB DB11 area: 100 399 as Holding Register (data_type = 3) 2. DB DB12 area: 400 600 as Input Register (data_type = 4) 3. 8. DB not required
Comment
Server: 1. DB DB11 area: 0 500 as Holding Register (data_type = 3) 2. DB DB12 area: 720 900 as Holding Register (data_type = 3) 3. -8. DB not required 2 Adjusting DBs for Modbus data areas in S7 project Client application: DB11 ARRAY[0300] DB12 ARRAY[0300] Server application: DB11 ARRAY[0600] DB12 ARRAY[0300] 3 Open NetPro.
If the S7 CPU is the Modbus client, insert an Other Station. If the S7 CPU is the Modbus server skip steps 5-9 and continue at step 10.
56
6 Startup of the Application 6.3 Configuration of the CPU315-2 PN/DP with CP343-1 Lean
No. 5 Action Process the properties of the Other Station. Comment
Note: this step is only necessary if the S7 CPU is the Modbus client.
Note: this step is only necessary if the S7 CPU is the Modbus client.
Note: this step is only necessary if the S7 CPU is the Modbus client.
Note: this step is only necessary if the S7 CPU is the Modbus client.
57
6 Startup of the Application 6.3 Configuration of the CPU315-2 PN/DP with CP343-1 Lean
No. 9 Action Adjust the interface in a way so that it contains the IP address of the Modicon M340, has a suitable subnet mask and is connected with the same subnet as the S7 CPU. Subsequently, end the Properties Other Station dialog with the OK button. Comment
Note: this step is only necessary if the S7 CPU is the Modbus client.
10
Insert a new connection and configure it in a way so that it can be used for the Modbus TCP communication to Modicon M340.
58
6 Startup of the Application 6.3 Configuration of the CPU315-2 PN/DP with CP343-1 Lean
No. 11 Action Select the "TCP connection" connection type in the "Insert New Connection" dialog field. If the S7 CPU is the Modbus client, select the Other Station (here called Modicon M340) under "Connection Partner". Comment
If the S7 CPU is the Modbus server, select the "Unspecified" entry under "Connection Partner". Note: once this has been confirmed the properties window of this connection will open automatically.
12
Assign a unique name in the properties dialog of the TCP connection (e.g. Modbus TCP to Modicon). If the S7 CPU is the Modbus client, enable the "Active connection establishment" function.
59
6 Startup of the Application 6.3 Configuration of the CPU315-2 PN/DP with CP343-1 Lean
No. 13 Action If the active connection establishment is selected, a port number of the communication partner (Modicon M340) has to be known. The local port is irrelevant in this case. In the case of a passive connection establishment, IP address or port of the communication partner does not need to be known. Only the local port has to be configured. On this port a connection request of the remote communication partner has to take place (local port: 502). Confirm the entry with OK. 14 Save and compile the changes made and subsequently exit NetPro. Comment
60
6.3.4
Table 6-9 No. 1
Action Select the SIMATIC 300 station in the SIMATIC Manager and download the project to the controller. Note: if asked via which interface you would like to created the connection to the CPU315 you have to select the IP of the CP.
Comment
6.4
Copyright Siemens AG 2011 All rights reserved
6.4.1
Table 6-10 No. 1
Action Opening client or server application. For the subsequent steps, open the application example included in delivery, for the Modicon M340. Client: m340_client_s7_server.stu Server: m340_server_s7_client.stu File Open
Comment
2 3
Open the already created user program in the Section menu. Rebuild all project.
61
6.4.2
Hardware configuration
Carry out the following steps in order to configure the hardware of the Modicon M340. The table deals with the hardware of the application example. If you are using other hardware, you have to adjust the configuration accordingly.
Table 6-11 No. 1 2 Action Creating a new project in Unity Pro XL Select the hardware. FileNew Comment
62
Configure the project settings under "Tools Project Settings Language extensions":
63
The power supply and the communication module already exist in the hardware configuration. Right click on a free slot in the rack to insert the I/Os. Insert a DDO1602 in slot 1 and a DDI1602 in slot 2. Change the PLC BUS to BMX P34 2030 01.00.
Right click the rack to adjust it to the existing hardware. In the application example a rack with 4 slots is used. Therefore the rack with 7 slots configured here has to be replaced with a rack with 4 slots.
64
6.4.3
Table 6-12 No. 1
Action Right click Networks in the Project Browser under Communication and select the New Network menu to insert a new network.
Comment
Now the local Ethernet interface has to be configured. You get to this menu by left doubleclicking on the just created network Ethernet_1under the Networks menu Change the Model Family to CPU2020, CPU2030" and assign the IP address and the subnet mask. IP address: 192.168.1.10 Sub-network mask: 255.255.255.0
Exit this menu after the completed configuration and accept the changes.
65
6.4.4
Table 6-13 No. 1
Action Create a new section. Project Browser Station Program Tasks MAST Sections right mouse button
Comment
Define a structure in the Derived Data Types menu. This predefined structure can be used for the declaration of variables. Project Browser Station Derived Data Types
66
67
68
7 Operating the Application 7.1 Operation CPU319-3 PN/DP and IM151-8 PN/DP CPU
7.1
7.1.1
Copyright Siemens AG 2011 All rights reserved
S7 station is client
Reading data from the server In order to read data from the Modicon M340 via Modbus TCP, follow the instructions from the following table.
Table 7-1: Reading data from the server No. 1 Action Open the Client_read_from_server variable table In the menu bar click the Monitor variable icon to go to the online view. Comment
Modify the variables displayed in the screenshot Right mouse button Modify DB1.DBB 69 B#16#04 DB1.DBW 70 400 DB1.DBW 72 4 DB1.DBX 76.0 false
69
7 Operating the Application 7.1 Operation CPU319-3 PN/DP and IM151-8 PN/DP CPU
No. 4 Action Modify ENQ_ENR Right mouse button Modify to 1 Comment
Viewing received data Open variable table VAT_DB11-15 and go to the Online view.
To be able to write data from the client to the Modbus TCP server (Modicon M340), please follow the instructions in the table below.
Table 7-2: Writing data to the server No. 1 Action Open the Client_write_to_server variable table In the menu bar click the Monitor variable icon to go to the online view. Comment
Modify the variables displayed in the screenshot Right mouse button Modify DB1.DBB 69 B#16#03
70
7 Operating the Application 7.1 Operation CPU319-3 PN/DP and IM151-8 PN/DP CPU
No. Action DB1.DBX 76.0 true 4 Modify send data in DB11 Open variable table VAT_DB11-15 and go to the Online view. Modify the framed variables displayed in the screenshot. 5 Open the Client_write_to_server variable table again Modify ENQ_ENR in order to send data from DB11 to the Modbus TCP server. Right mouse button Modify to 1
Copyright Siemens AG 2011 All rights reserved
Comment
7.1.2
S7 station is server
The following steps describe how to modify the data from the S7 Modbus TCP server. This data is read by the Modbus TCP client (Modicon M340).
Table 7-3 No. 1 2 Action Open variable table "VAT_DB11-15" In the menu bar click the Monitor variable icon to go to the online view. Comment
Modify the variables displayed in the screenshot Right mouse button Modify DB11.DBW 0 W#16#3412 DB11.DBW 2 W#16#5678 DB11.DBW 4
71
7.2
7.2.1
S7 station is client
Reading data from the server In order to read data from the Modicon M340 via Modbus TCP, follow the instructions from the following table.
72
Modify the variables displayed in the screenshot Right mouse button Modify DB1.DBB 126 B#16#01 DB1.DBB 127 B#16#04 DB1.DBW 128 W#16#0190 DB1.DBW 130 4 DB1.DBX 134.0 false
Viewing received data Open variable table VAT_DB11-15 and go to the Online view.
Writing data to the server To be able to write data from the client to the Modbus TCP server (Modicon M340), please follow the instructions in the table below.
73
Modify the variables displayed in the screenshot Right mouse button Modify DB1.DBB 126 B#16#01 DB1.DBB 127 B#16#03
DB1.DBW 128 W#16#0064 DB1.DBW 130 4 DB1.DBX 134.0 true 4 Modify send data in DB11 Open variable table VAT_DB11-15 and go to the Online view. Modify the framed variables displayed in the screenshot. 5 Open the Client_write_to_server variable table again Modify ENQ_ENR Right mouse button Modify to 1
74
7.2.2
S7 station is server
The following steps describe how to modify the data from the S7 Modbus TCP server. This data is read by the Modbus TCP client (Modicon M340).
Table 7-6: Viewing Modbus TCP server data No. 1 2 Action Open variable table "VAT_DB11-15" In the menu bar click the Monitor variable icon to go to the online view. Modify the variables displayed in the screenshot Right mouse button Modify DB11.DBW 0 W#16#3412 DB11.DBW 2 W#16#5678 DB11.DBW 4 W#16#90AB DB11.DBW 6 W#16#CDEF 4 In the opened variable table you can also check the data that is written in the server by the client. Comment
75
7.3
7.3.1
Reading data from the server and writing data to the server The following steps describe how you can monitor the data in the Modicon M340 that is read from the S7 or written into the S7. In the Modicon M340 program the received data is directly copied into the send buffer. If you would like to specify the send data in the Modicon M340 yourself, you have to delete the copy instructions, recompile the program and load it into the controller.
Table 7-7 Reading data from the server No. 1 Action Open the variable table Animation Tables Table Comment
In the menu bar click the Connect icon to go to the online view.
Viewing received data This data was read by the client (M340) from the server (s7).
76
7.3.2
No. 1
Comment
In the menu bar click the Connect icon to go to the online view.
77
Viewing send data The client (S7) reads this data from the server (M340).
5
Copyright Siemens AG 2011 All rights reserved
Enabling variable send data Click the Modification button and control %M5 variable to 1.
78
8
8.1
Literature
Bibliographic references
The following list is by no means complete and only provides a selection of appropriate sources.
Table 8-1 Bibliographic references Topic /1/ STEP7 Title Automating with STEP7 in STL and SCL Hans Berger Wiley-VCH ISBN 3-89578-341-2
8.2
Copyright Siemens AG 2011 All rights reserved
http://support.automation.siemens.com/WW/view/en /38586568 http://support.automation.siemens.com http://support.automation.siemens.com/WW/view/en /45531107 http://support.automation.siemens.com/WW/view/en /22660304 http://support.automation.siemens.com/WW/view/en /31535566 https://www.industry.siemens.com/industrysolutions/ global/en/IT4Industry/products/simatic_add_ons/s7_ open_modbus_tcp/Pages/default_tab.aspx
History
79
80