Herunterladen Inhalt Inhalt Diese Seite drucken

Multi-Instanz Db - Siemens SINUMERIK 840D series Funktionshandbuch

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

Werbung

FUNCTIONBLOCK FB 99
L
T
L
T
L
T
L
LAR1 ;
AUF
L
2.14.4

Multi-Instanz DB

In STEP 7 ab der Version 2 können FBs Multi-Instanzfähig, d.h. mit Multi-Instanz DBs
versehen sein. Multi-Instanz DBs zeichnen sich dadurch aus, dass ein Datenbaustein für
verschiedene Instanzen von FBs verwendet werden kann, siehe Dokumentation STEP 7.
Somit kann das Mengengerüst der DBs optimiert werden.
Das Aktivieren von Multi-Instanz DBs sollte nur dann erfolgen, wenn diese auch genutzt
werden, da sich Laufzeit und Codegröße der FBs erhöhen.
Hinweis
Bei komplexeren Programmen in FBs, die Zeiger und Adressregister verwenden, sind bei
FBs, die Multi-Instanzfähig sein sollen, vom Programmierer bestimmte Regeln einzuhalten.
Bei Multi-Instanzen wird die Anfangsadresse der Variablen (VAR_INPUT, VAR_OUTPUT,
VAR_IN_OUT, VAR) mit dem DI-Datenbaustein-Register und dem Adressregister AR2
übergeben. Bei Zugriffen innerhalb des Multi-Instanzfähigen FB regelt der Compiler die
Zugriffe auf diese Variablen über das Adressregister AR2 selbstständig. Wenn allerdings
komplexere Programmteile in diesem FB auch mit Adressregistern arbeiten müssen (z.B.
Daten kopieren), dann ist vor dem Ändern des AR2 der bisherige Inhalt zu retten. Das AR2-
Register muss vor einem Zugriff auf eine Instanz-Variable (VAR_INPUT, VAR_OUTPUT,
VAR_IN_OUT, VAR) wieder mit dem ursprünglichen Inhalt restauriert sein. Das AR2
Register der Instanz ist am sinnvollsten in eine Lokal-Variable (VAR_TEMP) zu retten.
Der Befehl 'Zeiger auf eine Instanzvariable laden' liefert einen Zeigerwert ab dem Beginn der
Instanzdaten. Um auf diese Variable über Zeiger zugreifen zu können, ist der Offset, der im
AR2 steht, hinzuzurechnen.
Grundfunktionen: PLC-Grundprogramm powerline (P3 pl)
Funktionshandbuch, 11/2006, 6FC5397-0BP10-2AA0
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];
Ausführliche Beschreibung
2.14 Programmiertipps mit STEP 7
Kommentar
//Typ holen
//Anzahl holen
//DB-Nummer holen
//Offsetteil des Pointers
//Db der Variablen aufschlagen
//hole Byte-Wert über ANY
2-269

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