Sonstiges Siemens Logo! 8

SPS'ler

Level-2
Beiträge
154
Reaktionspunkte
4
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Liebe Forum Mitglieder,

Ich habe ein Problem beim Programmieren einer Logo von Siemens.

Und zwar ist mein Ziel, mithilfe einer Logo eine Auswertung von Tastern zu realisieren.

Ich habe 4 Taster und müsste bei gleichzeitigem betätigen den schnellsten herausfinden und eine Rückmeldung über eine LED ausgeben. Das ganze soll manuell mit einem Taster resetet werden.

Ich habe habe schon ein paar Ideen aber die Schnelligkeitsauswertung macht mir noch Probleme.

Über eine Antwort würde ich mich sehr freuen.
 
Ein Problem bekommst du nicht gelöst.

Wenn ein oder mehrere Taster im gleichen Zyklus erfasst werden, kannst du nicht bestimmen, wer der erste war.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Danke für deiner Antwort.
Aber kann ich nicht in einem Zyklus die Taster ausnehmen, im nächsten Vergleich und im 3. wieder ausgeben?

Zur Not hätte ich auch noch eine s7 falls das mit der eventuell realisierbar ist.

Es soll ein Quizz Spiel entstehen, mit 4 Gruppen die eben auf den Buzzer hauen und wo eine Gruppe dann die Rückmeldung erhält das sie dran ist.

Hoffentlich kann mir doch einer helfen.
 
Bei der S7 ist es auch nicht anders. Aber sie ist schneller, daher sinkt die Wahrscheinlichkeit, dass ein oder mehrere Eingänge im gleichen Zyklus erfasst werden.
 
02BBA1C1-D495-4255-BA40-C53CB70FA4B9.jpg

Hallo,
vielen Dank.
ich habe auf die Schnelle mal etwas aufgemalt, hierbei wäre nur das Problem, wenn man wirklich gleichzeitig drückt das dann nichts dabei
rauskommen würde. Würde es denn soweit eventuell funktionieren ?
Grüße, Nico
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mit "schnellsten" meinst Du "ersten" nach gleichzeitigem Start/Freigabe? Oder laufen die Meßzeiträume irgendwie asynchron parallel zueinander?

Falls tatsächlich mehr als 1 Taster im selben Zyklus die ersten sind, könntest Du mehrere LED leuchten lassen und die Entscheidung (z.B. über eine Wiederholung) einem Schiedsrichter/Spielleiter überlassen. Dann gab es halt mehrere Erste, eine genauere Unterscheidung war nicht möglich.

Harald
 
Mit "schnellsten" meinst Du "ersten" nach gleichzeitigem Start/Freigabe? Oder laufen die Meßzeiträume irgendwie asynchron parallel zueinander?

Falls tatsächlich mehr als 1 Taster im selben Zyklus die ersten sind, könntest Du mehrere LED leuchten lassen und die Entscheidung (z.B. über eine Wiederholung) einem Schiedsrichter/Spielleiter überlassen. Dann gab es halt mehrere Erste, eine genauere Unterscheidung war nicht möglich.



Harald

Hallo,

ja ich meine mit dem schnellsten den ersten der Betätigt wird.
Das ganze kann man sich vorstellen wie in einer Quizshow aus dem Fernsehen.
Es wird eine Frage gestellt und die Gruppe die zuerst auf den Buzzer haut bekommt ein visuelles Signal damit man weiß das diese jetzt dran ist. Nach der Antwort wird die Reset Taste gedrückt und es gibt eine neue Frage und alles beginnt von vorne.

Das mit der Entscheidung über mehrere Leuchten wäre interessant, wie könnte ich dies denn dann mit meinem oben gezeichneten Versuch verknüpfen? Weil hier wäre es ja so, dass dann gar keine LED Leuchtet.

Grüße
 
Bei der S7 ist es auch nicht anders. Aber sie ist schneller, daher sinkt die Wahrscheinlichkeit, dass ein oder mehrere Eingänge im gleichen Zyklus erfasst werden.
Gibt's nicht bei der S7 die Möglichkeit, dass Signale auf Eingängen AlarmBearbeitungen auslösen?

