FB alleine geht, FB 2x geht nicht?

MSP

Level-1
Beiträge
210
Reaktionspunkte
21
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich habe Heute etwas recht merkwürdiges mit einem FB erlebt und bin einfach nicht dahinter gekommen an was es liegen könnte.
Dank mangelnder Unterlagen und Internet in den Schulräumen wo wir das Projekt erarbeiten konnte ich auch nicht nachforschen..

Hier eine kurze Beschreibung:

Ein Regallager hat ein Zulaufband und ein Abtransportband.
Am Anfang und am Ende gibt es jeweils eine Lichtschranke und natürlich einen Motor.

Der FB ist nun so aufgebaut, das die Startbedingung, die Stopbedingung und die Störumeldung in diesem enthalten sind.
Fernerhin ist noch ein Netzwerk dazu da den Wiederanlauf zu regeln wenn eine Störung behoben wurde.

Hier ein Beispiel:
Lichtschranke Belegt Zulauf -> E 1.0
Lichtschranke Position Zulauf -> E 1.1
Motor Zulauf -> A1.0
Lichtschranke Belegt Abtransport -> E2.0
Lichtschranke Position Abtransport Position -> E2.1
Motor Abtransport -> A2.0

Beschaltung des FB's:
I: LS1
I: LS2
I: START
I: STOP
O: MOTOR
O: STOERUNG


Der Fb ist nun so aufgebaut, das wenn die Belegt-LS 0 hat und die Positions-LS eine 1, keine Störung vorliegt und ein interner Merker #EIN nicht gesetzt ist, das Band anläuft und eine Zeit T 1 geladen wird und als ausschaltverzögerung läuft sobald der Motor gesetzt ist. Diese Zeit wird abgeschaltet sobald die LS Position auf 0 geht und damit das Stückgut in Position ist.

Wenn nun ein Fehler auftritt ( die Zeit läuft ab in der das Stückgut durch die LS Position fahren sollte, Not-Aus oder der Stop-Taster wird gedrückt ) so wird ein Ausgang des FB's gesetzt und der Motor hält an.

Wenn nun die Störung behoben worden ist, so muss diese mittels des STOP-Einganges des FB quittiert werden und der Motor mittels START erneut gestartet werden.
Dabei muss allerdings der Merker #EIN gesetzt sein, damit der FB weis das das Band bereits lief.

Sobald das Gut durch die LS Position ist wird dieser Merker rückgesetzt.

Wenn ich nun also den FB so beschalte funktioniert alles wunderbar:

call fb200, db200
LS1: e1.0
LS2: e1.1
START: E124.0
STOP: E124.1
MOTOR: A1.0
STOERUNG: A1.1

Wie gesagt, hierbei macht der FB bzw die Anlage genau das was Sie auch soll.

Wenn ich nun aber beide Bänder testweise koppel dann geht es eben nicht mehr...

call fb200, db200
LS1: e1.0
LS2: e1.1
START: E124.0
STOP: E124.1
MOTOR: A1.0
STOERUNG: A1.1

call fb200, db201
LS1: e2.0
LS2: e2.1
START: E1.1 // Positions-LS des Zulaufbandes
STOP: E124.1
MOTOR: A2.0
STOERUNG: A1.1

Es soll das Ablaufband gestartet werden sobald die Positions-LS des Zulaufbandes ein Gut aufweist, d.h. 0 hat.

Nur genau das geht nicht.

Das erste Band läuft an, und kommt in die Positions-LS.
Das Abtransportband geht an und fährt in die Positions-LS und geht nicht aus...

Wenn ich eine Störung verursache, dann stoppt das Band nicht, bzw. greift die Störung einfach nicht.

Ich vermute nun das es entweder daran liegt, das ich beides einfach so im OB1 aufrufe, und der FB zwar als Blackbox für beide Bänder gilt, die Zeiten aber dauernd resettet werden da diese in beiden FB-Aufrufen gesetzt werden?

Kann es wirklich daran liegen das ein FB zwar mehrmals benutzt werden kann, ich mir aber durch die nutzung von Zeiten T 1 in diesem die Zeit dauernd neu setze, trotz zweier DB's?

Ich hoffe trotz des vielen Textes kann mich jemand verstehen und eventuell einen Tipp geben :)

Michael
 
FB

Hallo,

es ist pro Aufruf ein Timer zu übergeben oder intern mit IEC-Timer als Multiinstanz zu arbeiten dann wird alles gut.

MfG
André Räppel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

also lag ich mit meiner Vermutung doch richtig :)
Ich muss also extern einen Timer bilden ( S5Time als Wert reicht nicht... ) oder intern mit einem IEC-Timer arbeiten...

Vielen dank, ich werde Morgen das ganze mal an der Anlage ausprobieren :)

Michael
 
das mit der doppelten zuweisung des störungsausgangs sollte auch nicht funktionieren...
 
N'abend,

hmm.. wieso denn das nicht? :(
Ich weise doch jedes mal den Ausgang einer anderen Adresse zu, eventuell habe ich mich falsch ausgedrückt und es kam rüber als wenn ich alles auf ein und den selben Ausgang lege?

Oder geht das wirklich nicht, ich meine, wozu gibt es denn dann Funktionsbausteine mit Multiinstanzen wenn man die nicht zu 100% mehrfach nutzen kann?

Michael

PS: Gibt es eigendlich irgendwo Unterlagen in elektronischer Form mit mehr als nur den Standard-Befehlen wie die bei Siemens erklärt werden :(
 
Zuviel Werbung?
-> Hier kostenlos registrieren
beide aufrufe haben als ausgang den a1.1

wenn der erste aufruf störung meldet schreibt der a1.1 auf 1, aber beim zweiten aufruf wird der ausgang a1.1 wieder auf 0 geschreben...

wenn dann musst du diestöausgänge der fbs zb auf m0.0 und m0.1 legen und danach die beiden schmiemerker auf den ausgang:

o m0.0
o m0.1
=a1.1
 
Hi,
wenn das mit der Störung klappen soll, dann muss die OUT Variable "STOERUNG" gesetzt werden.

MfG

Micha
 
Zurück
Oben