Support OPC Server

Tani OPC Server

Übersicht: OPC optimieren, OPC mit Wonderware, SPS Programmänderungen, OPC Classic über OPC UA, OPC Core Componenten, OPC Tunnel, OPC und Excel, OPC UA Stationssuche, OPC UA viele Verbindungen, OPC UA alarm, OPC UA reverse connections, OPC zur Siemens S7 200, OPC zur Siemens Logo, SPS Variablen mit MQTT nutzen, MQTT 5 and variable types, OPC zur Mitsubishi Melsec Q, OPC zu einer Mitsubishi FX5, BACnet alarm requirements.

Antwort:

Oft liegt der Grund in vielen langen Dingen wie Fehlertexte oder Rezepten. Diese Dinge werden normalerweise nur dann in der SCADA Software gebraucht wenn eine Triggerbedingung erfüllt wird. Bei Fehlertexten ist das zum Beispiel die Fehlernummer. Das SCADA System meldet alle diese Elemente an, ein normaler OPC Server holt alle diese Daten zyklisch. Das belastet die Steuerung. Einfach die Elemente nur in der SCADA anzumelden wenn der Trigger sich ändert ist komplex und immer noch zu langsam.
Lösung für Störtexte: Definieren Sie unter "Tabellen" "Wizard lange Daten" eine neue Optimierung, nennen Sie die z.B. "Störtexte". Nehmen Sie die Fehlernummer als Trigger (Gruppe 1). In Gruppe 2 geben Sie den Text an. Die Umlenkung des OPC Elementes auf die Optimierung (Alias) wird automatisch mit angelegt.

Antwort:

Nutzen Sie diese Dokumentation. Sie finden die auch im Software Downloadbereich und unter den Handbüchern.

Antwort:

Der OPC Server prüft die SPS alle 10 Sekunden auf Änderungen. Wird eine Änderung erkannt so aktualisiert der Server alles nötige. Trotzdem ist es nicht empfehlenswert in die SPS zu schreiben wenn intensiv am SPS Programm gearbeitet wird. Lesen ist aber immer unkritisch.

Antwort:

Im Tani OPC Server legen Sie eine OpcPipe oder OPC UA Client Verbindung an. Das Ziel ist Ihr OPC UA Gerät. In Ihrem OPC DA Client erreichen Sie das Gerät ganz normal über Browsing: Tani OPC Server, dann die Verbindung zu Ihrem Gerät, dann die gewünschten Variablen.

Antwort:

Zum Entfernen der OpcCore Components ist es wichtig, dass sie vorher unregistriert werden und dass kein Programm diese Komponenten benutzt. Dazu erledigt die Batchdatei "OpcUr.cmd". Die sollte nach c:\Windows\SysWOW64 kopiert werden. Starten Sie eine Eingabeaufforderung als Administrator und wechseln Sie in das Verzeichnis mit "cd c:\Windows\SysWOW64". Der Batch kennt den Parameter -r der die Komponenten unregistriert und neu registriert ohne sie zu löschen. Beim Ausführen werden Dialoge angezeigt, bitte bestätigen Sie die. Es können Fehler auftreten falls eine der OPC DA Core Dateien noch in Benutzung ist, dann kann sie nicht gelöscht werden. Ein Booten des PCs und erneuter Start von "OpcUr.cmd" könnte das lösen. Wenn das nicht zum Ergebnis führt dann muss das entsprechenden Programm, welches die Komponenten benutzt, gestoppt werden und die DLL von Hand gelöscht werden. Nach dem Entfernen solte der PC sicherheitshalber gebootet werden. Eine Neuinstallation des Tani OPC Servers oder der Tani PlcEngine installiert die Komponenten neu. Alle Software die OPC DA nutzt arbeitet nun ebenfalls. Es sollten nun alle Effekte mit den OPC DA Zugriffsrechten gelöst sein.

Antwort:

Mit dem OPC Tunnel der in allen OPC Servern eingebaut ist. Das schnelle Protokoll dazu ist OpcPipe, Sie können aber auch OPC UA nutzen.
Ihr OPC DA Client greift auf den lokalen OPC Server zu. Der tunnelt mit OpcPipe zum Ziel OPC Server. Der Zielserver greift als OPC DA Client auf den Ziel OPC DA Server zu.

Antwort:

Nutzen Sie dieses Beispiel.

Antwort:

Unter Windows muss der Bonjour Dienst Version 2.0 installiert sein, zusätzlich muss der UDP Port 5353 in der Firewall erlaubt sein.
Unter Linux muss der avahi Daemon und der avahi Client installiert sein. Sie finden den im Paketmanager Ihrer Distribution. Der UDP Port 5353 in der Firewall muss offen sein.
Achten Sie darauf nicht mehrere OPC UA Discovery Systeme parallel zu installieren.
Wenn Sie einen externen Discovery Server nutzen so müssen Sie dort oft die Zertifikate beglaubigen damit der Zugriff arbeitet. Wenden Sie sich an den Hersteller des Discovery Servers für Detailfragen.

Antwort:

Die meisten OPC UA Clients benutzen beim Verbindungsaufbau folgendes Schema:

Dies ist notwendig, da zum Aufbau der verschlüsselten Verbindung Informationen gebraucht werden, die via "Browse Endopints" Telegramm geholt werden müssen. Dies stellt einen Schwachpunkt des OPC UA Protokolls dar, kann also nur durch ein grundlegend anderes Protokoll gelöst werden.

