stefan_shs
Level-1
- Beiträge
- 24
- Reaktionspunkte
- 1
-> Hier kostenlos registrieren
Moin moin erstmal,
ich hoffe ich habe das passende Thema im Forum nicht übersehen!
Ziel:
Versuch einen FB nicht mit Multi-Instanzen sondern mit Array[x..y] of "passenderDatenTyp" (Block_FB bzw. alternativem Datentyp) aufzurufen.
Bisheriges Vorgehen:
1. Aufruf eines FB mit Einzel-Instanz … DB-Name und DB-Nummer händisch vergeben … OK
Siehe Anhang: „0001 Aufruf FB mit Einzel-Instanz.png“
2. Aufruf eines FB mit Multi-Instanz
im Bausteinkopf wird ein neuer Datentyp (des aufgerufenen FB´s) angelegt, in diesem Fall der Datentyp „FB8889 – Test“.
Dieser Datentyp wird von Siemens als Block_FB bezeichnet.
Siehe Anhang: „0002 Aufruf FB mit Multi-Instanz.png“
3. Aus den im Bausteinkopf hinterlegten statischen Daten habe ich als Versuch eine Datentyp erzeugt,
Siehe Anhang: „0003 Datentyp.png“ & „0004 Datentyp.png“

4. und mit diesem Typ einen DB angelegt
Siehe Anhang: „0005 DB mit Datentyp.png“
5. Der Aufruf des FB mit diesem selbst generierten Datentyp allerdings scheitert ….
da der selbst erstellte Datentyp als Block_UDT deklariert ist, der FB aber einen Block_FB erwartet
Siehe Anhang: „0006 Aufruf mit eigenem Datentyp.png“
Das Verhalten zeigt sich mit optimierten und nicht optimierten Bausteinen … sowohl FB's als auch DB's.
Nun zu meiner Frage:
Ist es überhaupt möglich den Datentyp Block_FB nachzubilden?
Und wenn diese Frage mit „ja“ beantwortet wird, wie sieht dieser Datentyp aus, bzw. wo finde ich für das Vorgehen beim Erstellen dieses Datentyps eine Anleitung
?
In eigener Sache:
Bevor Fragen auftauchen wieso weshalb warum
ich diesen Weg beschreiten möchte ….
Bei mehrmaligem Aufruf des FB´s in unterschiedlichen Bausteinen liegen die Daten verstreut in den jeweiligen IDB´s, DAS weiß ich, möchte es aber vermeiden.
Ein mehrmaliger Aufruf des FB´s in einem einzigen Baustein ist zwar möglich (die Daten würden dann alle in dem IDB liegen),
aber manchmal so nicht gewünscht.
genutzte Software:
TIA V16
Euch allen einen schönen Tag und bleibt gesund.
ich hoffe ich habe das passende Thema im Forum nicht übersehen!
Ziel:
Versuch einen FB nicht mit Multi-Instanzen sondern mit Array[x..y] of "passenderDatenTyp" (Block_FB bzw. alternativem Datentyp) aufzurufen.
Bisheriges Vorgehen:
1. Aufruf eines FB mit Einzel-Instanz … DB-Name und DB-Nummer händisch vergeben … OK
Siehe Anhang: „0001 Aufruf FB mit Einzel-Instanz.png“

2. Aufruf eines FB mit Multi-Instanz
im Bausteinkopf wird ein neuer Datentyp (des aufgerufenen FB´s) angelegt, in diesem Fall der Datentyp „FB8889 – Test“.
Dieser Datentyp wird von Siemens als Block_FB bezeichnet.
Siehe Anhang: „0002 Aufruf FB mit Multi-Instanz.png“

3. Aus den im Bausteinkopf hinterlegten statischen Daten habe ich als Versuch eine Datentyp erzeugt,
Siehe Anhang: „0003 Datentyp.png“ & „0004 Datentyp.png“


4. und mit diesem Typ einen DB angelegt
Siehe Anhang: „0005 DB mit Datentyp.png“
5. Der Aufruf des FB mit diesem selbst generierten Datentyp allerdings scheitert ….
da der selbst erstellte Datentyp als Block_UDT deklariert ist, der FB aber einen Block_FB erwartet
Siehe Anhang: „0006 Aufruf mit eigenem Datentyp.png“

Das Verhalten zeigt sich mit optimierten und nicht optimierten Bausteinen … sowohl FB's als auch DB's.
Nun zu meiner Frage:
Ist es überhaupt möglich den Datentyp Block_FB nachzubilden?
Und wenn diese Frage mit „ja“ beantwortet wird, wie sieht dieser Datentyp aus, bzw. wo finde ich für das Vorgehen beim Erstellen dieses Datentyps eine Anleitung

In eigener Sache:
Bevor Fragen auftauchen wieso weshalb warum
ich diesen Weg beschreiten möchte ….
Bei mehrmaligem Aufruf des FB´s in unterschiedlichen Bausteinen liegen die Daten verstreut in den jeweiligen IDB´s, DAS weiß ich, möchte es aber vermeiden.
Ein mehrmaliger Aufruf des FB´s in einem einzigen Baustein ist zwar möglich (die Daten würden dann alle in dem IDB liegen),
aber manchmal so nicht gewünscht.
genutzte Software:
TIA V16
Euch allen einen schönen Tag und bleibt gesund.