Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#187 closed Verbesserung (fixed)

DSfG Zeitstempel

Reported by: Melanie Hermann Owned by: Melanie Hermann
Priority: kurzfristig Milestone:
Component: Gesamtsystem Version: ALLE
Severity: Verbesserung Keywords:
Cc:

Description

  • Zeitstempel bei AnagasDruckfehler-Geht falsch (3 Sek. zu spät)
  • Manchmal wird beim Stundenmittelwert der letzte Wert in der Stunde nicht verwendet, sondern in die nächste Stunde übertragen:
    • 10:59:55 Zeitstempel Ana. wird festgelegt
    • .... (Sonstiger Programmcode)
    • Ereignis NeueMess wird an DSfG geschickt
    • ABER IN DER ZWISCHENZEIT KAM SCHON EREIGNIS STUNDENWECHSEL IN DER DSFG AN!

Change History (4)

comment:1 by Melanie Hermann, 12 years ago

DONE:
1) AnagasDruckfehler-Geht kommt jetzt genau zeitgleich mit Analysenende
Die Variable GCThreadTime wurde komplett aus dem Programm entfernt. Denn das war eine Zeit, die immer nur alle 3-5 Sekunden aktualisiert und als Zeitstempel für AnaEnde verwendet wurde.
Jetzt wird als AnaEnde-Zeitstempel CurrenLocalTime verwendet. Somit sind die Zeitstempel für die DSfG-Einträge AnagasDruckfehler-Geht und AnaEnde genau gleich.

comment:2 by Melanie Hermann, 12 years ago

2) GC-Zeit in SecTimerFunc() identisch mit DSfG-Zeit in Do_EverySecond(), denn beim Aufruf von Event_EverySecond() aus dem GC heraus wird die Uhrzeit als Parameter übergeben.

Version 1, edited 12 years ago by Melanie Hermann (previous) (next) (diff)

comment:3 by Melanie Hermann, 12 years ago

Resolution: fixed
Status: newclosed

comment:4 by Melanie Hermann, 12 years ago

Hinweise:

  • Das Signal NeueMessung wird in CGc::DoMessungFertig() verschickt
  • Eingetragen werden die Analysen in der DSfG in C_DSfGManager::Do_Archiv()
  • Die Funktionsaufrufe verlaufen folgendermaßen:

Senderseite:
CGc::DoMessungFertig()
-> C_DSfGApi::Event_ArchivFillNeueMesswerte()
-> C_DSfGApi::arvFill()
-> C_DSfGApi::sendMsg()
-> C_QueueManager::Write() [Beschreibt die Queue]
und C_QueueManager::Signal() [Sendet Signal, dass neuer Eintrag in Queue]

Empfängerseite:
Thread_DsfgManager()
-> WaitForMultipleObjects() [Empfängt Ereignisse]
und Do_AllEvent() [Hier wird untersucht welche Queue neuen Eintrag enthält]
-> Do_Archiv() [Queue lesen und Archive schreiben]

Note: See TracTickets for help on using tickets.