_DataManager

CAUTION: As of the version 3.19 this datapoint type is deprecated if you create an SQLite project. For RAIMA projects this datapoint type is still used.

The data manager (DM) of WinCC OA administrates the stored data that is available for the process control system. The data consists of configuration data as well as of value history of process variables. The value history is saved in chronological ordered data sets. This is made clear by the directory names which are assigned automatically. When changing between two data sets it has to be guaranteed that data is assigned to the right directory according to the source time. If necessary the data manager can be run in different ways which allow a higher information flow-rate (data security is reduced) or which allow also other system processes to access the database.

The backup node is necessary for online backup of the database. (see panels for online backup ). For details on the backup node see chapter Configuration of the backup.

Data point element Type Description
MultiUserMode.Set bool

If also other processes like compressions or the ASCII manager should access the database the data manager has to operate in multi user mode. In this operation mode the data manager runs slower as in the single user mode.

Sets the data manager to the multi user mode. TRUE... multi user mode, FALSE... single user mode.

MultiUserModeStatus bool Contains the current operation mode of the data manager. TRUE... multi user mode , FALSE...single user mode.
TransactionLogging.Set bool Since the data is written only block by block into the database an unsaved block can be lost at system crash and the stored data can be corrupted. The transaction logging ,however, prevents a permanent damage of the database since the stored data is repaired at the next start. Activated transaction logging causes the data manager to operate slower as without transaction logging. To activate the transaction logging set the value to TRUE , to deactivate it set the value to FALSE.
TransactionLogging.Status bool

Defines whether the transaction logging is activated or not. TRUE = transaction logging activated.

FALSE = no transaction logging

DataSetChange.Start bool

Serves for change of data sets (of value history) except from the data sets with alert data. Triggers a change of a data set.

TRUE = start change of a data set

FALSE = without function

DataSetChange.InProgress bool

Specifies whether a change of a data set runs or not.

TRUE = Change of data set runs

FALSE = Change of data set does not run

DataSetChange.SwitchTime time Duration of the change (data set). During the duration both the old and the new data set are opened. Arriving data is written according to the source time either to the first or to the second set.
AncientDataSet.Written bool

Serves for administering of a data set for data that could not be included in the current set. Because of transfer delay data may arrive so late that the source time cannot be assigned to the current set anymore. So that the data is not lost the ancient data set remains open. Specifies if the ancient data set is empty .

TRUE = Ancient data set is not empty

FALSE = Ancient data set is empty

AncientDataSet.Clear bool

Set the "Written" bit.

TRUE = sets "Written" to TRUE

FALSE = without function

DataBase.Lock.Request uint

Serves for communication between the data manager and the data background manager. This does not include time-critical tasks like adding correction values into the value history as well as deleting, swapping out and restoring of whole file sets and single data point elements of the value history. The sending of element values under "DataBase" from other managers stays ineffective. Thus, these should not be used by the user. Allows the data background manager to lock the database.

Response…int (internal code)

DataBase.Lock.Response uint

Allows the data background manager to lock the database.

Response…int (internal code)

DataBase.Unlock.Request uint

Releases the database.

Request…int (internal Code)

DataBase.Unlock.Response uint

Releases the database.

Request…int (internal Code)

DataBase.Reopen bool Allows to close and reopen the DB. (latest values and smoothing are initialized newly)
DataBase.ArchiveRemoved dyn_dpid The specified DpIds are checked. This means that the system checks if the latest value and correction value are in the current file set and these are repaired if necessary.
DataBase.UpdatingFirstValues bool Latest values are initialized newly. (+ smoothing)
DataBase.Check bool

The <PROJ_PATH>/log/dbCheck.log file contains the database check. The system database check is executed after an online backup if the DP element _DataManager(_2).DataBase.Check is set to TRUE. The Data Manager checks the database and writes the result to the <PROJ_PATH>/log/dbCheck.log file.

The function readDbCheckLogFile() reads the <PROJ_PATH>/log/dbCheck.log file and writes the result to the elements for each database part:

"Configuration Database"

"alliving Database- pending alerts"

_DatabaseState(_2).alliving.ErrorCount

_DatabaseState(_2).alliving.RecordCount

"aloverflow Database - Alert archive"

_DatabaseState(_2).aloverflow.ErrorCount

_DatabaseState(_2).aloverflow.RecordCount

"Last value database"

_DatabaseState(_2).lastval.ErrorCount

_DatabaseState(_2).lastval.RecordCount

"Newest alert archive - al + Number"

_DatabaseState(_2).NewestAlertArchive.ErrorCount

_DatabaseState(_2).NewestAlertArchive.RecordCount

Parameter Meaning
ErrorCount

Contains the number of errors in the specific database part. If the value is > 0, an alert is triggered and a log message is output.

Example:

WCCOAui (1), 2019.09.09 13:48:36.541, SYS, INFO, 54/_errors, Unerwarteter Zustand, Database E:\projects\etm\317_UTF8_at_us_ru\db\wincc_oa\lastval\ValHist has 245 errors

RecordCount

Contains the maximum number of records in the specific database part.

