nicht Multiinstanzfähig - warum ?

Kieler

Level-2
Beiträge
763
Reaktionspunkte
86
Zuviel Werbung?
-> Hier kostenlos registrieren
Fällt jemand eine Begründung ein, warum man einen FB "nicht Multiinstanzfähig" macht? Gibt es dafür einen praktischen Grund?

Gruss aus dem sonnigen Kiel
 
wenn in dem fb global adressiert wurde, kann man so verhindern, dass der baustein als multiinstanz eingebunden wird... z.B. ... das schützt allerdings noch nicht vor mehrfachen aufruf :rolleyes: ...aber es gibt sicher noch andere "gute" gründe :ROFLMAO:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Welches könnten denn die anderen "guten" Gründe sein ? Der mit der globalen Adressierung leuchtet mir auch nicht so richtig ein. Sobald ich den FB parametrierbar mache, gehe ich doch von aus, dass der FB mehrfach aufgerufen wird.
 
Welches könnten denn die anderen "guten" Gründe sein ? Der mit der globalen Adressierung leuchtet mir auch nicht so richtig ein. Sobald ich den FB parametrierbar mache, gehe ich doch von aus, dass der FB mehrfach aufgerufen wird.

davon geht jeder aus, der das prinzip verstanden hat, leider gibt es aber auch noch andere leute, die meinen global adressieren zu müssen, da sonst die schnittstellen zu groß werden. ich denke aber: werden die schnittstellen zu groß ist an der aufteilung etwas falsch ... ich kenne aber eben auch die anderen leute :rolleyes:
 
Das erklärt für mich auch noch nicht so richtig, warum man Multiinstanzfähig bei einem FB auch explizit abwählen kann. Was ja dann auch Leute offensichtlich nutzen. Wozu halt dann auch immer. Aber das den Punkt in Step7 gibt, dachte ich es gibt vielleicht einen tieferen Sinn.

Siemens schreibt lapidar :

"Multiinstanzfähig:

Erscheint nur bei vom Anwender erzeugten Funktionsbausteinen. Standardmäßig ist die Multiinstanzfähigkeit angewählt. Für Standardanwendungen sollten Sie die Einstellung nicht verändern."

Kieler
 
Zuviel Werbung?
-> Hier kostenlos registrieren
aus der Bibel:
Ab Step 7 V2 können Sie Multiinstanzen bilden, ... Voraussetzung ist, dass sowohl der aufrufende als auch der aufgerufene Funktionsbaustein die Bausteinversion 2 hat, also "multiinstanzfähig" ist.
Meine Vermutung: der einzige praktische Grund ist, die Kompatibilität zu Version 1 ermöglichen. D.H., aus heutiger Sicht gibt es keinen praktischen Grund mehr ...
 
... ich habe das jetzt nicht mehr so 100%ig parat ... aber es war irgendetwas mit der indirekten Adressierung anders bei den "nicht Multi's".

Gruß
LL
 
Ich denke es macht Sinn den Haken zu setzen wenn der FB indirekte Adressierung auf statische Variablen des Instanz DBs hat.
In dem Fall muss man AR2 zum Pointer addieren.
Ist das nicht so programmiert, dann ist der Baustein wirklich nicht multiinstanzfähig!
 
Ich denke es macht Sinn den Haken zu setzen wenn der FB indirekte Adressierung auf statische Variablen des Instanz DBs hat.
In dem Fall muss man AR2 zum Pointer addieren.
Ist das nicht so programmiert, dann ist der Baustein wirklich nicht multiinstanzfähig!


Wenn ich mich nicht irre, darf laut Siemens das Adressregister 2 in FB's nicht verändert werden. Sobald ich es veränder, kann ich nicht mehr zuverlässig Symbolisch auf die Statischen Variablen zugreifen.
 
Zurück
Oben