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.