Industrieverbindungen – Beispiel
Mit Industrieverbindungen in ThingWorx können Sie eine Verbindung mit ThingWorx Kepware Server herstellen, um Tags in ThingWorx Kepware Server zu modellieren, zu konfigurieren und an Dinge im ThingWorx Modell zu binden.
|
In diesem Beispiel wird davon ausgegangen, dass ThingWorx 8.0 oder höher installiert ist und ausgeführt wird.
|
Anwendungsschlüssel und Dinge in ThingWorx erstellen
Um eine Verbindung mit ThingWorx Kepware Server herzustellen, müssen Sie einen Anwendungsschlüssel und ein Ding erstellen, das die IndustrialGateway-Dingvorlage verwendet.
1. Erstellen Sie einen Anwendungsschlüssel in ThingWorx. Kopieren Sie die Schlüssel-ID für die spätere Verwendung.
2. Erstellen Sie ein Ding in ThingWorx. Der Name dieses Dings ist wichtig, da Sie ihn später in ThingWorx Kepware Server verwenden.
|
In diesem Beispiel heißt das Ding ThingWorxKepwareServer.
|
3. Wählen Sie im Feld Basis-Dingvorlage die Vorlage IndustrialGateway aus.
4. Klicken Sie auf Speichern.
ThingWorx Kepware Server installieren
1. Laden Sie das Installationsprogramm für ThingWorx Kepware Server herunter, und starten Sie es.
2. Klicken Sie auf der Willkommensseite auf Weiter.
3. Akzeptieren Sie den Lizenzvertrag, und klicken Sie auf Weiter.
4. Übernehmen oder ändern Sie den Installationsspeicherort, und klicken Sie auf Weiter.
5. Übernehmen oder ändern Sie den Datenspeicherort, und klicken Sie auf Weiter.
6. Übernehmen oder deaktivieren Sie die Installation einer Verknüpfung zum Desktop für ThingWorx Kepware Server, und klicken Sie auf Weiter.
7. Wählen Sie eine Suite aus (falls erforderlich), und klicken Sie auf Weiter.
8. Klicken Sie auf das Symbol links neben Vollständige Installation, und wählen Sie Entire feature will be installed on local hard drive aus, oder aktivieren Sie die Funktionen, die für Ihre Umgebung geeignet sind.
9. Verifizieren Sie Ihre Auswahl, und klicken Sie auf Weiter (oder "Zurück", um eine neue Revision zu erstellen).
10. Aktivieren Sie die dynamische Adressierung (falls gewünscht), und klicken Sie auf Weiter.
11. Legen Sie ein sicheres Administratorpasswort fest (oder überspringen Sie dies), und klicken Sie auf Weiter.
12. Klicken Sie auf Installieren.
13. Klicken Sie auf Beenden.
Ein ThingWorx Kepware Server-Symbol wird auf dem Desktop angezeigt.
ThingWorx Kepware Server konfigurieren und mit ThingWorx verbinden
1. Führen Sie die ThingWorx Kepware Server-Konfiguration über das Desktop-Symbol aus. Das Fenster Konfiguration wird geöffnet.
2. Klicken Sie mit der rechten Maustaste auf Projekt, und wählen Sie Eigenschaften aus.
3. Wählen Sie im Eigenschafts-Editor die Option ThingWorx aus.
4. Konfigurieren Sie wie folgt (nicht hier aufgelistete Einstellungen können den Standardwert beibehalten):
◦ Legen Sie Aktivieren auf Ja fest.
◦ Host – IP oder vollständig qualifizierter Domänenname für Ihre ThingWorx Instanz.
◦ Port – Port, auf dem ThingWorx antwortet (normalerweise 80 oder 443).
◦ Anwendungsschlüssel – Schlüssel-ID des oben erstellten Anwendungsschlüssels.
◦ Selbstsignierten Zertifikaten vertrauen – Wenn Ihre Plattform ein selbstsigniertes Zertifikat aufweist, ändern Sie diese Option in Ja. Legen Sie für maximale Sicherheit Nein fest.
◦ Allen Zertifikaten vertrauen – Deaktiviert oder aktiviert die strenge Zertifikatprüfung, die evtl. für einige selbstsignierte Zertifikate erforderlich ist. Legen Sie für maximale Sicherheit Nein fest.
◦ Verschlüsselung deaktivieren – Legen Sie dies auf Ja fest, wenn Sie keine SSL-Verschlüsselung auf der Plattform verwenden. Legen Sie für maximale Sicherheit Nein fest.
| Unverschlüsselte Kommunikation ist ein Sicherheitsrisiko und sollte NUR während Tests im kleinen Maßstab aktiviert werden oder wenn die Umgebung im Perimeter anders gut gesichert ist. |
◦ Dingname – Name des IndustrialGateway-Dings, das Sie oben in ThingWorx erstellt haben.
| Dingname muss dem Namen des IndustrialGateway-Dings entsprechen (Groß-/Kleinschreibung beachten). |
5. Klicken Sie auf Anwenden. ThingWorx Kepware Server versucht, eine Verbindung zu ThingWorx herzustellen.
| Während einer Auswertung kann es hilfreich sein, den Simulator-Treiber mit ThingWorx Kepware Server für Beispieldaten und -Tags zu verwenden. Weitere Informationen finden Sie im Handbuch zum Simulator-Treiber. |
Tags in ThingWorx Kepware Server an Eigenschaften in ThingWorx binden
Nachdem ThingWorx Kepware Server mit ThingWorx verbunden wurde, suchen Sie das IndustrialGateway-Ding, das mit ThingWorx Kepware Server verbunden ist, und binden Sie die Tags in ThingWorx Kepware Server an die Eigenschaften in ThingWorx.
1. Öffnen Sie Composer.
2. Klicken Sie auf Durchsuchen > Industrieverbindungen.
| Industrieverbindungen werden nicht angezeigt, wenn sie nicht verbunden sind. Wenn ThingWorx Kepware Server installiert, aber nicht verbunden ist, klicken Sie auf Laufzeitdienst starten über das ThingWorx Kepware Server-Symbol in der Desktop-Symbolleiste. |
3. Wenn ThingWorx Kepware Server ausgeführt wird, wird das Industrieverbindungen-Ding angezeigt. Wenn die Spalte mit dem Datenbanksymbol kein Häkchen aufweist, speichern Sie das Ding, damit es persistent ist.
a. Klicken Sie auf den Entitätsnamen.
b. Klicken Sie auf Speichern.
4. Klicken Sie in der Dropdown-Liste der Kopfzeile Industrieverbindung auf Ermitteln. Klicken Sie auf das Pluszeichen (+), um Kanäle und Geräte zu erweitern, die in ThingWorx Kepware Server vorhanden sind.
5. Durch Klicken auf ein einzelnes Gerät werden die verfügbaren Tags aufgelistet. Setzen Sie ein Häkchen bei den Tags, die Sie zu einem neuen Asset hinzufügen möchten, und klicken Sie auf An neue Entität binden.
6. Wählen Sie eine Dingvorlage, und klicken Sie auf OK.
| Ein Remote-Vorlagentyp muss ausgewählt werden. |
7. Der Bildschirm für die Erstellung des neuen Dings wird angezeigt. Die Konfigurations- und Bindungsinformationen werden konfiguriert, damit das neue Ding automatisch eine Verbindung über ThingWorx Kepware Server herstellt. Stellen Sie einen Namen für das Ding bereit.
8. Klicken Sie auf Speichern.
| Beim Speichern wird die IndustrialThingShape durch das Ding implementiert und kann nicht aus dem Ding entfernt werden. Das Speichern eines Dings, dessen Basis-Dingvorlage von einem Remote-Ding mit der implementierten IndustrialThingShape abgeleitet wird, ermöglicht nur Remote-Bindungen, die auf der Tag-Adresse basieren. |
| • ThingWorx unterstützt die Eigenschaftsvererbung auf IndustrialThingShapes nicht. • Sobald eine Eigenschaft auf einem Ding überschrieben wird, werden Änderungen, die an den Dingformen hinsichtlich Eigenschaftsbindungen vorgenommen wurden, nicht länger reflektiert. Dieses Verhalten ist auf Bindungen beschränkt. Wird der Basistyp der Eigenschaft für eine Instanz geändert, so wird diese Änderung propagiert. • Die überschriebene Eigenschaft auf dem Ding muss gelöscht werden (d.h. die Überschreibung muss rückgängig gemacht werden), und alle Änderungen hinsichtlich Bindungen, die an der Dingform vorgenommen werden, werden auf dem Ding reflektiert. |
9. Wählen Sie in der Dropdown-Liste der Kopfzeile "Industrieding" Eigenschaften und Warnungen aus. Klicken Sie auf Aktualisieren. Werte werden basierend auf den aktuellen Daten von ThingWorx Kepware Server geändert.
10. Klicken Sie auf eine Eigenschaft in der Spalte Name zum Anzeigen oder Bearbeiten der Eigenschaft.
| Für Infotable-Eigenschaften muss der Push-Typ auf Immer Push-Übertragung festgelegt sein. |
| Die folgenden Eigenschaften sind spezifisch für das Industrieverbindungen-Ding: • Tag-Adresse – Adresse des Tags in ThingWorx Kepware Server. Der Eigenschaftsname und die Adresse des gebundenen Tags müssen nicht identisch sein. • Industrie-Datentyp – Datentyp in ThingWorx Kepware Server. Dies entspricht dem Basistyp in ThingWorx. • Push-Typ: Der standardmäßige Push-Typ ist Push basierend auf Wertänderung. Push basierend auf Totzone ähnelt zwar der Option Push basierend auf Wertänderung, es gibt jedoch einen subtilen Unterschied in Bezug auf die Push-Werte. Wenn beispielsweise die Werte vom Gerät 1, 2, 3 und 4 sind und der Push-Typ Push basierend auf Wertänderung mit einem Push-Schwellenwert von 2 ist, dann ist der Wert, für den ein Push vom Edge erfolgt, 1. Für diesen Wert erfolgt jedoch nicht erneut ein Push, da er sich nur um 1 geändert hat. Wenn der Push-Typ in diesem Beispiel auf Push basierend auf Totzone festgelegt wird, erfolgt ein Push der Werte 1 und 3, da die Änderung zum letzten Push-Wert erfolgt, anstelle vom letzten Edge-Wert. | Der Push-Typ Push basierend auf Totzone ist nur für ThingWorx Kepware Server Industrieverbindungen verfügbar. |
|
11. Um zusätzliche Tags an eine vorhandene Entität zu binden, klicken Sie auf Hinzufügen, um auf die Attribute für "Neue Eigenschaft" zuzugreifen. Weisen Sie einen Namen und andere gewünschte Eigenschaften zu, und wählen Sie unter Bindung die Option Remote gebunden aus. Klicken Sie unter "Tag-Adresse" auf Hinzufügen, um die zusätzlichen Tags zum Binden an die ausgewählte Entität auszuwählen.
| Wählen Sie alternativ die Option Dynamisches Tag aus, geben Sie eine dynamische Tag-Adresse ein, und wählen Sie den Industrie-Datentyp aus, bevor Sie auf Fertig klicken. |
Industrie-Gateway – Diagnose-Eigenschaften
Es gibt verschiedene Diagnose-Eigenschaften für das IndustrialGateway, die Sie verwenden können, um Statusinformationen zu ThingWorx Kepware Server zu erhalten.
| Alle Anzahleigenschaften werden in einem Wert-Stream protokolliert. |
• ActiveTagCount – Anzahl der Tags, die an Eigenschaften auf der Plattform gebunden sind. Anzahl der Tags, die aktiv von ThingWorx Kepware Server für alle verbundenen Clients bereitgestellt werden.
• ClientCount – Anzahl aller OPC DA-Clients, die mit ThingWorx Kepware Server verbunden sind.
• DateTime – Aktuelles Datum und aktuelle Uhrzeit (angepasst an die lokale Zeitzone).
• DroppedUpdates – Anzahl der Aktualisierungen, die von ThingWorx Kepware Server verworfen wurden, statt sie an die Plattform zu senden.
| Dieser Wert sollte nicht verwendet werden, um die Konnektivität zu verifizieren, da diese Aktualisierung möglicherweise verworfen wird. |
• ExpiredFeatures – Namen der ThingWorx Kepware Server Funktionen, wie Treiber oder Plugins, die abgelaufen sind und keine Daten mehr bereitstellen, bis die Serverlaufzeit gestoppt und neu gestartet oder die Funktion lizenziert wird.
• FullProjectName – Vollständiger Name und Speicherort der aktuell ausgeführten ThingWorx Kepware Server Projektdatei.
• Hostname – Hostname des Rechners, auf dem ThingWorx Kepware Server ausgeführt wird.
• IndustrialThingCount – Anzahl der Remote-Dinge, die dieses IndustrialGateway verwenden, um Daten für die Plattform bereitzustellen.
• isConnected – Verbindungsstatus des ThingWorx Kepware Server.
• lastConnected – Uhrzeit der letzten guten Verbindung des ThingWorx Kepware Server.
• LicensedFeatures – Namen der ThingWorx Kepware Server Funktionen, wie Treiber oder Plugins, die auf dieser Instanz von ThingWorx Kepware Server lizenziert sind.
• OpcClientNames – Namen der verbundenen OPC DA-Clients, wenn sie bereitgestellt werden.
• ProductName – Name der Software, die die IndustrialGateway-Dingvorlage verwendet.
• ProductVersion – Version der Software, die die IndustrialGateway-Dingvorlage verwendet.
• ProjectName – Name der Projektdatei, die von ThingWorx Kepware Server verwendet wird.
• ProjectTitle – Titel der Projektdatei, die von ThingWorx Kepware Server verwendet wird.
• PropertyCount – Anzahl der Eigenschaften, die RemoteThings auf der Plattform zugeordnet sind.
• TimeLimitedFeatures – Namen der ThingWorx Kepware Server Funktionen, wie Treiber oder Plugins, die nicht auf dieser Instanz von ThingWorx Kepware Server lizenziert sind, aber Daten bereitstellen.
• TotalTagCount – Anzahl der Tags, die allen Clients zugewiesen sind.
• UpdatesPerSecond – Durchschnittliche Anzahl von Aktualisierungen, die von ThingWorx Kepware Server an ThingWorx übertragen werden.
Dienste
Verwenden Sie einen dieser Dienste, um Industrieverbindungen zu verwalten.
Dienst | Beschreibung |
BrowseItems | Die Eingaben sind path und filter. Der Filter ist optional. | Beispielpfad: Channel1.Device1. |
Gibt Folgendes zurück: SourceType (z.B. Word oder Word-Array) ist der Datentyp (wie in ThingWorx Kepware Server definiert) und korreliert mit dem Basistyp in ThingWorx. Dieser Dienst akzeptiert einen Filter als Argument, wodurch nach bestimmten Tag-Namen gesucht werden kann. In diesem Filterfeld können die folgenden Filtertechniken verwendet werden: *Platzhalter – Filtert nach einem beliebigen Satz von Zeichen. ? Platzhalter mit einem einzelnen Zeichen – Filtert nach einzelnen Zeichen. [...]-Einschluss-Zeichensatz – filtert nach einem einzelnen Zeichen in Klammern. Zeichenbereiche können durch einen Bindestrich angegeben werden: "c-j". [!...]-Ausschluss-Zeichensatz – filtert nach einem einzelnen Zeichen, das nicht in Klammern steht. Zeichenbereiche können durch einen Bindestrich angegeben werden: "c-j", ". # Ziffer – Filtert nach einem numerischen Zeichen. |
BrowseGroups | Die Eingaben sind path und filter. Wenn kein path definiert ist, werden alle Gruppen zurückgegeben. |
GetIndustrialThings | Gibt alle Dinge zurück, die über die Dingvorlage "IndustrialGateway" verbunden sind. Sie können auch das Mashup "Remote-Dinge" in ThingWorx anzeigen, um diese Informationen anzuzeigen. |
GetPropertySubscriptions | Sie können diesen Dienst (für das Remote-Ding) verwenden, um Aspekte zurückzugeben (durch ThingWorx Kepware Server definierte Eigenschaften). | Aspektbeispiel: { "industrialDataType": "Word", "tagAddress": "Channel2.Device1.Tag11", "scanRate": 1000 } |
|
GetBoundItems | Geben Sie eine Zahl für maxItems ein. Gibt alle Tags zurück, die an das Ding gebunden sind, von dem der Dienst ausgeführt wird. | Informationen zu gebundenen Tags finden Sie auch im Bereich Gebundene Tags des Dings "Industrie-Gateway". |
|
GetPropertyDiagnostics | Verfügbar für Remote-Dinge und hinzugefügt, wenn Sie die IndustrialThingShape verwenden. Dieser Dienst verwendet den lokalen Namen einer Eigenschaft, die aktuell an das Ding gebunden ist, auf dem der Dienst ausgeführt wird, und gibt folgende Informationen zurück: • Beschreibung: Beschreibungsfeld auf ThingWorx Kepware Server. • Gültig – Boolescher Wert. Ist die Eigenschaft auf ThingWorx Kepware Server gültig? • DriverFriendlyName: Der Name, der Benutzern für den Treiber zum Generieren des Tags angezeigt wird. • Modell – Modell des Geräts unter dem Treiber zum Generieren des Tags. • Fehler – Boolescher Wert. Ist das Gerät fehlerhaft? • Name – Name der Adresse in ThingWorx Kepware Server. • DriverPersistedName – ThingWorx Kepware Server Name des Treibers zum Generieren des Tags. • Adresse – Physische Adresse des Tags in ThingWorx Kepware Server. • DataType – Industrie-Datentyp, wie er für ThingWorx Kepware Server angezeigt wird. • ReadOnly – Boolescher Wert. Bei "true" ist das Tag schreibgeschützt. • CurrentValue – Wert des Tags, als der Dienst ausgeführt wurde. • CurrentQuality – Qualität des Tags, als der Dienst ausgeführt wurde. • CurrentTimestamp – Zeitpunkt, zu dem das Tag bei Ausführung des Diensts gelesen wurde. |
GetDiagnosticDigest | Verfügbar für das Ding "Industrie-Gateway". Dieser Dienst kann jede beliebige Tag-Adresse verwenden und gibt die Diagnose-Informationen dieses Tags aus ThingWorx Kepware Server zurück. Dies ist der einzige Diagnosedienst, der eine statische oder dynamische Adresse auf der ThingWorx Kepware Server Instanz verwenden kann, um Informationen bereitzustellen. Dies bedeutet, dass das Tag nicht an eine Eigenschaft in der Plattform gebunden werden muss, damit dieser Dienst Ergebnisse zurückgibt. Die Definition jedes der zurückgegebenen Felder entspricht dem Dienst GetPropertyDiagnostics (siehe oben). |
Dinge über eine CSV-Datei importieren
Sie können die CSV-Importerweiterung verwenden, um Dinge in ThingWorx zu importieren. Diese Erweiterung enthält ein ImportRepository, ImportHelper, ImportMashup und die Beispieldatei TestImport.csv.
1. Erwerben Sie die Erweiterung, und importieren Sie sie in ThingWorx.
2. Öffnet das ImportMashup.
| Durch Klicken auf den Link Format importieren wird das Format der Datei angezeigt. |
3. Klicken Sie auf Datei wählen, und navigieren Sie zu der zu importierenden CSV-Datei. Die Datei wird auf die Plattform hochgeladen, sodass die Plattform die Datei lesen kann.
4. Klicken Sie auf Hochladen.
5. Klicken Sie gegebenenfalls auf My CSV file has a header row.
6. Klicken Sie auf Importieren.
7. In Composer sollten Sie alle Dinge sehen, die über die CSV-Datei importiert wurden.