Der Tani OPC UA Server benötigt nun nach einem Verbindungsaufbau etwas Zeit (im ms-Bereich) um Aufräumarbeiten durchzuführen und die betreffende Rückgratstruktur für den nächsten Verbindungsaufbau vorzubereiten. Wenn nun nur noch eine Verbindung frei ist, wird diese durch das "Browse Endpoint" benutzt und steht dann kurzzeitig nicht zur Verfügung. Der Client bekommt in dieser Zeit ein TCP RST beim Verbindungsversuch. Das fängt sich zwar nach kurzer Zeit. Aber wenn der Client das Schema wieder vom Anfang beginnt, wird die Daten-Verbindung nie zustande kommen.
Unsere OPC UA Client Bibliothek verbessert das, indem die "Browse Endopints" Verbindung nur genutzt wird, wenn es nötig ist (unverschlüsselt nie, verschlüsselt nur einmal).
Die Empfehlung lautet daher, immer "einige" UA Server Verbindungen mehr einzutragen als Clients erwartet werden. Dadurch wird dieses Problem umgangen.

Antwort:

The Tani OPC UA alarm and conditions are working as in the OPC UA specification talks about. Additionally all variables reflecting the alarms and conditions are offered in the variables tree all OPC programs can browse.

Create the alarm with XML file

The example XML file contains a "Test-Alarm" of type ExclusiveLevelAlarmType (in folder Objects/Tani-Example). To configure it, the following properties must be written:

Finally enable the alarm:

To monitor the alarm:

To create more alarms, use one of these methods:

Antwort:

OPC UA supports connections for reaching an OPC UA server which is behind NAT as an example. In this cases the UA server initializes the network connection to the client.

The necessary configuration settings are shown i the "Expert settings" choosen in the OPC UA Settings of the connection

On the UA Server set the checkmark "Reverse Connect". Enter the IP address of the client machine in the reverse connection part. Mostly let the "Endpoint URL" IP address as 0.0.0.0
On the UA client side also set the checkmark "Reverse Connect". Enter the IP address of the server machine in the reverse connection part. Mostly let the "Endpoint URL" IP address as 0.0.0.0
Do not use a IP port which is handled by any other connection of the client or the server nachine.

Antwort:

Nutzen Sie dieses Beispiel. Es existiert nur ein Datenbaustein, der hat die Nummer 1.

Antwort:

Eine Logo ist eine Siemens S7 300 kompatible SPS. Oft findet die automatische TSAP Suche die Logo. Falls der TSAP in der Programmierung der Logo anders vergeben wurde müssen Sie die TSAP von Hand eingeben.

Antwort:

Zwei Wege gibt es:

Antwort:

Offer the variables using the datatype names as Boolean, SByte, Byte, Int16, UInt16, Int32, UInt32, Int64, UInt64, String, Float, Double, DateTime.
Optional modifiers are BigEndian, LittleEndian, Array, BitArrayLength1, BitArrayLength2, BitArrayLengt31 ,BitArrayLength4, BitArrayLength5, BitArrayLength6, BitArrayLength7.
The defines item syntax used in symbolic variables - example is MyVariable{{Int 32}} - will be converted to the datatype names above.
Create a MQTT client or server (broker) connection, choose MQTT 5.
Assign PLC variables to this connection.

Antwort:

Diese Bilder zeigen die Einstellungen in der SPS und im OPC Server (die IP Adresse müssen Sie natürlich für Ihre Anlage anpassen)


Antwort:

Diese Bilder zeigen die Einstellungen in der SPS und im OPC Server (die IP Adresse müssen Sie natürlich für Ihre Anlage anpassen)





Doppelclick auf dem PLC Module icon.



Antwort:

  1. Konfigurieren Sie in den globalen Einstellungens: Menü Station → BACnet System Settings
    • Geben Sie ein "Own Device ID" ein, stellen Sie sicher das keine andere BACnet Station das gleiche ID nutzt
  2. Legen Sie eine neue Verbindung zum BACnet Gerät an
    • Geben Sie die IP Adresse, das Device ID und/oder die BBMD Adresse an
    • Wählen Sie "Automatic Event Forwarding"

Im BACnet Gerät

  1. Konfigurieren Sie das sendende Objekt. Das Beispiel ist für ein Analog Value Objekt. Andere Objekte haben andere Dinge die Sie konfigurieren müssen. Nicht alle Dinge sind in allen Geräten verfügbar.
    • event-enable: [true, true, true]
    • event-detection-enable: true
    • high-limit, low-limit, deadband: So wie Se das für den Wert brauchen
    • limit-enable: [true, true] or as appropriate
    • notification-class: Wählen Sie eine notification class die im Gerät programmiert ist
  2. Konfigurieren Sie die Notification Class
    • recipient-list: Fügen Sie diePLC Engine oder den OPC Servers hinzu:
      • ValidDays: [true, true, true, true, true, true, true]
      • FromTime, ToTime: 00:00:00.00 to 23:59:59.99
      • Recipient: device = Geräte ID der PLC Engine oder des OPC Servers
      • ProcessIdentifier: 0
      • IssueConfirmedNotifications: true
      • Transitions: [true, true, true]