Opened 11 years ago

Closed 10 years ago

#287 closed Aufgabe (fixed)

DSfG Leitfaden Änderungen

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

Description

DSfG an Änderungen des DSfG Leitfadens anpassen

Attachments (10)

DSfG Spez 2015 Aenderungen.xls (30.5 KB ) - added by Melanie Hermann 11 years ago.
gasinfo07_01.doc (998.5 KB ) - added by Melanie Hermann 11 years ago.
gasinfo07_01.pdf (355.6 KB ) - added by Melanie Hermann 11 years ago.
gasinfo07_02.pdf (262.2 KB ) - added by Melanie Hermann 11 years ago.
gasinfo07_03.xls (524.5 KB ) - added by Melanie Hermann 11 years ago.
Kommentar zu DSfG Spez 2015 Aenderungen.xls (33.0 KB ) - added by Melanie Hermann 11 years ago.
Kommentar zu DSfG Spez 2015 Aenderungen_20150710.xls (33.0 KB ) - added by Melanie Hermann 11 years ago.
Kommentar zu DSfG Spez 2015 Aenderungen_20150716.xls (33.0 KB ) - added by Melanie Hermann 11 years ago.
Standardabfragen_GBH_Entwurf.docx (32.3 KB ) - added by Melanie Hermann 10 years ago.
G-PK-1-5-2-1~15-0009_Kanalzustand_überarbeitet 23.10.2014.pdf (81.9 KB ) - added by Melanie Hermann 10 years ago.

Change History (21)

comment:1 by Melanie Hermann, 11 years ago

Priority: mittelfristigkurzfristig

by Melanie Hermann, 11 years ago

by Melanie Hermann, 11 years ago

Attachment: gasinfo07_01.doc added

by Melanie Hermann, 11 years ago

Attachment: gasinfo07_01.pdf added

by Melanie Hermann, 11 years ago

Attachment: gasinfo07_02.pdf added

by Melanie Hermann, 11 years ago

Attachment: gasinfo07_03.xls added

by Melanie Hermann, 11 years ago

comment:2 by Melanie Hermann, 11 years ago

Änderungen (ldf. Nr. 6):

  • makxref2.cpp:
    • buildAllgemeinerTeil(): Neue DSfG-Datenelemente (Betriebsarten GBH I und Betriebsarten GBH II) in Allgemeinen Teil eingebaut:
      • agdb
      • agdc
      • agdd
      • agde
      • agdf
      • agqb
      • agqc
      • agqd
      • agqe
      • agqf
  • dsfg.hpp:
    • Neue Defines definiert:
      • FNC_Geraetetyp
      • FNC_Zulassungsname
      • FNC_AnzahlKomponenten
      • FNC_Messverfahren
      • FNC_Gasstrom
  • dsfgbus.cpp:
    • dsfgReadFunc(): Neue Defines eingebaut.
      • FNC_Geraetetyp: Liefert den Gerätetyp (DeviceType) als String zurück.
      • FNC_Zulassungsname: Zulassungsname setzt sich aus dem String "PGC" und dem aktuell verwendeten Messwerktyp zusammen. Ergebnis z.B.: "PGC9301".
      • FNC_AnzahlKomponenten: Die Anzahl Komponenten werden vom Messwerktyp abgeleitet.
      • FNC_Messverfahren: Messverfahren wird von ApprovedFor abgeleitet. Gasbeschaffenheit == 0 und Brennwert == 1.
      • FNC_Gasstrom: Zeigt an auf welchen Stream sich die aktuell angesprochene DSfG-Instanz bezieht. Dies ist eine Eigenschaft der DSfG-Instanz.
  • dsfg_gloabl.cpp:
    • C_DSfG_Global::Get_GasAnalyzerTyp(): Liefert aktuellen Messwerktyp als String zurück.
    • C_DSfG_Global::Get_AnzahlKomponenten(): Liefert aktuell gemessene Anzahl Komponenten zurück, abhängig vom Messwerktyp.
    • C_DSfG_Global::Get_ZugelassenFuer(): Liefert zurück für was das Gerät zugelassen ist. Gasbeschaffenheit oder Brennwert.
Last edited 11 years ago by Melanie Hermann (previous) (diff)

comment:3 by Melanie Hermann, 11 years ago

