Aufgabe: Reaktionstester

saustift

Level-1
Beiträge
18
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, habe die Aufgabe einen Reaktionstester zu programmieren.
Ich habe aber nicht so wirklich einen Plan wie ich da rangehen soll und wie Ich ein solches Programm strukturiere bzw. aufbaue.
Ich weis ihr hasst solche "Hausaufgaben - Thread" aber ich möchte keine wirkliche Lösung, eher ein paar verständliche Tipps wie ich das ganze am besten mache.

Hier die Aufgabenstellung:
Der Reaktionstest wird gestartet indem eine beliebige Taste gedrückt wird. Nach einer zufälligen Zeit zwischen 3 und 10 Sekunden beginnt dann der Test.
Sobald eine der Lampen aufleuchtet, muss so schnell wie möglich der ebenso farbige Taster gedrückt werden. Die Zeit, die zwischen dem Aufleuchten der Lampe und dem Drücken des Tasters vergeht, wird gemessen. Sobald der passende Taster gedrückt wird, soll die nächste Lampe nach dem Zufallsprinzip aufleuchten.
Die Rundenanzahl soll fest bei 20x Aufleuchten einer (zufälligen) Lampe liegen. Die Reaktionszeiten aller Runden sollen addiert werden.
Die ermittelte Gesamtzeit soll mit der gespeicherten Bestzeit verglichen werden. Bei neuer Bestzeit sollen alle Lampen für 10 Sekunden blinken. Nach Ablauf dieser 10 Sekunden kann der Test neu gestartet werden.


Danke schonmal!

Grüße,
Chris
 
auch wenn das jetzt kitschig klingt ;) aber ne sps für sowas zu nehmen ist nicht gerade sinnvoll wegen der zyklischen verarbeitung.
hier wäre ein c++ programm auf einem richtigen pc besser.
Menschen haben reaktionszeiten in ms bereich wenn dein zyklus 10ms wäre hast du immer ein verfälschtes ergebnis. :ROFLMAO::ROFLMAO:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja das stimmt schon, aber ich kanns nicht ändern, soll mit einer SPS gemacht werden.
Ist ja eine Ausbildungsaufgabe...da gehts mehr um den Lerneffekt als um das Ergebnis.
 
auch wenn das jetzt kitschig klingt ;) aber ne sps für sowas zu nehmen ist nicht gerade sinnvoll wegen der zyklischen verarbeitung.
hier wäre ein c++ programm auf einem richtigen pc besser.
Menschen haben reaktionszeiten in ms bereich wenn dein zyklus 10ms wäre hast du immer ein verfälschtes ergebnis. :ROFLMAO::ROFLMAO:
Wenn, dann würde ich einen Mikrocontroller nehmen und da ein Display anschliessen
 
Ja das stimmt schon, aber ich kanns nicht ändern, soll mit einer SPS gemacht werden.
Ist ja eine Ausbildungsaufgabe...da gehts mehr um den Lerneffekt als um das Ergebnis.

ich finde den Lerneffekt des Ergebnisses: "eine Industriesteuerung für derlei Spielereien zu benutzen ist schlicht und ergreifend Unfug" enorm!
wäre zudem auch eines, welches man vertreten lernen sollte - auch das muss Ausbildung leisten können!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Da mögt ihr recht haben, aber ich kann das nunmal nicht ändern.
Arbeite die Aufgaben die bei uns auf´m Server liegen ab, wenn ich grad nicht mit zu ner IBN bin.. und nun ist eben diese an der Reihe...
 
ich finde den Lerneffekt des Ergebnisses: "eine Industriesteuerung für derlei Spielereien zu benutzen ist schlicht und ergreifend Unfug" enorm!
wäre zudem auch eines, welches man vertreten lernen sollte - auch das muss Ausbildung leisten können!

Also so ganz versteh ich deine Aussage nicht.

