Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Decentralization With Profibus DP DPV1 2ed-07-2003 e

Download as pdf or txt
Download as pdf or txt
You are on page 1of 254

Josef Weigmann, Gerhard Kilian

Decentralization with PROFIBUS DP/DPV1



Structure, configuration and use of PROFIBUS DP with SIMATIC S7

L L

L

o

SIEMENS

I

L

U LI

u u U I_LJ

Weigmann/Kilian Decentralization with PROFIBUS DP/DPVl

Bibliographic information published by Die Deutsche Bibliothek

Die Deutsche Bibliothek lists this publication in the Deutsche Nationalbibliografie; detailed bibliographic data is available in the Internet at http://dnb.ddb.de

Although the publisher and authors have prepared this book with great care, errors cannot be excluded. Liability will not be accepted by the publisher or the authors regardless of the legal ground.

The designations used in this book may be trademarks the use of which by third parties for their own purposes may violate the rights of the owner.

ISBN 3-89578-218-1

Editor: Siemens Aktiengesellschaft, Berlin and Munich Publisher: Publicis Corporate Publishing, Erlangen

© Publicis KommunikationsAgentur GmbH, GW A Erlangen, 2003

This publication and all parts thereof are protected by copyright. All rights reserved. Any use of it outside the strict provisions of the copyright law without the consent of the publisher is forbidden and will incur penalties. This applies particularly to reproduction, translation, microfilming or other processing, and to storage or processing in electronic systems. It also applies to the use of extracts from the text.

Printed in Germany

Preface

In the last decade, rapid progress in the decentralized architecture of automated industrial plants and processes has made fieldbus systems increasingly popular. The reason for this development is obvious: installing 110 channels where they are actually needed - in the vicinity of the machine - reduces installation and wiring work to a minimum. Significant cost savings are the result.

Standardized fieldbus systems with "open" communications interfaces enable the use of distributed inputs/outputs and also of intelligent, process signal-conditioning field devices from different manufacturers.

The architecture of a fieldbus system must be both transparent and open. These are important aspects for automation engineers when they have to decide which fieldbus to choose from among the wide range of components now available on the market.

With its bus access procedure, PROFIBUS meets the important demand for data accessibility on the field level of the industrial plant. On the one hand it covers the communication requirements in the sensor/actuator area, and on the other hand all networking functions for the so-called cell area. Particularly in the area of "distributed I/O," PROFIBUS has become a de facto internationally accepted standard with a large selection of connectable field devices.

This book describes PROFIBUS (PROcessFIeldBUS), an open fieldbus system that complies with the EN (EuropaNorm) standard, Volume 2 [l]IIEC 61158 [10], and whose protocol has been specialized for decentralized peripherals (DP). We have written this book with the goal of making it as easy as possible for system engineers, programmers and commissioning engineers to familiarize themselves with the subject and implement automation tasks with PROFIBUS DP. The use of PROFIBUS DPIDPVl is illustrated by many example projects based on the SIMA TIC S7 automation system and STEP 7 Version 5.1 SP3.

In this second, revised, and updated edition, new interrupts and user program interfaces in the SIMATIC S7 are introduced with regard to the DPVl expansion.

While it is advisable that you have a basic knowledge of the SIMATIC S7-300 and SIMATIC S7-400 programmable controllers and the STL (statement list) programming language, this is not an essential requirement.

Erlangen, July 2003

JosefWeigmann, Gerhard Kilian

Contents

1 PROFIBUS Fundamentals 13

1.1 ISO/OSI Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 13

1.2 Architecture and Versions of the Protocol . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.2.1 PROFIBUS DP 15

1.2.2 PROFIBUS FMS 15

1.2.3 PROFIBUS PA 15

1.3 PROFIBUS Layer 16

1.3.1 Physical Layer (Layer 1) for DPIFMS (RS 485) 16

1.3.2 Physical Layer (Layer 1) for DPIFMS (Fiber Optic Cable) 19

1.3.3 Physical Layer (Layer 1) for PA 21

1.3.4 Fieldbus Data Link (Layer 2) 23

