Opened 10 years ago

Closed 10 years ago

#328 closed Aufgabe (fixed)

Zeitsync GC9300 > GC9310

Reported by: Melanie Hermann Owned by: Melanie Hermann
Priority: kurzfristig Milestone:
Component: Gesamtsystem Version:
Severity: Zu prüfen Keywords:
Cc:

Description

Es wäre sehr praktisch wenn ein GC9300 die angeschlossenen GC9310 synchronisieren könnte.
Denn es könnte ja vorkommen, dass in einer Station kein DSfG-Bus und auch kein Netzwerk zur Verfügung steht.

Attachments (1)

Tests.xlsx (10.5 KB ) - added by Melanie Hermann 10 years ago.

Download all attachments as: .zip

Change History (9)

comment:1 by Melanie Hermann, 10 years ago

Der Zeitsynch vom GC9300 an den GC9310 erfolgt wenn ...

  • ... die Geräteparameter vom GC9300 an den GC9310 übertragen werden
  • ... der GC9300 selbst synchronisert wird (egal von welcher Quelle)
  • Voraussetzung: Beim GC9310 der TimeSyncMode == GC9300 eingestellt ist

Änderungen:

  • mtx_tab.txt:
    • TimeSyncMode hat neuen Modus GC9300 bekommen
  • Dialog.txt:
    • Neuen Text DT_SYNC_DONE_GC9300 definiert
  • GcProt.h, GcProt.cpp:
    • Neues Define IS_TIME
    • Neue Funktion SendTimeToGateway(): Sendet die Variable CurrentSystemTime an das GC9310.
    • SendParasToGateway(): Abarbeitung von IS_TIME
  • GcProtLog.cpp:
    • DoLog(): IS_TIME wird nicht geloggt.
  • gcvars.cpp:
    • chk_TimeSyncMode(): Neue Funktion. Lässt Auswahl GC9300 für GC9300-Controller nicht zu.
    • fkt_SetLocalTime(): Ruft CGCProt::SendTimeToGateway() auf und sendet somit nach eigener Synchronisierung die Uhrzeit an den GC9310.
    • fkt_SendParasToGC9310(): Ruft CGCProt::SendTimeToGateway() auf und sendet somit auch die Uhrzeit an den GC9310.
  • GcApp.cpp:
    • InitInstance(): Aufruf von SetValuesForControllerMode().
    • SetValuesForControllerMode(): Neue Funktion. Setzt spezifische Werte für GC9300.
    • DoTheTimeSync(): Ausgabe in DiagnoseLog, wenn Zeitsync via GC9300 erfolgt ist. Nach Beendigung des eigenen Syncs sendet GC9300 die Zeit an GC9310 (SendTimeToGateway()).

by Melanie Hermann, 10 years ago

Attachment: Tests.xlsx added

comment:2 by Melanie Hermann, 10 years ago

Langzeittest mit Archiv- bzw. Logüberprüfung im Testrack:

Test läuft seit ~ 11:50:00 03.03.2016.

Kontrolle am 04.03.2016:
GC9300 hat nachts Zeitsync von DSfG erhalten und GC9310 hat nachts Zeitsync von GC9300 erhalten. > OK

Kontrolle am 07.03.2016:
GC9300 hat nachts Zeitsync von DSfG erhalten und GC9310 hat nachts Zeitsync von GC9300 erhalten. > OK

Last edited 10 years ago by Melanie Hermann (previous) (diff)

comment:3 by Melanie Hermann, 10 years ago

Severity: AufgabeZu prüfen

comment:4 by Melanie Hermann, 10 years ago

Resolution: fixed
Status: newclosed

comment:5 by Melanie Hermann, 10 years ago

Resolution: fixed
Status: closedreopened

comment:6 by Melanie Hermann, 10 years ago

TODO:
Es wäre sinnvoll, wenn der GC9300, auch ohne eigenen Zeitsync, einmal am Tag die Uhrzeit an den GC9310 senden würde. Dann könnte man die Geräte unabhängig von DSfG oder NTP-Server im Test betreiben.

comment:7 by Melanie Hermann, 10 years ago

Änderungen:

  • GcApp.cpp:
    • SecTimerFunc(): Einmal am Tag, um 23:00:30 Uhr, sendet der GC9300 einen Sync an den GC9310.

Hinweis:
Dies sorgt dafür, dass die Geräte auch dann synchron laufen, wenn der GC9300 keinen Zeitsync erhält. Wenn der GC9300 einen Zeitsync erhält, dann synchronisiert er den GC9310 immer genau dann, wenn er selbst synchronisiert wird. Und wenn die Sync-Regeln im GC9310 dann auf STRIKT eingestellt sind, werden die zusätzlichen Syncs um 23:00:30 Uhr ignoriert, da an diesem Tag höchstwahrscheinlich bereits ein anderer Sync stattgefunden hat.

comment:8 by Melanie Hermann, 10 years ago

Resolution: fixed
Status: reopenedclosed
Note: See TracTickets for help on using tickets.