erstellter FB mehrmals verwenden

S7Sync

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

ich habe einen FB erstellt, den ich mehrmals im Programm benötige.
In einem FC wird dieser FB aufgerufen, Eingänge E0.0 bis 0.1 Ausgänge A0.0 und A0.1 als Operanden verknüft
Im nächsten Netztwerk wird der selbe FB aufgerufen, jedoch Eingänge E0.2 bis 0.3 Ausgänge A 0.2 und A0.3

Funktion (vereinfacht):
FC1NW1
E0.0 schaltet, nachdem das "Innenleben" des FBs bearbeitet wurde den A0.0
E0.1 schaltet, nachdem das "Innenleben" des FBs bearbeitet wurde den A0.1
FC1NW2
E0.2 schaltet, nachdem das "Innenleben" des FBs bearbeitet wurde den A0.2
E0.3 schaltet, nachdem das "Innenleben" des FBs bearbeitet wurde den A0.3

Nun das Problem:
egal ob ich den E0.0 oder den E0.2 mit 24V beschalte, es reagieren die Ausgänge A0.0 und A0.2 gleichzeitig?! Also E0.0 schaltet A0.0 & A0.2 | E0.2 schaltet A0.0 & A0.2...

Das kann ja eigentlich nicht sein, da es eine eindeutige Operandenzuordnung gibt (eingangs- bzw. ausgangsseitig).

Kann mir jemand eine Lösung für diese Problem nennen?
Woran kanns liegen?

Schonmal vielen Dank im Voraus
mfg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So ein Mist - jetzt ist meine Glaskugel gerade ausgefallen :rolleyes:

Um dein Problem sinnvoll beurteilen zu können wäre es nützlich den Code deines FB zu kennen.
Ich tippe aber darauf, dass dui in dem FB mit TEMP-Variablen herummachst wo es besser STAT-Variablen sein sollten.
 
Nein, jedes Mal ist es der gleiche Instanz DB.
Somit ist die Fehlerursache wohl entlarft?!
Ich werds mal versuchen.
Vielen Dank für deine schnelle Hilfe!
mfg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Für ein paar einfache Bitverknüpfungen würde auch ein FC reichen oder?
Eine Funktion, die immer das gleiche machen soll (U IN1 UN IN2 = OUT1) kannst du auch mehrmals callen.
Ansonsten würde ich auch auf die Sache mit den Instanz-DBs tippen!
 
Auf die Idee mit dem I-DB war ich gar nicht gekommen - aber Klasse !!!

Wenn die Sache es aber nicht lösen sollte, dann solltest du vielleicht wirklich mal deinen Baustein-Code zeigen ...
 
Für ein paar einfache Bitverknüpfungen würde auch ein FC reichen oder?
Eine Funktion, die immer das gleiche machen soll (U IN1 UN IN2 = OUT1) kannst du auch mehrmals callen.
Ansonsten würde ich auch auf die Sache mit den Instanz-DBs tippen!
Also es wird hin und hergerechnet, auch Uhrzeiten und Wochentage usw verwendet, deswegen hab ich mich für einen FB entschieden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Auf die Idee mit dem I-DB war ich gar nicht gekommen - aber Klasse !!!

Wenn die Sache es aber nicht lösen sollte, dann solltest du vielleicht wirklich mal deinen Baustein-Code zeigen ...

ich werde die Vorschläge mal testen, falls es das Problem nicht löst gibts den Quellcode :)

mfg
 
Also es wird hin und hergerechnet, auch Uhrzeiten und Wochentage usw verwendet, deswegen hab ich mich für einen FB entschieden.

Es spricht auch gar nichts gegen die Verwendung eines FB - im Gegenteil. Hier hast du den Vorteil, dass dieser sich etwas "merken" kann im Gegensatz zu einem FC. Und darüber stolpern ja dann auch gerne die Leute (also das nicht merken können eines FC).
 
Danke für die Hilfreichen Tipps,
es lag tatsächlich an den IDBs. Ich habe auch gleich die "TEMP" Variablen in "STAT" geändert = alles bestens:p!
Vielen Dank!
mfg
 
ruf deinen FB doch innerhalb eines anderen FB´s mehrfach als multiinstanz auf. Dann sparst du dir die vergabe von x DB´s

Muss man zur heutigen Zeit noch DB sparen? :confused:
Wenn mehrere SFB als Zeit zB. verwendet werden, dann okay aber sonst?

Multiinstanz hat bei einer Inbetriebnahme mehr Nach- alswie Vorteile.
Etwas ändern und alle anderen Parameter in dem IDB werden niedergebügelt.

Ich muß keine DB sparen und Speicherplatz?
Wenn es an ein paar IDB hängt liegt der Fehler wo anders.


bike
 
Multiinstanz hat bei einer Inbetriebnahme mehr Nach- alswie Vorteile.
Etwas ändern und alle anderen Parameter in dem IDB werden niedergebügelt.

bike

Schon mal darüber nachgedacht, daß eine IBN auch irgendwann beendet ist? Dann werden es Dir die Instandhalter danken, wenn sie im Simatic-Manager das Scrollrad der Maus verschleißen.. Ich bin der Meinung daß Multiinstanzen durchaus ihre Berechtigung haben.
Übrigens "spart" man ja nicht wirklich, da die Datenmenge eigentlich nicht geringer wird. Multiinstanzen dienen der Übersichtlichkeit und Kapselung von Funktionen - und das ist auch gut so.

Approx
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Schon mal darüber nachgedacht, daß eine IBN auch irgendwann beendet ist? Dann werden es Dir die Instandhalter danken, wenn sie im Simatic-Manager das Scrollrad der Maus verschleißen.. Ich bin der Meinung daß Multiinstanzen durchaus ihre Berechtigung haben.
Übrigens "spart" man ja nicht wirklich, da die Datenmenge eigentlich nicht geringer wird. Multiinstanzen dienen der Übersichtlichkeit und Kapselung von Funktionen - und das ist auch gut so.

Approx

Mir ist dein Hinweis nicht klar.
Warum soll man nicht für FB Aufrufe eigene DB verwenden?
Dir DB sind doch eh unten in dem Inhaltsverzeichnis vom Simatikmanager.
Ich habe nicht geschrieben, dass Multiinstanz keine Berechtigung haben, doch so wie diesem Fall würde ich es besser finden eigene Bausteine zu nehmen.

Das zu beurteilen ist Philosophie, es spricht einiges dafür einiges dagegen.


bike
 
Zurück
Oben