Elemente
Elemente sind WinCC OA-Datenpunktelemente mit einer Archivierungskonfiguration (_archive) und einer zugeordneten Archivgruppe oder Alert-Konfiguration (_alert_hdl).
Elemente haben die folgenden Eigenschaften:
- id - Datenpunkt-ID aus WinCC OA.
- name - Vollständiger DPE-Name.
- dpTypeName - Name des Datenpunkttyps des DP, zu dem der DPE gehört.
- unit - Maßeinheit, die in der _common config des DPE definiert ist.
- alias - Alias for DPE, defined in the _common config of the DPE.
- comment - Alias für DPE, definiert in der _common config des DPE.
- variableType - Datentyp des DPE gemäß den WinCC OA-Typen.
- eventStorageGroupNames - Zugewiesene Ereignisarchivgruppen.
- alertGroupMap - Zugewiesene Alert-Archivgruppen
Wenn Sie das Backend starten, müssen Sie die Informationen über die archivierten
Datenpunktelemente synchronisieren. Dazu rufen Sie die Funktion
requestMetadataDeltaSynchronously der Klasse ConfigChannelHandler auf. Das erste
Argument der Funktion ist eine Liste von archivierten DPEs (Typ
MetadataRequest
), für die die Metadaten angefordert werden. Eine
leere Liste fordert die Metadaten für alle DPEs an, die in diesem Backend archiviert
sind. Das Ergebnis dieses Aufrufs wird im zweiten Argument der Funktion gespeichert, das
vom Typ MetadataDeltaResponse
ist. Es listet die Metadaten für die
angeforderten DPEs auf, die in Aktualisierungen, Löschungen und neue archivierte DPEs
unterteilt sind. Die Anfrage sollte nur im nicht-direkten Lesemodus erfolgen.
Beispiel:
// synchronizing metadata
// skip metadata synchronization in case of directReadMode
if (!directReadMode)
{
MetadataDeltaResponse metadataResponse;
// send an empty request to get all metadata from the frontend
// also, you can send metadata from the database to get the only diff between metadata in the database and the frontend
MetadataRequest metadataRequest;
configChannelHandler.requestMetadataDeltaSynchronously(metadataRequest, metadataResponse);
logDebug("Backend received metadata changes: \n" + metadataResponse.DebugString());
// proccess metadata from frontend
MetadataHandler::processMetadata(metadataResponse);
}