Baustein aufruf

zloyduh

Level-1
Beiträge
226
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Programmiersprache: AWL
Habe den gleichen Baustein mehrmals als Multiinstanz mit Parameter - Übergabe in einem Netzwerk aufgerufen. Und jetzt kommen mir die zweifel:
Wie oft kann ich einen Baustein mit Parameterübergabe / Netzwerk aufrufen??
:cool:

Danke im Vorraus:::
 
Programmiersprache: AWL
Habe den gleichen Baustein mehrmals als Multiinstanz mit Parameter - Übergabe in einem Netzwerk aufgerufen. Und jetzt kommen mir die zweifel:
Wie oft kann ich einen Baustein mit Parameterübergabe / Netzwerk aufrufen??
:cool:

Danke im Vorraus:::

Soviele Bausteine wie du vom Platz her hineinbekommst, kannst du auch aufrufen. Wichtig natürlich, jeder FB muß seinen eigenen Instanz-DB-bekommen.
 
verstehe nit ganz was du meinst...

Code:
CALL FB1,DB1
CALL FB1,DB1
CALL FB1,DB1

ergibt genau das gleiche wie

Code:
CALL FB1,DB1

wenn du das mehrmals aufrufen möchtest dann must du für jede Instanz einen neuen DB nehmen.


Code:
CALL FB1,DB1
CALL FB1,DB2
CALL FB1,DB3



ist es das was du meinst?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Multiinstanz heist das die Instanz eines FB im Instanz-DB des aufrufenden FB liegt.

Das heißt FB1 wird in FB 2 drei mal aufgerufen.
Dann besteht der Instanz-DB des FB2 aus drei mal Instanz-DB von FB1
 
Du programmierst z.B. den FB1 mit der gewünschten Funktion und den gewünschen Parametern.

Dann kannst du es so machen, wie es SB-Soft bereits geschrieben hat.
Im FB2 ...
Code:
Call FB1, DB1
... Parameter

Call FB1, DB2
... Parameter

Call FB1, DB3
... Parameter
Du kannst aber auch im FB2 in die Parameterliste statische Parameter vom Typ FB1 eintragen.
Z.B.
Name: Schrittkette1 vom Typ FB1
Name: Schrittkette2 vom Typ FB1
Name: Schrittkette3 vom Typ FB1

Dann schreibst Du im FB2 ...
Code:
Call "Schrittkette1"
... Parameter

Call "Schrittkette2"
... Parameter

Call "Schrittkette3"
... Parameter
Im OB1 schreibst Du dann ...
Code:
Call FB2, DB2
Es wird dann ein Instanz-DB mit 3 Instanz-Blöcken eingerichtet (Multi-Instanz-DB).
Call Schrittkette1 arbeitet mit dem 1.ten Block
Call Schrittkette2 arbeitet mit dem 2.ten Block
usw.

Gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Komische Antworten hier :confused:
Für mich ist eine Multiinstanz folgendes, im
Kopf (Statische Lokalvariabeln) eines FB, in
unseren fall zb FB1 wird ein anderer FB Deklariert,
zb FB2.

Code:
FB1

Stat_VAR
Aufruf_1   FB2
Aufruf_2   FB2

Call Aufruf_1
Call Aufruf_2

Wenn jetzt der FB1 mit seiner eigener Instanz zb DB1,
aufgerufen wird, stehen die Daten von diesen mehrfach
aufrufen in einer Instanz.
 
Zuletzt bearbeitet:
Wenn jetzt der FB1 mit seiner eigener Instanz zb DB1,
aufgerufen wird, stehen die Daten von diesen mehrfach
aufrufen in einer Instanz.

Siehe unterer Teil von Beitrag 7. :ROFLMAO: Ein DB enthält mehrere Instanz-Blöcke (Multi-Instanz-DB).
Die Daten von Schrittkette1 stehen z.B. in DBB0-9
die Daten von Schrittkette2 in DBB10-19
usw.
Der DB wird ja von Step7 selbst angelegt mit der benötigten Anzahl an Instanzen, je nachdem, wieviele Stat-Var vom Typ FB1 angelegt wurden.
Man kann den Multi-Instanz-DB ja auch gleich für 10 Schrittketten vorbereiten, indem man 10 Stat-Var vom Typ FB1 anlegt.

Natürlich geht auch...
Code:
Call FB1, DB1
Call FB1, DB2
Call FB1, DB3
Hier wird dann für jeden Aufruf ein eigener DB erzeugt, mit der Anzahl und Größe der im FB1 hinterlegten Stat-Variablen.

Wie Ralle schon geschrieben hat, würde ich aber auf keinen Fall schreiben ...
Code:
Call FB1, DB1
Call FB1, DB1
Call FB1, DB1
Könnte ungut enden. :cool:
 
Zurück
Oben