Step 7 Gleichzeitiger Zugriff auf FB-Multiinstanz

ChopinJunkie

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

ich habe in meinem Programm einen FB als Multiinstantiirter Block implementiert. Wobei auf den FB wird es gleichzeitig aus verschiedenen Netzwerken zugegriffen, aber auch mit verschiedenen Eingangsvariablen.

An der Stelle ist meine Frage, ob es zu einer Zugriffskollision führen kann?:confused: Obwohl es mir kaum möglich zu sein scheint, da die jeweilige Instanz einen eigenen Platz im DB bekommt:rolleyes:

MfG,
ChopinJunkie
 
Wenn du den FB mehrere Male aufrufst und jeder Aufruf seine eigenen Instanzdaten hat, dann ist das OK. Dafür ist die Sache ja da.

Oder meinst du was anderes?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
naja, im Grunde genommen genau das meine ich...aber, könnte es irgendwie zu einer Kollision führen wenn ich mit gleichen Signal zwei Blöcke von gleicher Multiinstanz afrufe?:confused:

bei mir gibt das jeweilige Block nur EIN mal den gebrauchten Takt, aber weiter danach bleibt der stehen und gibt nix mehr raus
 

Anhänge

  • 4321.PNG
    4321.PNG
    14,2 KB · Aufrufe: 36
Da die Eingangsparameter nicht als IN/OUT deklariert sind kann nix passiere. Das selbe Signal kannst du hundert mal lesen.

Des weiteren arbeiten die Fbs streng genommen dann nicht mehr mit dem selben Signal. Beim Bausteinaufruf werden die Signale am IN des FB in den IN-Bereich der Instanzdaten kopiert. Der FB arbeitet dann intern damit weiter.

Und am OUT hast du eh verschiedene Signale.
 
Da Du mit S5T-Zeiten arbeitest, hast Du bestimmt S5-Timer in Deinem FB?
Dann mußt Du die Timer-Nr. auch auf die Schnittstelle führen, um in jeder Instanz einen eigenen Timer nutzen zu können. Ansonsten gibt es da sicher einige Probleme

PS: Die m.M.n. aber bessere Lösung wäre in diesem Fall die Verwendung der IEC-Timer TON, TOF ... als Multiinstanz in Deinem FB.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Oja, das hat ich glatt übersehen. Bin glatt einfach davon ausgegangen das der FB korrekt Multiinstanzfähif ist.


Die S5 Timer sind grundsätzlich nicht multiinstanzfähig da du dort ja auf eine absolute Komponente (z.B.: T10) zugreifst. Daher müsstest du für jeden Timer im FB eine S5-Timer-Referenz am IN des FB übergeben.

Schau dir mal SFB4 TON und SFB5 TOF an. Das sind multiinstanzfähige Timer in FB-Form. Die werden in FBs meistens eingesetzt.
 
Zurück
Oben