"Wenn ein oder mehrere Taster im gleichen Zyklus erfasst werden, kannst du nicht bestimmen, wer der erste war."
Die SPS kann es nicht feststellen, aber "bestimmen" kann sie es - mit einen ZufallsGenerator oder einfach "reihum".
Wenn die Taster im selben Zyklus erkannt werden, sind sie zumindest so "gleichzeitig", dass man schwerlich "nach Augenmass" der SPS nachweisen kann, helfend eingegriffen zu haben - ein Blick auf das Programm muss natürlich verwehrt werden :ROFLMAO:
Für eine Anwendung in einem Spiel sollte das durchaus tauglich sein?

Möglich wäre natürlich auch, dass man "Gleichzeitigkeit" zulässt und erkennt und anzeigt und nicht pfuscht, sondern einfach damit lebt, dass eine QuietschRunde auch mal ungültig sein darf.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Mir würde ein Lösung vorschweben, wo der/die Erste(n) die Eingangstore der anderen FlipFlops sperren. Und ich würde allen Teilnehmern gleich schnelle Eingänge gönnen :cool:
Etwa so:
Code:
                           M1
                +---+     +---+
I3--------------| & |-----|S  |---(Q1)
            +--o|   |  I1-|R  |
     +---+  |   +---+     +---+
  M2-| 1 |--+
  M3-|   |
  M4-|   |
     +---+                 M2
                +---+     +---+
I4--------------| & |-----|S  |---(Q2)
            +--o|   |  I1-|R  |
     +---+  |   +---+     +---+
  M1-| 1 |--+
  M3-|   |
  M4-|   |
     +---+                 M3
                +---+     +---+
I5--------------| & |-----|S  |---(Q3)
            +--o|   |  I1-|R  |
     +---+  |   +---+     +---+
  M1-| 1 |--+
  M2-|   |
  M4-|   |
     +---+                 M4
                +---+     +---+
I6--------------| & |-----|S  |---(Q4)
            +--o|   |  I1-|R  |
     +---+  |   +---+     +---+
  M1-| 1 |--+
  M2-|   |
  M3-|   |
     +---+

Harald
 
Mir würde ein Lösung vorschweben, wo der/die Erste(n) die Eingangstore der anderen FlipFlops sperren. Und ich würde allen Teilnehmern gleich schnelle Eingänge gönnen :cool:
Etwa so:
Code:
                           M1
                +---+     +---+
I3--------------| & |-----|S  |---(Q1)
            +--o|   |  I1-|R  |
     +---+  |   +---+     +---+
  M2-| 1 |--+
  M3-|   |
  M4-|   |
     +---+                 M2
                +---+     +---+
I4--------------| & |-----|S  |---(Q2)
            +--o|   |  I1-|R  |
     +---+  |   +---+     +---+
  M1-| 1 |--+
  M3-|   |
  M4-|   |
     +---+                 M3
                +---+     +---+
I5--------------| & |-----|S  |---(Q3)
            +--o|   |  I1-|R  |
     +---+  |   +---+     +---+
  M1-| 1 |--+
  M2-|   |
  M4-|   |
     +---+                 M4
                +---+     +---+
I6--------------| & |-----|S  |---(Q4)
            +--o|   |  I1-|R  |
     +---+  |   +---+     +---+
  M1-| 1 |--+
  M2-|   |
  M3-|   |
     +---+

Harald

Ja das mit Eingängen war mir entgangen, gut das du es nochmal erwähnt hast
Genau so ähnlich hatte ich es ja auch gedacht, allerdings leuchtet hier jetzt ja gar keine Leuchte bei gleichzeitigem betätigen, es wäre ja sehr gut wenn jetzt die „beiden schnellsten“ leuchten würden, damit man so eine Art Wiederholung oder Schiedsrichter Entscheid zwischen den schnellsten machen kann
 
Zuviel Werbung?
-> Hier kostenlos registrieren
allerdings leuchtet hier jetzt ja gar keine Leuchte bei gleichzeitigem betätigen
Tatsächlich? Ich dachte bei der Logo werden die M erst im nächsten Zyklus verknüpft? Und wenn man an den OR-Blocks anstatt M1..M4 die Q1..Q4 verwendet?

Harald
 
Gibt's nicht bei der S7 die Möglichkeit, dass Signale auf Eingängen AlarmBearbeitungen auslösen?

