# Testaufgabe Zusammenführung Förderbänder



## Angsthase (24 März 2019)

Hallo,

ich habe hier eine Testaufgabe die einem Kollegen als Einstellungstest vorgelegt wurde.


Testaufgabe Zusammenführung Förderbänder



Geschwindigkeiten:
M1: 500mm/s
M2: 500mm/s
M3: 700mm/s

SPS Ein- und Ausgänge
LS1: E3.0 (Teil in LS = 1-Signal)
LS2: E3.1 (Teil in LS = 1-Signal)
M1: A3.0 (Motor Band 1)
M2: A3.1 (Motor Band 2)

Aufgabe:
Die von den Bändern 1 und 2 kommenden Teile sollen auf der Zusammenführung Kollisionsfrei auf eine Sammelstrecke übergeben werden.
Arbeiten Sie daher eine Steuerungslogik aus.

Bedingungen:
* Die Zusammenführung und die Sammelstrecke laufen immer.
* Die Teile auf den Bändern 1 und 2 kommen unregelmäßig an.
* Das Teil das die LS1 oder LS2 zuerst belegt, hat Vorfahrt auf die Zusammenführung.
* Das Band das warten muss läuft so lange bis LSx belegt ist.
* Das wartenden Band läuft an, wenn die LSx auf dem Band mit der Vorfahrt frei ist.

Im Grunde gar nicht so schwer, beide Bänder können laufen bis beide Lichtschranken belegt sind.
Aber dann, welches Band muss stoppen? Wie löst ihr Bedingung 3? _Das Teil das die LS1 oder LS2 zuerst belegt, hat Vorfahrt auf die Zusammenführung._
Ich kann also nicht einfach Band 1 Vorfahrt geben wenn beide Lichtschranken belegt sind.

Das wäre wohl nicht richtig:



Gruß, Martin


----------



## Heinileini (24 März 2019)

Angsthase schrieb:


> Ich kann also nicht einfach Band 1 Vorfahrt geben wenn beide Lichtschranken belegt sind.


Schön, dass Du diese Falle nicht "überlesen" hat, auf die ja nicht explizit hingewiesen wird!
Auch schön, dass Du nicht einfach beschlossen hast "der Fall, dass beide LS im selben SPS-Zyklus belegt werden, kommt nie oder nur sooo selten vor, dass man ihn nicht berücksichtigen muss"!
Aber warum kannst Du nicht einfach Band 1 willkürlich die Vorfahrt geben, wenn beide LS gleichzeitig belegt werden? Der Zweck, eine Kollision zu vermeiden, wäre damit erfüllt.
Genauso gut könntest Du in solchen Fällen willkürlich Band 2 die Vorfahrt geben. Oder, wenn es Deinem "GerechtigkeitsEmpfinden" mehr entgegenkommt, abwechselnd Band 1 und Band 2 die Vorfahrt geben.

Gruss, Heinileini


----------



## Angsthase (24 März 2019)

Naja, in der aktuellen Logik hat ja Band 1 die Vorfahrt.
Nur wenn jetzt ein Teil auf Band 2 kommt und 3/4 des Teiles hat schon LS2 passiert. Dann kommt plötzlich ein Teil auf Band 1 und und belegt LS1.
Dann würde das fast schon ausgefahrene Teil auf Band 2 stoppen und  dem Teil auf Band 1 die Vorfahrt geben.



Heinileini schrieb:


> Aber warum kannst Du nicht einfach Band 1 willkürlich die Vorfahrt geben, wenn beide LS gleichzeitig belegt werden? Der Zweck, eine Kollision zu vermeiden, wäre damit erfüllt.



Gut, der Zweck, eine Kollision zu vermeiden, wäre damit wohl wirklich erfüllt, weil M3 viel schneller läuft und das Teil wegräumt, aber sollte laut Bedingung 3 nicht Band 2 Vorfahrt haben, weil LS2 zuerst belegt wurde?
Außerdem würde sich der Kunde beschweren weil es einfach blöd aussieht .
Ist das ohne Merker, Flanken und RS/SR zu machen?


----------



## PN/DP (25 März 2019)

Angsthase schrieb:


> Ist das ohne Merker, Flanken und RS/SR zu machen?


Es geht nicht ohne "Merker" (eine Variable die sich etwas merkt, das kann auch ein DB/IDB-Bit sein). Für die Zeitdauer wo beide LS belegt sind, muß gemerkt worden sein welche LS *zuerst* belegt wurde.
Für den wohl höchst seltenen Fall, wo mal exakt im selben Programm-Zyklus beide LS belegt werden, könnte man vereinfachend immer dem selben Band die Vorfahrt geben, z.B. einfach durch die Reihenfolge der Programmteile der Bänder.

