Herunterladen Inhalt Inhalt Diese Seite drucken

Siemens SINUMERIK840D sl Handbuch Seite 1222

Vorschau ausblenden Andere Handbücher für SINUMERIK840D sl:
Inhaltsverzeichnis

Werbung

Ausführliche Beschreibung
2.14 Programmiertipps mit STEP7
FUNCTIONBLOCK FB 99
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 STEP7 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.
1. an einem FB (FC) sind mehrere ANY-Parameter definiert. Es soll nun über eine
FUNCTIONBLOCK FB 100
CODE_VERSION1
VAR_INPUT
WelcherAny : INT;
Addr1 : ANY;
Addr2 : ANY;
2-242
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];
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
allerdings auch bei MultiInstanz DB verwendet. Deshalb darf dieser FB nicht als
MultiInstanzDB erklärt sein.
Kommentar
//Pointer holen aus Instanz-DB
//DB-Nummer holen
//Offsetteil des Pointers
//Db der Variablen aufschlagen
//hole Byte-Wert über Pointer mit dem
//ANY
//Typ holen
//Anzahl holen
//DB-Nummer holen
//Offsetteil des Pointers
//Db der Variablen aufschlagen
//hole Byte-Wert über ANY
Kommentar
//ab STEP7 Version 2 um MultiInstanzDB zu
deaktivieren
//feste Reihenfolge beachten
Funktionshandbuch, Ausgabe 03/2006, 6FC5397-0BP10-1AA0
PLC-Grundprogramm powerline (P3 pl)

Quicklinks ausblenden:

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis