EasyManuals Logo

Siemens SINUMERIK 840D sl Function Manual

Siemens SINUMERIK 840D sl
2184 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
Page #1534 background imageLoading...
Page #1534 background image
Detailed description
2.14 Programming tips with STEP 7
Basic logic functions: PLC basic program solution line (P3 sl)
260 Function Manual, 11/2006, 6FC5397-0BP10-2BA0
Note
When complex programs are implemented in multiinstance FBs that use a pointer and
address register, it is important for the programmer to observe certain rules.
With multiinstance DBs, the start address of the variable (VAR_INPUT, VAR_OUTPUT,
VAR_IN_OUT, VAR) is transferred with the DI data block register and address register AR2.
When variables are accessed within the multiinstance FB, the compiler independently
controls the access operation via address register AR2. However, when complex program
sections also have to work with address registers in the same FB (e.g., to copy data), then
the old contents of AR2 must be saved before the register is changed. The contents of AR2
must be restored to their original state before an instance variable (VAR_INPUT,
VAR_OUTPUT, VAR_IN_OUT, VAR) is accessed. The AR2 register of the instance is to be
saved most usefully in a local variable (VAR_TEMP).
The command "Load pointer to an instance variable" returns a pointer value from the start of
the instance data. To be able to access this variable via a pointer, the offset stored in AR2
must be added.
Example
FUNCTION_BLOCK FB 99 Comment
VAR_INPUT
varin: INT ;
END_VAR
VAR
variable1: ARRAY[0 to 9] of INT;
variable2: INT ;
END_VAR
BEGIN
L
P##variable1; //Pointer at start of ARRAY
//The value 8500 0010 is now in the accumulator
//and a cross-area pointer is in the AR2. If cross-area processing is to take
place, then an area should be skipped when these two pointers are added.
AD
DW#16#00FF_FFFF, //Skipping of an area
LAR1
//Load into AR1
TAR2;
+AR1 AR2;
//AR2 instance offset to be added
//The ARRAY of variable1 can now be accessed indirectly via AR1.
L
DIW [AR1, P#0.0]; //E.g., access to first element
END_FUNCTION_BLOCK

Table of Contents

Other manuals for Siemens SINUMERIK 840D sl

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the Siemens SINUMERIK 840D sl and is the answer not in the manual?

Siemens SINUMERIK 840D sl Specifications

General IconGeneral
Control TypeCNC
Number of AxesUp to 31
Max Number of Channels10
InterfacesEthernet, PROFIBUS, PROFINET, USB
Interpolation5-axis interpolation
Operating Temperature0°C to 45°C
Relative HumidityUp to 95% (non-condensing)
DisplayTFT color display, various sizes
Programming LanguagesDIN/ISO
Safety FeaturesSafety Integrated
PLCIntegrated PLC S7-300
Drive InterfaceSINAMICS S120
Data StorageCF card, USB
Operating SystemWindows-based

Related product manuals