"Wenn ein oder mehrere Taster im gleichen Zyklus erfasst werden, kannst du nicht bestimmen, wer der erste war."
Die SPS kann es nicht feststellen, aber "bestimmen" kann sie es - mit einen ZufallsGenerator oder einfach "reihum".
Wenn die Taster im selben Zyklus erkannt werden, sind sie zumindest so "gleichzeitig", dass man schwerlich "nach Augenmass" der SPS nachweisen kann, helfend eingegriffen zu haben - ein Blick auf das Programm muss natürlich verwehrt werden :ROFLMAO:
Für eine Anwendung in einem Spiel sollte das durchaus tauglich sein?

Möglich wäre natürlich auch, dass man "Gleichzeitigkeit" zulässt und erkennt und anzeigt und nicht pfuscht, sondern einfach damit lebt, dass eine QuietschRunde auch mal ungültig sein darf.

Hallo,
vielen Dank für die Antwort.
In Kombination mit der Lösung unten vom PN/DP wäre es ja perfekt wenn bei mehreren Gleichzeitigen Betätigungen der „schnellste“ per Zufallsgenerator ermittelt werden würde. Somit hätte man ja eine Lösung die jeder akzeptieren kann. Ich habe leider Keine Vorstellung dazu, wie ich dies mit integrieren kann.

Grüße
 
Und wenn man an den OR-Blocks anstatt M1..M4 die Q1..Q4 verwendet?
Muss* man bei der LOGO eh', weil man sonst Rekursionen hat.
Das RS-FlipFlop selbst hat keinen Merker sondern nur eine FB-Nummer.


* Muss heißt entweder über den Q oder über einen zusätzliche Merker parallel zum Q, was allerdings doppelt gemoppelt wäre.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
In Kombination mit der Lösung unten vom PN/DP wäre es ja perfekt wenn bei mehreren Gleichzeitigen Betätigungen der „schnellste“ per Zufallsgenerator ermittelt werden würde. Somit hätte man ja eine Lösung die jeder akzeptieren kann. Ich habe leider Keine Vorstellung dazu, wie ich dies mit integrieren kann.
Wäre vermutlich ein riesiger Aufwand, weil man so viele verschieden Ausgangsbedingungen hat, die in den Zufall einfließen müssten:
Zufall zw. 2:
Taster 1 & 2
Taster 1 & 3
Taster 1 & 4
Taster 2 & 3
Taster 2 & 4
Taster 3 & 4

Zufall zw. 3:
Taster 1 & 2 & 3
Taster 1 & 2 & 4
Taster 2 & 3 & 4

oder Zufall zwisch allen vieren.

Also 10 Ausgangs-Szenarien.


Da würde ich doch eher zu Haralds Vorschlag tendieren, das Ergebnis zurück zu setzen und nur die zeitgleichen Teilnehmer ein weiteres Mal buzzern zu lassen.
So oft wird ja die genaue Zyklusgleichheit, also irgendwas innerhalb von wenigen Millisekunden, sicher nicht passieren, oder?
 
Das RS-FlipFlop selbst hat keinen Merker sondern nur eine FB-Nummer.
Das wars, das war mir nicht mehr geläufig.
Also bei dem Vorschlag in Beitrag #9 vorne bei den OR-Blöcken Q1..Q4 anstatt M1..M4 verknüpfen.
Ich habe gerade mal eine Variante simuliert, wo ich zwischen den RS und den Q noch M1, M2, M3 und M4 eingefügt habe - die funktioniert wie erwartet, ist aber unnötig "doppelt gemoppelt" wie hucki schon schrieb.

Zu dem "selektiven" Zufall, mit dem die LOGO bei Zyklusgleichheit einen Gewinner bestimmt, hätte ich noch die Idee: mit dem Reset-Taster (oder besser in jedem Zyklus) einen Zähler 1-2-3-4-1-2... oder 0-1-2-3-0-1... zählen lassen, und der Zählerstand bestimmt, wer bevorzugt wird. Dazu jedem Zählkanal einen "Zahlen"merker zuordnen, wo die Zahlen 1,2,3,4 rotieren (oder kann die LOGO "MOD" rechnen?) und bei mehreren zyklusgleich schnellsten wird der mit der kleinsten oder größten Zahl zum Gewinner bestimmt.
Fragt mich aber nicht, wie man das in die LOGO bastelt.

Harald
 
