Herunterladen Inhalt Inhalt Diese Seite drucken

Verwendung Von Pointer Und Any Im Fb, Wenn Pointer Bzw. Any Als Parameter Vorliegt - Siemens SINUMERIK 840D series Funktionshandbuch

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

Werbung

Ausführliche Beschreibung
2.14 Programmiertipps mit STEP 7
2.14.3.4
Verwendung von POINTER und ANY im FB, wenn POINTER bzw. ANY als Parameter
vorliegt
Funktionsbeschreibung
Der FB 99 hat Eingangsparameter, die als POINTER bzw. ANY definiert sind.
In dem Beispiel wird ein Rumpfprogramm gezeigt um auf die Teilkomponenten des
POINTER bzw. ANY zuzugreifen. Hierbei wird der über den POINTER, ANY parametrierte
DB aufgeschlagen und der Adressoffset als bereichsübergreifender Zeiger im Adressregister
AR1 hinterlegt. Somit kann auf Datenelemente der Variable (in der Regel Strukturen, Arrays)
zugegriffen werden, die über den POINTER, ANY adressiert sind.
Dieser Zugriff ist im Beispiel am Ende der jeweiligen Programmsequenz dargestellt. Bei dem
Datentyp ANY besteht zusätzlich die Möglichkeit anhand des Datentyps und der Anzahl von
Elementen eine Überprüfung bzw. Verzweigung beim Zugriff der Variablen durchzuführen.
Beispiel im FB, wenn POINTER bzw. ANY als Parameter vorliegt
FUNCTIONBLOCK FB 99
VAR_INPUT
Row : BYTE ;
Convert : BOOL ;
Addr : POINTER ;
Addr1 : ANY;
END_VAR
VAR_TEMP
dbchr : WORD ;
Anzahl : WORD ;
typ : BYTE;
END_VAR
BEGIN
NETWORK
TITLE =
L
LAR1;
L
T
L
LAR1 ;
AUF
L
//Adressoffset 40
L
LAR1 ;
2-268
//Zahlenwandlung aktivieren
//Zeigt auf Variable
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
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
Grundfunktionen: PLC-Grundprogramm powerline (P3 pl)
Funktionshandbuch, 11/2006, 6FC5397-0BP10-2AA0

Quicklinks ausblenden:

Werbung

Inhaltsverzeichnis
loading

Diese Anleitung auch für:

Sinumerik 840de powerlineSinumerik 840di powerlineSinumerik 840die powerlineSinumerik 840di seriesSinumerik 810d powerlineSinumerik 810de powerline ... Alle anzeigen

Inhaltsverzeichnis