Änderungen (lfd. Nr. 14 / 15 / 16):

  • Global.h:
    • Neues Define DSFG_DEI_KAL == 0x0100
  • Gc.h:
    • CGc::m_revDSfGDei wurde von bool in unsigned int geändert
  • utils.cpp:
    • buildDSfGDei(): dei übernimmt Werte Variable rev (KAL oder REF)
  • Gc.cpp:
    • CGc(): m_revDSfGDei wird jetzt mit 0 initialisiert und nicht mehr mit false
    • DoMessungFertig(): oldKalStatus und oldRefStatus wurde entfernt, da nicht mehr benötigt. Bedingungen für Kal. beginnt und Ref. beginnt geändert. Hängt nun nur noch von m_CalcJob und m_NextCalcJob ab und nicht mehr von den Zuständen digitalen Ausgängen. Dadurch funktioniert der gesamte Mechanismus (Kal./Ref. kommt/geht) auch bei fixierten Ventilen.
      Wenn Kal. beginnt wird DSFG_DEI_KAL und DSFG_DEI_REV gesetzt (DEI: Bit 8 und Bit 9). Wenn Ref. beginnt wird, DSFG_DEI_REV gesetzt (DEI: Bit 9).
Last edited 11 years ago by Melanie Hermann (previous) (diff)

comment:4 by Melanie Hermann, 11 years ago

Änderungen (lfd. Nr. 20):

  • Schlüssel korrekt aufteilen in DSfG-Datenelemente:
  • DSFG.TAB:
    • SignPubKeyX_2 (eebcc) entfernt
    • SignPubKeyY_2 (eebdc) entfernt
  • makxref2.cpp:
    • buildDfueTeil(): eebca, eebcb, eebda und eebdb angepasst und Typ IS_FNC vergeben. eebcc und eebdc entfernt.
  • dsfg.hpp:
    • FNC_PubKey_X1, FNC_PubKey_X2, FNC_PubKey_Y1 und FNC_PubKey_Y2 definiert
  • dsfgbus.cpp:
    • dsfgReadFunc(): cases FNC_PubKey_X1, FNC_PubKey_X2, FNC_PubKey_Y1 und FNC_PubKey_Y2 eingebaut
    • dsfg_global.cpp:
      • Get_PubKeyX1(): Gibt die ersten 40 Zeichen des PublicKeyX zurück. Setzt sich zusammen aus den Makros SignPubKeyX_0 und SignPubKeyX_1.
      • Get_PubKeyX2(): Gibt die restlichen 8 Zeichen des PublicKeyX zurück. Wird aus SignPubKeyX_2 ausgelesen.
      • Get_PubKeyY1(): Gibt die ersten 40 Zeichen des PublicKeyY zurück. Setzt sich zusammen aus den Makros SignPubKeyY_0 und SignPubKeyY_1.
      • Get_PubKeyY2(): Gibt die restlichen 8 Zeichen des PublicKeyY zurück. Wird aus SignPubKeyY_2 ausgelesen.
Last edited 11 years ago by Melanie Hermann (previous) (diff)

comment:5 by Melanie Hermann, 10 years ago

Änderungen (ldf. Nr. 12 / 13):

  • Vorher:
    • Bei "Ereignis kommt" wird keine Haltewert eingetragen, sondern es wird der MW berechnet bis zum Zeitpunkt "Ereignis kommt".
    • Bei "Ereignis geht" wird Haltewert eingetragen.
    • MW berechnet sich aus allen Einzelanalysen seit letztem "Ereignis geht" bzw. letztem Intervallende.
    • Keine Minimumgrenze für MW-Berechnungen.
  • Jetzt: (siehe als Bsp. Standardabfragen_GBH_Entwurf.docx)
    • Wenn Ereignis kommt, letzten gültigen MW als HALTE eintragen und DEI entsprechend setzen.
    • Wenn Ereignis geht, letzten gültigen MW als HALTE eintragen und DEI entsprechend setzen.
    • Wenn bei Intervall-Ende genügend OK-Analysen gemacht wurden, wird MW aus ungestörten Analysen berechnet. Eintrag mit Status OK ist unabhängig davon, ob sich das Gerät momentan in Kal., Störung, Rev. oder Normalbetrieb befindet.
    • Wenn bei Intervall-Ende nicht genügend OK-Analysen gemacht wurden, wird als MW der letzte gültige MW als HALTE eingetragen.
  • Änderungen:
    • Neues Matrixelement MinAnasDSfGMW eingebaut. Dieses Matrixelement erlaubt Auswahl der Mindestanzahl an Analysen für MW-Berechnungen. Eigentlich sollte die Mindestanzahl laut DSfG-Leitfaden von der Zulassungsbehörde festgelegt werden. Dies wurde aber nicht getan. Deshalb wurde dieser Parameter einstellbar gemacht.
    • Text von HEAD_18_5 geändert. Von "Archiv-Gruppe Namen" nach "Archive Einstellungen".
    • Text von 'DSfGNameForAG_0' - DSfGNameForAG_24 geändert. Von "Archivgruppe x" nach "AG x Name".
    • dsfgmana.hpp:
      • fillArchivGruppe(): Optionalen Parameter isgood entfernt.
      • Fill_Archiv(): Optionalen Parameter isgood entfernt.
      • Do_AverageValues(): Optionalen Parameter isgood entfernt. Optionalen Parameter intervallEnde hinzugefügt.
    • dsfgmrg.hpp:
      • fillArchiv(): Optionalen Parameter isgood entfernt.
    • dsfgmiw.cpp:
      • ExportAverage(): Optionalen Parameter intervallEnde hinzugefügt.
      • Export(): Optionalen Parameter intervallEnde hinzugefügt.
      • ExportData(): Festen Parameter fillEvent hinzugefügt. Optionalen Parameter intervallEnde hinzugefügt. Prüfung auf Gültigkeit der MW wird anhand des neuen Parameters MinAnasDSfGMW festgelegt. Zuvor wurde einfach auf >0 geprüft. Wiederholen des letzten gültigen MW, wenn Archiveintrag nicht durch Intervallende.
    • utils.cpp:
      • IsLeapYear(): Neue Hilfsfunktion, die angibt ob das aktuelle Jahr ein Schaltjahr ist oder nicht.
      • GetDaysOfMonth(): Neue Hilfsfunktion, die für den aktuellen Monat die Anzahl Tage zurückgibt.
    • GcProt.cpp:
      • SendParasToGateway(): Die neue Variable MinAnasDSfGMW wird ebenfalls vom GC9300 an das Gateway geschickt.
