OPC UA für Laufzeitsystem in Betrieb nehmen

Diese Kurzanleitung beschreibt, wie Sie →OPC UA für ein →Laufzeitsystem in Betrieb nehmen und mit Hilfe des freien Hilfswerkzeug UaExpert die aktuellen Werte von Variablen einer logi.CAD 3 -Anwendung beobachten.

OPC UA wird für diese Zielsysteme unterstützt:

Kontaktieren Sie logi.cals , falls Sie OPC UA für Ihr Zielsystem verwenden wollen.


Befolgen Sie die Anleitungen dieser Kurzanleitung in der angegebenen Reihenfolge.

Laufzeitsystem installieren und lizenzieren

  1. Installieren Sie das Laufzeitsystem wie unter "Installieren" für das entsprechende Zielsystem beschrieben. (warning) Verwenden Sie unbedingt eine logi.RTS-Version ≥ V5.1.0.
  2. Installieren Sie eine Lizenz für das Laufzeitsystem, wie unter "Lizenz anfordern und installieren" für das entsprechende Zielsystem beschrieben ist.

Laufzeitsystem konfigurieren

  1. Kontrollieren Sie, dass das Systemservice OPC UA standardmäßig geladen wird.
    1. Wechseln Sie in das Unterverzeichnis PLC des Laufzeitsystem-Installationsverzeichnisses.
    2. Öffnen Sie die Datei RTSIO.cfg in einem Texteditor, suchen Sie die folgende Zeile:

      Benötigte Zeile
      LoadLibrary RTSS_OPCUA
    3. Falls diese Zeile nicht vorhanden ist, tragen Sie sie ein und speichern Sie die geänderte Datei RTSIO.cfg.
  2. Definieren Sie den verwendeten OPC-UA-Port.
    1. Wechseln Sie in das Unterverzeichnis bin des Laufzeitsystem-Installationsverzeichnisses.
    2. Öffnen Sie die Datei ServerConfig.xml in einem Texteditor, suchen Sie die folgende Zeilen:

      Anzupassende Zeile
      <UaEndpoint>
      ...
      <Url>opc.tcp://0.0.0.0:48010</Url>
    3. Überschreiben Sie den vorgegeben Port 48010 durch den verwendeten Port.
    4. Speichern Sie die geänderte Datei ServerConfig.xml.
  3. Bei Bedarf, falls Sie den Aufbau des OPC-UA-Adressraums gezielter steuern wollen: Definieren Sie die zu inkludierenden Elemente (wie z.B. Programminstanzen, Funktionsbaustein-Instanzen, Variablen oder Strukturelemente).
    1. Weiterhin im Unterverzeichnis bin des Laufzeitsystem-Installationsverzeichnisses: Erstellen Sie die Datei LogicalsOpcUaWhitelist in einem Texteditor (bearbeiten Sie diese, falls die Datei bereits existiert).
    2. Für jedes zu inkludierende Element tragen Sie den Instanzpfad ein. Der Instanzpfad muss in Großbuchstaben angegeben werden. Das Element und seine Unterelemente (z.B. Funktionsbaustein-Instanzen, Variablen) werden dadurch dem OPC-UA-Adressraum hinzugefügt.
      Sonderfall: Für globale Variablen müssen Sie das Schlüsselwort VAR_GLOBAL definieren. Falls Sie nur spezielle globale Variablen dem OPC-UA-Adressraum hinzufügen wollen, geben Sie VAR_GLOBAL.Name-der-globale-Variable an.

      Beispiel

      Erklärung
      PROG1Alle Variablen von Prog1 und alle untergeordneten Elemente (wie z.B. Variablen von aufgerufenen Funktionsbaustein-Instanzen) werden hinzugefügt.
      PROG2.STRUCTVAR1Alle Elemente von Prog2.StructVar1 werden hinzugefügt. Vorhandene Unterelemente werden ebenfalls hinzugefügt.
      PROG2.MYFB1

      Alle Variablen von der Funktionsbaustein-Instanz myFB1, die von Prog2 aufgerufen wird, werden hinzugefügt. Vorhandene Unterelemente werden ebenfalls hinzugefügt.

      PROG3.ENOVon PROG3 wird nur der ENO hinzugefügt.
      VAR_GLOBALAlle globale Variablen werden hinzugefügt.
      VAR_GLOBAL.GV1Die globale Variable Gv1 wird hinzugefügt. Vorhandene Unterelemente werden ebenfalls hinzugefügt.
    3. Speichern Sie die Datei LogicalsOpcUaWhitelist.
  4. Bei Bedarf: Definieren Sie die Einstellungen für →ARRAY-Elemente und →Referenzen zur Anwendung auf den OPC-UA-Client.
    1. Weiterhin im Unterverzeichnis bin des Laufzeitsystem-Installationsverzeichnisses: Öffnen Sie die Datei LogicalsOpcUaSettings.xml in einem Texteditor (erstellen Sie diese, falls die Datei noch nicht existiert).
    2. In der Datei korrigieren Sie die Werte für die Elemente laut Ihren Anforderungen.

      Standardeinträge
      <?xml version="1.0" encoding="utf-8"?>
      <Properties>
      <EnableBaseTypeArrayElements>false</EnableBaseTypeArrayElements>
      <EnableWriteAccessToReferencedVariables>true</EnableWriteAccessToReferencedVariables>
      <MaximumReferenceDepth>1</MaximumReferenceDepth>
      </Properties>

      Erläuterung der Elemente in der Datei LogicalsOpcUaSettings.xml:

      • <EnableBaseTypeArrayElements>...</EnableBaseTypeArrayElements>: definiert die Anzeige für Array-Elemente, die auf Basis eines elementaren Datentyp deklariert sind

        • Beim Wert false (= Standardeinstellung) wird für jedes Array-Element eine eigene OPC-UA-Variable erstellt. Bei Var1: ARRAY[1..10] OF INT wird also nur eine Variable Var1 vom Typ Int16 Array erstellt. Im OPC-UA-Client wird nur eine Variable angezeigt.
        • Beim Wert true werden zusätzliche OPC-UA-Variablen erstellt. Bei Var1: ARRAY[1..10] OF INT werden zusätzlich 10 Variable [0] bis [10] vom Typ Int16 erstellt. In Folge können auch einzelne Array-Elemente im OPC-UA-Client gelesen und/oder darauf geschrieben werden.
      • <EnableWriteAccessToReferencedVariables>...</EnableWriteAccessToReferencedVariables>: aktiviert oder deaktiviert das Schreibrecht auf Variablen, die über REF_TO referenziert sind

        • Beim Wert true (= Standardeinstellung) ist das Schreibrecht aktiviert.  Bei Var1 : INT und Var1Ref : REF_TO INT := REF(Var1) kann der Wert von Var1 durch Var1Ref^ im OPC-UA-Client verändert werden.
        • Beim Wert false ist das Schreibrecht deaktiviert.
      • <MaximumReferenceDepth>...</MaximumReferenceDepth>: definiert die maximale Anzeigetiefe von selbstreferenzierende Strukturdatentypen (also von Strukturen, bei dem ein Element durch REF_TO auf den eigenen Datentyp verweist)
        Beim Wert 1 (= Standardeinstellung) wird nur die 1. Ebene von REF_TO-Verknüpfungen im OPC-UA-Client angezeigt, beim Wert 5 wird bis zur 5. Ebene angezeigt. Sonderfall: Beim Wert 0 werden referenzierte Variable gar nicht im OPC-UA-Client angezeigt.

    3. Speichern Sie die Datei LogicalsOpcUaSettings.xml.

