Baustein mehrmals aufrufen...

pinolino

Level-1
Beiträge
261
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich möchte mir gerne in einer FC einen Zylinderbaustein basteln und diese Funktion dann (je nach Anzahl von Zylindern) mehrmals in einer anderen FC aufrufen.

Geht das - oder geht das nur mit FB's?

Danke, pinolino
 
Danke vierlagig. Das ist dann aber keine Multiinstanz, oder?

von Multiinstanz spricht man, wenn die statischen Daten, also jene, die bei einem FB im InstanzDatenbaustein gespeichert werden, eines oder mehrerer FBs in einem übergeordneten, dem aufrufenden FB deklariert werden und somit Teil dieser Instanz, also seines Instanzdatenbausteins ist.
das ganze läßt sich natürlich auch schachteln. so läßt sich z.B. eine Multiinstanz, in der Multiinstanz in der Multiinstanz sicher anlegen, aber ob das dann noch den Bedürfnissen entspricht ist eine andere Frage.
 
Hm, worin liegt eigentlich dann der Unterschied zwischen dem mehrfachem Aufruf einer FC in einer anderen FC und einer Multiinstanz?

Datenbausteine?

ein FC hat (von Haus aus) keine Daten, die in einem IDB abgelegt werden.
deswegen ist er in einer Multiinstanz nicht einzubinden.
eine Multiinstanz verlangt als Mutter auch immer einen FB!
 
ein FC hat (von Haus aus) keine Daten, die in einem IDB abgelegt werden.

Vielen Dank vierlagig!

Das heißt aber nicht, dass man in einem FC-Baustein, den man dann in einer anderen FC mehrmals aufruft, nicht auch Daten verwalten kann, oder?

Also z.B.

L DB12.DBW4
T MW 12

So etwas klappt auch, wenn "nur" eine FC, und eben kein FB, mehrmals aufgerufen wird, oder?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das heißt aber nicht, dass man in einem FC-Baustein, den man dann in einer anderen FC mehrmals aufruft, nicht auch Daten verwalten kann, oder?

Also z.B.

L DB12.DBW4
T MW 12
In diesem Fall musst Du der FC das Gedächtnis mitliefern in Form von Merkern oder Globaldaten.
(INPUT oder IN/OUT)
 
Das heißt aber nicht, dass man in einem FC-Baustein, den man dann in einer anderen FC mehrmals aufruft, nicht auch Daten verwalten kann, oder?

Also z.B.

L DB12.DBW4
T MW 12

So etwas klappt auch, wenn "nur" eine FC, und eben kein FB, mehrmals aufgerufen wird, oder?
Ja, auch ein FC kann globale "Daten verwalten".
Allerdings werden dann bei jedem Aufruf des FC jedesmal genau diese Daten kopiert:
Code:
L DB12.DBW4
T MW 12

Gruß
Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke euch! Aber das hat nichts mit Variablendeklaration (IN/OUT) zu tun, oder?
Doch!
Wenn du eine Funktion hast die Du mehrmals aufrufst, dann musst Du die Daten übergeben in Form von IN / OUT / INOUT
Und darum ging es Dir ja.

Bei einem ganz normalen FC kannst Du natürlich direkt sagen:
Code:
   L DB12.DBW4
   T MW 12

PS: Heißt es eigentlich ein FC oder eine FC?
Die Function / Eine Funktion
 
Zurück
Oben