Ohne Tricks und ohne "Zufälle" geht's z.B. so:
Anhang anzeigen ErsterVonVierTest.lsc.pdf <===<<< ' .pdf ' nach dem Herunterladen entfernen!
Ich kann leider nur simulieren und habe keine "real-existierende" LOGO.
Mich würde schon interessieren, ob die ZyklusZeit so gross ist, dass man störend oft mit der "GleichzeitigkeitsErkennungen" und vergeudeten QuietschFragen zu kämpfen hat.
Die in der Schaltung enthaltenen "GleichzeitigTastTestTaster" I6 .. I11 dürfen selbstverständlich entfallen!
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich hab' mal was nach Haralds Vorschlag gebastelt:

attachment.php


Nur der schnellste Buzzer kann seinen RS setzen. Bei zyklusgleichen Buzzern, setzen diese alle ihren RS.

Bei mehreren gesetzten RS setzt der Zähler solange jeweils einen RS nach dem anderen zurück, bis nur noch einer übrig ist. Je nachdem, wo im Zählerzyklus gebuzzert wurde, hat man Glück oder Pech, ob man als Letzter oder Erster mit Rücksetzen dran ist.

Die jeweilige Lampe leuchtet erst auf, wenn nur noch ein gesetztes RS übrig ist.


Zum Testen mit mehreren gleichzeitigen Buzzern:
Wenn alle RS rückgesetzt sind, die Simulation mit der Pausen-Taste unterbrechen, die gewünschte Anzahl an Buzzern einschalten und anschließend die Simulation mit Play fortsetzen.
 

Anhänge

  • Buzzer.jpg
    Buzzer.jpg
    94,8 KB · Aufrufe: 82
  • Buzzer.zip
    Buzzer.zip
    26,1 KB · Aufrufe: 3
Bei mehreren gesetzten RS setzt der Zähler solange jeweils einen RS nach dem anderen zurück, bis nur noch einer übrig ist. Je nachdem, wo im Zählerzyklus gebuzzert wurde, hat man Glück oder Pech, ob man als Letzter oder Erster mit Rücksetzen dran ist.
Ahh, gut zu ende gedacht! So gefällt es mir auch. Ich denke, dann bestimmt die LOGO ausreichend "zufällig" den Gewinner.

Harald
 
Die 12/24VDC-Typen der LOGO!-Basismodule besitzen von I3-I6 schnelle Eingänge.
Diese haben beim Schalten weniger als 1,0ms Verzögerungszeit, während normale Eingänge typ. 1,5ms vorweisen.

Diese Differenz könnte bei wirklich zeitgleichem Drücken u.U. für eine Verzögerung der Eingänge I1, I2, I7 & I8 bis zum folgenden Zyklus gegenüber den schnellen Eingängen I3-I6, also eine Bevorteilung letzterer, sorgen. Für wirkliche Chancengleichheit sollten bei diesen LOGO-Typen also sicherheitshalber entweder nur schnelle oder nur normale Eingänge für die Buzzer benutzt werden.


Außerdem wäre das eventuell auch noch eine Chance, noch schneller als der LOGO-Zyklus beim Vergleichen des Buzzerns zu werden (max. 5kHz = 0,0002s also 0,2ms):
Für die Buzzer-Eingänge die schnellen Eingänge verwenden und diese direkt auf einen Vor-/Rückwärtszähler verbinden (schnelles Zählen ist nur so oder mit direkter Verbindung zum Schwellwertschalter möglich). Im Zyklus die 4 Zählerstände vergleichen und den höchsten Zählerstand zum Sieger durchschalten und den Zählerstand anschließend wieder zurücksetzen.
PPPS:
... in der Logo selbst ginge die Takterzeugung für die schnellen Eingänge natürlich nicht.
Man bräuchte also einen externen Takt-Generator, dessen Signale mit den Buzzern auf die schnellen Eingänge durchgeschaltet werden ...



PS: Danke Harald für alle Vorschläge. :cool:


PPS:
Die Chancengleichheit ist übrigens auch Ursache für den Baustein B002, falls sich das jemand gefragt haben sollte.
Ohne dieses UND wären die 3 und die 0 nur jeweils einen und die 1 und 2 jeweils 2 Zyklen (bzw. Timertakte) aktiv.
Mit dem UND ist das zumindest in der Simu bei allen 4 Zählerständen bei 2 Zyklen.
 
Zuletzt bearbeitet:
Zurück
Oben