Ich finde jede Aufgabenstellung die verständlich ist und zum Nachdenken anregt in der Ausbildung gut.
Was ist schlecht wenn eine PLC mal nicht etwas sinnvolles? macht?
Es ist doch völlig egal, was programmiert wird, wenn es hilft strukturiert zu denken und dann zu codieren.

bike
 
Zuviel Werbung?
-> Hier kostenlos registrieren
auch wenn das jetzt kitschig klingt ;) aber ne sps für sowas zu nehmen ist nicht gerade sinnvoll wegen der zyklischen verarbeitung.
hier wäre ein c++ programm auf einem richtigen pc besser.
Menschen haben reaktionszeiten in ms bereich wenn dein zyklus 10ms wäre hast du immer ein verfälschtes ergebnis. :ROFLMAO::ROFLMAO:

Da bin jetzt aber schwer beeindruckt von diesem Übermenschen!

Ein SPS ist für solche Aufgabenstellungen sehr gut geeignet.
Für das menschliche Gehirn ist alles was in ca. 30ms passiert eine Einheit und zeitlich nicht mehr unterscheidbar.
Messungen bis 1µs (0,001ms) Auflösung ist für SPS-Systeme nach aktuellen Stand der Technik machbar.
Zyklen von deutlich unter 1ms sind auch kein Problem mehr.
In dieser Liga können normale PC Systeme ohne Echtzeiterweitung nicht mehr mitspielen. (Option wäre hier nur dezentrale I/O für die Messung)
 
Also so ganz versteh ich deine Aussage nicht.

Ich finde jede Aufgabenstellung die verständlich ist und zum Nachdenken anregt in der Ausbildung gut.
Was ist schlecht wenn eine PLC mal nicht etwas sinnvolles? macht?
Es ist doch völlig egal, was programmiert wird, wenn es hilft strukturiert zu denken und dann zu codieren.

bike

ja, aber man sollte eben dieses Nachdenken auch über den beschränkten Horizont hinaus fördern und wenn der Stift beim Nachdenken und/oder seiner Recherche zu dem Punkt kommt, es ist nicht der gangbarste Weg dies mit einer Industriesteuerung zu machen sollte zum einen evtl. über die Übungsaufgabe nachgedacht werden und zum anderen dem Stift zugehört werden, wenn er andere Lösungsvorschläge und Ideen einbringt. Kreatives Denken und Lösungsentwicklung auch in evtl. fachfremden Gebieten finde ich enorm wichtig. Und es schadet einem Maschinenbauer(? wenn ich das richtig rausgelesen habe) nicht auch die Förderung von Entwicklungspotential in anderen Gebieten, hier z.B. Hochsprachenprogrammierung, zu ermöglichen. Es können alle davon profitieren.

Mal davon ab, dass man einem Lehrling vielleicht auch Aufgaben zutrauen sollte (und müßte) die dem gesamtunternehmerischen Erfolg und der Wertschöpfungskette entgegen kommen. Also eine Aufgabe aus der Praxis, nichts ausgedachtes mit den falschen Mitteln umzusetzendes...
 
Hi 4L,
Also Maschienenbauer bin ich nicht, lerne Elektroniker für Automatisierungstechnik und in der realen Praxis bin ich eigl zu 80% beschäftigt. Wenn wir aber im Büro sitzen und es gerade keinen echten Auftrag gibt, bei dem wir bereits mitwirken könnten, oder eine Inbetriebnahme auf die wir mitfahren könnten, dann werden eben Übungsaufgaben, meist sogar inkl. Modellaufbau und kleinem, selbstgebauten Schaltschrank programmiert.


Es wäre trotzdem nett wenn mir jemand Tipps geben könnte und wir mal wieder, bzw. überhaupt auf das Thema zurück kommen könnten^^
Möchte gern weiterkommen, aber, weis wie gesagt echt nicht so recht wie. =)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Da hast du nicht ganz unrecht.
Doch erstens scheint es die Aufgabe zu sein PLC zu programmieren.
Und zweitens bin ich mir nicht sicher, ob Hochsprachenprogrammierung zur Ausbildung gehört.
Zu drittens fällt mir ein, dass zuerst die Grundlagen vorhanden sein sollen, bevor ein "echtes" Projekt angegangen werden kann.
Also ich kenne von unseren Auszubildenden keinen, den ich an die Entwicklung einer Maschine oder für Unterstützung hinsetzen möchte, da er damit scheitern muss.
Es ist oft schon das Limit erreicht, wenn ein Archiv eingespielt ist, die Sensorik online zu testen.


