_DataManager
Der Data-Manager (DM) von WinCC OA verwaltet den Datenbestand, der dem Prozessleitsystem zur Verfügung steht. Dieser besteht aus Parametrierdaten sowie der Wertehistorie der Prozessvariablen. Die Wertehistorie wird in chronologisch geordneten Datensätzen abgelegt, was in automatisch vergebenen Verzeichnisnamen deutlich gemacht ist. Beim Übergang zwischen zwei Datensätzen muss gewährleistet sein, dass Daten je nach ihrer Quellzeit dem richtigen Verzeichnis zugewiesen werden.
Je nach Bedarf kann der Data-Manager auf verschiedene Weisen betrieben werden, die etwa höheren Datendurchsatz bei verminderter Datensicherheit ermöglichen oder auch anderen Systemprozessen Zugriff auf die Datenbank erlauben.
Der Knoten Backup, ist für ein Online-Backup der Datenbank erforderlich (siehe Bedienpanels Online-Backup). Details zum Knoten Backup erfahren Sie im Kapitel Parametrierung des Backup.
Datenpunktelement | Typ | Beschreibung | ||||||
---|---|---|---|---|---|---|---|---|
MultiUserMode.Set | bool | Wenn auch andere Prozesse, wie Verdichtungen oder der ASCII-Manager, auf die Datenbank zugreifen sollen, muss der Data-Manager im Multi-User-Modus arbeiten. In dieser Betriebsart läuft der Data-Manager allerdings langsamer als im Single-User-Mode. Schaltet den Data-Manager in den Multi-User-Modus. TRUE…Multi-User-Mode, FALSE…Single-User-Mode |
||||||
MultiUserMode.Status | bool | Enthält die aktuelle Betriebsart des Data-Managers. TRUE…Multi-User-Mode, FALSE…Single-User-Mode | ||||||
TransactionLogging.Set | bool | Da Daten nur blockweise in die Datenbank geschrieben werden, kann bei Systemabstürzen ein noch nicht gespeicherter Block verloren gehen und der Datenbestand dadurch beschädigt werden. Durch Transaction-Logging lässt sich eine dauerhafte Beeinträchtigung der Datenbank jedoch verhindern, da der Datenbestand beim nächsten Hochlauf wieder repariert wird. Eingeschaltetes Transaction-Logging hat freilich zur Folge, dass der Data-Manager langsamer arbeitet als ohne. Schaltet Transaction-Logging ein und aus. TRUE…Trans-action-Logging, FALSE…kein Transaction-Logging | ||||||
TransactionLogging.Status | bool | Gibt an, ob Transaction-Logging eingeschaltet ist oder nicht. TRUE…Transaction-Logging, FALSE…kein Transaction-Logging | ||||||
DataSetChange.Start | bool | Dient dem Wechsel von Datensätzen der Wertehistorie. Ausgenommen sind jene Datensätze des Datenbestands von WinCC OA , mit Meldedaten. Löst einen Wechsel des Datensatzes aus. TRUE…Datensatzwechsel starten, FALSE…ohne Funktion |
||||||
DataSetChange.InProgress | bool | Gibt an, ob ein Datensatzwechsel läuft oder nicht. TRUE…Datensatzwechsel läuft, FALSE…Datensatzwechsel läuft nicht. | ||||||
DataSetChange.SwitchTime | time | Dauer des Datensatzwechsels. Während des Wechsels sind sowohl der alte als auch der neue Datensatz geöffnet. Ankommende Daten werden je nach ihrer Quellzeit in den einen oder anderen Satz geschrieben | ||||||
AncientDataSet.Written | bool | Dient der Verwaltung eines Datensatzes für Daten, die in den aktuellen Satz nicht aufgenommen werden können: Daten mögen etwa infolge von Übertragungsverzögerungen so spät eintreffen, dass ihre Quellzeit dem aktuellen Satz nicht mehr zugeordnet werden kann. Damit Daten nicht verloren gehen können, bleibt der Ancient-Datensatz immer geöffnet. Gibt an, ob der Ancient-Datensatz nicht leer ist. TRUE…Ancient-Datensatz nicht leer, FALSE…Ancient-Datensatz leer. | ||||||
AncientDataSet.Clear | bool | Setzt das Bit "Written". TRUE…setzt "Written" auf TRUE, FALSE…ohne Funktion. | ||||||
DataBase.Lock.Request | unsigned | Dient der Kommunikation zwischen Data-Manager und Databackground-Manager. Dieser besorgt nicht-zeitkritische Aufgaben wie das Einfügen von Korrekturwerten in die Wertehistorie sowie das Löschen, Auslagern und Wiederherstellen von ganzen Dateisätzen wie von einzelnen Datenpunktelementen der Wertehistorie. Ein Verschicken von Werten der Elemente unter "DataBase" aus anderen Managern bleibt wirkungslos, sie sind also vom Benutzer nicht zu verwenden! Erlaubt dem Databackground-Manager, die Datenbank zu sperren. Request…int (interner Code) |
||||||
DataBase.Lock.Response | unsigned | Erlaubt dem Databackground-Manager, die Datenbank zu sperren. Response…int (interner Code) |
||||||
DataBase.Unlock.Request | unsigned | Gibt die Datenbank wieder frei. Request…int (interner Code) |
||||||
DataBase.Unlock.Response | unsigned | Gibt die Datenbank wieder frei. Response…int (interner Code) |
||||||
DataBase.Reopen | bool | Damit kann die DB geschlossen und neu geöffnet werden (Letztwerte und Glättungen werden neu initialisiert) | ||||||
DataBase.ArchiveRemoved | dyn_dpid | Die angegebenen DpIds werden geprüft, ob Letztwert und Korrekturwert im aktuellen Dateisatz sind und - falls nötig - korrigiert. | ||||||
DataBase.UpdatingFirstValues | bool | Letztwerte werden neu initialisiert (+Glättungen) | ||||||
DataBase.Check | bool | Die <PROJ_PATH>/log/dbCheck.log-Datei enthält den Datenbank-Check. Der System Datenbank-Check wird nach einem Online-Backup ausgeführt, wenn das Datenpunktelement _DataManager(_2).DataBase.Check auf TRUE gesetzt wurde. Der Data Manager überprüft die Datenbank und schreibt das Ergebnis in die Datei <PROJ_PATH>/log/dbCheck.log. Die Funktion readDbCheckLogFile() liest die <PROJ_PATH>/log/dbCheck.log-Datei und schreibt das Ergebnis auf die Elemente für jeden Datenbankteil. "Konfigurationsdatenbank" _DatabaseState(_2).ConfigurationDB.ErrorCount _DatabaseState(_2).ConfigurationDB.RecordCount "alliving Datenbank - anstehende Alarme" _DatabaseState(_2).alliving.ErrorCount _DatabaseState(_2).alliving.RecordCount "aloverflow Datenbank - Alarmarchiv" _DatabaseState(_2).aloverflow.ErrorCount _DatabaseState(_2).aloverflow.RecordCount "Letztwertdatenbank" _DatabaseState(_2).lastval.ErrorCount _DatabaseState(_2).lastval.RecordCount "neuestes Alarmarchiv - al + Nummer" _DatabaseState(_2).NewestAlertArchive.ErrorCount _DatabaseState(_2).NewestAlertArchive.RecordCount
|
||||||
AlertDataSetChange.Start | bool | Dient dem Wechsel von Datensätzen, die Meldedaten enthalten: Das sind die Daten zu folgenden Attributen der Config "_aler_hdl": _last_of_all, _oldest_ack, _single_ack, _comment, _abbr, _last, _obsolete, _partner, _partn_idx, _prior, _ackable, _ack_type, _ack_user, _ack_time, _ack_state, _direction, _visible, _archive, _inact_ack, _value, _dest. Löst einen Wechsel des Datensatzes aus. true…Datensatzwechsel starten, false…ohne Funktion | ||||||
AlertDataSetChange.InProgress | bool | Gibt an, ob ein Datensatz-Wechsel läuft oder nicht. true…Datensatz-Wechsel läuft, false…Datensatz-Wechsel läuft nicht | ||||||
AlertDaraSetChange.SwitchTime | time | Dauer des Datensatz-Wechsels. Während des Wechsels sind sowohl der alte als auch der neue Meldedatensatz geöffnet. Ankommende Daten werden je nach ihrer Quellzeit in den einen oder anderen Satz geschrieben. | ||||||
BgToFgCommunication.RequestLastValues | dyn_dpid | Dient der Kommunikation zwischen Data-Manager und Databackground-Manager. Das Element ist wie die ihm untergeordneten Elemente vom Benutzer nicht zu verwenden! | ||||||
BgToFgCommunicationCleanupOverflowDb | bool | Dient der Kommunikation zwischen Data-Manager und Databackground-Manager. | ||||||
IdHistory.MinCount | int | Um den Zugriff auf Daten der Wertehistorie zu beschleunigen, wird jede Wertänderung eines Datenpunktattributes in einer Liste vermerkt. Die Listenänderungen werden jeweils nach einer einstellbaren Zeit aus dem Arbeitsspeicher in die Datenbank übernommen, sofern in dieser Zeit eine festlegbare Anzahl von Änderungen geschehen sind. Die Änderungsliste ist wie gesagt dazu da, um historische Daten im Datenbestand von WinCC OA (etwa mit Hilfe der Control-Funktion dpGetPeriod()) rascher auffinden zu können. Sofern ein Projekt nur wenige hundert Datenpunktelemente umfasst, kann aber auf die Liste verzichtet werden, da sie in diesem Fall zu keiner Leistungssteigerung führt. Die Listenabfrage wird ausgeschaltet, indem die Werte der Elemente "MinCount" und "TimeDiff" (s.u.) null gesetzt werden. MinCount enthält die Anzahl von Attributänderungen, die im eingestellten Zeitintervall erfolgen müssen, damit sie an seinem Ende in die Änderungsliste in der Datenbank übernommen werden. Default-Wert: 5 | ||||||
IdHistory.TimeDiff | time | Enthält die Zeit zwischen zwei Durchgängen zur Speicherung der Änderungsliste, sofern in diesem Intervall eine minimale Zahl von Attributänderungen stattgefunden haben. Umso größer die Zeiträume sind, über die historische Daten allein abgefragt werden, umso größer kann auch das eingestellte Intervall sein. (Werden nur Abfragen über viele Stunden benötigt, so kann auch das Intervall in der Größenordnung einer Stunde sein.) Default-Wert: zehn Minuten | ||||||
AlertIdHistory.MinCount | int | Um den Zugriff auf Daten der Meldehistorie zu beschleunigen, wird jede Wertänderung eines Meldebehandlungsattributes in einer Liste vermerkt. Für diese Liste und das Element "AlertIdHistory" gilt im übrigen sinngemäß, was oben für das Element "IdHistory" bemerkt wurde. vgl. "MinCount" oben unter "IdHistory" | ||||||
AlertIdHistory.TimeDiff | time | vgl. "MinCount" oben unter "IdHistory" | ||||||
DiskSpaceCheck.DiskStatus | string | Dient der Überprüfung des freien Platzes auf der Harddisk. Dieser freie Bereich wird über einen internen Datenpunkt übermittelt. In Kombination mit Control-Skripts ist es möglich, die Archivierung von bestimmten Datenpunkten ab- und anzuschalten. Weiters kann Datenkompression durchgeführt, Daten auf externe Speichermedien übertragen oder andere Mitteln zur Vermeidung einer vollen Fest-platte angewendet werden. Zusätzlich gibt es noch einen "Notfall-Modus" der den Fall einer vollen Harddisk verhindern soll. | ||||||
DiskSpaceCheck.EmergencyStopWrite.Command | bool | Notfall-Modus wenn der Datenträger voll wird. Ermöglicht den Emergencymodus manuell zu steuern. TRUE…Starte Emergencymodus, FALSE…Ende Emergencymodus | ||||||
DiskSpaceCheck.EmergencyStopWrite.DiskFull | bool | Zeigt an, ob es einen Datenspeicher mit freiem Speicherplatz unterhalb des Emergency Limit gibt. read-only" TRUE…wenn obige Bedingung erfüllt, sonst FALSE. | ||||||
DiskSpaceCheck.EmergencyStopWrite.LowMemory | bool | Zeigt die freien virtuellen Speicher unterhalb des Emergencylimit an. TRUE, wenn Bedingung erfüllte, sonst FALSE. | ||||||
DiskSpaceCheck.EmergencyStopWrite.Status | Write | Zeigt Emergency Status des Data-Managers. read-only" TRUE…Emergencymodus, sonst FALSE. | ||||||
Redundancy.AbortReplica | string | |||||||
Redundancy.ExitReplica | string | |||||||
UseValueArchive | bool | Zeigt an ob History DB-Archivierung verwendet wird. True (Default): History DB wird verwendet. |
||||||
UseRDBArchive | bool | Zeigt an ob RDB-Archivierung verwendet wird. True (Default): RDB wird verwendet. |
||||||
UseNextGenArch | bool | Zeigt an ob NGA-Archivierung verwendet wird. True (Default): NGA wird verwendet. |
||||||
Backup.Command (siehe auch Parametrierung des Backups) | int | Steuert das Backup | ||||||
Backup.Status | int | Status des laufenden bzw. vergangenen Backups | ||||||
Backup.Timeout | int | Maximale Zeit, die das Backup dauern darf. | ||||||
Backup.MemoryKBLimit. | int | Mindestgröße freien virtuellen Speichers | ||||||
Backup.MaxBufferedMessages | int | Max. Anzahl gepufferter Messages | ||||||
Backup.InputFile.Command | string | Kommando für WCCOAtoolMedia, immer "backup" | ||||||
Backup.InputFile.Device | string | Zielgerät / -verzeichnis | ||||||
Backup.InputFile.Type | string | Typ des Backupziels, etwa "FILE", "DAT", ... | ||||||
Backup.InputFile.Compression | bool | Wird derzeit ignoriert, immer auf 0 setzen | ||||||
Backup.InputFile.StartTime | time | Wählt die Archive aus, die gesichert werden sollen | ||||||
Backup.UnsavedValArchs | bool | Mit True werden die nicht ausgelagerten Archivsätze gesichert | ||||||
Backup.OutpuFile.MasterError | int | Enthält "0", wenn das Backup erfolgreich war oder einen Fehlercode | ||||||
Backup.OutoputFile.FileError | string | Enthält Files mit Fehlercode, bei denen ein Fehler aufgetreten ist |