Reihenfolge speichern und abarbeiten ???

Begonnen von Chris30, 02. Juli 2010, 13:41:56

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

Chris30

Hallo ,

ich mache über Abendschule eine Fortbildung zum Elektrotechniker , und wie es nunmal so ist , haben wir auch das Thema Automatisieren .
Wir arbeiten mit Step7 und haben nun eine ziemlich kniffelige Aufgabe bekommen , wobei ich hilfe bräuchte ??? ??? ??? .

Ich bin für jede Hilfe dankbar .   

In einem Baustoffzentrum gibt es für jede Abteilung einen Informationsstand . Insgesamt gibt es neun Informationsstände . An jedem Informationsstand befindet sich ein Taster , mit dem der Kunde wenn er diesen betätigt ein Ausruf über die Lautsprecheranlage starten kann damit ein Mitarbeiter zum jeweiligen Informationsstand kommt . Es sollen immer nur drei Eingangsignale verarbeitet werden und das der Reihenfolge der Betätigung nach , es kann auch immer nur ein Ausruftext laufen .

Z.B  S4 wird betätigt , dann S3 und zum Schluß S9 . Zuerst muß Ausruftext 4 laufen dann Ausruftext 3 und dann Ausruftext 9 .

Informationsstand 1 = S1=E0.0
Informationsstand 2 = S2=E0.1
Informationsstand 3 = S3=E0.2
Informationsstand 4 = S4=E0.3
Informationsstand 5 = S5=E0.4
Informationsstand 6 = S6=E0.5
Informationsstand 7 = S7=E0.6
Informationsstand 8 = S8=E0.7
Informationsstand 9 = S9=E1.0

Ausruftext 1 = A0.0
Ausruftext 2 = A0.1
Ausruftext 3 = A0.2
Ausruftext 4 = A0.3
Ausruftext 5 = A0.4
Ausruftext 6 = A0.5
Ausruftext 7 = A0.6
Ausruftext 8 = A0.7
Ausruftext 9 = A1.0

Wie kriege ich es hin die Eingangssignale zu speichern und der Reihenfolge nach abarbeiten .


peewit

#1
hallo

ich würde die anfragen mit hilfe des fifo16 bausteins ablegen und verarbeiten
positive flanke von informationsstand 1 legt den wert 1 im fifo ab usw..

immer wenn fifo nicht leer ist, dann wert lesen und den wert wieder auf ausgang konvertieren

Frage:
wie erkennt man das man den nächsten ansagetext ansteuern darf , bzw der laufende ansagetext beendet ist ?

noch dazu müsste man eine sperrzeit einbauen, sodass nicht durch ständiges drücken die meldung oft wiederholt wird


Chris30

Der Ansagetext ist nach einer Zeit X , ich sag mal nach 10 Sekunden beendet . und bis der nächste Ansagetext aufgerufen wird wollte ich eine kleine Speerzeit von 3 bis 5 Sekunden einbauen .

Chris30

Ist der Baustein fifo16 unter der OSCAT.LIB zu finden ?

peewit


Chris30

Wie steuere ich den fifu16 in der FUP Ansicht denn an , ich werde nicht ganz schlau aus der Anleitung  ???

peewit

ich fürchte das dir ein gewissen basiswissen fehlt, so wirst du nicht vorwärts kommen

ein kleiner tip
wenn man die anleitung nicht versteht, sollte man zumindest mal versuchen mit dem baustein zu experimientieren, um dadurch zu lernen

solche einfachen aufgaben kann man sehr einfach und schnell in strukturierten text programmieren

Chris30

Es ist klar das ein mehr oder weniger Basiswissen fehlt , da ich auf der Arbeit garnichts damit zu tun habe und in der Schule nicht alles vermittelt wird . Deshalb versuche ich mich privat damit zu beschäftigen . Strukturierte Programmiersprachen sind eine tolle Sache , aber das bischen SCL was wir gemacht haben reicht noch lange nicht .

Aber so einfach scheint die Aufgabe ja nicht zu sein , denn der Knackpunkt liegt ja darin :

Das wenn z.B S7 getastet wird der Ansagetext von Ausgang A0.6 angesteuert und nach einer Wartezeit X , der nächste Ansagetext abgespielt wird .

Maximal dürfen nur drei Ansagetexte nacheinander laufen  und sie sollen in der richtigen Reihenfolge ablaufen .