Ich denke man findet einfacher eine Lösung, wenn man die Aufgabenstellung so formuliert:
Ein Band kann laufen, wenn die Anlage eingeschaltet ist, und wenn die eigene LS nicht belegt ist oder wenn es die Vorfahrt/Durchfahrtserlaubnis hat.
Die Durchfahrtserlaubnis wird speichernd erteilt, wenn die eigene LS belegt ist (Anforderung) und das andere Band keine Vorfahrt/Durchfahrtserlaubnis hat, und wird (wieder) gelöscht, wenn die eigene LS (wieder) frei ist (kein Bedarf mehr).
(Das Erteilen/Löschen der Vorfahrt/Durchfahrtserlaubnis "sicherheitshalber" so formulieren, daß sie gelöscht wird wenn das andere Band eine Durchfahrterlaubnis hat - für den normal nicht vorkommenden Fall daß beide Bänder eine (gespeicherte) Durchfahrterlaubnis haben.)

Harald


----------



## DeltaMikeAir (25 März 2019)

An unseren Palettieranlagen gibt es öfters solche "Zusammenführungen". In verschiedensten Funktionen ( Mischen oder einfach wer zuerst kommt fährt zuerst ).
Wir achten immer darauf, das normalerweise kein Band "Vorfahrt" hat, sondern immer das Paket durchfährt, welches zuerst da ist ( vorrausgesetzt wir wollen nicht
in einer bestimmten Reihenfolge mischen ). Alternativ führen wir auch so zusammen, das z.B. eine Zuführlinie mit einem kurzen Pufferband Vorfahrt bekommt und
mehrere Pakete durchfahren.

Wichtig ist in jedem Fall, dass der Antrieb nicht einfach über die Lichtschranken geschaltet wird. Hier wirst du Probleme bekommen, das z.B. ein Paket halb auf das Zusammenführband
fährt und dann durch das andere Band plötzlich gestoppt wird. Dann eiert das Paket trotzdem weiter und alles verkantet sich


----------



## Heinileini (25 März 2019)

Angsthase schrieb:


> Ist das ohne Merker, Flanken und RS/SR zu machen?


1. Zu "ohne Flanken": Nein. Ist nicht sinnvoll/zweckmässig und würde allenfalls durch (noch) unübersichtlichere Massnahmen dann letztendlich doch in eine FlankenAuswertung "ausarten".
2. Zu "ohne RS/SR": Nein, in dem Sinne, dass es ohne Speichern nicht geht.
Der Zustand, dass gerade auf dem einen Band von der "Vorfahrt" Gebrauch gemacht wird, während das andere Band warten muss und welches der beiden Bänder gerade welche der beiden Tätigkeiten ausübt, kann nicht allein aus den Zuständen der Eingänge LS1 und LS2 abgelesen werden. Es wird die Info benötigt, was zuvor passiert ist.
3. Zu "ohne Merker": Jain.
1. und 2. lassen sich nur realisieren, indem Informationen "für später" gespeichert werden. 
Wenn man das Wort "Merker" in seiner allgemeinen Bedeutung für Speicher verwendet: ein klares nein.
Wenn man das Wort "Merker" in seiner Bedeutung für eine spezielle Art von Speicher verwendet: ein klares ja, ABER es geht dann nicht ohne eine andere Art von SpeicherMöglichkeit.

Habe da mal etwas in LOGO gebastelt:


Anhang anzeigen EntOderWederBänder.lsc.pdf

	

		
			
		

		
	
 (nach dem download ".pdf" entfernen)

Der linke Teil der Schaltung ist zum Testen in der Simulation angefügt, damit man auch das gleichzeitige Ein- bzw. AusSchalten der beiden Lichtschranken testen kann.
Nicht vergessen: mit I4 (rechts, auf halber Höhe) den fiktiven Motor3 einschalten!

Gruss, Heinileini


----------



## PN/DP (25 März 2019)