If the value is > 15.000.000, a warning is triggered and a log message is output.

If the value is > 16.777.000, an alert is triggered and a log message is output.

Example:

WCCOAui (1), 2019.09.09 13:48:36.526, SYS, INFO, 54/_errors, Unerwarteter Zustand, Maxmimum record count almost reached for the database E:\projects\etm\317_UTF8_at_us_ru\db\wincc_oa\lastval\ValHist - current record count: 16612456

If the check does not find any errors, log messages are output:

Example:

WCCOActrl (1), 2019.09.09 13:54:08.275, SYS, INFO, 0, , Database E:\projects\etm\317_UTF8_at_us_ru\db\wincc_oa\ConfHist has no errors

AlertDataSetChange.Start bool

Serves for change of data sets containing alert data:

This is data for the following config attributes

"_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.

Triggers a change of the data set.

TRUE = Starts the change of data set

FALSE = Without function

AlertDataSetChange.InProgress bool

Specifies whether a change of a data set runs or not.

TRUE = Change of data set runs

FALSE = Change of data set does not run

AlertDaraSetChange.SwitchTime time Duration of the change (data set). During the duration both the old and the new data set are opened. Arriving data is written according to the source time either to the first or to the second set.
BgToFgCommunication.RequestLastValues dyn_dpid Serves for communication between the data manager and the data background manager. Should not be used by the user.
BgToFgCommunicationCleanupOverflowDb bool Serves for communication between the data manager and the data background manager
IdHistory.MinCount int

In order to speed up the access to data of the value history, each value change of a data point attribute is noted in a list. The changes of the list are saved into the database (moved from the working memory to the database) after a defined time if a definable number of changes occurred. The list of changes serves for finding historical data in the data storage of WinCC OA (with the aid of the control function dpGetPeriod() ) more quickly. If a project only contains few hundred data points the list can be omitted since it does not increase the performance. The list query is deactivated by setting the values of the "MinCount" und "TimeDiff" elements to null. MinCount contains the amount of attribute changes that have to occur at a set time interval so that they are saved into the database (at the end of the list of changes).

Default value is 5.

IdHistory.TimeDiff time Contains the time between two passes for saving the list of changes if a minimum number of attribute changes took place within this interval. All the bigger the time frames within the historical data alone is queried, the bigger also the set interval.( If only queries over many hours are needed the length of the interval can be an hour.) Default value ten minutes.
AlertIdHistory.MinCount int In order to speed up the access to data of the alert history each value change of an alert handling attribute is noted in a list. The definition of the "IdHistory" element applies also to this list and to this "AlertIdHistory" element. Compare with "MinCount" under "IdHistory".
AlertIdHistory.TimeDiff time Compare with "MinCount" under "IdHistory"
DiskSpaceCheck.DiskStatus string Checks the free space on the hard disk. The free space is transferred via an internal data point. In the combination with control scripts it is possible to deactivate and activate the archiving of specific data points. Furthermore, a data compression can be executed, data can be transferred to external storage media or other methods can be used to avoid a full hard disk. Additionally there is a "emergency mode" which should prevent the hard disk to get full.
DiskSpaceCheck.EmergencyStopWrite.Command bool

Emergency mode if the volume gets full. Allows to control the emergency mode manually.

TRUE ...start the emergency mode

FALSE ...stop the emergency mode.

DiskSpaceCheck.EmergencyStopWrite.DiskFull bool

Displays if there is data memory with free space below the emergency limit. read only;

TRUE...if the upper condition is fulfilled otherwise FALSE.

DiskSpaceCheck.EmergencyStopWrite.LowMemory bool

Displays the free, virtual memory below the emergency limit.

TRUE when the condition is fulfilled otherwise FALSE.

DiskSpaceCheck.EmergencyStopWrite.Status Write Displays the emergency state of the data manager. read-only; TRUE... emergency mode otherwise FALSE
Redundancy.AbortReplica string
Redundancy.ExitReplica string
UseValueArchive bool

Shows if the History Database Archiving is used.

True (Default): History DB is used.

UseRDBArchive bool

Shows if the RDB Archiving is used.

True (Default): RDB is used.

UseNextGenArch bool

Shows if the NGA Archiving is used.

True (Default): NGA is used.

Backup.Command (see also configuration of backup) int Controls the backup
Backup.Status int State of the running or past backup
Backup.Timeout int Maximum time the backup may last.
Backup.MemoryKBLimit. int Minimum size of the free virtual memory
Backup.MaxBufferedMessages int Maximum number of buffered messages.
Backup.InputFile.Command string Command for WCCOAtoolMedia, always "backup"
Backup.InputFile.Device string Target device /directory
Backup.InputFile.Type string Type of the backup target like "FILE", "DAT", ...
Backup.InputFile.Compression bool Is presently ignored. Should always be set to 0.
Backup.InputFile.StartTime time Selects the archives that should be backed up.
Backup.UnsavedValArchs bool TRUE= backs up the archive sets that are not stored
Backup.OutpuFile.MasterError int Contains "0" if the backup was successful or an error code.
Backup.OutoputFile.FileError string Contains files with error code. An error occurred in these files.