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);
}