b04 Data Blocks
b04 Data Blocks
b04 Data Blocks
MODULE B4
Data blocks
This document was provided by Siemens A&D SCE (automation and drive technology, Siemens A&D
Cooperates with Education) for training purposes. Siemens does not make any type of guarantee regarding its
contents.
The passing on or duplication of this document, including the use and report of its contents, is only permitted
within public and training facilities.
Exceptions require written permission by Siemens A&D SCE (Mr. Knust: E-Mail:
michael.knust@hvr.siemens.de). Offences are subject to possible payment for damages caused. All rights are
reserved for translation and any case of patenting or GM entry.
We thank the company Michael Dziallas Engineering and the instructors of vocational schools as well as further
persons for the support with the production of the document.
PAGE:
1. Forward...................................................................................................... .......... 4
Information
Programming
Example exercise
Notes
1. FORWARD
Basics of
STEP 7- Programming
2 - 3 days A modules
Additional functions of
STEP 7- Programming
2- 3 days B Modules
IT- Communication
with SIMATIC S7
1- 2 days E modules
Learning goal:
In this module, the reader should learn how a data block can be used to save data.
Requirements:
For the successful use of this module, the following knowledge is assumed:
2 STEP 7
1 PC
3 PC Adapter
4 SIMATIC S7-300
Data Blocks (DBs) can be used by your program to save data in the CPU. Your hard disk contains
up to 8 KBytes ( 8192 Bytes ) space.
There are two types of data blocks. Global DBs, where all OBs, FBs and FCs read all saved data or
can even write in the DB and local instance DBs, which are assigned a particular FB.
In the DBs, different data types (e.g. BOOL or WORD ) can be saved in arbitrary order.
This structuring of a DB follows through input in a table with the tool
LAD, STL,FBD - S7 Block Programming .
In the program structure from STEP 7, data blocks are found as follows:
OB 1 FB 1 DB 10 DB 11
Call FB1, DB10 L DB11.DBW0 Global DB
For all
FBs
FCs
OBs
Instance DB
Local data only
FB1
BE
UC FC2
OB = Organization Block
FB = Function Block
FC = Function
DB = Data Block
Data blocks are generated and opened like program blocks in the tool LAD,STL,FBD: Program
blocks. They serve e.g. for the saving of data and system states.
In the following text, the generation of a simple example is described by the use of a global data
block:
Thereby values should be chosen with the switches 'S0' to 'S7' and displayed on an output module
‘Display‘. Thereby one has more switches by activation, where the representation of the value to
switch S7 has the highest priority and the representation of the value to switch S1 has the lowest.
Inputs:
- Switch S0 = I 0.0
- Switch S1 = I 0.1
- Switch S2 = I 0.2
- Switch S3 = I 0.3
- Switch S4 = I 0.4
- Switch S5 = I 0.5
- Switch S6 = I 0.6
- Switch S7 = I 0.7
Outputs:
- Display = QW4
In order to generate this program example, the following steps must be followed (Thereby the
program is dispensed with the creation of the hardware configuration):
3. In the name path, create the project with the name Testproject_DB.
(→ ’Testproject_DB’ → OK)
7. Enter the number DB10 for the data block and accept with OK (→ DB10 → OK).
Note: Data blocks with an assigned FB are automatically displayed by the call of your
associated FB. It makes no sense to create this alone. Data blocks with
assigned user defined data types (UDT) are data blocks, whose structure was
already assigned in this UDT.
10. The Data Block is generated with a symbol Name. The Type, an Initial value as well as a
Comment (optional) are entered.
The address is automatically generated and cannot be altered.
The data block can be saved and downloaded into the PLC . The mode switch on the
Symbolic name
which is referenced Desired data Initial value , to which Comment for
to the absolute type (see below) the data type must be documentation
address. for your data compatible ( optional ). ( optional ).
element.
The absolute address is created from
STEP 7, when the DB is compiled or
saved.
The address format is BYTE, BIT.
Over this address, the data elements can
also be accessed. (e.g. over download
and compile operations or in logical
operations.).
Note: If the data block is assigned as a local instance DB to a FB, the declarations table of the
FB declares the structure of the DB.
11. Values should be modified in a data block. It is not adequate to modify them in the field Initial
value . This is only possible, when one switches to the Data View under View ( → View →
Data View).
12. Now a new value can be entered in the field Actual value and saved onto the hard drive with
13. In order to generate the program with the accessible data elements, the OB1 must be opened
through a double click in SIMATIC Manager ( → SIMATIC Manager → OB1).
One can access one data element in a data block with the following instructions:
Example:
L DB 20. DBB2 Load data byte 2 from DB20 into ACCU 1
L DB 22. DBW4 Load data word 4 from DB22 into ACCU 1
A DB 2. DBX5.6 Carry out an AND- logical operation with data bit 5.6 from DB2.
In order to be able to access a data element over several data elements, the DB must first be
opened with the instructions OPN DB or OPN DI. Then several data bits (DBX/DIX),data bytes
(DBB/DIB), data words (DBW/DIW) or data double words (DBD/DID) can be processed in digital or
binary operations.
In doing so, one especially uses OPN DI for the opening of instance DBs. It can also be used for
global DBs, when 2 DBs remain open at the same time.
Example:
OPN DB 20 Opening of DB20
OPN DI 22 Opening of DB22
L DBW 0 Download data word 0 from DB20 into AKKU 1
T MW 1 Transfer the contents from ACCU 1 to memory bit 1
A DIX 0.0 AND- Operation from data bit 0.0 to DB22 with
A I 1.0 input bit 1.0
= Q 4.0 Assignment of the result to output bit 4.0
3. Access to data out of local instance DBs by call with the function block:
Data can be transferred by the call of the corresponding instance data block with the instruction
CALL FB1, DB19. The assignment of the variables that would be defined in the declarations table of
the FB and whose value stands in the DB, take place directly in the absolute address (e.g. IW0, M
10.0 or QW4) with the CALL instruction.
Example:
CALL FB1, DB19
COUNT:= IW 0 The variable COUNT is assigned to IW 0 as an absolute address.
OUT:= Q 4.0 The variable OUT is assigned to Q4.0 as an absolute address.
Note: The format of the variables and the assigned absolute address must be equal.
15. With LAD, STL, FBD: Program blocks, you now have an editor that give you the possibility to
generate your STEP 7-Program.
The schema for the selection of the data element through the button is shown for the first three
inputs as specified below.
If the organization block OB1 is not generated for all switches S0 to S7, it should be saved
and downloaded into the PLC . The mode switch of the CPU must be on STOP! ( → →
16. Through the switching of the key switch to RUN, the program is started.
If only one of buttons S0 to S7 is activated through inching, the display of the value in the data
block that is assigned takes place on the output module with the address QW4.