Multiinstanz heißt nicht, das der FB mehrfach aufgerufen wird!

hucki

User des Jahres 2014
Beiträge
6.648
Reaktionspunkte
2.340
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

immer wieder muss man hier lesen (z.B. hier), das bei einem mehrfach aufgerufenen FB von Multiinstanz gesprochen wird.
Das ist aber in den meisten Fällen einfach falsch, da Multiinstanz nichts über mehrfache Verwendung und mehrfache Verwendung nichts über die Art der Instanzierung aussagt.

Multiinstanz bedeutet, das ein FB keinen eigenen IDB besitzt, sondern die Instanz des FBs im IDB des übergeordneten FBs verschachtelt ist.
Der IDB des übergeordneten FBs enthält also mehrere bzw. viele (=Multi) Instanzen.


Dies wird zwar vor allem bei mehrfach aufgerufenen FBs verwendet, bedingt es aber nicht!
Genauso kann ein mehrfach aufgerufener FB jedesmal einen eigenen IDB besitzen und ist damit eben keine Multiinstanz.
Und man kann einen FB nur ein einziges Mal im Programm verwenden und ihn (bzw. den übergeordneten FB) trotzdem zur Multiinstanz machen, indem man seine Instanz im IDB des übergeordenten FB integriert.


Was mich verwundert ist, das diese falsche Assoziation auch von so vielen Usern verwendet wird, die auf langjährige Programmiererfahrung zurückblicken können und (meistens zurecht) zum Stolz dieses Forums zählen.
Sonst wird eigentlich bei jedem kleinen Pups korrigierend eingegriffen. In diesem Fall erfolgt jedoch das Gegenteil und die Annahme, das ein mehrfach aufgerufener FB zwangsläufig eine Multiinstanz ist, wird meist noch bekräftigt.

Warum ist dies so? Unwissen?
 
Das wollte ich nicht im Thread machen, weil es wieder eine Grundsatzdiskussion und damit für den TE Offtopic ist.

Außerdem interessiert mich ja eher, warum auch so viele erfahrene Programmierer das falsch vermitteln. Irgendwo müssens die Neulinge ja her haben.
 
Vor allem kann man mit dem von dir als "hier" zitierten Beitrag nichtmal eindeutig erkennen ob es sich um eine Multiinstanz oder keine handelt.
Bei TIA steht nämlich auch bei einer Multiinstanz die Instanz-Variable oberhalb des FB (evtl. könnte man es an den Anführungszeichen vermuten).
 
@hucki,
jetzt habe ich deinen Link entdeckt, der TE in deinen verlinkten Beitrag hat zwar nach
Multiinstanz gefragt, aber Thomas hat versucht einen anderen weg aufzuzeigen, was ist
da so schlimm dran.
Ich unterstelle mal, da der Thomas ziemlich sicher weiß was eine Multiinstanz ist und wie
Sie funktioniert, wenn er nicht wer dann?

Kann es sein das du heute eine kleine Sonntags Depression hast, dann geh mal nach draußen
dort ist schönstes September Wetter, mit reichlich Sonnenschein, das hilft bestimmt!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vor allem kann man mit dem von dir als "hier" zitierten Beitrag nichtmal eindeutig erkennen ob es sich um eine Multiinstanz oder keine handelt.
Bei TIA steht nämlich auch bei einer Multiinstanz die Instanz-Variable oberhalb des FB (evtl. könnte man es an den Anführungszeichen vermuten).
Der FB hat doch einen eigenen DB und ist damit keine Multiinstanz. Vlt. sehe ich das auch falsch, aber der Text des TE sagt doch eindeutig aus, das es ihm nicht um die Art der Instanzierung geht, sondern er einen FB braucht, den er mehrfach verwenden will.
 
@hucki,
jetzt habe ich deinen Link entdeckt, der TE in deinen verlinkten Beitrag hat zwar nach
Multiinstanz gefragt, aber Thomas hat versucht einen anderen weg aufzuzeigen, was ist
da so schlimm dran.
Ich unterstelle mal, da der Thomas ziemlich sicher weiß was eine Multiinstanz ist und wie
Sie funktioniert, wenn er nicht wer dann?

Kann es sein das du heute eine kleine Sonntags Depression hast, dann geh mal nach draußen
dort ist schönstes September Wetter, mit reichlich Sonnenschein, das hilft bestimmt!
Geh' z.B. mal auf Post 24.
Vlt. ist es auch wirklich subjektiv, aber auf jeden Fall kommt es bei mir in Summe so rüber.
 
Zuletzt bearbeitet:
Der FB hat doch einen eigenen DB und ist damit keine Multiinstanz. Vlt. sehe ich das auch falsch, aber der Text des TE sagt doch eindeutig aus, das es ihm nicht um die Art der Instanzierung geht, sondern er einen FB braucht, den er mehrfach verwenden will.