Laufzeitsystem starten

Starten Sie das Laufzeitsystem, wie unter "Entwicklungsumgebung und Laufzeitumgebung starten" für das entsprechende Zielsystem beschrieben.

logi.CAD 3 -Anwendung auf SPS laden

Laden Sie die Anwendung auf das Zielsystem. Details: Siehe "Anwendung erstellen und auf SPS laden".

Nach dem Laden der logi.CAD 3 -Anwendung auf die SPS wird eine Meldung mit der Anzahl der gefundenen und ignorierten Variablen in der Konsole des →Laufzeitsystems bzw. in der Sicht SPS-Logging von  logi.CAD 3  angezeigt.

UaExpert für den Zugriff auf das OPC-UA-Service verwenden

Für den Zugriff auf das OPC-UA-Service benötigen Sie einen OPC-UA-Client. logi.cals  empfiehlt das kostenfreie Hilfstools UaExpert von Unified Automation. Siehe https://www.unified-automation.com/products/development-tools/uaexpert.html für Details (in Englisch) und Download.

Hier eine Kurzanleitung zur entsprechenden Verwendung von UaExpert:

  1. Laden Sie UaExpert herunter und installieren Sie UaExpert.
    (warning) Der OPC-UA-Port auf dem Zielsystem muss erreichbar sein (z.B. muss der Firewall-Port offen sein).
  2. Starten Sie UaExpert. 
  3. Verbinden Sie sich zum Zielsystem (d.h., zur SPS):
    1. Drücken Sie die Schaltfläche  (Add Server) in der Symbolleiste.
    2. Im Dialog Add Server klappen Sie Custom Discovery auf und doppelklicken Sie auf <Double click to Add Server...>. Geben Sie die URL-Adresse der SPs im Dialog Enter URL ein und drücken Sie OK.
      Beispiel für URL-Adresse: opc.tcp://192.168.1.2:48010 (bei der IP-Adresse 192.168.1.2 der SPS und dem Port 48100 für OPC UA)
    3. Im Dialog Add Server klappen Sie den neuen Eintrag auf, bis Sie die Untereinträge von LogicalsOpcUa... sehen. Selektieren Sie None - None und drücken Sie OK im Dialog.
  4. Wählen Sie die zu beobachten Variablen der logi.CAD 3 -Anwendung aus.
    1. Im linken, mittleren Bereich Address Space von UaExpert wählen Sie einen Variablenpfad aus: Root, Objects, LogicalsPlc, Programs, Programm-Name, Variablen-Name
    2. Ziehen Sie die Variable in den Bereich Data Access View von UaExpert. Dort wird standarmäßig der aktuelle Wert angezeigt.
      Beispiel für die Anzeige in UaExpert:

(info) Der OPC-UA-Client zeigt die Variablen mit den folgenden Datentypen so an:

Datentyp der Variable

Anzeige im OPC-UA-Client

DATE_AND_TIME

DateTime

DATE

DateTime mit Uhrzeit 00:00:00

TIME

INT64 in Nanosekunden

TIME_OF_DAY

INT64 in Nanosekunden