1.3.5 Application Layer (Layer 7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

1.4 Bus Topology. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

1.4.1 RS 485 27

1.4.2 Fiber Optics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

1.4.3 Topology ace. to IEC 1158-2 (PROFIBUS PA) 30

1.5 Bus Access Control in a PROFIBUS Network 31

1.5.1 Token Bus Procedure 32

1.5.2 Master-Slave Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

1.6 Bus Parameters 33

2 Types of Bus Devices and Data Communication

with PROFIBUS DP 35

2.1 Types of Bus Devices 37

2.1.1 DP Master (Class 1) 37

2.1.2 DP Slave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.1.3 DP Master (Class 2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

2.1.4 DP Combination Devices 38

2.2 Data Communication between the Various Types ofDP Devices 38

7

Contents

2.2.1 DP Communication Relationships and DP Data Exchange . . . . . . . . . . . . . . 38 2.2.2 Initialization Phase, Restart and User Data Communication . . . . . . . . . . . . . 39

2.3 PROFIBUS DP Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

2.3.1 Setup of a PROFIBUS DP Cycle 43

2.3.2 Setup of a Constant PROFIBUS DP Cycle 44

2.4 Data Exchange by means of Cross Communication. . . . . . . . . . . . . . . . . . . 44 2.4.1 Master-Slave Relationship with Cross Communication . . . . . . . . . . . . . . . . 45 2.4.2 Slave-Slave Relationship with Cross Communication . . . . . . . . . . . . . . . . . 46

2.5 DPVl Functional Expansions 46

3 PROFIBUS DP in SIMATIC S7 Systems 48

3.1 PROFIBUS DP Interfaces in SIMATIC S7 Systems 48

3.2 Other Communication Functions Using DP Interfaces 57

3.2.1 S7 Functions 57

3.2.2 FDL Services 57

3.3 System Response of the DP Interfaces in SIMATIC S7 Controllers 58

3.3.1 Startup Behavior of DP Master Interfaces in the SIMATIC S7 58

3.3.2 Failure/Recovery of DP Slave Stations 58

3.3.3 InsertlRemove Interrupt for DP Slave Stations 58

3.3.4 Diagnostic Interrupts Generated by DP Slave Stations 59

3.3.5 Process Interrupts Generated by DP Slave Stations 59

3.3.6 Status Interrupt of DP Slave Stations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

3.3.7 Update Interrupt of DP Slave Stations 59

3.3.8 Vendor-Specific Interrupt of DP Slave Stations 60

3.4 DP Slave Types in SIMATIC S7 Systems 60

3.4.1 Compact DP Slaves 60

3.4.2 Modular DP Slaves. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

3.4.3 Intelligent Slaves (I Slaves) 61

4 Programming and Configuring PROFIBUS DP with STEP 7 ..... 62

4.1 STEP 7 Fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

4.2 Example Project with PROFIBUS DP. . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.2.1 Creating a New STEP 7 Project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.2.2 Inserting Objects in the STEP 7 Project. . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.2.3 PROFIBUS Network Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

4.2.4 Configuring the Hardware Using the HW Config Program 72

4.2.5 Configuring DP Slaves 74

8

Contents

5 DP User Program Interfaces 83

5.1 Basics ofDP User Program Interfaces 83

5.1.1 Organization Blocks (OBs) 83

5.1.2 DP-Related System Functions (SFCs) 84

5.1.3 Basics of SIMATIC S7 Data Records 87

5.2 Organization Blocks 89

5.2.1 Cyclically Processed Main Program (OBI) 89

5.2.2 Process Interrupts (OB40 to OB47) 90

5.2.3 Status Interrupt (OB55) 91

5.2.4 Update Interrupt (OB56) 91

5.2.5 Vendor-Specific Interrupt (OB57) 92

5.2.6 Diagnostic Interrupts (OB82) 93

5.2.7 InsertlRemove Module Interrupts (OB83) 95

5.2.8 Program Sequence Error (OB85) 97

5.2.9 Rack Failure (OB86) 99

5.2.10 110 Access Error (OB122) 103

5.3 DP User Data Communication and Process Interrupt Functions 104

5.3.1 Exchange of Consistent DP Data with SFC14 DPRD_DAT

and SFC15 DPWR_DAT 104

5.3.2 Control Commands SYNC and FREEZE Transmitted with

SFC11 DPSYC_FR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 106

5.3.3 Triggering a Process Interrupt on the DP Master with SFC7 DP _PRAL . . .. 110

5.4 Reading DP Diagnostic Data 112

5.4.1 Reading the Standard Diagnostic Data of a DP Slave with

SFC13 DPNRM_DG 112

5.4.2 Interrupt from a DP Slave Received with SFB54 RALRM 113

5.4.3 DP-Related System State List (SZL). . . . . . . . . . . . . . .. . . . . . . . . . . . .. 120 5.4.4 Layout of a System Status Sublist. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 121 5.4.5 Reading System Status Sublists with SFC51 RDSYSST . . . . . . . . . . . . . .. 121

5.4.6 Available System Status Sublists 124

5.4.7 Special Features of SFC51 RDSYSST 125

5.5 Reading and Writing Data RecordslParameters 125

5.5.1 Writing Dynamic Parameters with SFC55 WR_PARM 125

5.5.2 Writing a Predefined Data RecordlParameter from the SDB with

SFC56 WR_DPARM 128

5.5.3 Writing All Predefined Data RecordslParameters from the SDB with

SFC57 PARM_MOD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 129

5.5.4 Writing a Data RecordlParameter with SFC58 WR_REC . . . . . . . . . . . . .. 130

5.5.5 Reading Data Record with SFC59 RD_REC 133

5.5.6 Read Data Set with SFB52 RDREC . . . . . . . . . . . . . . . . . . . . . . . . . . .. 134 5.5.7 Write Data Set with SFB53 WDREC. . . . . . . . . . . . . . . . . . . . . . . . . . .. 135

9

Contents

6 Example Projects for Data Communication with

PROFIBUS DP 141

6.1 Data Communication with 110 Access Commands 141

6.2 Exchanging Consistent Data with SFC14 DPRD_DAT

and SFCI5 DPWR_DAT 143

6.2.1 User Program for I-Slave (S7-300 with CPU315-2DP) " 144

6.2.2 User Program for DP Master (S7-400 with CPU416-2DP) " 147

6.2.3 Testing the Data Exchange between DP Master and I Slave " 148

6.3 Handling Process Interrupts ' " 149

6.3.1 Generating Process Interrupts on the I Slave (S7 - 300) " 149

6.3.2 Processing Process Interrupts on the DP Master (S7-400) " 151

6.4 Transferring Data Records and Parameters " 152

6.4.1 Layout of the Data Record (DR1) for the Analog Input Modules

of SIMATIC S7-300 " 153

6.4.2 Example: Changing the Parameters of Analog Input Modules Using

SFC55 WR_PARM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 155

6.4.3 Testing the Parameters for the Analog Input Module Changed with

SFC55 WR_FARM " 157

6.4.4 User Program for Changing the Parameter Set for the Analog Input

Module Using SFC56 WR_DPARM " 157

6.4.5 Testing the Parameters for the Analog Input Module Changed with

SFC56 WR.JJPARM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 158

6.5 Triggering the DP Control Commands SYNCIFREEZE " 158

6.5.1 Example of SYNCIFREEZE with DP Master 1M 467 " 160

6.5.2 Generating the User Program for the SYNCIFREEZE Function 165

6.6 Exchanging Data Using Cross Communication " 168

6.6.1 Example Project for Cross Communication with I Slaves (CPU 315-2DP). .. 168

7 Diagnostic Functions for PROFIBUS DP . . . . . . . . . . . . . . . . . . . . 179

7.1 Diagnosis by means ofLEDs on the SIMATIC S7 CPUs,

the DP Master Interfaces and the DP Slaves 180

7.1.1 LEDs of the S7-300 180

7.1.2 LEDs of the S7-400 CPUs Equipped with a DP Interface 182

7.1.3 LEDs of the DP Slaves. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 184

7.2 Diagnosis by means of Online Functions of the STEP 7 Program. . . . . . . .. 185 7.2.1 Display Accessible Nodes in SIMATIC Manager. . . . . . . . . . . . . . . . . . .. 185 7.2.2 ONLINE Function in SIMATIC Manager. . . . . . . . . . . . . . . . . . . . . . . .. 189

7.2.3 Module Information in SIMA TIC Manager 190

7.2.4 Diagnose Hardware in SIMATIC Manager 196

10

Contents

7.3 Diagnosis by means of the User Program. . . . . . . . . . . . . . . . . . . . . . . .. 198

7.3.1 DP-Slave Diagnosis Using SFC13 DPNRM_DG 199

7.3.2 Diagnosis Using SFC51 RDSYSSTin OB82 201

7.3.3 Diagnostics Using SFB54 RALRM 203

7.4 Diagnosis Using the SIMATIC S7 Diagnostic Block FB125 205

7.4.1 Diagnostic Block FB 125 206

7.5 Diagnosis Using a PROFIBUS Bus Monitor. 207

7.6 Diagnostics with the Diagnostic Repeater 209

7.6.1 Deterinining the Topology 210

7.6.2 Tracing Faults 211

7.6.3 Requirements for Operating the Diagnostic Repeater. 212

8 Setting Up and Commissioning a PROFIBUS DP System 214

8.1 Tips on Setting Up a PROFIBUS DP System 214

8.1.1 System Setup with Grounded Reference Potential 214

8.1.2 System Setup with Ungrounded Reference Potential 216

8.1.3 Installing the PROFIBUS Cable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 8.1.4 Shielding the PROFIBUS Cable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

8.2 Tips on the Initial Start-Up of a PROFIBUS DP System 217

8.2.1 Bus Cables and Bus Plug Connectors 217

8.2.2 Checking the PROFIBUS Bus Cable and the Bus Plug Connectors 217

8.2.3 Bus Termination 221

8.3 BT 200 Test Device for the Bus Physics of PRO FIB US DP 221

8.3.1 Wiring Test 222

8.3.2 Station Test (RS 485). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 8.3.3 Branch Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 8.3.4 Distance Measurement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 223 8.3.5 Reflection Test. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 223

8.4 Signal Test of the DP Inputs and Outputs 224

9 Other DP-Related STEP 7 Functions 226

9.1 GSD Files 226

9.1.1 Installing a New GSD File 226

9.1.2 Importing a Station GSD File 226

9.2 Assigning and Changing the PROFIBUS Address 227

9.3 NETPRO 228

11

Contents

9.4 PG Online Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 229

9.S NCM Diagnostics 229

Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231

Abbreviation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244

Standards and Regulation 247

Index 248

12

1 PROFIBUS Fundamentals

Introduction

If we compare an automated plant whose communication is based on a serial fieldbus system with an automated plant installed in the conventional way, you will notice the advantages at first glance. Using industrial fieldbus technology, considerable savings can be made particularly in the mechanical installation, fitting and wiring of the plant equipment due to reduced cabling for distributed input/output devices. A second convincing factor is the wide variety of field devices that are available for this technology. However, to make the most of these advantages the fieldbus must be of standardized design and open architecture. In 1987, German industry has therefore initiated the PROFIBUS Cooperative Project. The regulations and norms developed by this body were documented in the DIN E 19245 [2] PROFIBUS standards. In 1996, this national fieldbus standard became the international EN 50170 standard.

1.1 ISO/OSI Model

PROFIBUS makes use of already 'existing national and international standards. The protocol is based on the OSI (Open Systems Interconnection) reference model in accordance with the internal ISO standard (International Standard Organisation).

Figure 1.1 illustrates the ISO/OSI model for communication standards.

Layer 7 Application I
Layer 6 Presentation User-oriented
Layer 5 Session ~
Layer 4 Transport r
Layer 3 Network
Network-oriented
Layer 2 Data Unk 1
Layer 1 Physical Figure 1.1

ISO/OSI model for communication standards

13

1 PROFIBUS Fundamentals

The ISO/OSI model for communication standards consists of 7 layers and is organized into two classes. One class comprises the user-oriented Layers 5 to 7, the other contains the network-oriented Layers I to 4. Layers 1 to 4 describe the transport of data from one location to another, whereas Layers 5 to 7 provide the user with access to the network system in an appropriate form.

1.2 Architecture and Versions of the Protocol

The overview in figure 1.2 illustrates which layers of the ISO/OSI model are implemented for the PROFIBUS protocol: Layers 1 and 2 and, if necessary, Layer 7. The line and transmission protocols of Layers 1 and 2 comply with the USA standard EIA (Electronic Industries Association) RS 485 [8], the international standard IEC 870-5-1 [3] (Te- 1econtrol Equipment and Systems) and the European EN 60 870-5-1 [4] standard. The bus access procedure and the data transmission and management services are based on the DIN 19241 [5] standard, Parts 1 to 3, and on the IEC 955 [6] standard (Process Data Highway/Type C). The management functions (FMA7) use the ISO DIS 7498-4 (Management Framework) concept.

From the user's point of view, PROFIBUS provides three different versions of the communication protocol: DP, FMS and PA.

PROFmUSDP

PROFmUSFMS

PROFmUSPA

PNO profiles PNO profiles PNO profiles
for DP devices for FMS devices for P A devices
Basic functions Basic functions
Extended functions Extended functions
DP User Interface Application Layer DP User Interface
Direct Data Link Mapper Interface (ALI) Direct Data Link Mapper
(DDLM) (DDLM)
Layer 7 I Application Layer d I
(Application) Fieldbus Message
Specification (FMS)
Layers 3 to 6 n 0 t i m p 1 e m e n t e
Layer 2 Data Link Layer Data Link Layer IEC Interface
(Link) Fieldbus Data Link (FDL) Fieldbus Data Link (FDL)
Layer 1 Physical Layer Physical Layer IEC 1158-2
(Physics) (RS 4851LWL) (RS 4851LWL) Figure 1.2 Protocol architecture of PROFIBUS

14

1.2 Architecture and Versions of the Protocol

1.2.1 PROFIBUS DP

PROF/BUS DP uses Layer 1, Layer 2, and the User Interface. Layers 3 to 7 are not developed. This lean architecture ensures high-speed data transmission. The Direct Data Link Mapper (DDLM) provides access to Layer 2. The available application functions and the system and device characteristics of the various types of PROFIBUS DP devices are specified in the User Interface.

Optimized for high-speed transmission of user data, this PROFIBUS protocol is designed especially for communication between the programmable controller and the distributed 110 devices at the field level.

1.2.2 PROFIBUS FMS

In PROFIBUS FMS, Layers 1,2 and 7 are implemented. The Application Layer consists of FMS (Fieldbus Message Specification) and LLI (Lower Layer Interface). FMS contains the application protocol and provides the communication services. LLI establishes the various communication relationships and provides FMS with device-independent access to Layer 2.

FMS handles data communication at the cell level (PLC and PC). The powerful FMS services can be used in a wide range of applications and offer great flexibility when solving complex communication tasks.

PROFIBUS DP and PROFIBUS FMS use the same transmission technology and bus access protocol. They can therefore run simultaneously on the same cable.

1.2.3 PRO FIB US PA

PROF/BUS PA uses the expanded PROFIBUS DP protocol for data transmission. In addition, it implements the P A profile which specifies the characteristics of the field devices. The transmission technique in accordance with the IEC 1158-2 [7] standard ensures intrinsic safety and powers the field devices over the bus. PROFIBUS PA devices can easily be integrated in PROFIBUS DP networks by using segment couplers.

PROFIBUS PA is especially designed for the high-speed and reliable communication required in automated process engineering. With PROFIBUS PA you can link sensors and actuators to a common fieldbus line, even in potentially explosive areas.

15

1 PROFIBUS Fundamentals

1.3 PROFIBUS Layer

1.3.1 Physical Layer (Layer 1) for DPIFMS (RS 485)

In its basic version for shielded and twisted pair cables, Layer 1 of PROFIBUS implements symmetrical data transmission in accordance with the EIA RS 485 [8] standard (also known as H2). The bus line of a bus segment is a shielded, twisted pair cable which is terminated on both ends (see figure 1.3). Transmission speeds of 9.6 kbitls to 12 Mbitls can be selected. The selected baud rate applies to all devices connected to the bus (segment).

Transmission procedure

The RS 485 transmission procedure used for PROFIBUS is based on semi-duplex, asynchronous, gap-free synchronization. Data is transmitted in an ll-bit character frame (see figure 1.4) in NRZ code (Non Return to Zero). The shape of the signal during the transition from binary "0" to "I" does not change while the bits are being transmitted.

During the transmission, a binary "I" corresponds to a positive level on line RxD/TxD-P (ReceiveITransmit-Data-P) as opposed to RxDlTxD-N (ReceiveITransmit-Data-N). The idle state between the individual telegrams corresponds to a binary "I" signal (see figure 1.5). In specialized literature, the two PROFIBUS data lines are also frequently referred to as the A line and the B line. The A line corresponds to the RxDlTxD-N signal whereas the B line corresponds to the RxDlTxD-P signal.

VP(6)

VP(6)

2200 2200
Q~n A

390Q
DGND (5) 32 stations max.
DGND (5) ..... - - - - - - - - - - - - - - - - - - - RS 485 segment 3900

B

Figure 1.3 Setup of an RS 485 bus segment

16

1.3 PROFIBUS Layer

Bit

MSB

LSB

~ n rt---

L.':___l b1

b2

- - - - -1- - - - - - - - - T - - - - - - - - -,- - - - -

, , ,

b3 : b4 b5: b6 b7: b8

, , ,

- - - - _,_ - - - - - - - - ... - - - - - - - - _,_ - - - -

Information bits (with "0" or "1" signal)

I Stop bit

(with "1" signal)

Start bit

(with "0" signal)

LSB Least Significant Bit

Even parity bit

(with "0" or "1" signal)

MSB Most Significant Bit

Figure 1.4 PROFIBUS UART character frame

B line

Binary signal

o

o

Aline

lfLJ1J

Figure 1.5

Signal form during NRZ transmission

Bus line

The maximum permissible line length, also referred to as segment length, for a PROFIBUS system depends on the selected transmission speed (see table l.l). A maximum of thirty-two stations can be operated in one segment.

Table 1.1 Maximum segment length based on the baud rate

Baud rate (kbitls) 9.6 to 187.5 500 1,500 12,000
Segment length (m) 1,000 400 200 100 The maximum segment length specified in table 1.1 refers to cable type A as laid down in the PROFIBUS standard and in table 1.2. This type of cable (A) has the following characteristics.

Table 1.2 Specification of PROFIBUS RS 485 cable, type A

Surge impedance 135 to 165 Q, at a measuring frequency of 3 to 20 MHz
Cable capacitance < 30 pF per meter
Core cross section > 0.34 mm-, ace. to A WG 22
Cable type Twisted pair, 1 x 2 or 2 x 2 or 1 x 4 conductors
Loop resistance < 110 Qperkm
Signal attenuation 9 dB max. over the entire length of the cable section
Shielding Braided copper shield or braided shield and foil shield 17

I PROFIBUS Fundamentals

Bus connection

The international PROFIBUS standard EN 50 170 recommends a 9-pin sub D plug connector (table 1.3) for the interconnection of bus stations through the bus line. Connect the sub D socket connector to the bus station, and the sub D plug connector to the bus cable.

The signals shown in bold type are mandatory signals; they must be available.

Table 1.3 Pin assignment of the 9-pin sub D plug connector

View Pin No. Signal Name Designation
I SHIELD Shield or function ground
2 M24 Ground of the 24 V output voltage
1-5'~ (auxiliary power)
3 RxDffxD-P Receivinglsending-data-plus
-9 B line
-4 4 CNTR-P Signal for direction control P
-8
-3 - 5 DGND Data reference potential (ground)
7 6 VP Supply voltage-Plus
-2 _
6 7 P24 24 V Plus of the output voltage
b/ (auxiliary power)
8 RxDffxD-N Receiving/sending-data- Minus
A line
9 CNTR-N Signal for direction control N Bus termination

In addition to the two-sided bus line termination of data lines A and B of the EIA RS 485 standard, the PROFIBUS line termination includes a pull-down resistor against DGND data reference potential, and a pull-up resistor against the supply voltage-plus VP (see figure 1.3). These two resistors ensure a defined idle potential on the bus line when no station is sending, that is, when the bus line is in the idle state between two telegrams. The required combinations of bus line termination are available on almost all standard PROFIBUS bus connector plugs and can be activated by means of jumpers or switches.

If the bus system runs at transmission speeds higher than 1,500 kbitls, bus connection plugs with additional longitudinal inductance must be used due to the capacitive load of the connected stations and the resulting line reflections (see figure 1.6).

18

1.3 PROFIBUS Layer

L 110nH

A

B

A

B

T xD/RxD-N (8)

VP(6)

220n

TxD/RxD-P (3)

390n

DGND (5)

V 6 Bus driver

Station

Figure 1.6

Layout of the bus plug connector and bus termination for transmission speeds > 1500 kbitls

1.3.2 Physical Layer (Layer 1) (or DPIFMS (Fiber Optic Cable)

Another version of PROFIBUS Layer 1, based on the guidelines of the PNO (Profibus Nutzer Organisation - PROFIBPS International), "Optical Transmission Technology for PROFIBUS, version 1.1 dated 07.1993" [9], is the transfer of data through the transmission of light in fiber optic conductors. Fiber optic cables permit transmission distances of up to 15 km between the stations of a PROFIBUS system. They are not sensitive to electromagnetic interference and always ensure galvanic isolation between the individual bus stations. As the connection technique used for fiber optics has been greatly simplified during recent years, this transmission technology has become very popular for data communication with field devices. In particular, the use of uncomplicated Simplex plug connectors for plastic fiber optics has had a considerable share in this development.

Bus line

Fiber optic cables with glass or plastic fibers are used as the transmission medium. Depending on the type of line used, glass fibers can handle connection distances of up to 15 km and plastic fibers up to 80 m.

19

I PROFIBUS Fundamentals

Bus connection

Various connection techniques are available to connect bus stations to fiber optic conductors.

!> OLM technology (Optical Link Module)

Similar to RS 485 repeaters, OLMs have two electrical channels which are functionally isolated and, depending on the model, one or two optical channels.OLMs are connected by an RS 485 line with the individual bus stations or the bus segment (see figure 1.7).

Slave

c[] RS 485 bus connector without terminating resistor

<, Fiber optic cable /"

cJ RS 485 bus connector with terminating resistor

Figure 1.7 Example of a bus configuration with OLM technology

!> OLP technology (Optical Link Plug)

OLPs can be used to connect very simple passive bus stations (slaves) with an optical single-fiber ring. OLPs are plugged directly onto the 9-pin sub D plug connector of the bus station. OLPs are powered by the bus stations and do not require their own power supplies. Note, however, that the +5 V part of the bus station's RS 485 interface must be able to provide a current of at least 80 rnA (see figure 1.8).

cJ RS 485 bus connector with terminating resistor

20

Figure 1.8

Optical single-fiber ring with OLP technology

1.3 PROFIBUS Layer

Connecting an active bus station (master) to an OLP ring always requires an Optical Link Module.

e- Integrated fiber optic cable connection

Direct connection of PROFIBUS nodes to the fiber optic cable using the fiber optic interface integrated in the device.

1.3.3 Physical Layer (Layer 1) for PA

PROFIBUS PA uses transmission technology in accordance with the IEC 1158-2 standard. This technology ensures intrinsic safety and bus powering of the field devices directly over the bus line. A bit-synchronous, Manchester-coded line protocol with defree transmission is used for data transmission (also known as HI code). With Manchester-coded data transmission, a binary "0" is transmitted for the signal edge change from 0 to 1, and a binary "1" is transmitted for the signal edge change from 1 to O. Data is transmitted by modulating +t- 9 rnA onto the base current IB of the bus system (see figure 1.9). The transmission speed is 31.25 kbitls. A twisted-pair.lshielded or unshielded line is used as the transmission medium. The bus line is terminated at the segment ends by means of an RC passive line termination (see figure 1.10). Up to 32 bus stations can be connected on one P A bus segment. The maximum segment length depends to a great extent on the power supply, the type of line and the current consumption of the connected bus stations.

Bus line

A 2-core cable is required as the transmission medium for PROFIBUS PA. Its properties are not specified or standardized. However, the characteristics of the bus cable type determine the maximum expansion of the bus, the number of bus stations which can be connected and the sensitivity to electromagnetic interference.

Bit significance: 1B'+9 rnA

o

o

l' B

~lbit~

-----. t

Figure 1.9

Data transmission with PROFIBUS PA by means of current modulation (Manchester-Il code)

21

1 PROFIBUS Fundamentals

r' _ •• - •• _ •• _ •• _ •• _ •• '+- _

Power supply unit

(voltage supply)

100£1

Figure 1.10 Layout of a PA bus segment

IECl158-2 segment

Max. of 32 stations

100£1

Therefore, the electrical and physical characteristics of several standard cable types have been defined in the DIN 61158-2 standard. This standard recommends four standard cable types for use with PROFIBUS PA, called type A to D (see table 1.4).

Table 1.4 Recommended cable types for PROFIBUS PA

Type A TypeB TypeC TypeD
(Reference)
Cable design Twisted pair, One or more Several twisted Several non-
shielded twisted pairs, pairs, twisted pairs,
total shield unshielded unshielded
Core cross section 0.8 mm'' 0.32mm2 0.13 mm" 1.25 mnr'
(rated) (AWG 18) (AWG22) (AWG26) (AWG 16)
Loop resistance 44QIkm 112Q/km 264Q/km 40QIkm
(direct current)
Surge impedance at 100Q± 20 % 100Q± 30 % ** **
31.25 kHz
Wave attentuation at 39 kHz 3 dBIkm 5 dBIkm 8 dBlkm 8 dBlkm
Capacitive asymmetry 2 nFIkm 2nFIkm ** **
Group distortion 1.7 us/km ** ** **
(7.9 to 39 kHz)
Degree of covering of the 90% ** - -
shield
Recommended 1900m 1200m 400m 200m
network size
(incl. stub lines) ** Not specified

22

1.3 PROFIBUS Layer

1.3.4 Fieldbus Data Link (Layer 2)

According to the OSI reference model, Layer 2 defines: bus access control (section 1.2), data security and processing of transmission protocols and telegrams. With PROFIBUS, Layer 2 is called the FDL Layer (Fieldbus Data Link).

Layer 2 telegram formats (figure 1.11) provide a high degree of transmission security. The call telegrams have a Hamming Distance of HD = 4. HD = 4 means that up to three simultaneously distorted bits can be detected in the data telegram. This is achieved by applying the regulations of the international IEC 870-5-1 standard, by selecting special start and end identifiers for the telegrams, by using gap-free synchronization, and by using a parity bit and a control byte. The following types of errors can be detected.

I> Character format error (parity, overrun, framing error)

I> Protocol error

I> Start and end delimiter error

I> Frame check byte error I> Telegram length error

Telegrams which were found to be faulty are automatically repeated at least once. The repetition of telegrams in Layer 2 can be set to a maximum of 8 ("retry" bus parameter). In addition to logical point-to-point data transmission, Layer 2 also allows multiple-point transmission with Broadcast and Multicast communication.

With Broadcast communication, an active station sends a message to all other stations (master and slaves). Receipt of the data is not acknowledged.

With Multicast communication, an active station sends a message to a group of stations (master and slaves). Receipt of the data is not acknowledged.

The data services offered by Layer 2 are listed in table 1.5.

Table 1.5 PROFIBUS transmission services

Service Function DP PA FMS
SDA Send Data with Acknowledge x
SRD Send and Request Data with Acknowledge x x x
SDN Send Data without Acknowledge x x x
CSRD Cyclic Send and Request Data with Acknowledge x 23

1 PROFIBUS Fundamentals

Format with fixed information field length

1 SD1 1 DA 1 SA 1 FC 1 FCS 1 ED

L= 3 (fixed)

Format with fixed information field length with data

1 SD3 1 DA 1 SA 1 FC 1 Data unit 1 FCS 1 ED

L = 11 (fixed)

Format with variable information field length

1 SD2 1 LE 1 LEr 1 SD2 1 DA 1 SA 1 FC 1 Data unit 1 FCs·1 ED 1

L=4to249

Short acknowledgment

~

Token telegram

ISD41DAISA

L Length of the information field

SC (Single Single character; only used for acknowledgment

Character)

SDI (Start Start byte; distinguishes between different telegram formats

Delimiter) to SD4

LEfLEr (LEngth) Length byte, indicates the length of the iniformation field

in telegrams of variable length

DA (Destination Address) Destination address byte; indicates which station is to receive the message

SA (Source Address) Source address byte, indicates which station is to transmit the message

FC (Frame Control) Control byte; contains details about the service used for this message and the priority of the message

Data Unit Data unit; contains the useful information of the telegram and details

about an extended address, if applicable

FCS (Frame Check Check byte; contains a telegram check sum which is obtained by ANDing

Sequence) all telegram elements without using a carry bit

ED (End Delimiter) End byte; indicates the end of the telegram

Figure 1.11 PROFlBUS telegram formats

PROFIBUS DP and PROFIBUS PA each use a specific subset of Layer 2 services, PROFIBUS DP, for example, exclusively uses the SRD and SDN services.

Higher order layers call these services through the SAPs (Service Access Point) of Layer 2. With PROFIBUS FMS, these service access points are used to address the logical communication relationships. With PROFIBUS DP and PROFIBUS PA, each service access point used is assigned to a defined function. All active and passive stations allow the simultaneous use of several service access points. We distinguish between SSAPs (Source Service Access Point) and DSAPs (Destination Service Access Point).

24

1.3 PRQFIBUS Layer

1.3.5 Application Layer (Layer 7)

Layer 7, the Application Layer of the ISO/OSI reference model, provides the communication services required by the user. The Application Layer of PROFIBUS consists of the FMS interface (Fieldbus Message Specification) and the LLI interface (Lower Layer Interface).

FMS profiles

FMS profiles were defined by the PNO (PROFIBUS International) to adjust the FMS communication services to the functional range actually required and to define the device functions with respect to the actual application. These FMS profiles ensure that devices of different manufacturers have the same communication functionality. The following FMS profiles have been defined to date.

Communication between programmable controllers (3.002)

This communication profile specifies which FMS services will be used for communication between programmable controllers (PLCs). Based on defined controller classes, this profile specifies which PLC must be able to support which services, parameters and data types.

Profile for building services automation (3.0I I)

This profile is a sector-related profile and serves as the basis for many public calls for bids in the sector of building services automation. It describes how monitoring, open and closed-loop control, operator control, alarms and archiving of building services automation systems are to be handled by FMS.

Low voltage switch gear devices (3.032)

This profile is a sector-oriented FMS application profile. It specifies the response of lowvoltage switch gear devices during data communication with FMS.

DP user interface and DP profiles

PROFIBUS DP only uses Layers 1 and 2. The User Interface defines the available application functions, and the system and device behavior of the various types of PROFIBUS DP devices.

The only task of the PROFIBUS DP protocol is to define how user data is transmitted from one station to another over the bus. There is no evaluation of the transmitted user data by the transmission protocol. This is the task of the DP profiles. Precisely specified application-related parameters and the use of profiles make it easy to mix individual DP components of different manufacturers. The following PROFIBUS DP profiles have been specified to date:

25

1 PROFIBUS Fundamentals

Profile for N(YRC (3.052)

The profile describes how handling and installation robots are controlled by PROFIBUS DP. Precise sequence diagrams describe the motion and program control of the robots from the point of view of the higher-level automation plant.

Profile for encoder (3.062)

The profile describes how shaft, shaft-angle and linear encoders with single-tum or multi-tum resolution are coupled to PROFIBUS DP. Two classes of devices define the basic functions and advanced functions, such as-scaling, alarm handling and extended diagnostics.

Profile for variable-speed drives (3.072)

Leading manufacturers of drive technology joined forces to develop the PROFIDRIVE profile. The profile specifies how to define drive parameters and how to transmit setpoints and actual values. This makes it possible to use and mix drives of different manufacturers.

The profile contains the specifications required for the operating modes "speed control" and "positioning." It specifies the basic drive functions while leaving sufficient freedom for application-related expansions and further developments. The profile contains an image of the DP application functions or, alternatively, of the FMS application functions.

Profile for operator control and process monitoring, HMI (Human Machine Interface) (3.082)

The profile for simple HMI devices defines the connection of such devices to higher-level automation components through PROFIBUS DP. For data communication, this profile makes use of the expanded set of PROFIBUS DP functions.

Profile for error-proof data transmission with PROFIBUS DP (3.092)

This profile defines additional data security mechanisms for communication with failsafe devices, such as Emergency OFF. The security mechanism specified by this profile has been approved by TUV (German Technical Inspectorate) and BIA.

26

1.4 Bus Topology

1.4 Bus Topology

1.4.1 RS 485

The PROFIBUS system consists of a linear bus structure which is actively terminated on both sides. This is also known as an RS 485 bus segment. Based on the RS 485 standard, up to 32 RS 485 stations (also referred to as "nodes") can be connected to one bus segment. Whether master or slave, each station connected to the bus represents an RS 485 current load.

RS 485 is the least expensive and also the most frequently used transmission technique with PROFIBUS.

Repeaters

A PROFIBUS system that is to accommodate more than 32 stations must be divided into several bus segments. These individual bus segments with up to 32 stations each are connected to each other by repeaters (also referred to as line amplifiers). The repeater amplifies the level of the transmission signal. The EN 50 170 standard does not provide for time regeneration of the bit phases within the transmission signal (signal regeneration) by the repeater. Due to the resulting distortion and delay of the bit signals, EN 50 170 limits the number of repeaters connected in series to three. These repeaters act as pure line amplifiers. However, in practice, signal regeneration has been implemented on the repeater circuits. Therefore, the number of repeaters which may be connected in series depends on the particular repeater and manufacturer. For example, up to 9 repeaters of type 6ES7 972-0AAOO-OXAO from Siemens may be connected in series.

The maximum distance between two bus stations depends on the baud rate. Table 1.6 specifies the values for a repeater of type 6ES7 972-0AAOO-OXAO.

Table 1.6

Maximum expansion of a PROFIBUS configuration with 9 repeaters connected in series, as a function of the baud rate

Baud rate (kbitls) 9.6 to 187.5 500 1,500 12,000
Total length of all segments in m 10,000 4,000 2,000 1,000 27

PROFIBUS Fundamentals

Segment 1 ; . - .. - .. _ .. - .. - .. - .. - .. - .. - .. - .. - .. - .. - .. - .. - .. ; Segment 2

M :~

Bl

~ B2

Bl

;~

Al

PG/OP socket

L+(24V)

~ L+ (24V)

M

Al

I

. PE

Bl

5V

I M5.2

M5V

Figure 1.12 Block diagram of the RS 485 repeater type 6ES7 972-0AAOO-OXAO

The block diagram shown in figure 1.12 describes the characteristics of the RS 485 repeater.

e- Bus segment 1, PO/OP socket and bus segment 2 are galvanically isolated from each other.

c> The signals between bus segment 1, PO/OP socket and bus segment 2 are amplified

and regenerated.

c> The repeater has connectable terminal resistors for bus segments 1 and 2. e- By removing jumper MlPE, the repeater can be operated ungrounded.

Only through the use of repeaters can the maximum possible number of stations be achieved in a PROFIBUS configuration. In addition, repeaters can be used to implement "tree" and "star" bus structures. An ungrounded layout is also possible. In this type of bus structure, the bus segments are isolated from each other. In this case you have to use a repeater and an ungrounded 24 V power supply (see figure 1.13).

For the RS 485 interface, a repeater is an additional load. Therefore, the maximum number of bus stations which can be operated in one bus segment must be reduced by one for each RS 485 repeater used. So, if the bus segment contains one repeater, you can operate up to 31 bus stations in this segment. However, the number of repeaters in the overall bus configuration has no effect on the maximum number of bus stations because the repeater does not occupy a logical bus address.

Stub lines

Direct connection of bus stations, for example on the 9-pin sub D plug connectors of the bus connection plugs, creates stub lines in the linear structure of the bus system.

28

1.4 Bus Topology

[.±J. Slave with terminating resistor m Slave without tenninating resistor [t] Repeater with terminating resistor [!J Repeater without terminating resistor

Figure 1.13 Bus configuration with repeaters

Although the EN 50 170 standard states that, at a transmission speed of 1500 kbitls, stub lines shorter than 6.6 m per segment are permitted, it is usually best to avoid stub lines at the outset when the bus system is configured. An exception to this rule is the use of stub lines for temporarily connected programming units or diagnostic tools. Depending on their number and length, stub lines can cause line reflections which may interfere with telegram communication. Stub lines are not permitted for transmission speeds higher than 1500 kbitls. In networks with stub lines, programming units and diagnostic tools may only be connected to the bus by the "active" bus connection lines.

1.4.2 Fiber Optics

Fiber optics for data transmission have paved the way for a new bus structure - the ring structure- in addition to the linear, tree or star bus structure known so far. Optical Link Modules (OLMs) can be used to implement both single-fiber rings and redundant optical double-fiber rings (see figure 1.14). In single-fiber rings, the OLMs are connected with each other by Simplex fiber optic cables. If a fault occurs, say, the fiber optic cable line is interrupted or an OLM fails, then the entire ring breaks down. In a redundant fiber optic ring, the OLMs are interconnected by means of two Duplex fiber optic cables each. They are therefore able to react if one of the two fiber optic lines breaks down, and automatically switch the bus system to a linear structure. Appropriate signaling contacts indicate the fault of the transmission line and pass this information on for further processing. As soon as the fault in the fiber optic line is eliminated, the bus system returns to the normal state of a redundant ring.

29

1 PROFIBUS Fundamentals

Slave

Slave

----- Fiber optic cable 1 ---

r:J RS 485 bus connector with terminating resistor RS 485 bus connector without terminating resistor

Figure 1.14 Redundant double-fiber ring

-<; Fiber optic cable 2 ---

1.4.3 Topology ace, to rae 1158-2 (PROFIBUS PA)

Using the PROFIBUS PA protocol, you can implement a linear, tree and star bus structure, or a combination of these. The number of bus stations which can be operated on one bus segment depends on the power supply used, the current consumption of the bus stations, the bus cable used and the size of the bus system. Up to 32 stations can be connected to one bus segment. To increase system availability, bus segments.can be backed up by a redundant bus segment. A segment coupler (figure 1.15) or a DPIPA link is used to connect a PA bus segment to a PROFIBUS DP bus segment.

.- - - - - - - PROFIBUS DP - - - - - - - - ~ : .- - - - - - - - - - - - PROFIBUS PA - - - - - - - - - - - - ~

, ,

Segment coupler

DPiPA

Power supply unit

(voltage

,td, DP slave without ~ terminating resistor

PAslave

without terminating resistor

30

Bus termination DP

I Bus termination PA

Figure 1.15

Bus configuration with DPiPA segment coupler

1.4 Bus Topology

1.5 Bus Access Control in a PROFIBUS Network

The bus access control of PROFIBUS meets two requirements that are vital for automated industrial and manufacturing processes, which after all are the principal application areas of fieldbus technology. On the one hand, communication between equal programmable controllers or PCs requires that each bus station (node) receives sufficient opportunity to process its communication task within the defined period. Data traffic between a complex PLC or PC and simple distributed process 110 peripherals, on the other hand, must be fast and cause as little protocol overhead as possible.

PROFIBUS achieves this by using a hybrid bus access control mechanism. It consists of a decentralized token passing procedure for communication between the active nodes (master), and a centralized master-slave procedure for communication between the active and the passive nodes.

When an active node (bus station) has the token, it takes over the master function on the bus to communicate with both passive and active nodes. The exchange of messages on the bus is organized by means of node addressing. Each PROFIBUS node is given an address which must be unique throughout the entire bus system. The maximum usable address range within a bus system lies between addresses 0 and q6. This means that the bus system can have a maximum of 127 nodes (bus stations).

This method of bus access control allows the following system configurations: [> Pure master-master system (token passing)

[> Pure master-slave system (master-slave)

[> Combination of the two procedures

The bus access procedure of PROFIBUS is not dependent on the transmission medium used. Whether the network uses copper cables or fiber optics is irrelevant. The PROFIBUS bus access control complies with the token bus procedure and the masterslave procedure specified in the European EN 50170 standard, Volume 2.

31

1 PROFIBUS Fundamentals

1.5.1 Token Bus Procedure

The active nodes connected to the PROFIBUS network form a logical token ring in ascending order of their bus addresses (see figure 1.16). A token ring is a succession of active nodes in which a control token is always passed from one station to the next. The token provides the right to access the transmission medium, and is passed between the active nodes with a special token telegram. The active node with bus address HSA (Highest Station Address) is an exception. This node only passes the token to the active node with the lowest bus address to close the logical token ring again.

The time required for one rotation of the token to all active nodes is called the token rotation time. The adjustable token time Ttr (Time Target Rotation) is used to specify the maximum time permitted to the fieldbus system for one token rotation.

In the bus initialization and startup phase, the bus access control (also known as MACMedium Access Control) establishes the token ring by recognizing the nodes that are active. To manage the control token, the MAC procedure first automatically determines the addresses of all active nodes on the bus, and records them together with its own node address in the LAS (List of Active Stations). Particularly important for token management are the addresses of the PS node (Previous Station) from which the token is received, and the NS node (Next Station) to which the token is passed. The LAS is also required during running operation to remove a faulty active node from the ring, or add a new node to the ring, without disturbing data communication on the bus.

Logical token ring

Slaves (passive stations)

Figure 1.16 Token bus procedure

32

1.5 Bus Access Control in a PROFIBUS Network

1.5.2 Master-Slave Procedure

A network that has several passive nodes, but whose logical token ring consists of only one active node, is a pure master-slave system (see figure 1.17).

The master-slave procedure permits the master - the active node - that currently has the right to send, to address the slave devices which are assigned to it. These slaves are the passive nodes. The master can send messages to the slaves or fetch messages from the slaves.

The typical standard PROFIBUS DP bus configuration is based on this bus access procedure. An active node (master) cyclically exchanges data with the passive nodes (DP slaves).

Slaves (passive station)

Figure 1.17 Master-slave procedure

1.6 Bus Parameters

Faultless functioning of a PROFIBUS network is only guaranteed if the bus parameters set have been coordinated with each other. The bus parameters set at a node must also be set at every other node in the same network so that they are identical in the overall PROFIBUS network. In general, the bus parameters depend on the selected data transfer rate and are specified by the configuring tool in each case. These parameter sets may only be modified by experienced personnel. Here are the most important bus parameters and their definitions:

Ttr:

The target rotation time is the maximum time provided for a token to pass round all bus nodes. During this time, all active nodes receive the authorization (token) once to transmit data on PROFIBUS. The difference between the target rotation time and the actual time the token spends at a node determines how much time is available to the other active nodes for sending message frames.

GAP factor: The GAP factor defines the number of token rotations after which an attempt is made to include a new, active node in the logical token ring.

33

1 PROFIBUSFundamentals

RETRY limit: The RETRY limit defines how often a message frame is repeated following an incorrect acknowledgement or timeout.

Min_TSDR: The minimum station delay responder is the minimum time a passive node must wait to be allowed to respond to a message frame.

Max_TSDR: The maximum station delay responder is the maximum time a passive node is allowed to respond to a message frame.

Tslot: The slot time defines the maximum time a sender is allowed to wait for a response from the addressed node.

Tset:

Tqui:

Tid1:

Tid2:

Trdy:

The setup time is the period that may elapse between receiving a message frame and the node's response to it. .

The quiet time for modulator describes how long a transmitting node is allowed for switching to receive after sending a message frame.

Idle time 1 defines the earliest possible time after which a transmitting node is allowed to send a message frame again after receiving a response.

Idle time 2 is the time a node must wait after sending an unacknowledged message frame (broadcast) before sending another message frame.

The ready-time describes the time after which a transmitting node can receive a response frame.

All bus parameters thus describe times that must be coordinated precisely with each other. The unit for specifying these bus parameters is the tBIT (time_bit). A tBIT is the bus rotation time for one bit and is also referred to as the bit rotation time. This time depends on the data transfer rate and is calculated as follows:

tBIT = lIdata transfer rate (bitls)

For example, the bit rotation time for a data transfer rate of 12 Mbitls is 83 ns, and the bit rotation time for a data transfer rate of 1.5 Mbitls is 667 ns.

34

2 Types of Bus Devices and

Data Communication with PROFIBUS DP

Introduction

The PROFIBUS DP protocol is designed for the high-speed data communication required for distributed l/O'and field devices in automated industrial plants. The typical DP configuration has a mono-master structure (see figure 2.1). Communication between the DP master and the DPslaves is based on the master-slave principle. This means that the DP slaves may only become active on the bus when requested by the master. The DP slaves are addressed in succession by the DP master using a polling list. User data between the DP master and the DP slaves is continuously (i.e., cyclically) exchanged irrespective of the contents. of the user data. Figure 2.2 shows how the polling list is processed on the DP master. A message cycle between the DP master and a DP slave consists of a request frame (polling telegram) issued by the DP master, and the related acknowledgment or response frame returned by theDP slave.

Due to the characteristics in Layer land Layer 2 of PROFIBUS nodes as specified by the EN 50170 standard, a DP system may also have a multi-master structure. In practice, this may mean that several Dl/rnasternodes are connected to one bus line. The coexistence of DP master/slaves, FMS master/slaves and additional active or passive nodes on one bus line is also possible (see figure 2.3).

Token

~--------l

I

I DP master I

Class 1 I

I I

Slaves (passive stations)

Figure 2.1 DP mono-master structure

35

2 Types of Bus Devices and Data Communication with PROFIBUS DP

:.- .. - .. -.~- .. - .. - .. - ..

~
Output
Slave A data
Input
data
Output
Slave B data
Input
~ data
C)
~
a Output
n,
Slave x data
Input
data
Output
Siavey data
Input
data Request

Output
data Slave A
Input
data Response

I T

Request

Output
data Siavey
Input
data Response

OP master

Figure 2.2 Processing the polling list on the DP master

Token

,- - - - - - - - - - - - - - - - - - - - --,

, OP master ,

, Class 2 ,

, ,

, ,

-+

Slaves (passive stations)

Figure 2.3 PROFIBUS multi-master structure

36

2.1 Types of Bus Devices

2.1 Types of Bus Devices 2.1.1 DP Master (Class 1)

This DP master cyclically exchanges user data with the DP slave. The Class 1 DP Master executes tasks using the following protocol functions.

• Set_Prm and Chk_Cfg

The DP master uses these functions in the phases of startup, restart and data transfer to transmit the parameter sets to the DP slaves. It transmits all parameters, irrespective of whether they apply globally to the entire bus or are of some specific importance. The number of input and output data bytes for the particular DP slave is defined during con- .. figuration. '

• Data_Exchange

This function handles the cyclic exchange of input and output data with the assigned DP slave.

• Slave_Diag

This function reads the diagnostic information of the DP slave during startup or during the cyclic exchange of user data.

• Global_Control

The DP master uses control commands to inform the DP slaves of its operational status. In addition, control commands can be sent to individual slaves or to specified groups of DP slaves to synchronize the output and input data (Sync and Freeze command).

2.1.2 DP Slave

A DP slave only exchanges user data with the DP master that was responsible for loading its parameters and configuring it. A DP slave is able to report local diagnostic interrupts and process interrupts to the DP master.

2.1.3 DP Master (Class 2)

Class 2 DP masters are devices such as programming units, and diagnostic and bus management devices. In addition to the class 1 functions already described, class 2 DP masters usually support the following special functions:

• RD_Inp andRD_Outp

These functions read the input and output data of DP slaves at the same time as data communication with the class 1 DP master takes place.

• Get_Cfg

This function reads the current configuration data of a DP slave.

• Set_Slave_Add

This function permits the DP master to assign a new bus address to a DP slave, provided that the slave supports this method of address definition.

In addition, the class 2 DP master provides a number of functions for communication with the class 1 DP master.

37

2 Types of Bus Devices and Data Communication with PROFIBUS DP

2.1.4 DP Combination Devices

It is possible to combine several of the DP device types "Class 1 DP master," "Class 2 DP master" and "DP slave" in one and the same hardware module. In practice, you will find this quite frequently. The following are some typical device combinations:

• Class 1 DP master combined with Class 2 DP master

• DP slave with Class 1 DP master

2.2 Data Communication between the Various Types of DP Devices

2.2.1 DP Communication Relationships and DP Data Exchange

With the PROFIBUS DP protocol, the initiator of a communication job is called a requester and the appropriate communication partner is called the responder. All request telegrams of the Class 1 DP master are processed in Layer 2 by the "high priority" telegram service class. With one exception, the response telegrams sent by the DP slaves use the "low-priority" telegram service class in Layer 2. The DP slave can inform the DP master that current diagnostic interrupts or status events are pending. It does this by changing just once the Data_Exchange response telegram service class from "low priority" to "high-priority." Transmission of the data is connectionless through one-to-one or oneto-many connections (control commands and cross communication only). Table 2.1 lists the communication capabilities of the DP masters and the DP slave, arranged according to requester and responder function.

Table 2.1 Communication relationships between the various types of DP device

Function/Service DP slave DP master DP master Through Through
(ace. to EN 50170) (Class 1) (Class 2) SAP Layer 2
Requ Resp Requ Resp Requ Resp Number Service
Data_Exchange M M 0 Default-SAP SRD
RD_Inp M 0 56 SRD
RD_Outp M 0 57 SRD
Slave_Diag M M 0 60 SRD
Set_Prm M M 0 61 SRD
Chk_Cfg M M 0 62 SRD
Get_Cfg M 0 59 SRD
Global_ Control M M 0 58 SDN
Set_Slave_Add 0 0 55 SRD
M-M-Communication 0 0 0 0 54 SRDISDN
DP VI Services 0 0 0 51/50 SRD Requ = Requester, Resp = Responder, M = Mandatory function, 0 = Optional function

38

2.2 Data Communication between the Various Types of DP Devices

2.2.2 Initialization Phase, Restart and User Data Communication

As shown in figure 2.4, the DP master has to define the parameters of the DP slave and configure it before it can exchange user data with the slave device. It does this by first checking whether the DP slave reports on the bus. If so, the DP master checks readiness of the DP slave by requesting the slave's diagnostic data. When the DP slave reports that it is ready for parameter definition, the DP master loads the parameter set and configuration data. The DP master again requests diagnostic data from the slave to find out whether it is ready. Only then .does the DP master start to cyclically exchange user data with the DP slave.

Parameter data (Set_Pnn)

The parameter set contains important local and global parameters, properties and functions intended for the DP slave. You will usually use the configuration tool provided with the DP master for specifying and configuring the slave parameters. With the direct configuration method, you fill in dialog boxes offered by the graphical user interface of the configuration software. Indirect configuration consists in accessing existing parameters and DP slave-related GSD data (Gerate Stamm Daten, device master data) using the configuration tool. The layout of the parameter telegram consists of a part specified by the

,

DP master

DP slave

N

I I T

Slave diagnosis request (Slave_Diag)

~I

Slave diagnosis response

..

• Slave parameter request (Set_Prm) ~I

Acknowledgment T
.. Check configuration request (Chk Cfg) ~I

Acknowledgment T N

Slave diagnosis request (Slave_Diag)

~I

Slave diagnosis response ..

Figure 2.4 Principal sequence of the initialization phase of a DP slave

39

2 Types of Bus Devices and Data Communication with PROFIBUS DP

EN 50 170 standard and, if required, a DP slave and manufacturer-specific part. The length of the parameter telegram may not exceed 244 bytes. The most important contents of the parameter telegram are listed below.

• Station Status

Station Status contains slave-related functions and settings. For example, it specifies whether or not watchdog monitoring is to be activated. It also defines whether access to the DP slave by other DP masters is to be enabled or disabled, and, if provided for in the configuration, whether Sync or Freeze control commands are to be used with this slave.

• Watchdog

The watchdog detects the failure of a DP master. If the watchdog is enabled and the DP slave detects the failure of the DP master, the local output data is deleted or secured in a defined state (substitute values are transferred to the outputs). A DP slave can be operated on the bus with or without the watchdog. Based on the bus configuration and the selected transmission speed, the configuration tool suggests a watchdog time which can be used for the configuration. Please also see "bus parameters."

• Ident-Number

The Ident-Number of the DP slave is assigned during certification by the PNO ("Profibus-Nutzer-Organisation" = PROFIBUS International). The Ident-Number of the DP slave is stored in the device master file. A DP slave will only accept a parameter telegram if the Ident-Number received with this telegram corresponds to its own. This prevents accidental incorrect parameter definitions on the slave device.

• Group-Ident

Group-Ident permits DP slaves to be combined in groups for the Sync and Freeze control commands. Up to 8 groups are permitted.

• User-Prm-Data

DP slave parameter data (User-Prm-Data) specifies application-related data for the DP slave. For example this can include default settings or controller parameters.

Configuration data (Chk_Cfg)

In the configuration data telegram, the DP master transmits identifier formats to the DP slave. These identifier formats inform the DP slave about scope and structure of the input/output atea to be exchanged. These areas (also referred to as "modules") are defined in the form of byte or word structures (identifier formats) agreed by the DP master and the DP slave. The identifier format allows you to specify the input or output areas, or the input and output areas for each module. These data areas can have a maximum size of 16 bytes/words. When you define the configuration telegram, you have to consider the following characteristics, based on the type of the DP slave device:

40

2.2 Data Communication between the Various Types of DP Devices

• The DP slave has a fixed input and output area (e.g., block I/O ET200B).

• Depending on the configuration, the DP slave has a dynamic input/output area (e.g., modular I/O such as for ET200M or drives).

• The input/output area of the DP slave is specified by means of special identifier formats which depend on the DP slave and manufacturer (e.g. S7 DP slaves such as ET200BAnalog, DP/AS I-Link and ET200M).

Input and output data areas which contain coherent information but cannot be placed in a byte or word structure, are considered as "consistent" data. This includes parameter areas for closed-loop controllers or parameter sets for drive control, for example. Using special identifier formats (DP slave and manufacturer-related), you can specify the input and output areas (modules) with a length of up to 64 bytes/words.

The input and output data areas (modules) which can be used by the DP slave are stored in the device master file (GSD file). They will be suggested to you by the configuration tool when you configure the DP slave.

Diagnostic data (Slave_Diag)

By requesting the diagnostic data, the DP master checks during the startup phase whether the DP slave exists and is ready to receive the parameter information. The diagnostic data supplied by the DP slave consists of a diagnostic part according to the EN 50 170 standard and, if present, specific DP sl~ve diagnostic information. The DP slave transmits diagnostic data to inform the DP master about its operational state and, in the event of an error, the cause of the error. A DP slave is able to generate a local diagnostic interrupt to Layer 2 of the DP master, using the "high-prio" telegram of the Data_Exchange Response telegram in Layer 2. In response, the DP master requests the diagnostic data for evaluation. If there are no current diagnostic interrupts, then the Data_Exchange Response telegram has a "low-priority" identifier. However, the diagnostic data of a DP slave can always be requested by a DP master even when no special report of diagnostic interrupts have been reported.

User data (Data_Exchange)

The DP slave checks the parameter and configuration information received from the DP master. If there are no errors and the settings requested by the DP master are permitted, the DP slave transmits diagnostic data to report that it is ready for the cyclic exchange of user data. Starting now, the DP master exchanges the configured user data with the DP slave (see figure 2.5). During the exchange of user data, the DP slave only reacts to the Data_Exchange request telegram sent by the Class 1 DP master that was responsible for its parameter definition and configuration. Other user data telegrams is rejected by the DP slave. The user data contains no additional control or structure characters to describe the transmitted data. This means that only useful data is transmitted.

41

2 Types of Bus Devices and Data Communication with PROFIBUS DP

DP master

DP slave

I T

User data request (Data Exchange)

DP master transmits output data to

the DP slave

I T

DP slave acknowledges with its input data

User data response, low priority

Figure 2.5 DP slave during cyclic exchange of user data with the DP master

As shown in figure 2.6, the DP slave can tell the DP master that current diagnostic interrupts or status messages exist by changing the telegram service class in the response from "low-priority" to "high-priority." The DP master then makes one request of the actual diagnostic or status information which is sent by the DP slave in a diagnostic telegram. After the diagnostic data has been fetched, DP slave and DP master return to exchanging user data. Using request/response telegrams, the DP master and the DP slave can exchange up to 244 bytes of user data in both directions.

DP master

2.3 PROFIBUS DP Cycle

2.3 PROFIBUS DP Cycle

2.3.1 Setup of a PROFffiUS DP Cycle

Figure 2.7 shows the setup of a DP cycle in a DP mono-master bus system. The DP cycle comprises a fixed part and a variable part. The fixed part is made up of the cyclic telegrams containing the bus access control (token management and station status) and the 110 data communication (Data_Exchange) with the DP slaves.

The variable part of the DP cycle is made up of a number of event-controlled, non-cyclic telegrams. This non-cyclic part of the telegram includes the following:

• Data communication during the initialization phase of a DP slave

• DP slave diagnostic functions

• Class-2 DP master communication

• DP master, master communication

• Layer-2 controlled telegram repetitions during malfunctions (Retry)

• Non-cyclic data communication ace. to DPVl

• PO online functions

• HMI functions

Depending on how many non-cyclic telegrams occur in the current DP cycle, the DP cycle increases accordingly.

Thus, a DP cycle always consists of a fixed cyclic time and, if present, an event-controlled, variable, non-cyclic number of telegrams.

1-----------------------------------,

~ - ~ L..1 __ D_P_C_Y_cl_e __ i- __ D_P_C_Y_C_le __ +- __ D_P_cy_c_le_---,\- - -;

Cyclic part

Acyclic part

- 110 data exchange - Bus management services

- Initialization ofDP slaves

- Diagnostic and alarm function

- Read and write data record

- PG/TD/OP communication

- Telegram repetitions in the event of faults

Figure 2.7 Principal setup of a PROFIBUS DP cycle

43

2 Types of Bus Devices and Data Communication with PROFIBUS DP

2.3.2 Setup of a Constant PROFmUS DP Cycle

For certain applications in the automation sector, a constant DP bus cycle time and thus a constant I/O data exchange is advantageous. This applies particularly to the field of drive control. Synchronization of several drives would require a constant bus cycle time, for example. Note that a constant bus cycle is also often referred to as an "equidistant" bus cycle.

In contrast to the normal DP cycle, a certain time is reserved for non-cyclic communication during a constant DP cycle of the (constant bus cycle) DP master. As shown in figure 2.8, the DP master ensures that this reserved time is not exceeded. It only permits a certain number of non-cyclic telegram events. If the reserved time is not needed, the DP master bridges the still missing difference to the selected constant bus cycle time by sending telegrams to itself, thus creating a pause. This ensures that the reserved constant bus cycle time is adhered to down to the microsecond.

The time for the constant DP bus cycle is specified in the STEP 7 configuration software. The (default) time suggested by STEP 7 depends on the configured system and takes into account a certain typical portion of non-cyclic services. You can of course change the constant bus cycle time suggested by STEP 7.

To date, a constant DP cycle time can only be set in mono-master mode.

r-------------------------------------~

I

- - ~ Constant DP cycle

Constant DP cycle

Constant DP cycle

Start of

constant DP cycle

, , "
,
Cyclic part Acyclic part , Pause
,
,
...._tfi"~ +--- t"ri,,,, -----'1'- t'Mi'''' ____.
tfix Figure 2.8 Setup of a constant PROFlliUS DP cycle

2.4 Data Exchange by means of Cross Communication

Cross communication (also referred to as "direct communication") is another method of data communication with PROFIBUS DP in SIMATIC S7 applications. During cross communication, the DP slave does not respond to the DP master with a one-fa-one telegram (slave -> master), but with a special one-fa-many telegram (slave -> nnn). This means that the input data of the slave contained in the response telegram is available not only to the related master, but also to all DP nodes on the bus which support this function.

44

2.4 Data Exchange by means of Cross Communication

With cross communication, the communication relationships "master-slave" and "slaveslave" are possible, but they are not supported by all models of SIMATIC S7 DP master and slave devices. Use the STEP 7 software to define the type of relationship. A combination of both methods of communication is allowed.

2.4.1 Master-Slave Relationship with Cross Communication

Figure 2.9 shows the master-slave relationships you can set up in a DP multi-master system consisting of three DP masters and four DP slaves. All slaves shown in this figure send their input data as a one-to-many telegram. DP master A, to which slaves 5 and 6 are assigned, also uses this telegram to receive the input data of slaves 7 and 8. Similarly, DP master B, to which slaves 7 and 8 are assigned, also receives the input data of slaves 5 and 6. Although the DP master shown as master C has no slaves assigned to it, it receives the input data of all slaves operated on the bus system (i.e., the data of slaves 5, 6, 7 and 8).

OB5 - - - - - - - -~ OB

Slave 6

Slave 7

'"

Slave 8

Cross communication connection (one-to-many) Master-slave connection (one-to-one)

Figure 2.9 Master-slave relationship during cross communication

45

2 Types of Bus Devices and Data Communication withPROFIBUS DP

2.4.2 Slave-Slave Relationship with Cross Communication

The slave-slave relationship shown in figure 2.10 with the use of I slaves (see section 3.4.3) such as the CPU315-2DP, is another version of data exchange by cross communication.

In this communication mode, the I slave is able to receive input data from other DP slaves.

DP master Class 1

DP slave

DP slave

Cross communication connection (one-to-many) Master-slave connection (one-to-one)

Figure 2.10 Slave-slave relationship during cross communication

2.5 DPVl Functional Expansions

The increasingly complex demands on DP slaves require expanded communications functionality of PROFIBUS DP. This refers to the acyclic data traffic as well as to the interrupt functionality.

To meet these requirements, the international fieldbus standard EN 50170, Volume 2 has been expanded. The expansions described in the standard refer both to DP slave modules and to DP master modules. These function expansions, also known as DPVl expansions, are optional to the standard protocol. This guarantees that previous PROFIBUS DP field devices and devices with DPVl expansions can be operated together, thus ensuring interoperability.

The following rules apply here:

• A DP slave with DPVl expansion can be operated on a DP master without DPVl functionality. The DPVl functionality of the DP slave cannot be used .

• A DP slave without DPVl expansion can be operated without restrictions on a DPVl master.

46

2.5 DPVl Functional Expansions

A DP master with DPV1 expansions is also called a DPVl master. This also applies for DP slaves that are designated DPV1 slaves with the expansions of EN 50170.

The expansion of the standard has thus cleared the way for a new generation of field devices. For planners and configuring engineers, however, the question of how exactly the various DP slave versions differ from each other usually remains.

• DP standard slaves have only the basic functionality described in the EN 50170 standard, that is, they have no DPV1 expansions. This means acyclic data traffic is not possible on a DP standard slave, and only the diagnostic interrupt is provided in the interrupt model. DP standard slaves are configured via a GSD file (device master file) in the relevant configuring tool.

• 87 DP slaves are further developed DP standard slaves from SIEMENS. However, these expansions can only be used with SIEMENS S7 DP master modules. Acyclic data traffic is possible with S7 DP slaves. An expanded interrupt model has also been implemented. If an S7 DP slave is configured using a GSD file and connected to DP master modules from other manufacturers, the S7 DP slave behaves like a DP standard slave without DPVl expansions in accordance with EN 50170, Volume 2. The full functionality of S7 DP slaves is only achieved when configured with SIMA TIC STEP 7 and operated on a SIMA TIC S7 master module.

• DPVl slaves are slaves with DPV1 expansions of EN 50170, Volum~2. These expansions refer to the interrupt model and the standardization of the acyclic data traffic. A DPVl slave can be operated with full functionality on any DPVl master. These slaves have a GSD file following revision level 3.

Table 2.2 gives an overview of which diagnostic or interrupt events can be initiated by which DP slave type. A requirement for this is that the slave is operated on an appropriate DP master.

Table 2.2 Availability of interrupts and of acyclic data traffic on DP slaves

DP standard slave S7-DP slave DPVl slave
Diagnostic interrupt x x x
Process interrupt - x x
Remove interrupt - x x
Insert interrupt - x x
Status interrupt - - x
Update interrupt - - x
Vendor-specific interrupt - - x
Acyclic data traffic No Yes, with S7 DP Yes, with DPVl
master modules master modules 47

3 PROFIBUS DP in SIMATIC S7 Systems

Introduction

PROFIBUS is an integral part of SIMATIC S7 systems. The 110 peripherals that are decentrally connected through the DP protocol are totally integrated in the system by the STEP 7 configuration tool. This means that already at the stage of configuration and programming, distributed 110 devices are treated in exactly the same way as the 110 connected locally in the central subrack or the expansion rack. The same applies to failure, diagnostics and alarm situations; the SIMA TIC S7 DP slaves behave in the same way as 110 modules that are plugged in centrally. SIMATIC S7 provides integrated or plug-in PROFIBUS DP interfaces for the connection of field devices with more complex technical functions. Due to the properties of PROFIBUS Layer 1 and Layer 2 and the consistently implemented internal system communications (S7 functions), you can connect devices such as programming units (PO), PCs, and HMI and SCADA devices to a SIMA TIC S7 PROFIBUS DP system.

3.1 PROFIBUS DP Interfaces in SIMA TIC S7 Systems

We distinguish between two types of PROFIBUS DP interfaces in SIMATIC S7-300 and S7-400 systems:

I> DP interfaces integrated on the CPUs (e.g. CPU 315-2DP, CPU 318-2DP, CPU 412-1, CPU 417-4)

I> Plug-in DP interfaces through 1M (Interface Module) or CP (Communications Proces-

sor) (1M 467, CP 443-5, and CP 342-5)

The performance data of the DP interfaces varies with the performance data of the CPUs. Tables 3.1 to 3.4 list the primary technical characteristics of both types of PROFIBUS DP interfaces- of those that are integrated into the CPUs, and of those that are plugged in the SIMATIC S7-300 and S7-400 systems. From the standpoint of configuration and program access, distributed 110 connected through DP interfaces is treated exactly in the same way as centralized 110 (with the exception of the CP 342-5). In contrast, the DP interface of the CP 342-5 operates independently of the CPU. The exchange of DP user data is managed by special function calls (FC) from within the user program.

In PROFIBUS DP systems, the S7-300-DP interfaces of CPUs CPU 315-2DP, and the CP 342-5 can be operated both as DP master and as DP slave. When you use the DP interface as a DP slave, you can select the mode for bus access control. Two modes are available: "DP slave as active node" and "DP slave as passive node." From the standpoint of the DP protocol, a DP slave that acts as an active node behaves as a (passive) DP slave during data exchange with the DP master. However, as soon as this "active DP slave" has

48

3.1 PROFIBUS DP Interfaces in SIMATIC S7 Systems

the token, data can also be exchanged with other nodes due to additional communication services, such as FDL or S7 functions. This makes it possible to communicate with PGs, OPs and PCs and have data traffic from one S7 CPU to another through the DP interfaces of the SIMATIC S7 controllers, while the PROFIBUS DP functions are being executed.

Table 3.1 Technical data of the integrated PROFIBUS DP interfaces on S7-300 systems

Module CPU 315-2DP CPU 315-2DP CPU 316-2DP
MLFB number 6ES7315-2AFOI 6ES7315-2AF03- 6ES7316-2AGOO-OABO
(order ref.) 6ES7315-2AF02 OABO
Number of interfaces 2 (1st interface for MPI 2 (lst interface for MPI 2 (1st interface for MPI
only) only) only)
Operating mode DPmaster DP slave DP master DP slave DP master DP slave
Baud rates in kbitls 9.6 to 9.6 to 9.6 to 9.6 to 9.6 to 9.6 to
12,000 12,000 12,000 12,000 12,000 12,000
Max. number of DP 64 - 64 - 64 -
slaves
Max. number of 512 total 32 512 32 512 32
modules
Input bytes per slave 122 max. - 244 max. - 244 max, -
Output bytes 122 max. - 244 max. - 244 max. -
per slave
Input bytes as slave - 122 max. - 244 max. - 244 max.
Output bytes as slave - 122 max. - 244 max. - 244 max.
Consistent data 32 bytes 32 bytes 32 bytes 32 bytes 32 bytes 32 bytes
modules max. max. max. max. max. max.
Usable input area 1 kbyte 1 kbyte 2 kbytes
Usable output area 1 kbyte 1 kbyte 2 kbytes
Max. parameter data 244 bytes 244 bytes 244 bytes
per slave
Max. config. data 244 bytes 244 bytes 244 bytes
per slave
Max. diagnostics data 240 bytes 240 bytes 240 bytes
per slave
Cross communication No No Yes Yes Yes Yes
support
Constant bus cycle No - Yes - Yes -
time
SYNCIFREEZE No No Yes No Yes No
DPVl mode No No No No No No continue next page

49

3 PROFIBUS DP in SIMATIC S7 Systems

Continuation of table 3.1

Module CPU 318-2DP
MLFB number (order ref.) 6ES731S-2AJOO-OABO
Number of interfaces 2
1 st interface 2nd interface 1 st and 2nd interface
Operating mode MPI / DP master DP master / MPI DP slave
Baud rates in kbitls 9.6 to 12,000 9.6 to 12,000 9.6 to 12,000
Max. number of DP slaves 32 125 -
."
Max. number of modules 512 1024 32
Input bytes per slave 244 max. 244 max. -
Output bytes per slave 244 max. 244 max. -
Input bytes as slave - - 244 max.
Output bytes as slave - - 244 max.
Consistent data modules - - 32 bytes max.
Usable input area 2 kbytes S kbytes -
Usable output area 2 kbytes S kbytes -
Max. parameter data 244 bytes 244 bytes -
per slave
Max. config. data 244 bytes 244 bytes -
per slave
Max. diagnostics data 240 bytes 240 bytes -
per slave
Cross communication Yes Yes Yes
support
Constant bus cycle time Yes Yes -
SYNCIFREEZE Yes Yes No
DPVl mode FromFW 3.0 FromFW 3.0 FromFW 3.0 50

3.1 PROFIBUS DP Interfaces in SIMATIC S7 Systems

Table 3.2 Technical characteristics of the plug-in PROFIBUS DP interfaces in S7-300 systems

Module CP342-5 CP342-5
MLFBnumber 6GK7 342-5DAOO-OXAO 6GK7 342-5DA02-0XAO
(order ref.) 6GK7342-5DAOI-0XAO
Operating mode DP master DP slave DP master DP slave
Baud rates in kbitls 9.6 to 1,500 9.6 to 1,500 9.6 to 12,000 9.6 to 12,000
Max. number of DP slaves 64 - 124 -
Max. number of modules - 32 - 32
Input bytes per slave 240 max. - 240 max. -
Output bytes per slave 240 max. - 240 max. -
Input bytes as slave - 86 max. - 86 max.
Output bytes as slave - 86 max. - 86 max.
Consistent data modules 240 bytes max. 86 max. 240 bytes max. 86 max.
Usable input area 240 bytes max. 86 max. 240 bytes 86 max.
Usable output area 240 bytes max. 86 max. 240 bytes max. 86 max.
Max. parameter data per slave 242 bytes - 242 bytes , -
Max. config. data per slave 242 bytes - 242 bytes -
Max. diagnostics data per slave 240 bytes - 240 bytes -
Cross communication support No No No No
Constant bus cycle time No No No No
SYNCIFREEZE Yes No Yes No
DPVl mode No No No No 51

3 PROFIBUS OP in SIMATICS7 Systems

Table 3.3 Technical data of integrated PROFIBUS OP interfaces on S7-400 systems

Module CPU 412-1 CPU 412-2 CPU 413-2
MLFBnumber 6ES7412- 6ES7412-2XGOO-OABO 6ES7413-2XGO?-OABO
(order ref.) lXF03-0ABO
Number of 1 2 2 (1st interface for MPI
interfaces only)
1 st interface 1 st interface 2nd interface 2nd interface
Operating mode MPI I OP master MPI/OP OPmaster OP master I MPI
master
Baud rates 9.6 to 12,000 9.6 to 12,000 9.6 to 12,000 9.6 to 12,000
in kbitls
Max. number of 32 32 125 64
OP slaves
Input bytes 244 max. 244 max. 244 max. 122 max.
per slave
Output bytes 244 max. 244 max. 244 max. 122 max.
per slave
Consistent data 128 bytes max. 128 bytes max. 128 bytes max. 122 bytes max.
modules
Usable input area 2 kbytes 2 kbytes 2 kbytes 2 kbytes
Usable output area 2 kbytes 2 kbytes 2 kbytes 2 kbytes
Max. parameter 244 bytes 244 bytes 244 bytes 244 bytes
data per slave
Max. config. data 244 bytes 244 bytes 244 bytes 244 bytes
per slave
Max. diagnostics 240 bytes 240 bytes 240 bytes 240 bytes
data per slave
Cross communica- Yes Yes Yes No
tion support
Constant bus cycle Yes Yes Yes No
time
SYNCIFREEZE Yes Yes Yes Only via ext. module
(CPIlM)
OPVl mode FromFW 3.0 FromFW3.0 FromFW3.0 No continue next page

52

3.1 PROFlBUS DP Interfaces inSIMATIC S7 Systems

Continuation of table 3.3

Module CPU 414-2 CPU 414-2 CPU 414-3
MLFB number 6ES7414- 6ES7414-2XG03-0ABO 6ES7414-3XJOO-OABO
(order ref.) 2X?00-OABO
6ES7414-
2X?01-0ABO
6ES7414-
2X?02-0ABO
Number of inter- 2 (1st inter- 2 3 (3rd interface IF 964-DP can
faces face forMPI only be inserted as DP master)
only)
2nd interface 1 st interface 2nd interface 1 st interface 2nd interface
Operating mode DPmaster MPI/DP DPmaster I MPI/DP DP master I
master MPI master MPI
Baud rates 9.6 to 12,000 9.6 to 12,000 9.6 to 12,000 9.6 to 12,000 9.6 to 12,000
in kbitls
Max. number of 96 32 125 32 125
DP slaves
Input bytes 122 max. 244 max. 244 max. 244 max. l 244 max.
per slave
Output bytes 122 max. 244 max. 244 max. 244 max. 244 max.
per slave
Consistent data 122 bytes 128 bytes 128 bytes 128 bytes 128 bytes
modules max. max. max. max. max.
Usable input area 4kbytes 2 kbytes 6 kbytes 2 kbytes 6 kbytes
Usable output area 4kbytes 2 kbytes 6 kbytes 2 kbytes 6 kbytes
Max. parameter 244 bytes 244 bytes 244 bytes 244 bytes 244 bytes
data per slave
Max. config. data 244 bytes 244 bytes 244 bytes 244 bytes 244 bytes
per slave
Max. diagnostics 240 bytes 240 bytes 240 bytes 240 bytes 240 bytes
data per slave
Cross communica- No Yes Yes Yes Yes
tion support
Constant bus cycle No Yes Yes Yes Yes
time
SYNCIFREEZE Only via Yes Yes Yes Yes
ext. module
(CPIIM)
DPVl mode No FromFW 3.0 FromFW3.0 FromFW 3.0 FromFW 3.0 continue page 54

53

3 PROFIBUS DP in SIMATIC S7 Systems

Continuation of table 3.3

Module CPU 416-2 CPU 416-2 CPU 416-3
MLFB number 6ES7416- 6ES7416-2XK02-0ABO 6ES7416-3XLOO-OABO
( orderref.) 2X?00-OABO
6ES7416-
2X?01-0ABO
Number of 2 (1st inter- 2 3 (3rd interface IF 964-DP can
interfaces face forMPI only be inserted as DP master.)
only)
2nd interface 1 st interface 2nd interface 1 st interface 2nd interface
Operating mode DPmaster MPI/DP DPmaster I MPI/DP DPmaster I
master MPI master MPI
Baud rates 9.6 to 12,000 9.6 to 12,000 9.6 to 12,000 9.6 to 12,000 9.6 to 12,000
in kbit/s
Max. number of 96 32 125 32 125
DP slaves
Input bytes 122 max. 244 max. 244 max. 244 max. 244 max.
per slave
Output bytes 122 max. 244 max. 244 max. 244 max. 244 max.
per slave
Consistent data 122 bytes 128 bytes 128 bytes 128 bytes 128 bytes
modules max. max. max. max. max.
Usable input area 8 kbytes 2kbytes 8 kbytes 2 kbytes 8 kbytes
Usable output area 8 kbytes 2kbytes 8 kbytes 2kbytes 8,kbytes
Max. parameter 244 bytes 244 bytes 244 bytes 244 bytes 244 bytes
data per slave
Max. config. data 244 bytes 244 bytes 244 bytes 244 bytes 244 bytes
per slave
Max. diagnostics 240 bytes 240 bytes 240 bytes 240 bytes 240 bytes
data per slave
Cross communica- No Yes Yes Yes Yes
tion support
Constant bus cycle No Yes Yes Yes Yes
time
SYNCIFREEZE Only via Yes Yes Yes Yes
ext. module
(CPIIM)
DPVl mode No FromFW3.0 FromFW3.0 FromFW3.0 FromFW 3.0 continue next page

54

3.1 PROFIBUS DP Interfaces in SIMATIC S7 Systems

Continuation of table 3.3

Module CPU 417-4 IF 964-DP
MLFB number (order ref.) 6ES7417-4XLOO-OABO 6ES7 964-2AAOO-OABO
Number of interfaces 4 (3rd and 4th interface, IF 964-DP can 1
only be inserted as DP master)
I st interface 2nd interface 1 st interface
Operating mode MPI / DP master DP master / MPI On S7-4oo CPUs,
only DP master
Baud rates in kbitls 9.6 to 12,000 9.6 to 12,000 9.6 to 12,000
.'
Max. number of DP slaves 32 125 125 max. (for S7-400 CPUs)
Input bytes per slave 244 max. 244 max. 244 max. (for S7-400 CPUs)
Output bytes per slave 244 max. 244 max. 244 max. (for S7-400 CPUs)
Consistent data modules 128 bytes max. 128 bytes max. 128 bytes max.
(for S7-4OO CPUs)
Usable input area 2 kbytes 8 kbytes Depends on CPU
Usable output area 2 kbytes 8 kbytes Depends on CPU
Max. parameter data 244 bytes 244 bytes 244 byte's
per slave (for S7-400 CPUs)
Max. config. data 244 bytes 244 bytes 244 bytes
per slave (for S7-400 CPUs)
Max. diagnostics data 240 bytes 240 bytes 240 bytes
per slave (for S7-400 CPUs)
Cross communication Yes Yes Depends on CPU
support
Constant bus cycle time Yes Yes Depends on CPU
SYNCIFREEZE Yes Yes Depends on CPU
DPVl mode FromFW3.0 FromFW3.0 Depends on CPU 55

3 PROFIBUS DP in SIMATIC S7 Systems

Table 3.4 Technical data of the PROFIBUS DP plug-in interfaces in S7-400 systems

Module 1M 467! 1M 467 CP 443-5 Ext. CP 443-5 Ext.
1M 467-FO
MLFB number 6ES7467- 6ES7467- 6GK7443- 6GK7443-
(order ref.) 5?JOO-OABO 5GJ02-OABO 5DXOO-OXEO 5DX02-OXEO
6ES7467- 6GK7443-
5?JOI-0ABO 5DXOI-0XEO
Number of interfaces 1 1 1 1
Operating mode DP master DP master DP master DPmaster
Baud rates in kbitls 9.6 to 12,000 9.6 to 12,000. 9.6 to 12,000 9.6 to 12,000
Max. number of DP slaves 125 125 125 125
Input bytes per slave 244 max. 244 max. 244 max. 244 max.
Output bytes per slave 244 max. 244 max. 244 max. 244 max.
Consistent data modules 128 bytes max. 128 bytes max. 128 bytes max. 128 bytes max.
Usable input area 4 kbytes 4 kbytes 4 kbytes 4 kbytes
Usable output area 4 kbytes 4 kbytes 4 kbytes 4 kbytes
Max. parameter data 244 bytes 244 bytes 244 bytes 244 bytes
per slave
Max. config. data 244 bytes 244 bytes 244 bytes 244 bytes
per slave
Max. diagnostics data 240 bytes 240 bytes 240 bytes 240 bytes
per slave
Cross communication No Yes No Yes
support
Constant bus cycle time No Yes No Yes
SYNCIFREEZE Yes Yes Yes Yes
DPVl mode No No No From6GK7
443-5DX03-XE 56

3.2 Other Communication Functions Using DPlnterfaces .

3.2 Other Communication Functions Using DP Interfaces

In addition to the DP functions, the active DP interfaces (DP master and active DP slaves) of the SIMATIC S7-300 and S7-400 controllers support the following communication functions:

I> S7 functions through integrated and plug-in DP interfaces

I> PROFIBUS FDL services through communications processors (CPs) only

3.2.1 S7 Functions

The S7 functions offer communication services between CPUs of the S7 system, and to SIMATIC HMI systems (Human Machine Interface). All devices of the SIMATIC S7 series can handle the following S7 functions:

I> Complete online functionality of STEP 7 for programming, testing, commissioning and diagnosing the SIMATIC S7-300/400 programmable controllers

I> Read and write access to variables, and automatic transmission of data to HMI systems

,

I> Transmission of data and data areas of 64 kbytes max. between individual SIMA TIC S7 stations

I> Read and write data between SIMA TIC S7 stations, without any special communication user program on the communication partner

I> Initiation of control functions suc~ as STOP, warm and hot restart of the CPU of the communication partner

I> Provision of monitoring functions, such as monitoring the operational status of a CPU of the communication partner

3.2.2 FDL Services

The FDL services provided by Layer 2 of PROFIBUS allow data blocks of up to 240 bytes to be sent and received. This type of communication is based on SDA telegrams (Send Data with Acknowledge), and is used not only for the data traffic within SIMATIC S7 programmable controllers, but also for the data transfer between SIMA TIC S7 and S5 systems and to PCs. In SIMA TIC S7 controllers, the FDL services are handled by FUNCTION CALLs (AG_SEND and AG~RECV) from within the user program.

57

3 PROFIBUS DP in SIMATIC S7 Systems

3.3 System Response of the DP Interfaces in SIMATIC S7 Controllers

With the exception of the CP342-5, the DP master interfaces are totally integrated in the SIMATIC S7 concept as described in sections 3.3.1 to 3.3.8.

3.3.1 Startup Behavior of DP Master Interfaces in the SIMA TIC S7

Particularly in plants with a distributed equipment layout, technical and topological factors often make it impossible to switch on all electrical machines or system parts at the same time. In practice, this may mean that not all DP slaves are available yet when the DP master starts up. Due to the time-staggered startup of power supplies and the resulting time-staggered startup of DP slaves, the DP master requires a certain startup time before it can load the slaves with the parameter sets, and start the cyclical exchange of user data with the DP slaves, For this reason, the S7-300 and S7-400 systems allow you to set the maximum delay for the READY message of all DP slaves after POWER-ON. The parameter "READY message from modules" sets this delay in the range from 1 to 65,000 milliseconds. The default value is 65,000 milliseconds. When the delay expires, the CPU goes to STOP or RUN, depending on the setting of the parameter "Startup for required configuration not equal actual configuration."

3.3.2 FailurelRecovery of DP Slave Stations

If a DP slave fails due to power failure, an interruption on the bus line or due to some other defect, the operating system of the CPU reports this error by calling organization block OB86 (failure of module rack, DP power or DP slave). OB86 is called for every type of event, irrespective of whether it is going or corning. If you don't program organization block OB86, the CPU will react to a DP power or slave failure by going into the STOP state. Thus, the SIMATIC S7 system reacts to faults in the distributed I/O modules in the same way as it would react to faults in the centralized I/O modules.

3.3.3 InsertlRemove Interrupt for DP Slave Stations

The insertion and removal of configured modules in SIMATIC S7 systems is monitored centrally. SIMATIC S7 DP slaves and DPVl slaves can also monitor this event in distributed configurations and report to the DP master when it occurs. This starts organization block OB83 in the CPU, as a fault event when a module is removed and as a back-tononna1 event when a module is inserted. When inserting a module into a configured slot in RUN mode, the CPU's operating system checks that the type of module inserted agrees with the configuration. OB83 is then started, and if the configured module type corresponds to the inserted module type, parameterization is carried out. If OB83 has not been programmed when an insert/remove interrupt occurs, the CPU changes to STOP mode.

58

3.3 System Response of the DP Interfaces in SIMATIC S7 Controllers

3.3.4 Diagnostic Interrupts generated by DP Slave Stations

Distributed 110 modules with diagnostic capabilities are able to report events by generating a diagnostic interrupt. In this way, the DP slaves indicate error situations, such as partial node failure, wire break in signal modules, short-circuit or overload of an 110 channel, or failure of the load voltage supply. The CPU operating system reacts by calling organization block OB82 which is reserved for diagnostic interrupt processing. OB82, too, is called for every diagnostic interrupt, irrespective of whether this interrupt indicates a coming or a going event. If you don't program OB82, the CPU reacts to a diagnostic interrupt by going into the STOP state. Depending on the complexity of the DP slave, s9me of the possible diagnostic interrupts and their message formats are defined by the EN 50 170 standard. Others depend on the particular slave and manufacturer. With DP slaves from the SIMATIC S7 series, the diagnostic interrupts comply with the SIMA TIC S7 system diagnostics.

3.3.5 Process Interrupts generated by DP Slave Stations

DP slaves of the SIMATIC S7 series and DPVl slaves with process interrupt capability report process faults through the bus to the DP master (CPU). For example, a process interrupt would be generated if an analog input value were outside, the defined limit range. In SIMATIC S7 systems, organization blocks OB40 to OB47 are reserved for process interrupts (also referred to as "hardware interrupts"). OB40 to OB47 are called by the operating system of the CPU when an interrupt occurs. If the relevant organization block has not been programmed, the CPU stays in RUN mode and does not change to STOP mode. Thus, the SIMATIC S7 CPU always reacts to process interrupts in the same way, irrespective of whether these interrupts are caused by centralized or distributed 110 modules. However, note that the reaction to process interrupts caused by distributed 110 is slower due to telegram run times on the bus and interrupt handling on the DP master.

3.3.6 Status Interrupt of DP Slave Stations

DPVl slaves can trigger status interrupts. If, for example, a module of a DPVl slave changes its operating status, from RUN mode, say, to STOP, this status change can be reported to the DP master using a status interrupt. The precise events that trigger a status interrupt are defined by the manufacturer and are detailed in the documentation of the DPVl slave. A status interrupt causes the operating system of the CPU to call organization block OB55. If this OB has not been programmed, the CPU still remains in RUN. OB55 is only available on DPVl-enabled S7-CPUs.

3.3.7 Update Interrupt ofDP Slave Stations

A DPVl slave can, for example, signal the transfer of a parameter modification on a module by sending an update interrupt to the DP master. This causes OB56 to be called in the CPU. OB56 can only be programmed on DPVl-enabled S7-CPUs. When an update interrupt is received, the CPU always remains in RUN, even if OB56 has not been program-

59

3 PROFIBUS DPinSIMATIC S7 Systems

med. The manufacturer of the slave defines which event is signaled as an update interrupt by a DPVl slave: Please refer to the description of the DPVl slave for more detailed information.

3.3.8 Vendor-Specific Interrupt ofDP Slave Stations

A vendor-specific interrupt can only be signaled to the DP master from a slot of a DPVl slave. This causes the CPU to call organization block OB57. The organization block for vendor-specific interrupts is only available on DPVl-enabled S7-CPUs. If OB57 has not been programmed in the CPU, the CPU still remains in the RUN state. The manufacturer generally determines when a DPVl slave triggers a vendor-specific interrupt, depending on the slave or, in the case of intelligent slaves, on their application. Please refer to the documentation of the slave for information on whether or when a DPVl slave triggers a vendor -specific interrupt.

3.4 DP Slave Types in SIMATIC S7 Systems

SIMA TIC S7 systems use three different groups of DP slaves. Depending on their configuration and their purpose, we classify the SIMA TIC S7 DP slave devices in:

[> Compact DP slaves

[> Modular DP slaves

[> Intelligent DP slaves (I slaves)

3.4.1 Compact DP Slaves

Compact DP slaves have a fixed structure in the input and output area which cannot be modified. The group of ET 200B electronic terminals (B stands for block 110) is made up of such compact DP slaves. The ET 200B module series offers modules with different voltage ranges and different numbers of 110 channels.

3.4.2 Modular DP Slaves

With modular DP slaves, the structure of the input and output area is variable. You define it when you configure the DP slave using the S7 configuration software HW Config. ET 200M modules are typical representatives of this type ofDP slave. You can connect up to eight 110 modules from the modular S7-300 series to one ET 200M interface module (1M 153).

60

3.4 DP Slave Types in SIMATIC S7 Systems

3.4.3 Intelligent Slaves (I Slaves)

In a PROFIBUS DP network, S7-300 programmable controllers that contain a CPU of type CPU 315-2, CPU 316-2 or CPU 318-2, or the CP 342-5 communications processor, can be used as DP slaves. In SIMA TIC S7 systems, these signal-conditioning field devices are referred to as "intelligent DP slaves;" I slaves for short. Use the S7 configuration software HW Config to define the structure of the input/output area for an S7-300 controller that acts as a DP slave.

One feature of intelligent DP slaves is that the input/output area provided to the DP master is not an actually existing I/O area. Instead, this input/output area is mapped by a preprocessing CPU.

61

4 Programming and Configuring PROFIBUS DP with STEP 7

STEP 7 is the standard programming and configuration software for SIMA TIC S7 systems. This chapter describes the tools of the STEP 7 package (version 5.0, under Windows 95 or Windows NT) which you will use to set up and configure PROFIBUS DP networks. We assume that you have a STEP 7 software package installed on your PG programming unit or your PC, and that you are familiar with Windows 95 or Windows NT. The standard STEP 7 package comprises a number of applications (see figure 4.1), each of which does a specific job when programming an automation task, such as:

I> Configuring the hardware and setting its parameters

I> Configuring networks, connections and interfaces

I> Creating and debugging user programs.

Additional optional software tools are available to expand the standard STEP 7 package for particular applications. These include programming language packages such as SCL, S7GRAPH or HiGraph. The graphic user interface provided for these tasks is known as SIMATIC Manager. SIMATIC Manager collects all the data and settings necessary for an automation task and combines this information into a project. Within this project, all data and settings are structured according to their function, and represented as objects. STEP 7 provides comprehensive online help including context-sensitive help for selected folders, objects and error messages.

Figure 4.1

PROFIBUS DP-related STEP 7 applications which can be called from SIMATIC Manager

62

4.1 STEP 7 'Fundamentals

4.1 STEP 7 Fundamentals

4.1.1 STEP 7 Objects

In a similar way to the directory structure you know from Windows Explorer containing folders and files, a STEP 7 project is divided into folders and objects. Folders are objects which can contain other folders and objects. For example, the folder for an S7 station configured in SIMATIC Manager contains additional subfolders for the hardware and the S7 program. In tum, the S7 program contains additional folders for storage of text or graphic sources and STEP 7 software blocks making up the STEP 7 user program. The STEP 7 blocks which you create during project configuration and programming are stored in the Blocks folder in the form of objects.

Object orientation in STEP 7

When you process an object in SIMATIC Manager, the program automatically calls the application responsible for the type of object you are about to process. This automatic linking of objects to the related application makes processing of STE~ 7 projects very easy. To start the application linked to the object, either double-click the object, or open the shortcut menu. To open the shortcut menu, select the object in SIMATIC Manager, and then click the right mouse button. In the shortcut menu, select OPEN OBJECT.

Figure 4.2 Folder and object structures in STEP 7 (example)

63

4 Programming and Configuring PROFIBUS DP with STEP 7

51MA TIC 400(1)

III CPU 416-2 DP B@j 57 Program(2)

t····ra Source File.

L~IBI 51MATIC 300(1)

Figure 4.3 Object hierarchy in a STEP 7 project

4.1.2 STEP 7 Projects

The main object in SIMA TIC Manager is the project. In the project, all data and programs required to handle an automation task are stored in a tree structure. This tree structure reflects the project hierarchy (see figure 4.3). The project is made up of the following configuration information:

I> Configuration data on the hardware setup I> Parameter data for the modules used

I> Configuration data for networks and communication I> Programs for programmable modules

4.2 Example Project with PROFIBUS DP

In this chapter we will develop an example project. While creating the project, we will explain the use of those STEP 7 programs that you need to set up and configure a SIMATIC S7 automation system using a PROFIBUS DP network. These are primarily the programs SIMATIC Manager and HW Config. The procedures suggested to create a SIMA TIC S7 project will give you a simple and quick introduction to the STEP 7 configuration tool.

The example configuration is intended for a SIMATIC S7-400 programmable controller with a CPU416-2DP. We will connect the DP slaves ET200B-16DIII6DO, ET200M and S7-300/CPU315-2 through the integrated DP interface of the CPU, and set the transmission speed to 1500 kbitls.

64

4.2 Example Project withPROFIBUS DP

4.2.1 Creating a New STEP 7 Project

To create a new project, open SIMATIC Manager. Then go through the following procedure:

• In the menu bar, select FILE -? New ... to open the dialog box (figure 4.4) for setting up a new project.

• Select the "New project" button, and set the "Storage location (path)" for the new project .

• Enter a name (S7-PROFIBUS DP in our example) for the new project, and confirm and quit with OK

You are now back in the main menu of SIMA TIC Manager. The creation of the 7 _PROFIBUS_DP object folder has automatically generated the MPIobject (Multi Point Interface) which you can see in the right-hand half of the project screen. The MPI object is automatically generated by STEP 7 each time a new project is created. MPI is the standard programming and communication interface of the cpu.

C: \5 iernens \5 tep 7\57 proj\D r

C: \5 iernens \5 tep 7\57 proj\5 7 _profi C: \5 iemens\5 tep 7\5 7proj\test

Figure 4.4

Dialog box for creating a new project

4.2.2 Inserting Objects in the STEP 7 Project

In the left-hand side of the project screen, select the project. Open the shortcut menu using the right mouse button. Select the command INSERT NEW OBJECT, and insert the object SIMATIC 400 station. The newly inserted object appears in the right-hand half of the project screen. As with all other objects at this point you can change the object name, for example if you wish to give it a project -specific designation.

65

4 Programming and Configuring PROF1BUS DP with STEP 7

In the shortcut· menu (remember: open with right click), select OBJECT PROPERTIES ... In the Properties dialog box you could now enter some more characteristics for the object, such as Author's name, Comment, etc.

Next, insert the object PROF/BUS in the STEP 7 project which you have just created. Proceed as you did when inserting the SIMA TIC 400 station.

4.2.3 PROFffiUS Network Settings

You are now back in the main project screen entitled S7-PROFIBUS DP. Select the object PROF/BUS and right-click to open the shortcut menu. Select OPEN OBJECT to call the graphic configuration tool NetPro. In the upper section of the screen, select the PROFIBUS subnet (PROFIBUS (1», and right-click to open the shortcut menu. Select the command OBJECT PROPERTIES .... In the dialog box "Properties - PROFIBUS" open the "Network Settings" tab (see figure 4.5). Here you can set all relevant network parameters for the PROFIBUS subnet.

Figure 4.5 PROFIBUS network settings

Confirm the suggested settings (default settings) for the example project with OK. If you would like to begin creating the project immediately, skip to section 4.2.4.

In the following we shall briefly explain the meaning of the network parameters which you can set on the "Network Settings" tab of the "Properties - PROFIBUS" dialog box.

"Highest PROFffiUS address"

Referred to as HSA (Highest-Station-Address) in the EN 50170 standard. This parameter is used to optimize bus access control (token management) for multi-master bus configu-

66

4.2 Example Project with PROFIBUS DP

rations. With a mono-master PROFIBUS DP configuration, do not change the default setting of 126 for this parameter.

"Transmission Rate"

The transmission speed you select here will apply to the entire PROFIBUS subnet. This means that all stations (also called "nodes") which are used on this PROFIBUS subnet must support the selected baud rate. You can select baud rates from 9.6 to 12,000 kbitls (Kbps), A baud rate 0[1500 kbitls is suggested as the default setting.

"Profile"

The bus profiles provide standards (default settings) for different PROFIBUS applications. Each bus profile contains a set of PROFIBUS bus parameters. These are calculated and set by the STEP 7 program, taking into account the particular configuration, profile and baud rate. These bus parameters apply globally to the entire bus and to all nodes connected to the PROFIBUS subnet.

You can define your own "User-defined" profile for your particular application. First, select the bus parameter settings of the profile "DP", "Standard" or "Universal (DPI FMS) ", save these as a user-defined profile, and then modify them as required. Such adjustments should of course only be made by engineers with networking' experience.

Different bus profiles are available for different hardware configurations in your PROFIBUS DP network:

"DP" profile

Select this profile only if your system is a pure PROFIBUS DP mono-master and multimaster configuration containing SIMATIC S7 and SIMATIC M7 units. The optimized bus parameters calculated for this profile take into account all changes in the communication load when other nodes are connected to the bus. Such additional loads on the PROFIBUS subnet could be (one) PG programming unit, operator control and process monitoring devices, and configured non-cyclic FDL services, and FMS and S7 nodes.

The DP profile only considers those PROFIBUS nodes that are actually known to the PROFIBUS subnet. This means they must be part of the STEP 7 project and must have been properly configured.

"Standard" profile

Use this profile if you wish to extend the calculation of the bus parameters to other bus nodes which cannot be configured with STEP 7, or which do not belong to the currently processed STEP 7 project. On the "Network Settings" tab (figure 4.7), click the "Options ... " button which opens the "Options" dialog box and the "Network Nodes" tab.

With the check box "Include network configuration below" disabled, the bus parameters are calculated with the same optimized algorithm used for the "DP" profile. If you enable this option, a simplified, more general algorithm is applied.

The "Standard" profile is especially designed for all other multi-master bus configurations (DPIFMSIFDL) withSIMATIC S7 and SIMATIC M7, and all configurations that extend over more than one STEP 7 project.

67

4 Programming and Configuring PROFIBUS DP with STEP 7

"Universal (DPIPMS)" profile

Use this bus profile if your network makes use of PROFIBUS components of the SIMA TIC S5 series, such as the CP5431 communications processor or the S5-95U programmable controller. You should always select "Universal (DPIPMS)" when SIMATIC S7 and SIMATIC S5 stations are being used simultaneously on one PROFIBUS subnet.

Bus Parameters

The "Bus Parameters ... " button provides access to the bus parameters calculated by STEP 7. Based on the bus configuration and the number of bus stations known in the STEP 7 project, STEP 7 calculates the values for the bus parameter "Ttr" (Time Target Rotation) and the bus parameter "Response monitoring" which is only relevant to PROFIBUS DP slaves.

Since the bus parameter "Ttr" (Time Target Rotation) calculated by STEP 7 represents a permissible maximum value and not the real token rotation time, you cannot use it to determine the reaction times of the bus system.

You can only change the values shown in figure 4.6 if you have selected the "User-defined" profile. Remember that a PROFIBUS subnet can only function reliably if the bus parameters are optimally tuned for the selected bus profile. The preset values displayed in the "Bus Parameters" dialog box should therefore only be changed by somebody with experience.

All bus parameter values are expressed in tBIT (time_BIT/run time). The bit run time shown in table 4.1 depends on the baud rate and is calculated as follows:

tBIT[llsec] = 1 / Mbitls

Table 4.1 Bit run time as a function of the baud rate

Baud Rate tBIT (usee)
9.6 kbitls 104.167
19.2 kbitls 52.083
45.45 kbitls 22.002
93.75 kbitls 10.667
187.5 kbitls 5.333
500 kbitls 2.000
1,500 kbitls 0.667
3,000 kbitls 0.333
6,000 kbitls 0.167
12,000 kbitls 0.083 68

4.2 Example Project with PROFIBUS DP

Figure 4.6 Bus parameter settings

"Activate cyclic distribution of bus parameters"

When you enable this option, the parameter sets defined for the selected PROFlBUS subnet are transmitted cyclically by all DP master interfaces that are active in the PROFIBUS subnet. The data is transmitted in a multicast telegram issued by the SDN Service of Layer 2 (Send Data with No Acknowledge) with DSAP 63 (Destination Service Access Point).

Use this function if you wish to temporarily connect a PG programming unit to a running PROFIBUS subnet even though you don't know the exact bus parameter set for the PROFIBUS subnet. See also chapter 7.2 on setting the PGIPC interface.

You should not enable this function if you have selected the "constant bus cycle" mode (also referred to as "equidistant" bus cycle). This would increase the bus cycle unnecessarily. Neither should you enable it if the PROFIBUS subnet contains additional stations (third-party devices) which use DSAP 63 for multicast functions.

Option ... "Constant Bus Cycle Time"

If you wish to run PROFIBUS DP in the Constant Bus Cycle Time mode (also referred to as "equidistant mode"), in the "Properties" dialog box, press the "Options" button and then open the "Constant Bus Cycle Time" tab (see figure 4.7). It describes the basic parameters for this mode. Only if the option "Constant Bus Cycle Time" is selected, are the other parameters in this dialog box enabled for selection. You can now set a constant bus cycle for the PROFIBUS subnet. A constant bus cycle means that the time interval

69

4 Programming and Configuring PROFIBUS DP with STEP 7

between consecutive sending rights for the DP master is constant. Chapter 2.3.2 describes the principle of PROFIBUS DP operation with a constant bus cycle time (= equidistant bus cycle).

PROFIBUS subnets that are run at a constant bus cycle time may only contain one Class 1 DP master. Class 1 DP masters are DP masters which poll their DP slaves to exchange the 110 data cyclically.

Figure 4.7 Setting the time values for the constant DP cycle (general values)

STEP 7 calculates and suggests a time value for the constant (= equidistant) DP cycle for the particular system configuration. This value is adequate to handle cyclic user data communication with the DP slaves and non-cyclic data exchange with PO, OP and TD devices within the suggested time. In the "Constant Bus Cycle Time" dialog box (see figure 4.7), you can reserve bus cycle time for additional POs, OPs and TDs operated on the bus by setting the parameter "Number ofPOs/OPsfTDs on the PROFIBUS" as required.

You may change the constant bus cycle time suggested by STEP 7. Increasing the suggested value is not a problem. However, if you wish to reduce the constant bus cycle (possibly even down to the displayed minimum value), you should remember that faults, such as DP slave failure and recovery, may have the effect of increasing the cycle to above the selected constant interval. Another adverse effect of reducing the constant interval to the minimum value is that the time available to other active nodes, such as PO programming units, for non-cyclic data exchange is also set to a minimum. In some networks, this can cause delays or even a breakdown of non-cyclic communication.

The "Details ... " button takes you to another dialog box entitled "Constant Bus Cycle Time" (figure 4.8). It displays the time slices that make up the suggested constant bus cycle time. The time indicated for the cyclic portion is fixed and may not be changed. However, the non-cyclic time portion and the time portion available for additional active nodes, such as PO, OP and TD devices, can be modified.

70

4.2 Example Project with PROFIBUS DP

Figure 4.8 Setting the time values for the constant DP cycle (detailed values)

Options ... "Network Nodes"

Your PROFIBUS system may contain nodes that cannot be registered by a STEP 7 project. To include such nodes in your bus system, select "Options ... ~' in the "Properties - PROFIBUS" dialog box. The "Options" dialog box appears on the screen. Open the "Network Nodes" tab (figure 4.9). Here you can define how many additional active and passive nodes you wish to include in the bus parameter calculation. This option is not available for the "DP" profile.

Figure 4.9 Additional network nodes for the PROFIBUS subnet

71

4 Programming and Configuring PROFIBUS DP with STEP 7

Options •.. "Cables"

Not only the cable length, but also the use of RS 485 repeaters or OLMs (Optical Link Modules) with fiber optic cables affects the calculation of the bus parameters. The relevant variables are described on the "Cables" tab of the "Options" dialog box (figure 4.10).

Figure 4.10 "Cables" dialog box for the definition of repeaters, OLMs and cable lengths

4.2.4 Configuring the Hardware Using the HW Config Program

The next step in setting up our PROFIBUS DP example network (see section 4.2.1) is the configuration of the hardware used on the S7 -400 programmable controller. Quit the NetPro program, and return to the main screen of SIMATIC Manager. In the left-hand half, open the "S7 _PROFIBUS_DP" folder with a double click. Then select the SIMA TIC 400( I) object and call the HW Config program either by opening the shortcut menu with a right click and then selecting "OPEN OBJECT", or by double-clicking the hardware object in the right-hand half of the SIMATIC Manager screen. The HW Config program is automatically started, and a screen appears which is divided into two horizontal sections. At this stage it is still empty. Here you are going to configure the hardware for the SIMA TIC 400 station.

Configuring the rack

In the toolbar, click the Catalog button, or in the menu bar select View ~ Catalog, to open the hardware catalog. In the catalog, open the SIMATIC 400 folder. Under "RACK- 400", select a rack. For our example configuration, select the UR 2 universal rack with 9 slots. Drag the selected rack to the upper left section of the screen.

72

4.2 Example Project with PROFIBUS DP

The slots of the S7-400 rack are now listed in a configuration table. The lower part of the station screen displays detailed characteristics, such as order number, MPI address, and I/O addresses (I and Q).

Now, select the PS407 lOA power supply from the hardware catalog PS-400 and place it in slot 1 of the S7-4OO rack. You will see that the selected power supply occupies two slots, slot 1 and slot 2.

Next, open the hardware catalog CPU 400 ~ CPU 416-2DP and select the CPU416-2DP with order reference 6ES7416-2XKOO-OABO. Drag this CPU to slot 3 of the S7-400 rack. The Parameters tab of the Properties - PROF1BUS Node DP Master dialog box opens automatically. Here you can set the parameters of the DP master interface integrated on the CPU. Setthe PROFIBUS address to "2," and in the table further down, select the PROFIBUS subnet (in our example, only one PROFIBUS subnet is configured) which you want to connect to the DP master interface of the CPU (see figure 4.11).

Figure 4.11 PROFIBUS network assignment "Properties - PROFIBUS Node DP Master"

In this dialog box, you can also set up a new PROFIBUS subnet or delete an already existing one.

Use OK to confirm your selections and return to the main screen of HW Config.

73

4 Programming and Configuring PROFIBUS DP with STEP 7

4.2.5 Conflguring DP Slaves

Figure 4.12 shows the HW Config screen for the S7-400 station as it is configured up to now. The S7-400 station with the configured DP master system is displayed in the upper half of the screen.

Figure 4.12 Station screen for the DP master system in HW Config

ET 200B station

In the next step, the DP slaves must be connected to the DP master system. To do this, open the PROF/BUS DP folder in the hardware catalog still displayed on the right-hand side of the screen. Open the ET 200B folder and select station ET 200B-/6D/I/6DO. Connect this DP slave to the DP master system by dragging it to the integrated DP Master interface shown in the upper left section of the screen. The Properties - PROF/BUS Node B /6D/I/6DO DO dialog box automatically opens. Here, set the PROFIBUS address for this DP slave to "4," and click OK to return to the HW Config station screen.

The detailed view of the configured ET 200B station in the lower section of the screen (ET 200B station must be selected) indicates the addresses occupied by this DP slave (input bytes I "0" to "1" and output bytes Q "0" to "1") . See figure 4.13. If you want to change the addresses suggested by HW Config , double click the relevant line in the table. The "DP Slave Properties" dialog box opens and displays the actual structure of the input and output data. Here you could change the addresses, if required. In the startup phase, this data structure information is sent to the DP slave with the configuration telegram.

74

4.2 Example Project with PROFIBUS DP

Figure 4.13 Station screen for the ET 200B DP slave in HW Config

To obtain a detailed view of the other station use the arrow button displayed in the top left comer to switch from one station to the other.

displays the detailed view of the selected DP slave (default setting)

displays the detailed view of the DP master system.

Now, double-click the DP slave shown in the upper half of the HW Config station screen. This opens the DP Slave Properties dialog box and the Properties tab (figure 4.14). In Properties you see some reference information for the configured DP slave, such as order number, device family, type and description. Some other important characteristics must be set by you.

Diagnostic Address

The CPU uses this diagnostic address to indicate a DP slave failure with organization block OB86 ("Rack failurelDP slave failure"). In addition, you can read out diagnostic information from this address explaining the cause of the DP slave fault. The diagnostic address is suggested by HW Con fig. You can change it if necessary.

SYNC/FREEZE Capabilities

This field indicates whether the DP slave is capable of executing a SYNC and/or FREEZE control command issued by the DP master. HW Config gets this information from the GSD file (device master file) of the DP slave. At this point, the SYNCIFREEZE capabilities are indicated only. You cannot change the settings.

75

4 Programming and Configuring PROFIBUS DP with STEP 7

Figure 4.14 Properties dialog box ofthe DP slave

Response monitoring

Response monitoring should be switched on to allow the DP slave to react to a fault in the communication with the DP master. If there is no data communication between slave and master beyond the predefined response monitoring delay, the DP slave 'switches to a safe state. All outputs are set to signal status "0" or, if supported by the DP slave, to substitute values.

Note that hazardous system states may occur if response monitoring is disabled. Response monitoring can be switched on and off for every individual DP slave.

On the Assigning Hexadecimal Parameters tab of the DP Slave Properties dialog box, you can specify the slave-related parameters of the DP slave. For contents and meaning of this data, see the documentation of the DP slave device. For the ET 200B station configured in our example, it is not possible to set any of these hexadecimal parameters. However, you must always set 5 bytes of "00" (default setting). The information stored in this dialog box is transmitted to the DP slave as part of the parameter telegram.

For DP slaves of the SIMATIC S7 series, it is not necessary to specify any parameters in hexadecimal format. The settings for the parameter telegram are provided directly by the HW Config configuration tool during configuration of the DP slave.

76

4.2 Example Project with PROFIBUS DP

ET 200M station

Our example configuration will also contain an ET 200M station. The ET200M device is of modular design and is equipped with an 8DII8DO module, an AI2 x 12 bit module and an A02x 12 bit module. Follow the same configuration procedure as for the ET 200B station. In the hardware catalog, open the hardware PROFIBUS DP folder, then open the ET 200M folder and select the interface module 1M 153-2. Connect the module to the S7-PROFIBUS DP network by dragging it to the integrated DP master interface. In the Properties - PROFIBUS Node ET 200M 1M 153-2 dialog box, set the PROFIBUS address for this DP slave to "5."

The detailed view of the configured ET 200M station displays a configuration table of eight lines which are numbered from 4 to 11. These 8 lines stand for the maximum of 8 modules from the S7-300 series which can be installed on the ET 200M station. To find the hardware modules of type 1M 153-2 that can be plugged into the ET 200 M unit, open the 1M 153-2 folder in the hardware catalog. The subfolders list the available modules. Open the DIIDO-300 folder, select signal module SM323 D181D08 x 24 VIO.5 A and move it to slot "4" of the detailed view of the ET 200M station, in the bottom section of the screen. Then, use the same procedure to place analog input module SM 331 AI2 x I2 bits in slot "5" and analog output module SM 332 A02 x I2 bits in slot "6" of the ET 200M station (see figure 4.15).

Figure 4.15 Station screen with detailed view of the ET 200M station in HW Con fig

77

4 Programming and Configuring PROFIBUS DP with STEP 7

Open the Properties - AI2 x 12 bits dialog box by double-clicking the analog input module SM 331AI2 x 12 bits in line 5 of the detailed view. Open the Inputs tab to set the parameters of the analog inputs as required. The following settings are available.

• General enabling of interrupts

• Separate enabling of the diagnostic interrupts

• Enabling and setting the limit values for process interrupts

• Type of measurement

• Measuring range

• Position of the measuring range module

• Integration time

For out example, enable the diagnostic interrupts, and quit the Inputs tab with OK.

The following parameters can be set in the Outputs.tab of the Properties dialog for analog output module SM 332 A02 x 12 bits (double-click line 6 of the detailed view).

• Enable diagnostic interrupt

• Type of output

• Output range

• Reaction to CPU-STOP

• Substitute values, if applicable

In our example configuration, use the suggested default settings for the analog output module, and confirm and quit with OK.

The SIMATIC 400(1) master station is now complete. Save your settings with Station ---7 Save and Compile and then quit the SIMATIC 400(1) station screen with Station ---7 Exit.

S7-300/CPU315-2DP as I slave

Before you connect the S7-300 programmable controller to the DP master system, you have to set up this PLC (object) in the project. Proceed as described earlier, when we inserted the S7-400 station in the project (see section 4.2.2.)

To configure the modules for the S7-300 station, start with SIMATIC Manager and open the station screen for the S7-300 in HW Config (see also section 4.2.4). Open the hardware catalog, and select SIMA TIC 300 and RACK-300. Then select the object Rail and drag it to the upper section of the station screen. A configuration table indicating the slots of the S7-300 mounting rail appears. Place power supply PS307 2A from the "PS-300" hardware catalog in slot 1 of the module rack. Next, open the folders CPU-300 and CPU 315-2DP and select CPU315-2DP with the designation "6ES7 315-2AFOI-0ABO." Move it to slot 2 of the module rack.

The Properties - PROFIBUS Node DP Master dialog box opens automatically. On the Network Settings tab, set the parameters for the DP interface integrated on the CPU. Set the PROFIBUS address to "6," and in the table further down, select the PROFIBUS subnet which you want to connect to the DPinterface of the CPU. We will configure only one PROFIBUS subnet.

78

4.2 Example Project with PROFIBUS DP

In our example, we will use the S7-300 programmable controller as a DP slave. Therefore, you must (re)configure the DP interface of the CPU315-2DP as a DP slave. To do this, double-click on the line DPMaster in the slot table. This opens the Properties - DP Master dialog box. On the Operating Mode tab, select the option "DP-Slave".

Now, change to the Configuration tab and select "new".

• Configuration of the input/output area on the DP slave for master-slave communication

• Configuration of the input/output area on the DP slave for direct data exchange (cross

communication) .

• Local diagnostic address of the DP slave interface. The diagnostic address on the Ad-

dresses tab IS not relevant when the CPU is in slave mode.

Fill in the dialog box as shown in Figure 4.16. Click on "OK". The entered configuration is accepted as the module. Enter a second module in the same way but with Address type "Output", Address "1000", Length "10" and Consistency "All". Select "OK" to accept the values. The configuration shown in Figure 4.17 is then displayed.

Figure 4.16 HW Con fig, "Properties of the DP Configuration"

79

4 Programming and Configuring PROFIBUS DP with STEP 7

Figure 4.17 HW Con jig, Properties - DP Interface

Click OK to return to the HW Config main screen of the S7-300 station. The newly configured operating mode "DP-Slave" is now shown for the DP interface. Save the station configuration for the S7-300 station in HW Config, and press the key combination "CTRL + TAB" to return to the S7-400 station screen. Finally, change to the "Configuration" window and open the configuration dialog by double-clicking on the first line. Complete the master-relevant parameters Address Type and Address specified in Figure 4.19, and confirm with "OK". Now double-click to open the configuration of the second line, and complete the Address Type with "Input" and Address with the value "1000". Click OK to confirm the values and return to the "DP Slave Properties" window (Figure 4.20).

80

4.2 Example Project with PROFIBUS DP

Figure 4.18 HW Config, DP Slave Properties dialog, Connection tab

Figure 4.19 HW Con fig, DP Master Properties dialog, Slave Configuration tab

81

4 Programming and Configuring PROFIBUS DP with STEP 7

Figure 4.20 HW Config, "DP Slave Properties Configuration"

Figure 4.21 HW Config, station screen of the SIMA TIC 400 station for sample project

82

5 DP User Program Interfaces

Introduction

The user program treats the distributed 110 connected to a SIMATIC S7 system in exactly the same way as those inputs and outputs that are locally connected in the central rack or expansion rack. Data communication with the DP slaves is handled by the process image input and output tables of the CPUs, or by direct 110 access commands from the user program.

Interfaces and functions are available to handle and evaluate process and diagnostic interrupts. The CPUs of the SIMATIC S7 series also allow you to change and adjust the parameter sets for the S7 DP and DPV1 slaves from within the user program.

A PROFIBUS network makes frequent use of coherent data areas with' data structures using more than 4 bytes. Therefore, data communication with DP slaves that have more complex functions and data structures cannot be handled by simple 110 access commands from within the user program. SIMA TIC S7 systems provide special system functions for communication with such DP slaves.

This chapter gives you an overview of general DP-related functions and interfaces of the SIMATIC S7 user program. The knowledge you gain from this chapter will help you to understand the practical examples described in chapters 6 and 7.

5.1 Basics of DP User Program Interfaces

5.1.1 Organization Blocks (OBs)

SIMATIC S7 CPUs offer a wide range of OBs (Organization Blocks) for executing the user program. Organization blocks are the interface between the CPU operating system and the user program. OBs are embedded in the user program. They have the task of executing special parts of the program upon certain events. For instance, when a hardware interrupt is triggered by an S7 DP or a DPV1 slave, or when a DP slave fails, the operating system of the S7 CPU calls the organization block dedicated to this situation. OBs permit event-controlled execution of the S7 user program. The event-driven call of an OB by the operating system usually interrupts the OB just being processed. Therefore, a system of priority classes (figure 5.1) applicable to all CPUs of the SIMATIC S7 series defines which OB is allowed to interrupt another OB. Higher priority OBs can interrupt lower priority OBs.

83

5 DP User Program Interfaces

Increasing priority

Figure 5.1

Priority classes of the organization blocks

Priority can be set

"1" is the lowest priority, and "29" is the highest priority.

When called by the operating system, each OB supplies 20 bytes of local data (variables) containing various pieces of information. The meaning of this local data depends on the OB. A description of the individual OBs and their local data is included in sections 5.2.1

to 5.2.7. The names of the variables are standard STEP 7 designations. .

5.1.2 DP-Related System Functions (SFCs)

SIMA TIC S7 systems provide a number of important DP-related system functions. These are called up by special functions integrated in the operating system of the S7 CPUs _ the SFCs (System Function Calls).

General SFC parameters

Some SFC parameters are identical in meaning and function for all SFC calls described later in this chapter. This particularly applies to the SFC input parameters REQ, BUSY, LADDR, and the SFC output parameter RET_ VAL.

REQ

Some SFCs have the REQ parameter to start the system function. If the REQ parameter transfers a logical "1" to theSFC when the function is called, the called function is

84

5.1 Basics of DP User ProgramInterfaces

executed. Remember that some SFCs are processed asynchronously (i.e., by means of several SFC calls and thus over several CPU cycles). Do not forget to consider the BUSY parameter.

BUSY

The BUSY parameter indicates whether the called SFC has been concluded. As long as the BUSY parameter is at "1," the called function is active.

LADDR

Depending on the SFC called, the LADDR input parameter defines either the logical start address configured in the HW Config program or the diagnostic address of the DP slave resp. of the input/output module. Although this address is configured in the HW Config program in decimal format, it must be specified in hexadecimal format in the block.

RET_VAL

All SFCs have an output parameter called RET_ VAL. It returns a value informing whether execution of the system function was successful. If an error occurs while the SFC is being processed, the return value contains an error code. The re~urn values in the RET_ VAL output parameter of SFCs are divided into two classes.

I> General error codes

I> SFC-related error codes

The return value (figure 5.2) shows whether the error code is general or specific.

The general error codes described in table 5.1 are the same for all system functions. The format of the error code is hexadecimal. The letter "x" in the error code numbers is only used as a placeholder. It stands for the number of the parameter of the system function that caused the error.

RET_VAL=W#l6#8xyz

II

Number of the error (if SFC-specific error code) or event (if general error)

If x = 0, SFC-specific error code If x > 0, general error code

In this case, x specifies the number of the SFC parameter which caused the error.

"fr' indicates that an error has occurred

Figure 5.2 Layout of the RET_ VAL SFC parameter

85

5 DP User Program Interfaces

Table 5.1 General RET_ VAL error codes

Error Code Explanation
w#l6# ....
8x7F Internal error
This error code indicates an internal error in parameter x. This error was not caused
by the user and can tberefore not be corrected by tbe user.
8x22 Area length error while reading a parameter
8x23 Area length error while writing a parameter
This error code indicates tbat parameter x is completely or partially outside
tbe address range, or tbe length of a bit field for a parameter of data type "ANY-
Pointer" is not divisible by 8.
8x24 Area length error while reading a parameter
8x25 Area length error while writing a parameter
This error code indicates that parameter x is located in an area which is not per-
mitted for the system function. The description of the function concerned indicates
the areas that are invalid for this function.
8x28 Offset error while reading a parameter
8x29 Offset error while writing a parameter
This error code indicates that tbe reference to parameter x is an address whose bit
address is not "0".
8x30 The parameter is located in tbewrite-protected global DB.
8x31 The parameter is located in the write-protected instance DB. This error code in-
dicates that parameter x is located in a write-protected data block. If the data block
was opened by tbe system function itself, tbe system function always provides the
value W#16#8x30 at its output.
8x32 The parameter contains a DB number which is too large (number error of tbe DB).
8x34 The parameter contains an FC number which is too large (number error of tbe FC).
8x35 The parameter contains an FB number which is too large (number error of the FB).
This error code indicates tbat parameter x contains a block number which is larger
than tbe maximum permissible block number.
8x3A The parameter contains the number of a DB which is not loaded.
8x3C The parameter contains tbe number of an FC which is not loaded.
8x3E The parameter contains tbe number of an FB which is not loaded.
8x42 An access error occurred while tbe system was attempting to read a parameter
from the I/O area of tbe inputs.
8x43 An access error occurred while the system was attempting to write a parameter to
the I/O area of the outputs.
8x44 Error during nth (n > 1) read access after occurrence of an error
8x45 Error during nth (n > 1) write access after occurrence of an error
This error code indicates tbat access to tbe requested parameter is not permitted. 86

5.1 Basics of DP User Program Interfaces

Memory areas used for the SFC call parameters

For the identifiers used for the memory areas with the SFC parameters, see table 5.2.

Table 5.2 Memory areas of the SFC parameters

Type Memory Area Unit
E Process image input table Input (bit)
Input byte (IE)
Input word (IW)
" Input double word (ID)
A Process image output table Output (bit)
Output byte (QB)
Output word (QW)
Output double word (QD)
M Memory Bit memory (bit)
Memory byte (MB)
Memory word (MW)
Memory double word (MD)
D Data block Data bit
Data byte (DBB)
Data word (DBW)
Data double word (DBD)
L Local data Local data bit
Local data byte (LB)
Local data word (L W)
Local data double word (LD) 5.1.3 Basics of SIMA TIC S7 Data Records

All system data and parameters are stored on S7 modules in the form of data records. The individual data records are numbered from 0 to a maximum of 240. Not all modules have access to all data records.

Depending on the type of S7 module used, there are system data areas which the user program can only write to, or only read from.

Table 5.3 shows the layout of the system data areas which can only be written to. It lists how large the individual data records may be and which SFCs can be used to transfer them to the modules.

Table 5.4 shows the layout of the system data areas which can only be read. The table lists how large the individual data records may be and which SFCs can be used to read them.

87

5 DP User Program Interfaces

Table 5.3 Layout of system data areas on S7 modules which can only be written to

Data Record Contents Size Restrictions Write Access With
Number
0 Parameter With S7-300: Write access for SFC56 WR_DPARM
2 to 14 bytes S7-400 only SFC57 PARM_MOD
1 Parameter With S7-300: _ SFC55 WR_PARM
2 to 14 bytes SFC56 WR_DPARM
(DRO andDRl SFC57 PARM_MOD
have exactly 16
bytes together.)
2 to 127 User data Up to 240 bytes _ " SFC55 WR_PARM
SFC56 WR_DPARM
SFC57 PARM_MOD
SFC58 WR_REC
128 to 240 Parameter Up to 240 bytes _ SFC55 WR_PARM
SFC56 WR_DPARM
SFC57 PARM_MOD
SFC58 WR_REC Table 5.4 Layout of the system data areas on modules which can only be read

Data Record Contents Size Read Access With
Number
0 Module-related diagnostic 4 bytes SFC51 RDSYSST
data (INDEX OOB lH)
SFC59 RD _REC
1 Channel-related _ With S7-300: 16 bytes SFC51 RDSYSST
diagnostic data _ With S7 -400: 7 to (INDEX 00B2H and
(incl. data record 0) 220 bytes 00B3H)
SFC59 RD _REC
2 to 127 User data Up to 240 bytes SFC59 RD _REC
128 to 240 Diagnostic data Up to 240 bytes SFC59 RD_REC For every newly triggered transmission of a data record, resources (i.e., memory space) are allocated on the CPU for the asynchronous job processing of the SFCs. When several jobs are active at the same time, it is ensured that all jobs will be performed and that they do not affect each other. However, only a certain number of SFC calls may be active simultaneously. For the maximum possible number of SFC calls, see the performance data of the S7 CPU you are using. When the maximum amount of allocable resources is reached, an appropriate error code is transmitted by the RET_ VAL parameter. If this happens, the SFC must be triggered again.

The individual parameters in the data records can be static or dynamic. To change a static module parameter, such as an input delay of a digital input module, you must use the HW Config program.

Dynamic parameters are handled differently. They can be changed during running operation. For instance, if you want to change the limit values of an analog input module, you can do that by calling an SFC.

88

5.2.organization.Blocks

5.2 Organization Blocks

5.2.1 Cyclically Processed Main Program (OBI)

The main program is executed in OBI. OBI calls up function blocks (FBs), standard function blocks (SFBs) or functions by means of function calls (FCs) and system function calls (SFCs). OBI is processed cyclically. It is executed for the first time after the startup OBs have been processed (OBlOO for warm restart or OBIOI for hot restart or OBI02 for cold restart). At the end of the OB I cycle, the operating system transfers the process image output table to the output modules. Before OB I is started again, the operating system updates the process image input table by reading the current signal states of the input 110. This procedure is continuously repeated. This is what we call "cyclic processing." Of all the OBs whose run-time is monitored, OB I has the lowest priority. It can therefore be interrupted by higher priority OBs.

The CPUs of SIMATIC S7 programmable controllers allow you to monitor the maximum cycle time. This is the processing time for OB 1. You can also ensure that a minimum cycle time for processing OB 1 is observed. If you have set a minimum cycle time, the CPU operating system delays another start of OB 1 until this time is reached. You can define the parameters for cycle monitoring and minimum cycle time in the HW Config program, under CPU Properties. For the meaning of the local data of OBs, see table 5.5.

Table 5.5 Local data of OB 1

Variable Data Type Description
OB1_EV_CLASS BYTE Event class and identifiers: B#16#11 = Alarm is active
OB1_SCAN_l BYTE B# 16#0 1 = Conclusion of warm restart
B#16#02 = Conclusion of hot restart
B#16#03 = Conclusion of free cycle
OB 1_PRIORITY BYTE Priority class "1"
OB1_OB_NUMBR BYTE OB number (01)
OB1_RESERVED_l BYTE Reserved
OB1_RESERVED_2 BYTE Reserved
OB1_PREV _CYCLE INT Run time of the previous cycle (msec)
OB 1_MIN_CYCLE !NT Minimum cycle time (msec) since the last startup
OB1_MAX_CYCLE INT Maximum cycle time (msec) since the last startup
OB1_DATE_TIME DT Date and time at which the OB was requested Format for the representation of hexadecimal numbers

Data type Byte B#16#x (Value range for x from "0" to "FF")

Data type Word W#16#x (Value range for x from "0" to "FFFF")

Data type Double Word DW#16#x (Value range for x from "0" to "FFFFFFFF")

89

5 DP User Program Interfaces

5.2.2 Process Interrupts (OB40 to OB47)

The CPUs of the SIMATIC S7 programmable controllers provide eight different OBs (OB40 to OB47) for reacting to process interrupts. For those S7 DP slaves that support process interrupts, you can define the channels, general conditions and the OB number in the HW Config hardware configuration program.

When an S7 DP slave triggers a process interrupt, this is identified by the CPU operating system, and the appropriate OB is started according to its priority. After the user program in the interrupt OB has been processed (the OB is concluded), an acknowledgment message is sent to the S7 DP slave that caused the interrupt.

If another interrupt signal arrives while the OB is still processing the first interrupt, the second. request is registered and stored, and the OB is processed at the appropriate time. This is the procedure in S7-400 systems. With S7-300 systems, the second process interrupt is lost if the event causing it is no longer queued after acknowledgment of the interrupt just processed.

The process interrupt OBs supply 20 bytes of local data. Among other things, this data contains the logical base address of the module which generated the interrupt. For a description of the local data, refer to table 5.6.

Table 5.6 Contents of the local data, OB40 to OB47

Variable Data Type Description
OB4x_EV _CLASS BYTE Event class and identifiers: B#16#11 = interrupt is active
OB4x_STRT _INF BYTE B#16#41 = interrupt through interrupt line 1
Only with S7-400:
B#16#42 = Interrupt through interrupt line 2
B#16#43 = Interrupt through interrupt line 3
B#16#44 = Interrupt through interrupt line 4
OB4x_PRIORITY BYTE Priority class "16" (OB40) to "23" (OB47) (default)
OB4x_OB_NUMBR BYTE OB no. (40 to 47)
OB4x_RESERVED_1 BYTE Reserved
OB4x_IO_FLAG BYTE B# 16#54 = input module
B#16#55 = output module
OB4x_MDL_ADDR WORD Logical base address of the module which triggered the
interrupt
OB4x_POINT_ADDR DWORD For digital modules:
Bit field with the states of the inputs on the module
For analog modules (CP or 1M):
Interrupt state of the module
OB4x_DATE_ TIME DT Date and time at which the OB was requested 90

5.2 Organization Blocks

5.2.3 Status Interrupt (OB55)

OB85 is called by the operating system of the S7-CPU when a status interrupt has been triggered from a slot of a DPVl slave. The status interrupt OB is only available on DPV1-enabled S7-CPUs. These CPUs provide the OB55 for processing status interrupts. If OB55 has not been programmed, the CPU remains in RUN, and an entry is made in the diagnostic buffer of the CPU.

The status interrupt OB supplies 20 bytes of local data. Among other things, this data contains the logical base address and the slot of the module that generated the status interrupt. Please refer to Table 5.7 for a description of the local data.

Table 5.7 Local data of OB55

OB55_EV _CLASS BYTE Event class and identifiers:
B#16#11 (coming interrupt)
OB55_STRT_INF BYTE B#16#55 (start request for OB55)
OB55_PRIORlTY BYTE Parameterized priority class, default value: 2
OB55_OB_NUMBR BYTE OB number (55)
OB55_RESERVED_1 BYTE Reserved
OB55_IO_FLAG BYTE Input module: B#16#54
Output module: B#16#55
OB55_MDL_ADDR WORD Logical base address of the interrupt -generating component
(module)
OB55_LEN BYTE Length of the data block supplying the interrupt
OB55_TYPE BYTE Identifier for the interrupt type "Status interrupt"
OB55_SLOT BYTE Slot number of the interrupt-generating component
(module)
OB55_SPEC BYTE Specifier:
Bit 0 to 1: Interrupt specifier
Bit 2: Add_Ack
Bit 3 to 7: Sequence number
OB55_DATE __ TIME DT Date and time at which the OB was requested 91

5 DP User Program Interfaces

5.2.4 Update-Interrupt (OB56)

SIMATIC S7-CPUs recognize and register the arrival of an update interrupt by calling OB56. The update interrupt OB is only available on DPVl-enabled S7-CPUs. It is called by the operating system of the CPU if an update interrupt has been generated from a slot or a module of a DPVl slave. If OB56 has not been programmed, the CPU remains in RUN and an entry is made in the diagnostic buffer of the CPU.

The update interrupt OB supplies 20 bytes of local data. Among other things, this data contains the logical base address and the slot of the module that generated the status interrupt. Please refer to Table 5.8 for a description of the local data.

Table 5.8 Local data of OB56

OB56_EV _CLASS BYTE Event class and identifiers:
B#16#11 (coming interrupt)
OB56_STRT_INF BYTE B#16#56 (start request for OB56)
OB56_PRIORITY BYTE Parameterized priority class, default value: 2
OB56_OB_NUMBR BYTE OB number (56)
OB56_RESERVED_1 BYTE Reserved
OB56_IO_FLAG BYTE Input module: B#16#54
Output module: B#16#55
OB56_MDL_ADDR WORD Logical base address of the interrupt -generating component
(module)
OB56_LEN BYTE Length of the data block supplying the interrupt
OB56_TYPE BYTE Identifier for the interrupt type "Update interrupt"
OB56_SLOT BYTE Slot number of the interrupt -generating component
(module)
OB56_SPEC BYTE Specifier:
Bit 0 to 1: Interrupt specifier
Bit 2: Add_Ack
Bit 3 to 7: Sequence number
OB56_DATE_TIME DT Date and time at which the OB was requested 92

5.2 Organization Blocks

5.2.5 Vendor-Specific Interrupt (OB57)

The SIMATIC S7-CPUs provide OB57 for detecting vendor-specific interrupts. The operating system of the CPU calls OB57 if a vendor-specific interrupt has been generated from a slot of a DPVl slave. The interrupt OB for vendor-specific interrupts is only available on DPVl-enabled S7-CPUs. If OB57 has not been programmed, the CPU remains in RUN. An entry is simply made in the diagnostic buffer of the CPU.

OB 57 supplies 20 bytes of local data. Among other things, this data contains the logical base address and the slot of the module that generated the interrupt. Please refer to Table 5.9 for a description of the local data.

Table 5.9 Local data of OB57

OB57 _EV _CLASS BYTE Event class and identifiers:
B#16#11 (coming interrupt)
OB57 _STRT_INF BYTE B#16#57 (start request for OB57)
OB57 _PRIORITY BYTE Parameterized priority class, default value: 2
OB57 _OB_NUMBR BYTE OB number (57)
OB57_RESERVED_1 BYTE Reserved
OB57_IO_FLAG BYTE Input module: B#16#54
Output module: B#16#55
OB57 _MDL_ADDR WORD Logical base address of the interrupt-generating component
(module)
OB57_LEN BYTE Length of the data block supplying the interrupt
OB57_TYPE BYTE Identifier for the interrupt type "Update interrupt"
OB57_SLOT BYTE Slot number of the interrupt-generating component
(module)
OB57_SPEC BYTE Specifier:
Bit 0 to l: Interrupt specifier
Bit 2: Add_Ack
Bit 3 to 7: Sequence number
OB57_DATE_TIME DT Date and time at which the OB was requested 93

5 DP User Program Interfaces

5.2.6 Diagnostic Interrupts (OB82)

The CPUs of SIMATIC S7 programmable controllers provide organization block OB82 to detect and evaluate diagnostic interrupts. This OB is triggered when a DP slave with diagnostic capability detects an error (also called "event"). The CPU operating system calls OB82 in two situations - when a diagnostic interrupt has "come" and when it has "gone". However, two conditions must be met for this to be true: the DP slave must be capable of supporting this function, and you must have defined the diagnostic alarm in the parameter set for the DP slave using the HW Config program.

If you have not programmed OB82, the CPU reacts to a diagnostic interrupt by going into the STOP state. OB82 provides you with detailed information about the error that caused the interrupt on the DP slave. The 20 bytes of local data of OB82 (table 5.10) contain, amongother things, the logical base address of the faulty DP slave or the faulty module of the DP slave, and four bytes of diagnostic information.

Table 5.10 Local data of OB82

Variable Data Type Description
OB82_EV _CLASS BYTE Interrupt class and identifiers:
B#16#38 = going interrupt
B#16#39 = coming interrupt
OB82_FLT_ID BYTE B#16#42 = error code
OB82_PRIORITY BYTE Priority class
"26" (default value for RUN operational state) or
"28" (STARTUP operational state)
OB82_OB_NUMBR BYTE OB number (82)
OB82_RESERVED_1 BYTE Reserved
OB82_IO_FLAG BYTE B# 16#54 = input module
B#16#55 = output module
OB82_MDL_ADDR INT Logical base address of the module
on which the error occurred
OB82_MDL_DEFECT BOOL Module fault
OB82_INT_FAULT BOOL Internal error
OB82_EXT_FAULT BOOL External error
OB82_PNT_INFO BOOL Channel error
OB82_EXT_ VOLTAGE BOOL External auxiliary voltage missing
OB82_FLD_CONNCTR BOOL Front plug connector missing
OB82_NO_CONFIG BOOL Parameter set for module missing
OB82_CONFIG_ERR BOOL Wrong parameters on the module Continued on page 95

94

5.2 Organization Blocks

Table 5.10 Continued

Variable Data Type Description
OB82_MDL_TYPE BYTE Bits 0 to 3: Module class
Bit 4: Channel information present
Bit 5: User information present
Bit 6: Diagnostic interrupt from substitute
Bit 7: In reserve
OB82_SUB_MDL_ERR BOOL User module wrong/missing
OB82_COMM_FAULT BOOL Communication error
OB82_MDL_STOP BOOL Operating state (0: RUN, 1: STOP)
OB82_ WTCH_DOG_FL T BOOL Time monitoring has been triggered
OB82_INLPS_FLT BOOL Internal module supply voltage has failed
OB82_PRlM_BATT_FL T BOOL Battery dead
OB82_BCKUP _BATT_FL T BOOL Entire battery backup failed
OB82_RESERVED_2 BOOL Reserved
OB82_RACK_FL T BOOL Expansion rack failure
OB82_PROC_FLT BOOL Processor failure
OB82_EPROM_FLT BOOL EPROM error
OB82_RAM_FLT BOOL RAM error
OB82_ADU _FL T BOOL ADCIDAC error
OB82_FUSE_FL T BOOL Fuse blown
OB82_HW _INTR_FL T BOOL Process interrupt lost
OB82_RESERVED _3 BOOL Reserved
OB82_DATE_ TIME DT Date and time at which the OB was requested 5.2.7 InsertlRemove Module Interrupts (OB83)

The CPUs of the SIMATIC S7-400 series regularly check the presence of modules in the central rack and expansion rack. Modules that are plugged into DPVl and S7 SP slaves, such as the ET 200MlIM 153-2 module, and are thus decentrally connected to the S7 system, are also verified by this monitoring function. If a configured module is removed from a modular DP slave while the S7 CPU is in the RUN state, the interrupt OB83 is triggered and, in addition, an entry is made in the diagnostic buffer and the module status list. If the module is removed from the slave while the S7 CPU is in the STOP state or is just starting up, the interrupt is registered in the diagnostic buffer and the module status list of the CPU, but OB83 is not called.

If a configured module is inserted while the CPU is running, the CPU checks whether the type of the inserted module matches the configuration. It then calls up OB83 and, provided that the module type is correct, the module is loaded with the parameter set which you have

95

5 DP User Program Interfaces

configured on the CPU using the HW Config program. At this point you may also call system functio~s (SFCs) to change the parameters of the reinserted module. Table 5.11 describes the local data of OB83.

Table 5.11 Local data of OB83

Variable Data Type Description
OB83_EV _CLASS BYTE Interrupt class and identifiers:
B#I6#38 = Module inserted
B#16#39 = Module removed or
cannot be addressed
OB83_FLT_ID BYTE Error code: (possible values: B#16#61, B#16#63,
B#16#64,B#16#65)
OB83_PRIORITY BYTE Priority class
"26" (default value for RUN state) or
"28" (STARTUP state)
OB83_OB_NUMBR BYTE OB number (83)
OB83_RESERVED_1 BYTE Reserved
OB83_MDL_ID BYTE B# 16#54 = VO area of the inputs (PE)
B#16#55 =I!O area of the outputs (PA)
OB83_MDL_ADDR WORD Logical base address of the affected module
OB83_RACK_NUM WORD Number of the module rack or number of the DP
station and DP master system ID (high byte)
OB83_MDL_TYPE WORD Module type of the affected module
OB83_DATE_TIME DT Date and time at which the OB was requested A mismatch between the module type configured and the module type actually inserted in the DP slave is registered by local variable OB83_MDL_TYPE. Depending on the error code written to this variable, one of the following error messages is issued in this situation:

Table 5.12 Error codes reported by local variable OB83_FfL_ID

Error Codes in I Error, depending on the contents of OB83_MDL_TYPE

OB83_FLT_ID

Module inserted, module type okay (for interrupt class B#16#38)

Module removed or cannot be addressed (for interrupt class B#16#39)

for OB83_MDL_TYPE= actual module type

B#16#61

B#16#63

Module inserted but wrong module type

for OB83_MDL_TYPE = actual module type

B#16#64

Module inserted but faulty (type ID cannot be read)

For OB83_MDL_TYPE = set module type

B#16#65

Module inserted but error in the module parameters For OB83_MDL_TYPE=actual module type

96

5.2 Organization Blocks

5.2.8 Program Sequence Error (OB85)

The operating system of the S7 CPU calls OB85 when the user program calls a block which is not loaded, or when the operating system calls an OB which was not programmed. OB85 is also called when an 110 access error occurs while the process image table is being updated. Such a situation can occur when the addresses configured for the inputs and outputs of a DP slave are located in the process image table of the S7 CPU and the DP slave has broken down. If you do not program OB85, the S7 CPU reacts to these errors by changing to the STOP state.

Table 5.13 shows the original contents of the local data of OB85. Table 5.14 is a suggestion of how to structure the local data of OB85 so that the user program can evaluate the error codes. The hexadecimal error codes "B 1" and "B2" of the OB85 _FTL_ID variables are particularly important when you use distributed 110 in your S7 system.

Table 5.13 Local data of OB85 (original structure)

Variable Data Type Description
OB85_EV _CLASS BYTE Interrupt class and identifiers (e.g., B#16#39 for "error
while updating process image")
OB85_FLT_ID BYTE Error code: (Possible values: B#16#)\1, B#16#A2,
B#16#A3, B#16#Bl, B#16#B2)
OB85_PRIORITY BYTE Priority class
"26" (default value for RUN state)
or
"28" (STARTUP state)
OB85_OB_NUMBR BYTE OB number (85)
OB85_RESERVED_1 BYTE Reserved
OB85_RESERVED_2 BYTE Reserved
OB85_RESERVED_3 INT Reserved
OB85_ERR_EV _CLASS BYTE Class of the interrupt which caused the error
OB85_ERR_EV _NUM BYTE Number of the interrupt which caused the error
OB85_OB_PRIOR BYTE Priority class of the OB which was being processed
when the error occurred
OB85_OB_NUM BYTE Number of the OB which was being processed when
the error occurred
OB85_DATE_TIME DT Date and time at which the OB was requested 97

5 DP User Program Interfaces

Table 5.14 Structure of the local data of OB85 for error-code-dependent programming

Variable Data Type
OB85_EV _CLASS BYTE
OB85_FLT_ID BYTE
OB85_PRIORITY BYTE
OB85_OB_NUMBR BYTE
OB85_DKZ23 BYTE
OB85_RESERVED_2 BYTE
.'
OB85_ZI WORD
OB85_Z23 DWORD
OB85_DATE_TIME DATE_AND_TIME Table 5.15 explains the error code reported by variable OB85_FLT_ID. The meaning of this error code depends on the contents of variables OB85_DKZ23, OB85_Zl and OB85_Z23.

Error Code OB85_FLT_ID

Table 5.15 OB85_FLT_ID error codes

Meaning of Error

B#16#AI

In accordance with the STEP 7 program, the program or operating system generates a start event for an OB, but this OB is not loaded on the CPU.

B#16#A2

In accordance with the STEP 7 program, the program or operating system generates a start event for an OB, but this OB is not loaded on the CPU.

The following additional information is provided by variables OB85_ZI and OB85_Z23.

OB85_ZI: Class of the event which caused the error (value of the interrupted program level)

OB85_Z23:

High word: Reports class and number of the triggering event Low word: Low word: Reports active program level and active OB at time of error

B#16#A3

Error while the operating system was accessing a block.

The following additional information is provided by variables OB85_ZI and OB85_Z23.

OB85_ZI: Detailed error identifier of the operating system

High byte: I: Integrated function

2: IEC timer

Low byte: 0: No error resolution I: Block not loaded 2: Area length error

3: Write protection error

98

Continued on page 99

Table 5.15 Continued

5.2 Organization Blocks

Error Code OB85_FLT_ID

Meaning of Error

OB85_Z23:

High word:

Low word:

Block number

Relative address of the MC7 command causing the error. For block type, see local variable OB85_DKZ23.

B#16#88=OB

B#16#8C=FC

B#16#8E=FB

B#16#8A=DB

B#16#BI B#16#B2

I/O access error while updating the process image input table

I/O access error while transferring the process image output table to the output modules

The following additional information is provided by variables OB85_ZI and OB85_Z23.

OB85_ZI: Reserved for internal use by CPU

OB85_Z23: Number of the I/O byte which caused the I/O access error (PZF)

5.2.9 Rack Failure (OB86)

The operating system of the S7 CPU reacts to a failure (coming event) or recovery (going event) of an expansion rack, DP master system or a DP slave by calling organization block OB86. If you do not program OB86, the S7 CPU changes to the STOP state when this type of event occurs.

Table 5.16 shows the original structure of the local data of OB86. The structure shown in table 5.17 is a suggestion on how to organize the local data of OB86 so that you can run a simple, error-code-dependent evaluation by means of the user program. The hexadecimal error codes "C3", "C4", and "C?" of variables OB86_FTL_ID are of particular importance when you use distributed I/O in your S7 system.

Table 5.16 Local data of OB86

Variable Data Type Description
OB86_EV _CLASS BYTE Event class and identifiers:
B#16#38 = Going event
B#16#39 = Coming event
OB86_FLT_ID BYTE Error code: (Possible values: B#16#CI, B#16#C2,
B#16#C3, B#16#C4, B#16#C5, B#16#C6, B#16#C7) Continued on page 100

99

5 DP User Program Interfaces

Table 5.16 Continued

Variable Data Type Description
OB86_PRIORITY BYTE "26" (default value for RUN state)
or
"28" (STARTUP operational state)
OB86_ OB_NUMBR BYTE OB number (86)
OB86_RESERVED _l BYTE Reserved
OB86_RESERVED_2 BYTE Reserved
OB86_MDL_ADDR WORD Depends on error code
OB86_RACKS_FL TD ARRAY Depends on error code
[0 .. 31] OF
BOOL
OB86_DATE_TIME DT Date and time at which OB was requested Table 5.17 Local data structure of OB86 for error-code-dependent programming

Variable Data Type
OB86_EV _CLASS BYTE
OB86_FLT_ID BYTE
OB86_PRIORITY BYTE
OB86_OB_NUMBR BYTE
OB86_RESERVED_1 BYTE
OB86_RESERVED_2 BYTE
OB86_MDL_ADDR WORD
OB86_Z23 DWORD
OB86_DATE_TIME DATE_AND_TIME Table 5.18 explains the error code reported by variable OB86_FLT_lD. The meaning of this error code depends on the contents of variables OB86_DKZ23, OB86_Zl and OB86_Z23.

100

You might also like