Herunterladen Diese Seite drucken

Siemens SINUMERIK 840D sl Funktionshandbuch Seite 1530

Vorschau ausblenden Andere Handbücher für SINUMERIK 840D sl:

Werbung

Ausführliche Beschreibung
2.14 Programmiertipps mit STEP 7
FUNCTIONBLOCK FB 99
TITLE =
L
LAR1;
L
T
L
LAR1 ;
AUF
L
//Adressoffset 40
L
LAR1 ;
L
T
L
T
L
T
L
LAR1 ;
AUF
L
2.14.3.4
Variable POINTER bzw. ANY für Übergabe an FC oder FB
In STEP 7 ab der Version 1 besteht die Möglichkeit einen Pointer bzw. einen ANY in der
VAR_TEMP zu definieren. Eine Versorgung eines ANY soll im Folgenden an 2 Beispielen
dargestellt werden.
Beispiel 1 ANY-Parameter über eine Auswahlliste an einen anderen FB (FC) übergeben
An einem FB (FC) sind mehrere ANY-Parameter definiert. Es soll nun über eine Auswahlliste
ein bestimmter ANY-Parameter an einen anderen FB (FC) übergeben werden. Dieses
funktioniert nur über einen ANY in der VAR_TEMP. Im Parameter "WelcherAny" kann 1 bis 4
parametriert sein, um Addr1 bis Addr4 auszuwählen.
Hinweis
Im Baustein wird das Adressregister AR2 verwendet. Dieses Adressregister AR2 wird bei
auch bei Multi-Instanz DB verwendet. Deshalb darf dieser FB nicht als Multi-Instanz DB
erklärt sein.
2-248
P##Addr;
DIW [AR1,P#0.0];
#dbchr;
DID [AR1,P#2.0];
DB [#dbchr];
B [AR1,P#40.0];
P##Addr1;
//ANY holen aus Instanz-DB
DIB [AR1,P#1.0];
#typ;
DIW [AR1,P#2.0];
#Anzahl;
DIW [AR1,P#4.0];
#dbchr;
DID [AR1,P#6.0];
DB [#dbchr];
B [AR1,P#0.0];
Kommentar
//POINTER
//Pointer holen aus Instanz-DB
//DB-Nummer holen
//Offsetteil des Pointers
//Db der Variablen aufschlagen
//hole Byte-Wert über Pointer mit dem
//ANY
//ANY holen aus Instanz-DB
//Typ holen
//Anzahl holen
//DB-Nummer holen
//Offsetteil des Pointers
//Db der Variablen aufschlagen
//hole Byte-Wert über ANY
Grundfunktionen: PLC-Grundprogramm solution line (P3 sl)
Funktionshandbuch, 11/2006, 6FC5397-0BP10-2AA0

Werbung

loading

Diese Anleitung auch für:

Sinumerik810dSinumerik840dSinumerik840diSinumerik840di sl