PDA

View Full Version : Zeitvergleichung



Mike369
27.05.2009, 12:56
Hallo Kollegen erst ma schönen Tag an alle,

Will grad meine Ampelanlage etwas aufmöbeln...nun denn
Ich will wie bei der echten Ampel sagen das sie abends irgendwann auf gelb blinken schalten soll und morgens wieder auf normal betrieb.
Nun dacht ich mir damit man das auch sieht mach ich das so alle 3 min. z. B..
also wollt ich das mal mit nem Zähler machen der anfängt zu zählen wenn die CPU hochgefahren ist.
Wie stell ich das eurer Meinung nach am besten an...mit was Vergleich ich das ganze, jedesmal mit 180 s und dann wieder von vorne oder???
Oder ganz anderst??

Vielen Dank schon mal
MfG Mike

Gerhard K
27.05.2009, 13:00
zähle die zykluszeit(OB1_PREV_CYCLE) im ob1 hoch und vergleiche mit mit deiner zeit.

Mike369
27.05.2009, 13:05
?? also das vergleichen mit meinen 180 s??oder

Gerhard K
27.05.2009, 13:12
ja so mein ich das

Mike369
27.05.2009, 13:16
hm na ja ich hätte halt meinen Taktmerker auf nen zähler gelegt...aber das problem ist ja nicht die 180 s zu vergleichen sondern danach die 360-720 usw.
Aber danke schon mal

Deltal
27.05.2009, 13:51
Wenn du eine 300er CPU einsetzt kann man das auch schön mit der Echtzeituhr machen. Kannst dir ja mal die Operation-List ansehen da ist eine übersicht der Funktionen.

http://support.automation.siemens.com/WW/skm/pdfviewer.asp?HitsPerSite=10&ehbid=html_00%2Fehb%2F31977679%2Ehtm&lang=de&nodeid=36149098&siteid=cseus&query=SFC%20CPU%20315&page=1&view=new

Gerhard K
27.05.2009, 13:51
wenn die 180 konstant sind kannst dir ja eine 2. variable anlegen,die du nach erreichen der 180s um eins erhöhst und damit deinen wert multiplizieren und wenn du dein max.erreicht hast einfach mit einer 1 laden und alles fängt von vorne an.

Mike369
27.05.2009, 13:56
Ja aber echtzeit wär zum testen etwas blöd, trotzdem danke

Mike369
27.05.2009, 14:00
schick mal Prog.
Ok hab einen zähler wo bis 180 und dann halt vergleicht mit 180 der setzt mir den normalen tagesablauf der ampel und setzt auch gleichzeitig den zähler auf null...wenn jetz wieder 180s da sind und vergleicht soll er auf gelb blinken gehen und das ganze wieder von vorne, nur kann man das nich realisieren weil er ja nie weiß bei welchen 180 er das machen soll und bei welchen 180 das andere?? oder bin ich ganz auf der falschen spur

Verpolt
27.05.2009, 14:06
Hallo,

1. bis 180s zählen
2. erreicht--> flanke-->Merker setzen
3. erneut zählen
4. 180 s erreicht-->Merker rücksetzen

Also alle 180S FlipFlop auslösen.

Mike369
27.05.2009, 14:08
Servus Verpolt,
hm...ok probier ich mal, danke dir

Deltal
27.05.2009, 14:12
Ja aber echtzeit wär zum testen etwas blöd, trotzdem danke
Naja Kanonen auf Spatzen usw..

Also das mit dem Zählen ist ja oben schon gut erkärt, aber ne Alternative:

Mach doch einfach eine Einschaltverzögerung die nach Ablauf einen remanenten Merkers setzt. Im OB100 (Wird einmal aufgerufen wenn die CPU neu startet) setzt du den Merker wieder auf 0.
Ist die Zeit nicht abgelaufen = blinken, ist die Zeit abgelaufen = Ampeldingsda..

Mike369
27.05.2009, 14:13
@ Verpolt: ok so weit so gut aber so setz und rücksetz ich es immer gleichzeitig weil er ja nicht unterscheidet wann welcher ´Merker

johnij
27.05.2009, 14:13
Das Thema würde einige male diskutiert....
Such einfach nach Taktgenerator oder Blinker

LG

Mike369
27.05.2009, 14:23
Wär ja ganz einfach wenn ich zB. bei 200s die 2 auf gerade oder ungerade vergleiche und dann den jeweiligen Merker setz oder rücksetz...Problem ich weiß nicht mehr wie ich das mach:confused::rolleyes:

Verpolt
27.05.2009, 14:28
So,

könnte doch so klappen

Mike369
27.05.2009, 14:34
Haut nicht hin da mein Z2(T1) immer zählt

Mike369
27.05.2009, 14:42
OK wartet mal ich glaub ich habs teste es nur schnell noch dann stell ich s rein

Mike369
28.05.2009, 15:14
Also hab s ausversehen in das thema Ampelsteuerung reingestellt aber hier noch mal für euch, Danke noch mal hat alles geklappt