Hier eine simple Lösung für Deine Aufgabe in FUP (siehe meine Beschreibung in Beitrag #4):

```
M3.0
      +-----+          +------+
      | >=1 |          |  SR  |
E3.0-o|     |    E3.0--|S     |   +-----+
      |     |          |      |   | >=1 |
M3.1--|     |----------|R    Q|---|     |
      +-----+          +------+   |     |   +-----+
                            E3.0-o|     |---|  &  |     A3.0
                                  +-----+   |     |   +-----+
                               #Anlage_Ein--|     |---|  =  |
                                            +-----+   +-----+

                         M3.1
      +-----+          +------+
      | >=1 |          |  SR  |
E3.1-o|     |    E3.1--|S     |   +-----+
      |     |          |      |   | >=1 |
M3.0--|     |----------|R    Q|---|     |
      +-----+          +------+   |     |   +-----+
                            E3.1-o|     |---|  &  |     A3.1
                                  +-----+   |     |   +-----+
                               #Anlage_Ein--|     |---|  =  |
                                            +-----+   +-----+
```
Sollte es nötig sein, daß nach dem Freiwerden der LS nach Durchfahrt eines Teils noch eine (Mindest-)Lücke bleiben muß, bevor ein Teil vom anderen Band durchfahren kann, dann einfach E3.0 und E3.1 jeweils durch eine Ausschaltverzögerung ersetzen - aber Achtung: kommen die Teile auf dem vorfahrtnehmenden Band in kürzerem Abstand als der Mindest-Abstand für "einfädeln" des Teils vom anderen Band, dann würde das wartende Band keine Durchfahrtserlaubnis erhalten um ein Teil "einzufädeln". Da müsste man dann etwas mehr Aufwand treiben um die Vorfahrtsberechtigung "zwangsweise" abwechselnd zu erteilen.

PS: #Anlage_Ein ist "Anlage ist eingeschaltet und Band 3 läuft"

Harald


----------



## Angsthase (26 März 2019)

Vielen Dank für die Beispiele.
Schon interessant wie viele Wege nach Rom führen. Ich werde die Beispiele mal im Simulator testen.
Aber bitte bedenkt, das ganze war ein Einstellungstest und der Kandidat hatte vielleicht 15 min Zeit für eine Lösung auf dem Papier. 
Und mir wurde gesagt es würde ohne Merker, Flanken und RS/SR gehen, aber wahrscheinlich hätte man schon bestanden, wenn man einem Band fix die Priorität gegeben hätte.

Ist ist meine Lösung:



Gruß, Martin


----------



## Heinileini (26 März 2019)

Angsthase schrieb:


> Und mir wurde gesagt es würde ohne Merker, Flanken und RS/SR gehen


Der "mit-ohne-Merker-Flanken-und-RS/SR-Lösungsweg" würde mich schon sehr interessieren!
Manchmal sieht man ja tatsächlich den Wald vor lauter Bäumen nicht mehr und muss mit Gewalt wieder auf den Boden der einfachen Lösungen heruntergezogen werden.

Ich habe inzwischen Haralds Lösung in LOGO nachempfunden und simuliert . . . sie funktioniert bestens . . . bis irgendwann doch beide LS-Signale im selben Zyklus kommen.
Dann schwingt die Schaltung ("astabiler MultiVibrator"). Ich bleibe daher ganz eisern bei meinem Tipp, die Situationen, die nach menschlichem Ermessen eigentlich nie oder nur höchst selten eintreten können, von vornherein fest mit einzuplanen!

Gruss, Heinileini


----------



## PN/DP (26 März 2019)

Angsthase schrieb:


> mir wurde gesagt es würde ohne Merker, Flanken und RS/SR gehen


Kannst Du denjenigen mal fragen wie diese Lösung aussieht?

Harald


----------



## PN/DP (26 März 2019)

Heinileini schrieb:


> Ich habe inzwischen Haralds Lösung in LOGO nachempfunden und simuliert . . . sie funktioniert bestens . . . bis irgendwann doch beide LS-Signale im selben Zyklus kommen.
> Dann schwingt die Schaltung ("astabiler MultiVibrator").


Bei mir schwingt da nichts. Wenn beide LS exakt im selben Zyklus kommen, dann bekommt immer A3.0 den Vorrang. M3.0 wird 1, M3.1 kann dann nicht 1 werden.
Kein Fehler beim Nachempfinden in LOGO? Oder ein spezielles Verhalten der LOGO wenn an einem SR beide Eingänge 1 sind?

Harald


----------



## Heinileini (26 März 2019)

PN/DP schrieb:


> Bei mir schwingt da nichts. Wenn beide LS exakt im selben Zyklus kommen, dann bekommt immer A3.0 den Vorrang. M3.0 wird 1, M3.1 kann dann nicht 1 werden.
> Kein Fehler beim Nachempfinden in LOGO? Oder ein spezielles Verhalten der LOGO wenn an einem SR beide Eingänge 1 sind?
> 
> Harald


Moin Harald!
Spezielles Verhalten der LOGO, dass Rückführungen nur über M bzw. Q möglich sind, nicht "direkt". Dadurch ist ein direkter Vergleich nicht immer möglich.
Anhang anzeigen EntOderWederBänderHarald.lsc.pdf

Einen der beiden Merker M1 oder M2 könnte man sich ersparen und evtl. damit die Schaltung beruhigen - habe ich aber (noch) nicht getestet.

Gruss, Heinileini

Edit: Hab's jetzt probiert und die Rückführung direkt hinter dem SR abgezapft, so dass M1 nicht mehr stört. Das Schwingen ist damit kein Thema mehr - wie zu erwarten war.


----------



## Onkel Dagobert (26 März 2019)

Wenn man sich an die Aufgabenstellung hält, müsste das die Bedingungen eigentlich erfüllen. Eine Vorrangschaltung, für den Fall dass beide Lichtschranken im selben Zyklus belegt werden, ist nicht gefordert. Ich glaube auch nicht, dass das in einem 15-minütigen Test erwartet wird.


----------



## PN/DP (26 März 2019)

Heinileini schrieb:


> Einen der beiden Merker M1 oder M2 könnte man sich ersparen und evtl. damit die Schaltung beruhigen - habe ich aber (noch) nicht getestet.


Ich kann Dein LOGO-Projekt leider nicht öffnen. Ich habe grad nur LOGOsoft V6.1. Doch ich vermute welche Merker Du meinst.

Spezielles Verhalten der LOGO:
Der Zustand des oberen RS muß im selben Zyklus zum Rücksetz-Eingang des unteren RS gelangen. Da darf kein Merker dazwischen, weil dessen Zustand erst im nächsten Zyklus weitergegeben wird. Die Verbindung vom unteren RS zum Rücksetzen des oberen RS darf/muß über einen Merker gehen.

Harald


----------



## PN/DP (26 März 2019)

Onkel Dagobert schrieb:


> Wenn man sich an die Aufgabenstellung hält, müsste das die Bedingungen eigentlich erfüllen.


Hallo Onkel, sooo einfach war die Testfrage nicht gedacht. Leider erfüllt Deine Schaltung nicht die 4. Bedingung. Sobald eine LS belegt ist bleibt das andere Band stehen, das soll aber (vernünftigerweise) noch weiterlaufen bis dessen eigene LS belegt ist.


Angsthase schrieb:


> * Das Band das warten muss läuft so lange bis LSx belegt ist.



Harald


----------



## Angsthase (26 März 2019)

Heinileini schrieb:


> Der "mit-ohne-Merker-Flanken-und-RS/SR-Lösungsweg" würde mich schon sehr interessieren!





PN/DP schrieb:


> Kannst Du denjenigen mal fragen wie diese Lösung aussieht?


Leider ist der original Lösungsweg nicht genau überliefert. Deshalb habe ich die Aufgabe auch hier reingesetzt.
Ich weiß nur dass es zwei Netzwerke waren und die beiden belegten Lichtschranken mit einem UND-Glied mit M1 verknüpft waren. Ich schätze ganz ähnlich wie mein erster Entwurf in meinem ersten Post.
M1 hat immer Vorfahrt, dann hatte man wohl den Job.
Ohne-Merker-Flanken-und-RS/SR kann ich mir auch nicht vorstellen. Zuerst hatte ich versucht die Motoren-Ausgänge in einer Selbsthaltung zu verknüpfen. Doch beide Motoren laufen ja immer bis die Kollisions-Warnung  (beide LS belegt) anspricht. Und dann ist es ja eigentlich schon zu spät.



Heinileini schrieb:


> Ich bleibe daher ganz eisern bei meinem Tipp, die Situationen, die nach menschlichem Ermessen eigentlich nie oder nur höchst selten eintreten können, von vornherein fest mit einzuplanen!


Meine zweite Logik ist ähnlich einfach, kommt mit einem RS Latch aus. Würden beide Lichtschranken im selben Zyklus kommen, würde der nicht gesetzt und Band 2 hätte in diesem Fall Vorfahrt. Ein Band muss immer gewinnen.


Leider habe ich keine LOGO und kann die lsc-Datei nicht einlesen.

Gruß, Martin


----------



## Angsthase (26 März 2019)

Onkel Dagobert schrieb:


> Anhang anzeigen 45046
> 
> 
> Wenn man sich an die Aufgabenstellung hält, müsste das die Bedingungen eigentlich erfüllen. Eine Vorrangschaltung, für den Fall dass beide Lichtschranken im selben Zyklus belegt werden, ist nicht gefordert. Ich glaube auch nicht, dass das in einem 15-minütigen Test erwartet wird.





PN/DP schrieb:


> Hallo Onkel, sooo einfach war die Testfrage nicht  gedacht. Leider erfüllt Deine Schaltung nicht die 4. Bedingung. Sobald  eine LS belegt ist bleibt das andere Band stehen, das soll aber  (vernünftigerweise) noch weiterlaufen bis dessen eigene LS belegt ist.
> 
> 
> Harald


Hallo Onkel, genau dass war meine erste Idee! Die Motoren als Selbsthalter hernehmen. Aber, wie schon geschrieben, müssen beide Motoren laufen, wenn auch nur eine LS frei ist.


----------



## Heinileini (26 März 2019)

Angsthase schrieb:


> Leider habe ich keine LOGO und kann die lsc-Datei nicht einlesen.


Habe auch keine LOGO, nur "LOGO!Soft Comfort Demoversion V8.0.0".


----------

