Tabellen

Die Daten werden innerhalb einer DB in Tabellen gegliedert. Die Anzahl der verwendeten Tabellen in einer DB wird nur durch den vorhandenen Speicherplatz begrenzt. Tabellen können nur in einer vorhandenen (und für den DBLogger definierten) DB angelegt werden.

Der DBLogger verwaltet in den DBs zwei Arten von Tabellen:

Interne Tabellen

Sie dienen für die interne Administration der Daten. Diese Tabellen werden nach Bedarf automatisch erstellt und aktualisiert.

IS_Tables: bestehend aus einer Spalte; hier werden alle in der DB verwendeten benutzerdefinierten Tabellen vom Typ StandardHistory aufgelistet.

Spalte der Tabelle:

Spaltenname Typ Max. Länge Indiziert Inhalt
Tables String 100 ja Tabellenname

IS_Tables_Flex: bestehend aus einer Spalte; hier werden alle in der DB verwendeten benutzerdefinierten Tabellen vom Typ FlexTables aufgelistet.

Spalte der Tabelle:

Spaltenname Typ Max. Länge Indiziert Inhalt
Tables String 100 ja Tabellenname

Beim Anlegen einer neuen Tabelle wird ein neuer Eintrag in die Tabelle geschrieben, beim Löschen einer benutzerdefinierten Tabelle wird der entsprechende Eintrag aus dieser Tabelle gelöscht.

VORSICHT:

Diese Tabelle wird beim händischen Anlegen von Tabellendatenpunkten NICHT aktualisiert.

IS_Description: Hier werden weiterführende bzw. beschreibende Daten zu allen Datenpunktelementen, die per DBLogger an eine relationale DB übertragen werden, gespeichert. Während die Nutzdaten wie Werte, Statusbits etc. relativ oft gespeichert werden (bei Änderung, periodisch ...), überträgt der DBLogger diese Zusatzinformationen jeweils nur einmal. Diese Tabelle existiert je DB genau einmal.

Spalte der Tabelle:

Spaltenname Typ Max. Länge Indiziert Inhalt
DPE String 255 ja DPE-Name
Alias String 255 ja DPE-Alias
Langtext String 255 nein DPE-Beschreibung
Einheit String 255 nein DPE-Einheit
Format String 10 nein Format (z.B: "%6.2f")
Datentyp String 5 nein BIT|UINT|INT|FLOAT
Bereich_Min Float - nein WinCC OA Wertebereich Minimum
Bereich_Max Float - nein WinCC OA Wertebereich Maximum

IS_ + Name der Tabelle vom Typ "FlexTables" + _Description: Diese Tabelle speichert weitere Informationen für die einzelnen Tabellen vom Typ "FlexTables", die in der DB vorhanden sind. Diese Tabelle existiert für jede Tabelle in der DB, die vom Typ "FlexTables" ist, genau einmal.

Spalten der Tabelle:

Spaltenname Typ Max. Länge Indiziert Inhalt
Name String 50 nein Spaltenname
Width Long Int - nein Breite
DPE String 255 nein DPE-Name
Type String 10 nein Feldtyp: String|Date|Double|Long
IsAnIndex Long Int - nein Indiziert/nicht indiziert

Diese Tabelle wird im Laufe der Tabellenparametrierung und bei jedem Start des DBLogger aktualisiert. Die Datenpunkte, die in der aktuellen Parametrierung nicht mehr enthalten sind, werden NICHT gelöscht, da die Tabellen noch Werteinträge von früher existenten DPEs enthalten können.

IS_Alive: eine Überwachungsfunktion schreibt in diese Tabelle die aktuelle Zeit und den Hostnamen des Rechners, der in die DB schreibt, in vordefinierten Zeitintervallen um im Bedarfsfall Verbindungsunterbrechungen etc. analysieren zu können.

Spalte der Tabelle:

Spaltenname Typ Max. Länge Indiziert Inhalt
Zeit Date/Time - nein aktuelle Zeit
Host String 25 nein Hostname des Rechners, der in die DB schreibt (Redundanzfall).
Status String 7 nein Statustext (Im Redundanzfall wird zusätzlich festgehalten, welcher Host aktiv/passiv ist beim Start bzw. nach einer Umschaltung).

In diese Tabelle werden bei jedem Start des DBLogger zwei Zeilen geschrieben:

  1. aktuelle Zeit + "ON" und

  2. aktuelle Zeit + "OFF".

Danach wird die letzte Zeile regelmäßig mit der aktuellen Zeit aktualisiert.

Benutzerdefinierte Tabellen

Datenmodell "StandardHistory"

Diese Tabellen enthalten die von WinCC OA übertragenen Nutzdaten. Dieses vordefinierte Datenmodell kann vom Benutzer nicht verändert werden. Für das Datenmodell StandardHistory gilt: Mehrere Archivgruppen können in eine Tabelle schreiben.

Spalten der Tabelle:

Spaltenname Typ Max. Länge Indiziert Inhalt
DPE String 255 ja DPE-Name oder Alias
Zeit Date/Time - ja Quellzeit
Wert Float - nein Originalwert
Status Long Int - nein Originalstatus

Diese Tabelle ist nur für die Datentypen bool, uint, int, float verwendbar.

Datenmodell "FlexTables"

Das Datenmodell FlexTables wurde ebenfalls implementiert um die Nutzdaten aus WinCC OA zu speichern. Wesentlich an diesem Datenmodell ist die flexible Spaltendefinition. Jede Spalte (außer der ersten=Zeitspalte) ist fest einem Datenpunktelement von WinCC OA zugeordnet. Die Anzahl der Spalten, die Zuordnung der DPE's, Typen und Übertragungsparameter wird pro Tabelle festgelegt. Die Definitionen werden jetzt direkt in dem Tabellentyp-DP gespeichert. Type=1 ist FlexTables. Für das Datenmodell FlexTables gilt: Nur eine Archivgruppe kann in eine Tabelle schreiben. Ebenso kann auch nur eine Tabelle pro Tabellentyp angelegt werden.

Spalte der Tabelle:

Spaltenname Typ Max. Länge Indiziert Inhalt
Zeit Date/Time - nein Quellzeit
Name1 Float - nein Onlinewert
Name2 Float - nein Onlinewert
Name3 Float - nein Onlinewert
Name4 Float - nein Onlinewert
... ... ... ... ...

Diese Tabelle ist für die Datentypen bool, uint, int, float, string, char, time, bit32 verwendbar.