easy-forum

Deutsch - Software => easySoft => Thema gestartet von: joelas am September 18, 2025, 09:14:19 Vormittag

Titel: E4: Systemzeit im Unix-format?
Beitrag von: joelas am September 18, 2025, 09:14:19 Vormittag
Kennt jemand eine Moeglichkeit, die aktuelle Zeit (Funktionsblock "RC") als 32-bit-Variable im Unix-Format in einem MD abzulegen, so dass sie ueber ModBusTCP als "Zeitstempel" gelesen werden kann?
Ich nehme ja an, dass der RC-Block die interne Zeit schon in einem Unix-aehnlichen Format aus dem Speicher liest, nur ist dieser Wert ja leider offenbar nicht von aussen zum Lesen zugaenglich...
Titel: Antw:E4: Systemzeit im Unix-format?
Beitrag von: w.sprungmann am September 22, 2025, 08:00:37 Vormittag
Hallo joelas,
kannst du den Zeitstempel nicht aus dem Zeitserver holen, wenn du schon mit Modbus (Internet) verbunden bist?

Beim 32 Bit Unix Format gibt es noch ein anderes Problem, dieses habe ich gefunden:

Die Zeit als 32-Bit-Unix-Format ist ein vorzeichenbehafteter 32-Bit-Wert (time_t), der die Anzahl der Sekunden seit dem 1. Januar 1970 (Unix-Epoche) in UTC zählt. Dieses Format birgt jedoch das Jahr-2038-Problem, bei dem die Kapazität der 32-Bit-Zahl am 19. Januar 2038 überschritten wird und zu Systemfehlern führt. Aus diesem Grund verwenden moderne Unix-Systeme auf 64-Bit-Basis standardmäßig eine 64-Bit-Variable, um dieses Problem zu umgehen
Das Problem mit 32-Bit-Variablen

Kapazitätsgrenze:
Eine vorzeichenbehaftete 32-Bit-Zahl kann Werte bis zu etwa 2.147.483.647 aufnehmen.

Datumsgrenze:
Am 19. Januar 2038 um 03:14:07 Uhr UTC wird die Anzahl der verstrichenen Sekunden diesen Wert überschreiten.
Auswirkungen:
Dies führt zu einem Überlauf, was dazu führt, dass die Zeit auf vielen Systemen wieder zurückspringt und zu Fehlfunktionen führt.

Na ja es dauert noch 13 Jahre
Gruß Wilhelm
Titel: Antw:E4: Systemzeit im Unix-format?
Beitrag von: radar17892 am Oktober 10, 2025, 12:36:47 Nachmittag
Hallo Wilhelm,
das stimmt so nicht ganz.
Auf SPSen (zB Codesys) ist der Wert von Time nicht Vorzeichenbehaftet Es ist ein DWORD. Damit ist es ein Jahr 2106 Problem. ;)
Titel: Antw:E4: Systemzeit im Unix-format?
Beitrag von: joelas am April 13, 2026, 09:12:14 Vormittag
Danke fuer die Antworten. Leider ist damit mein Problem nicht geloest, denn unsere EASY sind nicht mit dem InterNet verbunden, nur mit einem lokalen Zeitserver. Deshalb wuerde es schon einige Umwege bedeuten, die momentane Zeit zusaetzlich ueber ModBusTCP zu holen (wo sie doch vom Betriebssystem via NTP offenbar schon im System ist). Ich muesste also einen "Modbus-Zeitserver" bauen, um der EASY die Moeglichkeit zu geben, von diesem via ModbusTCP zu lesen. Deshalb waere es weiterhin schoen, wenn es einen Weg gaebe, die Systemzeit nicht nur als Einzelwerte aus dem RC-block lesen zu koennen, sondern als "Timestamp" in einem MD...
Titel: Antw:E4: Systemzeit im Unix-format?
Beitrag von: ELWMS am April 13, 2026, 14:09:15 Nachmittag
Hallo!

Es gibt auch die Möglichkeit des DCF77-Empfangs, über einen digitalen Eingang. Das größere Problem ist einen günstigen DCF77-Empfänger zu bekommen, und einen optimalen empfangsort...

Gruß,

ELWMS
Titel: Antw:E4: Systemzeit im Unix-format?
Beitrag von: joelas am April 13, 2026, 14:45:31 Nachmittag
Ja, das ist ja gut im Handbuch beschrieben. Trotzdem loest das nicht das Problem, dass es keine Variable gibt, die die komplette Systemzeit enthaelt.
Titel: Antw:E4: Systemzeit im Unix-format?
Beitrag von: Konni66 am April 14, 2026, 09:02:12 Vormittag
Hallo ELWMS,
ich habe vor Jahren privat einen DCF-77-Empfänger von ALTEL gekauft, weil er mit bis zu 28 V funktioniert und kein Bausatz ist.
Damals von eBay aus England für etwas über 80 €. Zeitweise gab's den auch bei Amazon und hier das Nachfolgemodell: https://shop.glier-elektronik.de/p/funkempfaenger-dcf-77-uhr-empfaenger-eaton-e4-easy-altel-at-656-at-513 (https://shop.glier-elektronik.de/p/funkempfaenger-dcf-77-uhr-empfaenger-eaton-e4-easy-altel-at-656-at-513)

Grüße
Konni

Titel: Antw:E4: Systemzeit im Unix-format?
Beitrag von: Sparlock am April 22, 2026, 20:29:42 Nachmittag
Kennt jemand eine Moeglichkeit, die aktuelle Zeit (Funktionsblock "RC") als 32-bit-Variable im Unix-Format in einem MD abzulegen, so dass sie ueber ModBusTCP als "Zeitstempel" gelesen werden kann?

Ja, selbst berechnen. Das ist dir zwar "ein bisschen zu aufwendig," (https://easy-forum.net/index.php?topic=8949.msg38871#msg38871) aber eine andere Möglichkeit gibt es wohl nicht. Da du aber lieber über ein Jahr auf eine Lösung wartest statt selbst eine zu finden (oder es zumindest zu versuchen), scheint es dir nicht sonderlich wichtig zu sein.