Elements
Elements are WinCC OA data point elements with an archiving config (_archive) and an assigned archive group or alert config (alert_hdl_).
Elements have the following properties:
- id - Data point ID from WinCC OA.
- name - Full DPE name.
- dpTypeName - Name of the data point type of the DP of which the DPE belongs.
- unit - Unit of measurement defined in the _common config of the DPE.
- alias - Alias for DPE, defined in the _common config of the DPE.
- comment - The description of the DPE specified in the _common config of the DPE.
- variableType - Data type of the DPE according to the WinCC OA types.
- eventStorageGroupNames - Assigned event archive groups.
- alertGroupMap - Assigned alert archive group.
When you start the backend, you must synchronize the information about the archived data
point elements. To do this, call the requestMetadataDeltaSynchronously function of the
ConfigChannelHandler class. The first argument of the function is a list of archived
DPEs (type MetadataRequest) for which the metadata is requested. An empty
list requests the metadata for all DPEs that are archived in this backend. The result of this
call is stored in the second argument of the function, which is of type
MetadataDeltaResponse. It lists the metadata for the requested DPEs, which
are divided into updates, deletions and new archived DPEs. The request should only be made in
non-direct read mode.
Example
// synchronizing metadata
// skip metadata synchronization in case of directReadMode
if (!directReadMode)
{
MetadataDeltaResponse metadataResponse;
// send an empty request to get all metadata from the NGA Manager
// also, you can send metadata from the database to get the only diff between metadata in the database and the NGA Manager
MetadataRequest metadataRequest;
configChannelHandler.requestMetadataDeltaSynchronously(metadataRequest, metadataResponse);
logDebug("Backend received metadata changes: \n" + metadataResponse.DebugString());
// proccess metadata from the NGA Manager
MetadataHandler::processMetadata(metadataResponse);
}