EasyManua.ls Logo

Siemens SIMATIC S7-1200 - Page 539

Siemens SIMATIC S7-1200
1614 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Extended instructions
9.10 Data block control
S7-1200 Programmable controller
System Manual, V4.2, 09/2016, A5E02486680-AK
539
You must create the data blocks for READ_DBL and WRIT_DBL prior to calling these
instructions in the STEP 7 program. If you created the source DB as a "standard" type then
the destination DB must also be the "standard" type. If you created the source data block as
an "optimized" type then the destination data block must also be the "optimized" type.
If the DBs are standard, then you can specify either a tag name or a P# value. The P# value
allows you to specify and copy any number of elements of the specified size (Byte, Word, or
DWord). Thus, you can copy part or all of a DB. If the DBs are optimized, you can only
specify a tag name; you cannot use the P# operator. If you specify a tag name for either
standard or optimized DBs (or for other work-memory types), then the instruction copies the
data that this tag name references. This could be a user-defined type, an array, or a basic
element. You can only use type Struct with these instructions if the DB is standard, not
optimized. You must use a user-defined type (UDT) if it is a structure in optimized memory.
Only a user-defined type ensures that the "data types" are exactly the same for both the
source and destination structures.
Note
Using a structure (data type Struct) in an "optimized" DB
When using a
Struct data type with "optimized" DBs, you must first create a user-defined
data type (UDT) for the Struct. You then configure both the source and destination DBs with
the UDT. The UDT ensures that the data types within the Struct remain consistent for bo
th
DBs.
For "standard" DBs, you use the Struct without creating a UDT.
READ_DBL and WRIT_DBL execute asynchronously to the cyclic program scan. The
processing extends over multiple READ_DBL and WRIT_DBL calls. You start the DB
transfer job by calling with REQ = 1 and then monitor the BUSY and RET_VAL outputs to
determine when the data transfer is complete and correct.
Note
Effect of WRIT_DBL and READ_DBL instruction on communication load
When the WRIT_DBL or READ_DBL instruction is continually active,
it can consume
communication resources to the point that STEP
7 loses communication with the CPU. For
this reason, use a
positive edge input (Page 233) for the REQ parameter rather than a
normally open or closed input
(Page 227
) that would remain on (signal level high) for multiple
scans.
To ensure data consistency, do not modify the destination area during the processing of
READ_DBL or the source area during the processing of WRIT_DBL (that is, as long as the
BUSY parameter is TRUE).
SRCBLK and DSTBLK parameter restrictions:
A data block must have been previously created before it can be referenced.
The length of a VARIANT pointer of type BOOL must be divisible by 8.
The length of a VARIANT pointer of type STRING must be the same in the source and
destination pointers.

Table of Contents

Other manuals for Siemens SIMATIC S7-1200

Related product manuals