_ValueArchiv

History DB. Dieser Datenpunkttyp hält die Einstellungen für den Datentransfer bei Archivsatzwechsel und Auslagerung der Archive.

Element Sub Element Datentyp Bedeutung
arNr int Archivnummer
state2) int 0=stop, 1=online, 2=ausgelagert, 3=gelöscht -
general
arType1) int 0=Werte, 1=Meldungen; default: 0
arName langString Archivbezeichnung [18]; Achtung: Langtext!; default: ValueArchive_x
hostNameGet3) string Hostrechner für .Archiv [32]
hostNameSet string Setzen des Hostrechners
filePathGet3) string Basispfad für Archivsätze, 128], Default.: <proj_path>/db/VA_000x
filePathSet string Setzen des Basispfads
fileNameGet4) string Dateinamensregel für Archivsätze [64]- default: YYYYMMDDHHMOSS
fileNameSet string Setzen der Dateinamensregel
createArchive3) int 1=Archiv anlegen (wird nur beachtet, wenn noch keine Archivsätze im Archivpfad sind)
forwardToRDB bool Gibt an, ob die Werte aus dem Value Archive in die RDB weitergeleitet werden sollen. default: false
error1)
errNum int Fehler der letzten Archivoperation n.z.d.
errDp dpid DpId, welche einen Fehler (z.B. Archivüberlauf)- ausgelöst hat
errBit bool wird bei Archivüberlauf gesetzt (zur Meldebehandlung.)
errRead uint

0 = Defaultwert

1= Signalisiert, dass das Archiv beschäftigt ist und Abfragen länger dauern können.

Übersteigt die Anzahl der offenen Abfragen für ein Archiv die Anzahl der für dieses Archiv verfügbaren Lese-Threads, wird errRead auf 1 gesetzt. Bei jeder neuen Abfrage wird diese Prüfung erneut durchgeführt. Das Element wird aber nur gesetzt bzw. zurückgesetzt, wenn eine Wertänderung vorliegt.

size
maxDpElGet4) uint Max. Anzahl DP-Elemente
maxDpElSet uint Setzen der max. Anz. DPE
maxValuesGet4) uint Max. Anz. Werteinträge
maxValuesSet uint Setzen der max. Anz. WE
maxFillPctGet4) int Max. Füllrate in %, 0=100 -1 = kein Archivsatzwechsel, wenn maxValues erreicht worden ist
maxFillPctSet int Setzen der max. Füllrate
maxHeapSizeGet4) uint Max. Größe der Speicherhalde in Kilobytes -
maxHeapSizeSet uint Setzen der max. Größe SH
maxCacheGet int Max. Größe des Archive-Eingangspuffers in MB
maxCacheSet int Setzen der max. Größe des Archive-Eingangspuffers (Default 32 MB)
maxCorrCacheGet int Max. Größe des Korrekturwert-Eingangspuffers in MB
maxCorrCacheSet int Setzen der max. Größe des Korrekturwert-Eingangspuffers
intervals
aliveInterval uint Zykluszeit f. Zeitstempelung (in sec)
saveCycle uint Zykluszeit f. Onlinesicherung des akt. Archivsatzes (in sec)
setMgmt
fileSwitch
switchTimeGet4) DP Typ Zeitpunkt Archivsatzwechsel, Referenz auf _TimedFunc, wird vom Archiv selbsttätig verwaltet
switchTimeSet DP Typ Setzen des Zeitpunktes
switchRoundOffGet uint Periode in sec, die angibt, wann die Umschaltung des Schreibens in das neue Archiv tatsächlich erfolgt, d.h. der neue Archivsatz wird zum Zeitpunkt switchTime angelegt, aber erst switchRoundOff sec später aktiviert. Die "echte" Archivwechselzeit ist also switchTime + switchRoundOff -
switchRoundOffSet uint Setzen der Übergangsperiode
overflowCountGet4) uint min. Anz. leere Werttupel je DPE im komprimierten AS in Stufe 1
overflowCountSet uint Setzen min. Anz. leere WT
overflowPctGet4) int Prozentsatz leere Werttupel im komprimierten AS in Stufe 1
overflowPctSet int Setzen des Prozentsatzes leere WT
overlapPeriodGet 4) uint Zeitdauer, wie lange beim AS-Wechsel beide AS geöffnet bleiben (in sec)
overlapPeriodSet uint Setzen der Zeitdauer
expKeepPeriodGet4) uint Hysterese für expandierte nicht-akt. AS (in sec)
expKeepPeriodSet uint Setzen der Hysterese
fileCompression
packCountGet 4) uint Anz. AS in Komprimierung. Stufe 1
packCountSet uint Setzen der Anz. AS
packTimeGet 4) DP Typ Zeitpunkt der Komprimierung. auf Stufe 2, Referenz auf _TimedFunc, wird vom Archiv selbsttätig verwaltet
packTimeSet DP Typ Setzen des Zeitpunktes
autoStartAfterSwitchGet bool Startet automatisch nach gemeldetem Wechsel, bei TRUE die automatische Komprimierung der Archive
autoStartAfterSwitchSet bool Startet automatisch nach gesetztem Wechsel, bei TRUE die automatische Komprimierung der Archive
fileMerge 4)
mergeCountGet 4) uint Anz. AS bei deren Überschreitung gemerged wird
mergeCountSet uint Setzen der Anzahl der AS
mergeTimeGet4) DP Typ Zeitpunkt für Merge Referenz auf _TimedFunc wird von Archiv selbsttätig verwaltet
mergeTimeSet DP Typ Setzen des Zeitpunkts
fileDeletion
keepCountGet4) uint Max. Anz. gespeicherte AS, 0 = nur Intervall verwenden
keepCountSet uint Setzen maximalen Anzahl gespeicherter AS
removeTimeGet4) DP Typ Zeitpunkt des Löschens Referenz auf _TimedFunc, wird von Archiv selbsttätig verwaltet; im Intervall-Teil dieses DPEs ist die zu speichernde Zeitperiode abgelegt (in sec)
removeTimeSet DP Typ Setzen des Zeitpunkt
files2) von Archiv beim Start und bei Änderungen übertragen
fileName dyn_string Array aller Archivfiles (ohne Pfad ), jüngstes zuerst (0 = aktuell)
state dyn_int Stati der einzelnen Archivfiles (0 = online -1 = gelöscht)
compressionState dyn_int Komprimierungszustände
startTime dyn_time Archivsatz-Anfangszeiten
endTime dyn_time Archivsatz-Endzeiten
statistics Werte werden erst nach Setzen von index gesetzt
index uint Index in files.filename, welcher Archivsatz abgefragt werden soll (Wert kann geschrieben werden)
dpElementCount2) uint Anzahl DPEs im Archivsatz
dpElements2) dyn_dpid Alle DPEs dieses Archivsatzes
dpValues2) dyn_int5 zu jedem DPE die Anzahl der Werteinträge
size2) uint Archivsatzgröße

Anmerkungen:

1) nur beim Archiv anlegen einstellbar, sonst read-only

2) read-only

3) ab nächstem Archivstart aktiv, read-only

4) ab nächstem Archivsatzwechsel aktiv, read-only