Detailed description
2.14 Useful tips on programming with STEP 7
Power Line Basic PLC Program (P3)
2-260 Function Manual, 08/2005 Edition, 6FC5397-0BP10-0BA0
FUNCTIONBLOCK FB 99 Comment
dbchr : WORD ;
Number: WORD ;
type : BYTE ;
END_VAR
BEGIN
NETWORK
TITLE =
//POINTER
L P##Addr;
LAR1 ; //Retrieve pointer from instance DB
L DIW [AR1,P#0.0]; //Retrieve DB number
T #dbchr;
L DID [AR1,P#2.0]; //Offset part of pointer
LAR1 ;
OPEN DB [#dbchr]; //Open DB of variables
L B [AR1,P#40.0]; //Retrieve byte value using pointer
with
//address offset 40
//ANY
L P##Addr1;
LAR1 ; //Retrieve ANY from instance DB
L DIB [AR1,P#1.0]; //Retrieve type
T #typ;
L DIW [AR1,P#2.0]; //Retrieve amount
T #Amount;
L DIW [AR1,P#4.0]; //Retrieve DB number
T #dbchr;
L DID [AR1,P#6.0]; //Offset part of pointer
LAR1 ;
OPEN DB [#dbchr]; //Open DB of variables
L B [AR1,P#0.0]; //Retrieve byte value using ANY
2.14.3.4 POINTER or ANY variable for transfer to FC or FB
With version 1 or later of STEP7 it is possible to define a POINTER or an ANY in
VAR_TEMP. The following two examples show how an ANY can be supplied.
1. Several ANY parameters are defined in an FB (FC). A specific ANY parameter must now
be chosen from a selection list for transfer to another FB (FC). This can only be done by
means of an ANY in VAR_TEMP. 1 to 4 can be set in parameter "WhichAny" in order to
select Addr1 to Addr4.