Trigger zur vollen Stunde

Wago_

Level-1
Beiträge
13
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hey,

hat jemand eine Idee wie ich einen trigger programmieren kann der genau immer nur zur vollen Stunde auslöst?
z.B. 12:00, 13:00, 14:00 Uhr usw.

Bin über jeden Tipp dankbar.
 
Passend zu deiner Steuerung und Programmiersoftware, welche du uns noch nicht verraten hast, gibt es bestimmt ein zugehöriges Handbuch. Darin kannst du per Suchfunktion mal nach „Systemzeit“ und/oder „Schaltuhr“ suchen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Darin kannst du per Suchfunktion mal nach „Systemzeit“ und/oder „Schaltuhr“ suchen.
Oder nach "Scheduler"?
Oder selber machen. Die Stunde abfragen und mit der Stunde der vorherigen Abfrage vergleichen. Wenn beide Angaben unterschiedlich sind --> triggern!
 
Hey,

also zuerst ergänzend meine Hardware:
Wago 750-831 mit CodeSys 2.3

Bisher habe ich es so gelöst:

Aus der Systemzeit die Stunden und Minuten rausgefiltert und mit ein Array, wo alle vollen Stunden hinterlegt sind, verglichen.
Bei einen Treffer ein Impuls erzeugt.
Klappt soweit auch super, hatte nur die Vorstellung das ich es zu kompliziert gelöst hatte.
 
Da bin ich aber froh, dass du kein Schüler bist, dem am Samstag Abend noch eingefallen ist, was er am Montag als Hausarbeit abgeben muss… :rolleyes:

Auf jeden Fall wäre es sinnvoll gewesen, wenn du deine bisherige Lösung eingestellt hättest, mit der Frage, ob man das Problem hätte besser lösen können!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Da bin ich aber froh, dass du kein Schüler bist, dem am Samstag Abend noch eingefallen ist, was er am Montag als Hausarbeit abgeben muss… :rolleyes:

Auf jeden Fall wäre es sinnvoll gewesen, wenn du deine bisherige Lösung eingestellt hättest, mit der Frage, ob man das Problem hätte besser lösen können!

Nein ein Schüler bin ich glücklicherweise nicht mehr.
Ich werde morgen meinen Code dazu Posten, wenn ich im Büro bin.
Vielleicht hat dann jemand ein Verbesserungsvorschlag.


Bis morgen
 
hat jemand eine Idee wie ich einen trigger programmieren kann der genau immer nur zur vollen Stunde auslöst?
z.B. 12:00, 13:00, 14:00 Uhr usw.
Bisher habe ich es so gelöst:
Aus der Systemzeit die Stunden und Minuten rausgefiltert und mit ein Array, wo alle vollen Stunden hinterlegt sind, verglichen.
Bei einen Treffer ein Impuls erzeugt.
Wenn Du zu JEDER vollen Stunde triggern willst, benötigst Du kein Array, wo alle vollen Stunden hinterlegt sind. Das Array könnte sinnvoll sein, wenn Du in einer Liste auswählen/vorgeben willst, bei welchen StundenWechseln Du triggern willst und bei welchen nicht.
Auch die Minuten brauchst Du nicht.
Filter die aktuelle Stunde aus,
vergleiche sie mit der Kopie der aktuellen Stunde, die Du im Zyklus zuvor abgespeichert hast,
sind beide Werte identisch, tust Du nichts weiter ...
sind beide Werte unterschiedlich, triggerst Du und kopierst die aktuelle Stunde für den/die nächsten Vergleich[e] in die oben als Kopie bezeichnete Variable (deren Inhalt natürlich für den/die weiteren Vergleiche erhalten bleiben muss - bis Du sie beim nächsten Triggern aktualisierst).
Code:
bTrigger := StundeAlt <> StundeAkt;
StundeAlt := StundeAkt;

// oder

bTrigger := StundeAlt <> StundeAkt;
IF bTrigger THEN StundeAlt := StundeAkt; END_IF;
 
Zuletzt bearbeitet:
Drüber nachdenken: Was soll passieren, wenn durch die Sommerzeit/Winterzeit-Umstellung die Uhrzeit von 02:59 auf 02:00 springt (und im umgekehrten Fall?), oder falls durch eine Uhrzeit-Synchronisation die Uhr auf eine Zeit kurz vor der vollen Stunde zurückspringt?

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Drüber nachdenken: Was soll passieren, wenn durch die Sommerzeit/Winterzeit-Umstellung die Uhrzeit von 02:59 auf 02:00 springt (und im umgekehrten Fall?), ...
Darüber sollten mal diejenigen nachdenken, die die Umstellungen zwischen der SommerZeit und der richtigen Zeit erfunden haben bzw. beibehalten wollen!!! :ROFLMAO:
Der Wechsel von 02:59 auf 02:00 ist "unkritisch" - diese Stunde dauert nun mal 2 Stunden und wird deshalb erst nach 2 Stunden voll. ;)
Der umgekehrte Wechsel ist auch kein Thema - die Stunde findet nicht statt und kann somit nicht "voll" werden. Also: alles paletti!

UhrzeitSynchronisation ist allerdings der Hammer! Da muss man pfuschen. Ich würde mit dem TriggerImpuls eine AusschaltVerzögerung starten, die 30 Minuten lang die Bildung eines weiteren TriggerImpulses unterdrückt.
 
Ich hab dieses Problem bis jetzt immer so gelöst, dass ich die Minuten der Lokalzeit mit 0 verglichen habe und mit p_trig eine Flanke gebildet habe.
Dann brauche ich keinen Stundenmerker etc und habe auch kein Problem mit Uhrzeitumstellung.
 
Ich hab dieses Problem bis jetzt immer so gelöst, dass ich die Minuten der Lokalzeit mit 0 verglichen habe und mit p_trig eine Flanke gebildet habe.
Du bist Dir aber darüber im Klaren, dass Du damit die Befürworter der ZeitUmstellung unterstützt!?
Ich sehe es so: bei der Umstellung auf SommerZeit gewähren wir den Befürwortern einen zinslosen Kredit von 1 Stunde über die Laufzeit von 7 Monaten!!!
Kleiner Trost: da zinslos, fallen also auch keine NegativZinsen an.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Erstmal vielen Dank für die Ideen und Ratschläge, ich wusste doch das ich es wieder zu kompliziert umgesetzt habe.
Werde es die Woche anpassen und das Ergebnis rein stellen für den nächsten der sowas benötigt ;)
 
Zurück
Oben