Last edited 10 years ago by Melanie Hermann (previous) (diff)

comment:6 by Melanie Hermann, 10 years ago

Änderungen (lfd. Nr. 17 / 18):

  • dsfgstda.hpp:
    • Struktur DESCAK hat neues Element dsfgIdReg[DSFGID_SIZE+1] erhalten.
    • Struktur STDABF_OBJ hat neues Element stdabfReg[6] erhalten.
  • dsfgstda.cpp:
    • In allen Strukturen die neuen Elemente eingefügt.
    • C_ExpandStandardAnfragen::C_ExpandStandardAnfragen():
      • Neuer optionaler Parameter typ
      • 2x Sonderfall für typ=='R'
    • C_StandardAnfragen::extractAgAk():
      • Neuer optionaler Parameter typ
      • Sonderfall, wenn Typ=='R'
      • Doppelte "ca."-Einträge aus Tabelle 'stdabfLst' entfernt
      • Variable bestandteilStdAbf wurde in den Tabellen contens_anamiw, contens_monmiw und contens_tagmiw auf true gesetzt, damit die "Standardanfragen" an die Registrierinstanz (cag, cai und caq) beantwortet werden.
  • dsfgmrg.cpp:
    • C_DSfGMrg::extractAgAk():
      • Sonderfall, wenn Standardanfrage an Registrierinstanz gestellt wird
  • dsfgbus.cpp:
    • C_DSfGBus::verfuegbareOrdNr():
      • Aufruf von recommendedTyp(), um Ergebnis an expStdAbf() übergeben zu können
    • C_DSfGBus::getElemByOrdNr():
      • Aufruf von recommendedTyp(), um Ergebnis an expStdAbf() übergeben zu können
  • dsfgfix.cpp:
    • case FIX_ArchZeilenweise fest auf 1 gesetzt (bedeutet, dass die Archive in diesem Geräte zeilenweise auslesbar sind)
  • Hinweis: Volker hat zeilenweises Auslesen mit ERZ2000NG bereits mit OGE getestet.
  • Hinweis: Mit dem Programm DSfG-Zentrale können die DSfG-Abfragen manuell eingetragen und überprüft werden. Hierzu muss folgendes eingestellt werden:
    • BUS-Adresse = T (GC-Instanz)
    • DNO = A (IP-Instanz)
    • MEB = M (Bedeutet, dass eine Einzelabfrage gesendet wird)
  • Test:
    • caa = OK
    • cab = OK (AG2 gibt es nicht)
    • cac = OK
    • cad = OK (AG4 gibt es nicht)
    • cae = OK
    • caf = OK
    • cag = OK
    • cah = OK
    • cai = OK
    • caj = OK
    • cak = OK
    • cal = OK
    • cam = OK
    • can = OK
    • cao = OK
    • cap = OK (AG16 gibt es nicht)
    • caq = OK
    • car = OK
    • cas = OK
    • cat = OK
    • cau = OK
    • cav = OK (AG22 gibt es nicht)
    • caw = OK
    • cax = OK (AG24 gibt es nicht)
    • cay = OK (AG25 gibt es nicht)
Last edited 10 years ago by Melanie Hermann (previous) (diff)

comment:7 by Melanie Hermann, 10 years ago

Priority: kurzfristigmittelfristig

comment:8 by Melanie Hermann, 10 years ago

Priority: mittelfristigkurzfristig

by Melanie Hermann, 10 years ago

comment:9 by Melanie Hermann, 10 years ago

Priority: kurzfristigmittelfristig

comment:10 by Melanie Hermann, 10 years ago

Priority: mittelfristigkurzfristig

comment:11 by Melanie Hermann, 10 years ago

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