In der Ausbildung wird die Grundlage gesetzt auf die später aufgebaut werden kann, hoffentlich.


bike
 
Ich zitiere mal die Siemens Hilfe von Step7:

Beschreibung

Mit der SFC 64 "TIME_TCK" (time tick) lesen Sie die Systemzeit der CPU. Die Systemzeit ist ein "Zeitzähler", der von 0 bis max. 2147483647 ms zählt. Bei einem Überlauf der Systemzeit wird wieder ab 0 gezählt. Das Zeitraster und die Genauigkeit der Systemzeit betragen bei S7-400 und bei der CPU 318 1 ms, bei allen anderen CPUs der S7-300 10 ms. Die Systemzeit wird nur von den Betriebszuständen der CPU beeinflußt.

Anwendung

Die Systemzeit können Sie zum Beispiel nutzen, um die Dauer von Vorgängen durch Differenzbildung der Ergebnisse von zwei SFC 64-Aufrufen zu messen.

als kleine hilfestellung
 
Es ist oft schon das Limit erreicht, wenn ein Archiv eingespielt ist, die Sensorik online zu testen.

das kommt aber wirklich auch darauf an wie der Stift gefordert und gefördert wird. ich habe gute Erfahrungen damit gemacht, Stifte an kleinen (Teil-)Projekten zu beteiligen - die Identifikation mit der Aufgabe und dem Unternehmen ist größer, dadurch die Motivation stärker und die Bindung über die Lehre hinaus wahrscheinlicher (auch aus unternehmerischer Sicht, da man sich ja seinen eigenen Facharbeiter anlernt...)

(das gesamte Gegenteil davon wird übrigens gerade in dem Unternehmen gelebt, in dem ich gerade noch bin: die praktische Ausbildung macht der Stift im Berufsschulzentrum bzw. einem Kooperationspartner... er wird sich mit der Arbeit hier nicht identifizieren können, denn die Voraussetzungen sind doch sehr unterschiedlich...)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Okay, das würde bedeuten ich könnte die Reaktionszeit ermitteln, indem ich mit dem Start beide SFC 64 setze und einen anhalte sobald der entsprechende Knopf gedrückt wird. Das ganze mit einem Vergleicher auswerten und die ermittelte Zeit 20 mal addieren, also pro Wiederholung einmal. Am Ende hätte ich dann meine Zeit.

Oder?!^^

Dann müsste ich nur noch irgendwie eine Art Zufallsgenerator für die Lampen bauen...evtl. mit einem UDT und nem Pointer welcher mit Hilfe eines Taktes und eines Vergleichers immer durch das Register läuft und dann irgendwo anhält und die Lampe setzt?!

...oder denk ich da grad Müll zusammen
 
nee, so verkehrt ist dein Ansatz gar nicht.
Mit dem Zufallsgenerator das Lämpchen ansteuern und gleichzeitig per Flanke die Systemtick-Zeit in einem DINT abspeichern. Bei Flanke Taster die Ticks in einem zweiten DINT abspeichern. Delta-t bilden und ausgeben. Zack! fertich.

Gruß Approx
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Und wie mache ich den Zufallsgenerator am besten?

Stand da
http://www.sps-forum.de/showpost.php?p=313388&postcount=7
nicht wo einen finden kannst?


Und womit kann ich ein DINT in Delta T umwandeln?Danke

Delta t ist doch der Unterschied, also du bildest die Differenz zwischen den beiden Zeiten, die als DINT ja schon vorliegen.

bike
 
Zuletzt bearbeitet:
Zurück
Oben