#211 closed Aufgabe (fixed)
DSfG: Prüfgas
| Reported by: | Melanie Hermann | Owned by: | Melanie Hermann |
|---|---|---|---|
| Priority: | kurzfristig | Milestone: | |
| Component: | Gesamtsystem | Version: | ALLE |
| Severity: | Aufgabe | Keywords: | |
| Cc: |
Description
Die Prüfgasanalysen (externe Kalibrierung) sollen auf allen Streams in AG3, mit gesetztem Revisionsbit, eingetragen werden.
Der Umwerter soll anhand des Revisionsbits entscheiden, dass er die Analyse ignorieren soll und soll dein Vermerken, dass sich der GC momentan in Revision befindet.
Momentan landen diese Analysen nur in AG13. Das hat zur Folge, dass der Umwerter diese Analsen gar nicht sieht und auch nicht verwendet. Allerdings kann er momentan auch keinen Revisionsvermerk setzen.
Diese Analysen sollen nicht in die Mittelwertbildung einfliessen.
Die MW-Archive sollen wie bei der internen Kalibrierung gehandhabt werden.
Change History (9)
comment:2 by , 12 years ago
| Priority: | mittelfristig → kurzfristig |
|---|
comment:3 by , 12 years ago
Änderungen:
- Neuen Hinweis HIN_NUR_DSFG_REV_SCHALTER definiert
- utils.cpp:
- buildDSfGDei(): Prüfung von DIGITALAUSGANG6 (Ref. Gas Ventil) und somit Setzen von DSFG_DEI_REV eingebaut
- Gc.cpp:
- SetValve(): Wenn Refgas-Ventil gesetzt wird, werden Ereignisse in die DSfG eingetragen.
- DoMessungFertig(): Wenn die letzte Refgas-Analyse fertig ist, werden Ereignisse in die DSfG eingetragen. Zudem wird die Funktion Event_ArchivFillNeueMesswerte() aufgerufen.
- dsfgapi.h, .cpp:
- arvFill_Ref(): Neue Funktion. Ist identisch zu arvFill_Kalib().
- dsfgmana.cpp:
- Do_Archiv(): Die Funktion Create_AverageValues() wird nur für S1 - S4 aufgerufen. Ref und Kal werden für die Mittelwertbildungen ignoriert.
comment:4 by , 12 years ago
Weitere Änderungen:
- Gc.h, .cpp:
- Neue Membervar m_revDSfGDei für DSfG-DEI erhalten
- SetValve():
- Aktionen um DSfG-Archive zu schreiben komplett entfernt
- DoMessungFertig():
- Aktionen um DSfG-Archive zu schreiben komplett hier implementiert
- Wenn Kal-Ventil frisch gesetzt, wird dig. Ausgang KALIB LÄUFT gesetzt und DSfG-Logbuch + -MW werden befüllt. Zudem wird die Variable m_revDSfGDei gesetzt.
- Wenn Ref-Ventil frisch gesetzt, wird DSfG-Logbuch + -MW werden befüllt. Zudem wird die Variable m_revDSfGDei gesetzt.
- Nach der letzten Kal-Analyse wird die Variable m_revDSfGDei rückgesetzt.
- Nach der letzten Ref-Analyse wird die Variable m_revDSfGDei rückgesetzt.
- utils.h, .cpp:
- buildDSfGDei():
- Neuen Parameter rev für DSFG_DEI_REV erhalten
- DSFG_DEI_REV hängt nicht mehr von den dig. Ausgängen ab, sondern von der Variablen CGc::m_revDSfGDei
- buildDSfGDei():
- gcerrors.cpp:
- SetDSfGError():
- Alle Aufrufe von buildDSfGDei() haben weiteren Parameter erhalten
- SetDSfGError():
comment:6 by , 12 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
comment:7 by , 12 years ago
Weitere Änderungen:
Schreiben der DSfG-Archive (Kal & Ref in MW und Logbuch) ans Ende von DoMessungFertig() geschoben.
Denn zuvor gab es das Problem, dass der Refeintrag in die Momentanwerte bei S1 mit 0x0200 und bei S2 - S4 mit 0x0000 eingetragen wurde. Das lag daran, dass gleich erkannt wurde, dass Ref vorbei ist und somit die Bitleisten auf 0x0000 gesetzt wurden. Die DSfG schaut aber ebenfalls auf die Bitleisten des GCs. In diesem Fall setzt der GC die Bitleisten zurück, bevor die DSfG alle Archiveinträge abgeschlossen hat.
Durch das Verschieben des Schreibens der DSfG-Archive (Kal & Ref in MW und Logbuch), hat die DSfG nun genug Zeit die Momentanwerte mit 0x0200 zu schreiben, bevor der GC die Bitleisten auf 0x0000 zurücksetzt.
comment:9 by , 12 years ago
Weitere Änderungen:
- C_StandardAnfragen::getValueId():
- Hat zwei optionale Parameter erhalten: fillEvent und dei
- Wenn wenn ((fillEvent & FILLEVT_NEUMESS) && (dei & 0x0200)), dann wird die ID der Refgaswerte zurückgegeben. Ansonsten wird, wie immer, die ID der Streamwerte zurückgegeben.
- C_DSfGMrg::fillRecord():
- Übergibt das fillEvent und den dei von Stream 1 an getValueId().
- struct DESCAK:
- Neue Variable valueIdRef
- contens_qib, contens_dib, contens_qjb, contens_qje und contens_dlc :
- Alle Archive, die mit FILLEVT_NEUMESS arbeiten haben die Idizes der Refgaswerte erhalten. Alle anderen Listen wurden mit -1 aufgefüllt.
Folgendes Verhalten muss implementiert werden: