Beispiel - Werte hochladen und visualisieren

In diesem Kapitel erfahren Sie wie von WinCC OA Werte zu Insights Hub hochgeladen werden. Beachten Sie, dass Insights Hub vorher erfolgreich konfiguriert werden muss. Siehe Kapitel Voraussetzungen und Installation, Konfiguration Insights Hub (Cloud) - Teil1 und die weiteren Konfigurationskapitel.

Werte über ein CTRL-Script hochladen

Vorteile der Bibliothek ist ein automatisches behandeln der Redu-Funktionalität von WinCC OA. Werte werden immer nur von dem WinCC OA-Server hochgeladen, wenn dieser der aktive Server ist (im Split-Modus der, auf dem der aktive Event läuft). Außerdem bietet es eine einfache Möglichkeit Werte für den Upload aufzubereiten und dann gemeinsam hochzuladen.

Note: Inkludieren Sie die Insights Hub-Bibliothek über #uses "classes/mindSphere/MindSphereAsset".
  • #uses "classes/mindSphere/MindSphereAsset"
    main(mapping event)
    {
      MindSphereAsset asset = MindSphereAsset("NameOfMindSphereAsset");
    }

Wollen Sie shared_ptr verwenden, so können Sie natürlich auch ein MindSphereAsset auf folgende Art instanzieren:

  • #uses "classes/mindSphere/MindSphereAsset"
    main(mapping event)
    {
      shared_ptr<MindSphereAsset> asset = new MindSphereAsset("NameOfMindSphereAsset");
    }    
Note: Wenn Sie den Namen eines nicht vorhandenen Assets beim Instanzieren verwenden, so werden die mit dem Asset aufgerufenen Funktionen den Fehlercode -1 zurückliefern.
  • Im nächsten Schritt wählen Sie die Werte aus, welche zu Insights Hub hochgeladen werden. Selektieren Sie dabei die MindSphereDatenpunkte zu welchen die Werte hochgeladen werden:
  • string dp1 = "NameDesMindSphereDatapoint1";
    string dp2 = "NameDesMindSphereDatapoint2";
    dyn_int values1 = makeDynInt(1, 2, 3);
    dyn_int values2 = makeDynInt(4, 5, 6);
    time now = getCurrentTime();
    dyn_time times = makeDynTime(now - 2, now - 1, now);

Übergeben Sie die MindSphereDatenpunkte dem Asset für den Upload. Die Funktion prepareValues übernimmt die Daten und bringt sie in das von Insights Hub erwartete Format (nach Timestamp gruppiert).

CAUTION: Laden Sie gleichzeitige Werte eines Assets immer gemeinsam hoch, da Insights Hub ansonsten die zuerst hochgeladenen Werte löscht. Damit sind gleichzeitige Werte von unterschiedlichen Datenpunkten eines Assets gemeint!
  • int err1 = asset.prepareValues(dp1, values1, times);
    int err2 = asset.prepareValues(dp2, values2, times);
CAUTION: Wenn Sie einen Datapoint selektieren, der keinem MindSphereDatapoint entspricht, der dem MindSphereAsset zugeordnet ist, liefert die Funktion prepareValues den Fehlercode -1 zurück und die Werte werden nicht für den Upload vorbereitet.
Note: Der optionale Parameter "qualities" wird von der Funktion automatisch mit "00000000" befüllt. Für genauere Informationen zu den Qualitycodes, wenden Sie sich an die Insights Hub-Dokumentation.

Wiederholen Sie den oberen Vorgang bis alle Werte, die Sie in diesem Durchgang hochladen wollen, dem Asset hinzugefügt wurden.

  • Laden Sie die Werte hoch. Die Funktion uploadPreparedValues lädt alle Werte, die mit der Funktion prepareValues (siehe oberhalb) dem Asset hinzugefügt wurden, zu Insights Hub hoch. Schlägt der Upload fehl, wird der Fehlercode -1 zurückgegeben. Verwenden den folgenden Code:
  • int err = asset.uploadPreparedValues();
Note: Es wird kein Fehlercode zurückgegeben, wenn die Funktion auf einem passiven System ausgeführt wird.

Werte visualisieren am Beispiel der MindApp "Fleet Manager"

Dieser Abschnitt beschreibt wie Sie Werte, welche in Punkt Schritt Werte über ein CTRL-Script hochladen hochgeladen wurden am Insights Hub-Server visualisieren können. Beachten Sie, dass um Werte visualisieren zu können, die Insights Hub-Konfiguration fertig ist (siehe Konfiguration Insights Hub (Cloud) - Teil1 und die weiteren Konfigurationskapitel) und der Dokumentationsteil Schritt Werte über ein CTRL-Script hochladen vollständig durchgeführt wurde.

Note: Für genauere Informationen über Insights Hub, konsultieren Sie die Insights Hub-Hilfe https://documentation.mindsphere.io/#/kiosk
Note: In unseren Tests hat sich gezeigt, dass Insights Hub manchmal bis zu 10 Minuten benötigt, um die Werte in der standardmäßig eingestellten Zoomstufe anzuzeigen. Wenn Sie den Zeitbereich einschränken, ist die Visualisierung der Werte in der Regel schneller.