2Use Of Pointer And Any In Fb - Siemens SINUMERIK 828D Function Manual

Hide thumbs Also See for SINUMERIK 828D:
Table of Contents

Advertisement

P3: Basic PLC Program for SINUMERIK 840D sl
13.15 Programming tips with STEP 7
Code
T
L
T
L
T
L
LAR1 ;
OPEN
L
13.15.2.2 Use of POINTER and ANY in FB
Function
FB 99 has inputs parameters that are defined as POINTER or ANY.
The example shows a body program via which the subcomponents of the POINTER or ANY can be accessed. In
this case, the DB parameterized with POINTER or ANY is opened and the address offset stored as a cross­area
pointer in address register AR1, thus allowing access to data elements of variables (generally structures and
arrays) that are addressed via the POINTER, ANY.
This access operation is described at the end of the relevant program sequence in the example. With data type
ANY, it is also possible to execute a check or branch when the variable is accessed based on the data type and
the number of elements involved.
Example
Code
FUNCTIONBLOCK FB 99
VAR_INPUT
Row : BYTE ;
Convert : BOOL ;
Addr: POINTER;
Addr1 : ANY ;
END_VAR
VAR_TEMP
dbchr : WORD ;
Number: WORD ;
type : BYTE ;
END_VAR
BEGIN
NETWORK
TITLE =
L
1078
#typ;
W [AR1,P#2.0];
#Amount;
W [AR1,P#4.0];
#dbchr;
D [AR1,P#6.0];
DB [#dbchr];
B [AR1,P#0.0];
P##Addr;
Comment
//Retrieve amount
//Retrieve DB number
//Offset part of pointer
//Open DB of variables
//Retrieve byte value using ANY
Comment
//Activate numerical conversion
//Points to variable
//POINTER
Function Manual, 09/2011, 6FC5397-0BP40-2BA0
Basic Functions

Advertisement

Table of Contents
loading

This manual is also suitable for:

Sinumerik 840d sl

Table of Contents