Meine TIA Version fasst bei einem separaten DB (also nicht Multiinstanz) den DB in Anführungszeichen ("Instanz") ein. Bei einer Multiinstanz steht nur eine Raute davor (#Instanz). Bei ihm sieht man im Screenshot komischerweise beides, also #"Instanz".
Ich kann zumindest nicht erkennen ob es eine Multiinstanz oder keine ist.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
OK, vlt ist es eine sogar wirklich eine Multiinstanz.
Trotz allem ging es in diesem wie in vielen anderen Bsp. eigentlich nicht um die Art der Instanzierung sondern, das der TE den FB gern mehrfach verwenden will, hier für jedes Fenster. Und diese Mehrfachverwendung wird meist automatisch als MI bezeichnet und dies m.M.n nicht nur von Neulingen.

PS: Und weil jetzt auf mich eingeprügelt wird, ist es gut, dass ich einen separaten Thread erstellt habe.
:ROFLMAO:
 
Das Verwendung des Begriffes Multiinstanz für mehrfach verwendete FBs erinnert mich übrigens immer an den Briefmarken-Sketch von Herricht und Preil:
Auszug aus Briefmarken-Sketch von Herricht & Preil schrieb:
...
Herricht ...
Ich bin doch kein Philharmonist.
Preil (verbessertWas soll denn das nun wieder? Das ist ein Philatelist, der sammelt Briefmarken...
sofort)und kein Philharmonist...
Herricht (setzt fort)... der sammelt keine Briefmarken.
Preil (erklärtNicht doch... ein Philharmonist ist ein Musiker und kein Briefmarkensammler!
gelassen)
Herricht (unterbrichtMoment... das kann nicht stimmen. Ich kenne einen Musiker, der sammelt Briefmarken.
sofort)
PreilDas kann er ja auch. Nebenbei! Aber ansonsten muß er Geige spielen oder Trompete.
(rechthaberisch)

...
:ROFLMAO:
 
Siemens tut sich mit der Namensgebung aber auch schwer.

Wenn man sagt dass eine Multiinstanz für den konkreten Aufruftyp eines FB gilt, wundert einen folgendes bei Step7:
Warum kann z.B. in einem FB bei dem beim Anlegen der Haken für "Multiinstanzfähig" herausgenommen wurde, selber keine anderen FBs als Multiinstanz aufrufen?

Bei Siemens heißt also Multiinstanzfähig anscheinend: kann andere Bausteine als Multiinstanz aufrufen, und kann selber als Multiinstanz aufgerufen werden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@hucki,
jetzt habe ich deinen Link entdeckt, der TE in deinen verlinkten Beitrag hat zwar nach
Multiinstanz gefragt, aber Thomas hat versucht einen anderen weg aufzuzeigen, was ist
da so schlimm dran.
Ich unterstelle mal, da der Thomas ziemlich sicher weiß was eine Multiinstanz ist und wie
Sie funktioniert, wenn er nicht wer dann?
...
Nur um das noch mal klar zustellen. Dieser Link diente nur als Bsp. für die Assoziation von Multiinstanz und Mehrfachverwendung.
Da ging es nicht um Thomas.
 
Siemens tut sich mit der Namensgebung aber auch schwer.

Wenn man sagt dass eine Multiinstanz für den konkreten Aufruftyp eines FB gilt, wundert einen folgendes bei Step7:
Warum kann z.B. in einem FB bei dem beim Anlegen der Haken für "Multiinstanzfähig" herausgenommen wurde, selber keine anderen FBs als Multiinstanz aufrufen?

Bei Siemens heißt also Multiinstanzfähig anscheinend: kann andere Bausteine als Multiinstanz aufrufen, und kann selber als Multiinstanz aufgerufen werden.
Für mich heißt Multiinstanz einfach nur, das sich mehrere/viele Instanzen in einem IDB anstatt in separaten befinden. Damit gehören sowohl der übergeordnete als auch der integrierte FB zur MI.
Und somit kann man in einem nicht MI-fähigen FB keinen FB als MI aufrufen.
Was gehen sollte, ist in einem nicht MI-fähigen FB einen FB mit eigenem IDB aufzurufen, der wiederum eine MI mit einem dritten FB bildet.

Aber dafür arbeite ich insgesamt zuwenig mit S7 und noch gar nicht mit TIA, um das konkret nach zu vollziehen.
 
Wenn man immer auf alle Feinheiten eingehen will, wirds mit dem erklären aber schwer.
Angenommen man will jemanden erklären wie er einen FB erstellen kann, der einen TON als Multiinstanz aufruft.
"Du musst einen FB erstellen der MI-fähig ist, der einen TON als MI aufruft. Der FB kann selber als MI aufgerufen werden, muss aber nicht."

Wenn das aktuelle Problem in einem Thread auf ein Missverständis zwischen MI und nicht-MI zurückzuführen ist, wird das hier im Forum schon korrekt beschrieben. Kann sein dass sonst etwas schlampig mit den Begriffen umgegangen wird.
 
hast du ein Beispiel, wo ein Forums Haudegen diese behauptung aufgestellt hat,
oder ist es nur falsche subjektive Wahrnehmung?

Warum diese negative Wertung schon in deinem ersten Satz?

@hucki,
...
Kann es sein das du heute eine kleine Sonntags Depression hast, dann geh mal nach draußen
dort ist schönstes September Wetter, mit reichlich Sonnenschein, das hilft bestimmt!

@rostiger Nagel
Manchmal sind deine Artworten wirklich unpassend oder
hat heute zum Sonntag jemand zu lange mit einem rostigen Hammer auf deinen Nagelkopf eingeschlagen :ROFLMAO:

Frank
 
Zurück
Oben