OPC UA für logi.RTS in Betrieb nehmen

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

Die Anleitung wird für →Raspberry Pi unterstützt, aber nicht für →Revolution Pi.

Befolgen Sie die Anleitungen dieser Kurzanleitung in der angegebenen Reihenfolge.

logi.RTS installieren und lizenzieren

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

logi.RTS konfigurieren

  1. Kontrollieren Sie, dass das Systemservice OPC UA standardmäßig geladen wird.
    1. Wechseln Sie in das Unterverzeichnis PLC des logi.RTS-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 logi.RTS-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: Definieren Sie die zu inkludierenden Programminstanzen und zu inkludierenden Variablen.
    1. Weiterhin im Unterverzeichnis bin des logi.RTS-Installationsverzeichnisses: Erstellen Sie die Datei LogicalsOpcUaWhitelist in einem Texteditor (bearbeiten Sie diese, falls die Datei bereits existiert).
    2. Für jede zu inkludierende Programminstanz tragen Sie den Namen der Programminstanz ein. Der Name muss in Großbuchstaben angegeben werden. Alle Elemente der Programminstanz (z.B. Funktionsbausteine, Variablen) werden dadurch dem OPC-UA-Adressraum hinzugefügt.

      Beispiel für 2 zu inkludierende Programminstanzen und zu inkludierende globale Variablen
      PROGRAMINSTANCE1
      TESTPROGRAM
      VAR_GLOBAL

      (info) Damit wird z.B. der Instanzpfad Programinstance1.myFB1.Var1 dem OPC-UA-Adressraum hinzugefügt. Alle globalen Variablen (VAR_GLOBAL) werden ebenfalls dem OPC-UA-Adressraum 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 logi.RTS-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.

logi.RTS starten

Starten Sie logi.RTS, wie unter "logi.CAD 3 und logi.RTS starten" für das entsprechende Zielsystem beschrieben.

logi.CAD 3-Anwendung auf SPS laden

Gehen Sie analog zu einer der Kurzanleitungen vor, z.B. "Anwendung auf Raspberry Pi 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 von →logi.RTS 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