ANY//DOCS
ENZur Website

OPC UA

Die PLC-Online-Ansicht bietet einen eingebauten OPC UA Client, um direkt aus AnyAutomation Studio heraus eine Verbindung zu SPSen und anderen OPC UA Servern herzustellen, den Adressraum zu durchsuchen und Variablen zu überwachen. Öffnen Sie sie über das PLC-Online-Symbol in der Aktivitätsleiste (linker Rand) oder mit dem Tastenkürzel Ctrl+K Ctrl+G.

PLC Online öffnet sich als ein einzelner Editor-Bereich in der Mitte der Arbeitsoberfläche. Jede geöffnete SPS wird zu einem inneren Verbindungs-Tab innerhalb dieses einen Bereichs; der Adressraum des Servers erscheint als Baum in der PLC-Online-Seitenleiste.

Übersicht

OPC UA (Open Platform Communications Unified Architecture) ist ein industrieller Kommunikationsstandard, der von Siemens S7-1500 und S7-1200 SPSen ab Firmware 4.1 unterstützt wird. Die Ansicht ermöglicht das Lesen und Schreiben von Live-PLC-Werten, das Beobachten von Änderungen in Echtzeit sowie den Export von Beobachtungstabellen-Daten für die Analyse.

Verbindung zu einem OPC UA Server herstellen

Manuelle Verbindung

  1. Öffnen Sie die PLC-Online-Ansicht über die Aktivitätsleiste (oder Ctrl+K Ctrl+G)
  2. Geben Sie die Endpunkt-URL in den Verbindungs-Header ein (z.B. opc.tcp://192.168.0.1:4840)
  3. Klicken Sie optional auf Endpunkte abrufen, um die vom Server angebotenen Endpunkte zu ermitteln. Die Tabelle Verfügbare Endpunkte listet jeden Endpunkt mit seinem Security Mode und seiner Security Policy auf; wählen Sie eine Zeile, und ihr Security Mode wird in die Verbindung übernommen.
  4. Wählen Sie den Authentifizierungsmodus:
    • Anonym - Keine Anmeldedaten erforderlich (wenn der Server dies erlaubt)
    • Benutzername/Passwort - Geben Sie die auf der SPS konfigurierten OPC UA Anmeldedaten ein
  5. Klicken Sie auf Verbinden

Der Status-Punkt im Verbindungs-Header wird grün, wenn die Verbindung hergestellt ist.

Client-Zertifikate, die die SPS beim Verbindungsaufbau sieht, sowie das Vertrauen von Server-Zertifikaten werden im Dialog Zertifikatsverwaltung (siehe unten) verwaltet — nicht als Authentifizierungsmodus im Verbindungs-Header gewählt.

Jeder Verbindungs-Tab besitzt ein Verbindungseinstellungen-Flyout, das über das Zahnrad im Verbindungs-Header geöffnet wird. Es enthält Schalter pro Verbindung — Protokollierung aktivieren, Zertifikate automatisch akzeptieren und Verbindung nicht speichern — sowie einen Eintrag Zertifikatsverwaltung…. Diese Einstellungen werden pro Verbindungs-Tab gemerkt.

Geplant: die automatische Erkennung von OPC UA Endpunkten aus einem geöffneten TIA Portal-Projekt ist in der PLC-Online-Ansicht noch nicht verfügbar; geben Sie die Endpunkt-URL manuell ein oder verwenden Sie Endpunkte abrufen gegen die Adresse der SPS.

Adressraum durchsuchen

Die PLC-Online-Seitenleiste zeigt eine Baumansicht des Server-Adressraums:

  • Der Stamm zeigt die Knoten der obersten Ebene des Servers
  • Erweitern Sie einen Knoten, um seine Kinder anzuzeigen
  • PLC-Variablen, Datenbausteine und Tag-Gruppen erscheinen als Knoten
  • Symbole zeigen die Knotenklasse an: Objekt, Variable, Methode, Ansicht

Knoten suchen: Verwenden Sie das Suchfeld über dem Baum, um Knoten nach Namen zu filtern. Der Baum klappt zusammen und zeigt nur übereinstimmende Knoten und ihre übergeordneten Elemente an.

Knoten aktualisieren: Die Schaltfläche „Aktualisieren" in der Adressraum-Seitenleiste (oder F5, während die PLC-Online-Ansicht fokussiert ist) lädt die Kinder des aktuell ausgewählten Knotens direkt vom Server neu und umgeht dabei den lokalen Cache. Nutzen Sie sie, wenn sich der Adressraum auf Server-Seite seit dem letzten Erweitern geändert hat — zum Beispiel nach dem Hinzufügen von Tags in TIA Portal — und die zwischengespeicherten Kinder nicht mehr stimmen. Aktualisieren wirkt, wenn ein Knoten ausgewählt und eine OPC-UA-Verbindung aktiv ist.

Knotenattribute

Ein im Adressraum ausgewählter Knoten füllt das Knotenattribute-Panel im rechten Werkzeug-Stack mit allen OPC UA-Attributen dieses Knotens: Node Id, Browse Name, Display Name, Node Class, Description, Write Mask und User Write Mask. Bei Variablen kommen Data Type, Value Rank, Array Dimensions, Access Level, User Access Level, Minimum Sampling Interval, Historizing, aktueller Value, Status Code sowie Source- und Server-Timestamp dazu. Alle Zellen lassen sich mit Strg+C kopieren.

Referenzen

Neben den Knotenattributen zeigt das Referenzen-Panel jede eingehende und ausgehende Referenz des ausgewählten Knotens:

Spalte Beschreibung
Richtung In (invers) oder Out (vorwärts)
Referenztyp Aufgelöster Name des Referenztyps (z. B. HasComponent, Organizes, HasTypeDefinition)
Browse-Name Browse-Name des Zielknotens
Knotenklasse Knotenklasse des Zielknotens
Ziel-Knoten-ID Vollständige Node Id des referenzierten Knotens

Ereignisprotokoll

Das Ereignisprotokoll liegt als Tab im unteren Werkzeug-Stack des PLC-Online-Bereichs neben der Beobachtungstabelle und empfängt Live-Ereignismeldungen von einem serverseitigen Notifier-Objekt.

Toolbar-Element Zweck
Notifier-Knoten Node Id des OPC-UA-Objekts, das Ereignisse meldet. Standard ist i=2253 (Server). Während aktiver Subscription gesperrt.
Schweregrad Zwei Zahleneingaben (0–1000), die einkommende Ereignisse nach Schweregrad einschränken. Ereignisse außerhalb des Bereichs werden vor der Anzeige verworfen.
Ereignisse abonnieren Startet die Subscription gegen den konfigurierten Notifier.
Ereignis-Abonnement stoppen Bricht die aktive Subscription ab.
CSV exportieren Speichert die sichtbaren Ereignisse als CSV. Zellen, die mit =, +, -, @, Tabulator oder Wagenrücklauf beginnen, werden mit einem führenden Apostroph quotiert, um Tabellenkalkulations-Formel-Injektionen zu entschärfen.
Ereignisprotokoll leeren Leert die Tabelle, ohne die aktive Subscription zu beenden.

Die Tabelle hält die letzten 5000 Ereignisse mit dem neuesten oben. Server-gelieferte Felder werden auf 8 KB pro Zelle begrenzt, um den Speicher zu schützen; bei Ereignisfluten werden zusätzliche Ereignisse stillschweigend verworfen, und einmal pro Sekunde wird eine Debug-Log-Zeile mit der Anzahl der verworfenen Ereignisse geschrieben.

Verlaufsdiagramm (History Chart)

Das Verlaufsdiagramm liegt als Tab im unteren Werkzeug-Stack neben Beobachtungstabelle und Ereignisprotokoll. Es lädt die historischen Rohwerte eines Variablenknotens über einen Zeitbereich und stellt sie in einem Streudiagramm mit Datum/Uhrzeit-X-Achse dar.

Bedienelement Zweck
Quelle Schreibgeschützte Anzeige, folgt automatisch dem aktuell im Adressraum ausgewählten Variablenknoten.
Start Beginn des Zeitbereichs (UTC). Standard: vor einer Stunde.
Ende Ende des Zeitbereichs (UTC). Standard: jetzt.
1h / 6h / 24h / 7T Schnellauswahl: setzt Ende auf jetzt und Start auf jetzt minus das gewählte Intervall.
Aggregat Wählt die Form der gelesenen Werte: Roh (Standard — jeder aufgezeichnete Sample) oder eine der Funktionen Mittelwert, Minimum, Maximum, Anzahl, Summe, vom Server in festen Intervallen über den Zeitbereich berechnet.
Intervall (s) Breite jedes Aggregat-Bins in Sekunden. Nur sichtbar, wenn Aggregat ≠ Roh. Standard 60 s, Bereich 1..86400 s.
Verlauf lesen Holt die Werte für den Quellknoten zwischen Start und Ende. Bei Roh erscheint jeder Sample im Diagramm; bei einem Aggregat erscheint ein Punkt pro Bin. Während eines laufenden Lesevorgangs deaktiviert.
CSV exportieren Speichert die geladenen Werte als CSV (Source Timestamp / Server Timestamp / Value / Status Code). Der Schutz gegen Formel-Injektion ist identisch mit dem Ereignisprotokoll-Export.
Diagramm leeren Löscht das Diagramm und gibt den Speicher frei.

Nicht-numerische Werte, Werte mit Bad-Status sowie Samples mit ungültigen Zeitstempeln werden im Diagramm ausgelassen, bleiben aber im CSV-Export enthalten. Roh-Lesevorgänge sind auf 100.000 Werte pro Anfrage und 1.000.000 Werte gesamt begrenzt; liefert der Server mehr, zeigt das Diagramm das, was hineinpasst, und eine Warnung wird protokolliert. Das Diagramm wird automatisch beim Protokollwechsel oder bei der Trennung geleert — beim Navigieren im Adressraum bleibt der Inhalt jedoch erhalten, damit geladene Daten nicht durch einen Knotenwechsel verloren gehen.

Bei aktivem Aggregat protokolliert die Anwendung, wie viele Bins als partial zurückgegeben wurden (Bin überlappt den Zeitbereichsrand oder enthält unvollständige Daten). Partial-Bins erscheinen weiterhin im Diagramm; die Anzahl ist eine Information. Welche Aggregat-Funktionen unterstützt sind, hängt vom Server ab: Siemens S7-1500-CPUs liefern in der Regel Mittelwert, Minimum, Maximum, Anzahl und Summe, sobald Historizing aktiv ist; selten gebrauchte Funktionen (Standardabweichung, Spannweite, …) sind im Service vorhanden, aber nicht in der Toolbar exponiert.

Die Variable muss am Server Historizing = true haben und die Sitzung muss HistoryRead-Zugriff besitzen. Siemens S7-1500-CPUs aktivieren Historizing nicht automatisch — die meisten Variablen müssen in der PLC-Konfiguration explizit für den Verlaufszugriff markiert werden.

Server-Diagnose (Server Diagnostics)

Das Server-Diagnose-Panel liegt als Tab im unteren Werkzeug-Stack neben Beobachtungstabelle, Ereignisprotokoll und Verlaufsdiagramm. Es bringt die standardisierte OPC-UA-Server-Object-Hierarchie (Part 5 §6) direkt in die Anwendung — Session-Zähler, Subscription-Status und Server-Build-Informationen ohne Wechsel auf ein externes Tool.

Toolbar-Bedienung Zweck
Poll-Intervall NumericUpDown 1–60 s (Default 5). Wird pro Endpunkt persistiert.
Aktualisieren Liest sofort, unabhängig vom Timer.
Polling-Anzeige Indeterminate-Balken während aktivem Read.
Zuletzt aktualisiert Zeitstempel der letzten erfolgreichen Antwort (HH:mm:ss, Ortszeit).
Inline-Fehler Zeigt den vom Server gelieferten Status-Code, falls der Read scheitert.

Der Inhalt zeigt fünf zusammenklappbare Sektionen:

  • Server-Status — State, Startzeit, Abschaltungs-Countdown, Build-Info (Produktname, URI, Hersteller, Software-Version, Build-Nummer, Build-Datum).
  • Server-Fähigkeiten — Max. Array- / String- / ByteString-Länge, OperationLimits (Max. Nodes per Read / Write / Browse).
  • Diagnose-Übersicht — Aktive und kumulierte Sessions, abgewiesene Sessions, Session-Timeouts, aktive Subscriptions, abgewiesene Anfragen.
  • Subscriptions — Sortier-/größenveränderbares Grid, eine Zeile pro aktiver Subscription (ID, Publishing-Intervall, Publishing-Flag, Benachrichtigungszahl).
  • Sessions — Sortier-/größenveränderbares Grid, eine Zeile pro Session (Session-ID, Name, Verbindungszeit, letzter Kontakt, Anfragen gesamt, Lesevorgänge, Schreibvorgänge).

Wenn der Server den Server.ServerDiagnostics-Subtree per Policy nicht freigibt (z. B. wegen Security-Konfiguration oder Kapazität), erscheint statt leerer Tabellen der Hinweis "Server-Diagnose wird von diesem Server nicht bereitgestellt". Vorübergehende Kommunikationsfehler lösen den Hinweis nicht aus — sie landen im Inline-Fehlerstreifen, sodass "Policy-Sperre" und "vorübergehender Ausfall" klar unterscheidbar bleiben. Bei wiederholten Fehlschlägen verlängert das Panel automatisch das Poll-Intervall, um einen angeschlagenen Server nicht zusätzlich zu belasten; sobald wieder eine erfolgreiche Antwort kommt, wird das Backoff zurückgesetzt.

Pro-Zeile-Strings (Session-Name, Produktname, …) werden bereits beim Projektieren bereinigt — eingebettete Steuerzeichen können das Grid-Layout nicht zerschiessen.

Verbindungs-Polish

Verbindungs-Header und Adressraum-Baum bieten UaExpert-typische Verbesserungen für den täglichen Betrieb:

Auto-Reconnect-Banner. Wenn der Keep-Alive-Watchdog eine verlorene Verbindung erkennt, beginnt das SDK im Hintergrund mit dem Wiederaufbau. Während dieser Phase erscheint im Verbindungs-Header ein gelbes Banner, das einmal pro Sekunde die abgelaufene Zeit aktualisiert ("Verbindung wird wiederhergestellt… (12 Sekunden)"). Ein Abbrechen-Button im Banner stoppt den Versuch und kehrt in den getrennten Zustand zurück — nützlich, wenn klar ist, dass der Server endgültig weg ist und der 5-Minuten-Timeout übersprungen werden soll.

Hängende Verbindung abbrechen. Wenn die SPS nicht erreichbar ist, läuft der Verbindungsversuch nach 30 Sekunden ab und meldet den Endpunkt als nicht antwortend. Während des Versuchs wird der Connect-Button durch einen roten Cancel-Button ersetzt, der den Versuch sofort abbricht. Nach erfolgreichem Connect werden grosse Typbibliotheken auf grossen S7-1500-Steuerungen im Hintergrund geladen — ein Status-Pill neben dem Verbindungs-Badge zeigt den Fortschritt (Typsystem laden…, Typdefinitionen cachen…, Knoten-Cache vorwärmen…, NodeSet2-Katalog laden…). Der SPS-Baum ist browsbar sobald das Badge grün wird; komplexe (UDT-) Werte werden lesbar sobald das Pill "Bereit" meldet.

Letzte Endpunkte. Das Endpunkt-URL-Feld ist eine Autocomplete-Liste der letzten 10 erfolgreichen Verbindungen. Tippen filtert; Pfeil-nach-unten öffnet die volle Liste. Die Historie ist pro Installation (nicht pro Projekt) und überlebt einen Anwendungs-Neustart. URL-Varianten, die auf dasselbe Schema + Host + Port auflösen, werden zu einem Eintrag zusammengeführt — OPC.TCP://Host:4840/ nach einer früheren opc.tcp://host:4840-Verbindung aktualisiert den bestehenden Eintrag, statt ein Duplikat anzulegen.

Tastenkürzel. Während die PLC-Online-Ansicht fokussiert ist, sind die folgenden Tasten an die aktive Verbindung gebunden:

Tastenkürzel Aktion
Strg+Eingabe Verbinden
Strg+D Trennen
F5 Ausgewählten Adressraum-Knoten aktualisieren
Strg+W Aktuell markierte Watch-Table-Zeile schreiben

Das Schreib-Kürzel wirkt auf die in der Watch Table markierte Zeile — Zeile auswählen (einfacher Klick), Wert-Zelle bearbeiten (Doppelklick oder F2), dann Strg+W zum Senden. Ohne aktive Bearbeitung passiert nichts.

NodeId kopieren / Browse-Pfad kopieren. Rechtsklick auf einen Knoten im Adressraum-Baum öffnet ein Kontextmenü mit zwei Einträgen: NodeId kopieren legt die kanonische NodeId (z. B. ns=2;s=DB1.MyTag) in die Zwischenablage, Browse-Pfad kopieren legt den lesbaren Pfad (z. B. Objects/DeviceSet/PLC_1/DB1/MyTag) ab. Praktisch für das Einfügen in Canvas-Bindings, MCP-Tool-Aufrufe oder externe Skripte.

Der rechte Werkzeug-Stack (Knotenattribute, Referenzen, Strukturfelder) und der untere Werkzeug-Stack (Ereignisprotokoll, Verlaufsdiagramm, Server-Diagnose) lassen sich jeweils über die Befehlspalette (Strg+Umschalt+P) ein- oder ausblenden.

Methodenaufruf-Dialog

Rechtsklick auf einen Methodenknoten im Adressraum-Baum und Methode aufrufen... wählen öffnet einen Dialog, der einen OPC-UA-Methodenaufruf von Anfang bis Ende durchführt.

Der Dialog lädt zunächst die Liste der Eingabe- und Ausgabeargumente vom Server und rendert je ein Eingabefeld pro Input:

Argumentform Eingabefeld
Skalar (boolean, Integer, Float, String, DateTime) Einzelnes Textfeld mit dem erwarteten Datentyp als Platzhalter
Array Liste von Einzelwertzeilen mit + Zeile / − Zeile zum Anpassen der Arraylänge

Jede Karte zeigt Name, Datentyp und Beschreibung des Arguments (falls vom Server geliefert). Nach dem Befüllen der Eingaben Aufrufen klicken — der Dialog ruft den Server auf, begrenzt übergroße Payloads und füllt den Ausgabebereich mit den zurückgegebenen Werten und einer Statuszeile. Dialog schließen bricht einen noch laufenden Aufruf ab.

Methodenaufrufe schreiben auf die PLC — vor dem Aufruf an einer laufenden Maschine die Wirkung der Methode verstehen.

Matrix bearbeiten-Dialog

Rechtsklick auf einen Variablenknoten, dessen Wert eine zweidimensionale Matrix ist (zum Beispiel eine Double[3,4]-Sollwert-Tabelle oder ein Kalibriergitter), im Adressraum-Baum und Matrix bearbeiten... wählen öffnet einen tabellenartigen Editor. Der Menüeintrag erscheint nur, wenn die selektierte Variable tatsächlich Matrix-Form am Server hat.

Der Dialog lädt den aktuellen Wert und rendert jede Zelle als bearbeitbares Textfeld mit Zeilenüberschriften (R0, R1, ...) und Spaltenüberschriften (C0, C1, ...). Zellen einzeln bearbeiten — geänderte Zellen werden als geändert markiert. Speichern schreibt die gesamte Matrix zurück zum Server (nur tatsächlich geänderte Zellen werden neu geparst; unveränderte Zellen bleiben erhalten) oder Neu laden verwirft die Bearbeitung und holt eine frische Kopie vom Server.

Wenn der Server die Variable als schreibgeschützt deklariert (kein Schreibzugriff für Ihre Sitzung), zeigt der Dialog ein Nur lesen-Etikett und der Speichern-Button bleibt deaktiviert. Matrizen mit mehr als zwei Dimensionen sind nicht bearbeitbar — der Dialog meldet "Rang nicht unterstützt" statt die Daten still zu flatten. Ungültige Zellwerte (zum Beispiel Text in einer numerischen Matrix) werden beim Speichern markiert; Zelle korrigieren und erneut versuchen.

Beim Drücken von Speichern liest der Dialog zuerst den aktuellen Wert vom Server neu. Hat sich während Ihrer Bearbeitung eine Zelle auf dem Server geändert — etwa weil ein anderer Client oder die PLC selbst die Matrix aktualisiert hat — erscheint ein Hinweisbanner mit zwei Optionen: Überschreiben schreibt Ihre Bearbeitung trotzdem (und überschreibt die Server-Änderung), Neu laden verwirft Ihre Bearbeitung und lädt die frischen Server-Werte in den Editor. Meldet der Server eine andere Matrix-Form (mehr Zeilen oder Spalten als beim Öffnen des Dialogs), ist Überschreiben deaktiviert und Sie müssen vor dem Weiterarbeiten neu laden.

Zertifikatsverwaltung

Öffnen Sie die Zertifikatsverwaltung über das Verbindungseinstellungen-Flyout (das Zahnrad im Verbindungs-Header) oder über die Befehlspalette (Strg+Umschalt+P), um einen Dialog zu öffnen, der die OPC UA Zertifikate dieses Clients auflistet und verwaltet. Der Dialog zeigt drei Tabs:

Tab Inhalt Aktionen
Eigenes Zertifikat Ihr Client-Zertifikat — das, welches die SPS beim Verbindungsaufbau sieht Neu erstellen (erzeugt ein frisches Schlüsselpaar; beendet alle aktiven OPC UA Sessions), Entfernen
Vertrauenswürdig Server-Zertifikate, denen dieser Client vertraut Ablehnen (verschiebt in den Tab „Abgelehnt"), Entfernen
Abgelehnt Server-Zertifikate, die dieser Client abgelehnt hat oder die bei ausgeschaltetem Auto-Accept empfangen wurden Vertrauen (verschiebt in den Tab „Vertrauenswürdig"), Entfernen

Jede Zeile zeigt Betreff, Aussteller (bei Server-Zertifikaten), Fingerabdruck, „Gültig ab" und „Gültig bis". Zeile auswählen und die Aktionsbuttons des jeweiligen Tabs verwenden.

Der Schalter Zertifikate automatisch akzeptieren liegt für jede Verbindung im Verbindungseinstellungen-Flyout (das Zahnrad im Verbindungs-Header), pro Verbindungs-Tab:

  • Aus (Default) — Neue Server-Zertifikate landen statt im vertrauenswürdigen im abgelehnten Store. Der Dialog muss geöffnet und „Vertrauen" geklickt werden, bevor der nächste Verbindungsaufbau erfolgreich ist. Das ist der fail-secure-Standard und empfiehlt sich in Netzen, in denen jede SPS explizit freigegeben werden soll.
  • An — Jedes neue Server-Zertifikat wird beim ersten Verbindungsaufbau automatisch vertraut. Schnellster, bequemster Pfad, vertraut aber jedem vom Server präsentierten Zertifikat — nur in selbst kontrollierten Netzen aktivieren.

SPS-Explorer

Jede erfolgreiche Verbindung wird in einer Liste der zuletzt verwendeten Endpunkte gemerkt (siehe Zuletzt verwendete Endpunkte oben unter „Verbindungs-Polish"), sodass Sie häufig verwendete SPS-Adressen nicht jedes Mal neu eintippen müssen. Das Endpunkt-URL-Feld bietet die letzten Verbindungen als Autocomplete an.

Geplant: ein eigener SPS-Explorer in der Seitenleiste — eine gepflegte Liste benannter SPSen mit Erreichbarkeits-Status und Schnellverbinden — ist in der PLC-Online-Ansicht noch nicht verfügbar.

Verbindungsstatus-Indikatoren (S7 Nativ)

Lizenz-Voraussetzung (S7 Native): Das S7-Native-Protokoll erfordert eine Trial- oder Enterprise-Lizenz. OPC UA ist in allen Tiers verfügbar (Basic, Professional, Trial, Enterprise). In Basic und Professional ist die S7-Native-Protokolloption im Verbindungs-Header ausgeblendet, bestehende S7-Native-Verbindungs-Tabs zeigen einen Inline-Upgrade-Banner statt einer aktiven Verbindung.

Beim nativen S7-Comm+-Zugriff auf eine S7-1200 oder S7-1500 zeigt der PLC-Online-Bereich Live-Indikatoren, die unmittelbar auf das reagieren, was die SPS macht:

  • Verbindungs-Tab-Punkt — ein kleiner farbiger Kreis vor dem Titel des Verbindungs-Tabs. Hover zeigt einen Tooltip mit der Bedeutung:
    • Grau — noch nicht verbunden
    • Grün — online, CPU läuft
    • Gelb — online, aber CPU nicht in RUN (Stop, Anlauf, Hold, ...), oder die App stellt die Verbindung gerade wieder her
    • Rot — SPS nicht erreichbar
  • Wiederverbindungs-Banner — ein gelber Streifen unter der Verbindungsleiste erscheint mit der Meldung "Wiederverbinde…" solange die App versucht, eine unterbrochene Verbindung wiederherzustellen. Er verschwindet automatisch, sobald die SPS wieder da ist.
  • Ausgegraute Werte — wird die SPS unerreichbar, werden die Werte in der Beobachtungstabelle auf halbe Deckkraft gedimmt und auf ??? umgestellt, damit klar ist, dass sie nicht mehr aktuell sind. Sobald die SPS zurück ist, ersetzen frische Live-Werte die Platzhalter automatisch. Kein Neustart, kein manuelles Wiederverbinden nötig.
  • Betriebszustands-PilleRUN, STOP, STARTUP etc. neben der IP-Adresse, farblich passend zum CPU-Zustand.
  • Zugriffs-Stufe-Badge — direkt neben der Betriebszustands-Pille; spiegelt wider, was die SPS in der Legitimations-Phase gewährt hat:
    • Grün Vollzugriff — das eingegebene Passwort (oder Anonymous, falls die SPS es zulässt) wurde mit voller Lese-/Schreib-Berechtigung akzeptiert.
    • Bernstein Lesezugriff / HMI-Zugriff — die SPS hat eine eingeschränkte Stufe gewährt. Lesen funktioniert in dem Umfang, den die Stufe erlaubt; Schreibvorgänge werden abgelehnt.
    • Rot Kein Zugriff — die SPS verlangt ein Passwort und es wurde keines eingegeben. Die Verbindung bleibt offen, aber das Browsen, das Anlegen von Subskriptionen und die CPU-Schutz-Abfrage werden bewusst übersprungen. Geben Sie das richtige Passwort im Verbindungsformular ein und klicken Sie erneut auf Connect, um sich mit Anmeldedaten zu verbinden.

TLS-Verschlüsselung und Zertifikat-Pinning (S7 Nativ)

S7-1500-Firmware ab V2.9 schaltet TLS auf dem OMS+-Port unbedingt scharf — die unverschlüsselte S7-CommPlus-Schiene wird von aktuellen SPS abgewiesen. Der S7-Nativ-Transport bildet diesen Vertrag ab: TLS ist standardmässig an, der unverschlüsselte InitSsl-Handshake läuft zuerst, anschliessend wird der Kanal für jede Folge-Operation auf TLS hochgestuft. Die Verbindungseinstellungen bieten drei Optionen:

  • TLS verwenden — historischer Schalter, der auf dem Verbindungsformular erhalten bleibt. Der S7-Nativ-Treiber bildet den Legacy-S7-CommPlus-Vertrag ab und führt das TLS-Upgrade nach dem unverschlüsselten InitSsl-Handshake immer aus; der Schalter deaktiviert das Upgrade nicht.
  • Server-Zertifikat-Fingerprint (SHA-256) — fügen Sie den SHA-256-Thumbprint des CPU-Geräte-Zertifikats ein (Hex, Gross- oder Kleinschreibung, mit oder ohne :-Trennzeichen). Wenn gesetzt, akzeptiert der Client genau dieses eine Zertifikat; jedes andere Zertifikat wird abgelehnt. Pinning ist die empfohlene Produktions-Einstellung, weil S7-1500-Geräte-Zertifikate in der Regel selbstsigniert und nicht in einer öffentlichen PKI eingetragen sind.
  • Beliebiges Zertifikat akzeptieren — expliziter Diagnose-Schalter. Wenn aktiviert, vertraut der Client jedem vom Server präsentierten Zertifikat; bei jedem Connect wird einmalig eine Warnung in das App-Log geschrieben.

Auswahl-Reihenfolge:

  1. Wenn ein Fingerprint gesetzt ist → nur dieses Zertifikat wird akzeptiert, unabhängig vom Schalter Beliebiges Zertifikat akzeptieren.
  2. Sonst, wenn Beliebiges Zertifikat akzeptieren aktiv ist → jedes Zertifikat wird akzeptiert, mit explizitem Diagnose-Hinweis.
  3. Sonst (TLS ein, kein Fingerprint, Akzeptiere-alle aus) → der Client akzeptiert jedes Zertifikat und gibt einen einmaligen Hinweis aus, der zum Pinning auffordert. Das spiegelt das Verhalten des Legacy-S7-CommPlus-Clients und das, was TIA Portal über denselben Kanal tut; es ist auch der einzige Weg, ohne vorher das Geräte-Zertifikat zu extrahieren mit einer ab-Werk-S7-1500 zu sprechen.

Für Wireshark-seitige Diagnose des verschlüsselten Handshakes gilt der SSLKEYLOGFILE-Mechanismus, der unter Unit Testing → Fehlerbehebung beschrieben wird, auch für PLC-Online-Verbindungen.

CPU-Schutz-Panel

Geplant: ein eigenes CPU-Schutz-Panel im PLC-Online-S7-Panel-Stack ist noch nicht verfügbar. Die gewährte Zugriffsstufe der verbundenen CPU wird live über das oben unter „Verbindungsstatus-Indikatoren (S7 Nativ)" beschriebene Zugriffs-Stufe-Badge angezeigt.

Diagnosepuffer-Panel

Auf einer S7-Native-Verbindung listet das Diagnosepuffer-Panel im S7-Panel-Stack die letzten CPU-Diagnoseereignisse aus der SSL-Teilliste 0xA0 und spiegelt damit, was TIA Portal in „Online & Diagnose" unter „Diagnosepuffer" zeigt:

  • SpaltenZeitstempel (UTC, Millisekunden-Auflösung), Ereignis-ID (Hex 0xXXXX), Klasse, Priorität, OB (Organisationsbaustein-Referenz).
  • Aktualisieren — liest den Diagnosepuffer auf Anforderung neu. Der Wert wird zusätzlich nach jedem erfolgreichen S7-Verbindungsaufbau einmal automatisch aktualisiert, sofern die Firmware unterstützt wird.
  • Leerer Zustand — meldet die CPU keine Ereignisse, erscheint stattdessen Keine Diagnoseereignisse auf dieser CPU.
  • Firmware-Anforderung — der hier verwendete SSL-DS-248-SubrangeRead ist ein Feature ab CPU-Firmware V3.0. Auf V2.x-CPUs zeigt das Panel Diagnosepuffer benötigt CPU-Firmware V3.0 oder neuer. und überspringt den Auto-Refresh, damit kein Log-Spam entsteht.

CPU-Identität-Panel

Auf einer S7-Native-Verbindung zeigt das Identität (I&M0)-Panel im S7-Panel-Stack den Geräte-Identifikationsdatensatz (PROFINET I&M0) der verbundenen S7-1500 / S7-1500F-CPU. Funktioniert auf V2.x und V3.0+.

  • Bestellnummer / Seriennummer / Hardware-Stand / Firmware-Stand / PLC- und Modulname / CPU-Typ — Zeilen aus dem I&M0-Datensatz auf dem Submodul der CPU.
  • Aktualisieren — liest den I&M0-Datensatz auf Anforderung neu. Der Wert wird zusätzlich nach jedem erfolgreichen S7-Verbindungsaufbau einmal automatisch aktualisiert.

Alarme-Panel

Auf einer S7-Native-Verbindung zeigt das Alarme-Panel im S7-Panel-Stack die Alarmdefinitionen der CPU und einen Live-Alarm-Stream:

  • Kategorie, Schweregrad und Übergang jedes Alarms werden als lesbare Labels angezeigt.
  • Ein serverseitiger Filter schränkt den Stream nach Kategorie und Mindest-Schweregrad ein.
  • Meldet die CPU keine Alarme, erscheint ein gestalteter Leer-Zustand.

Geplant: ein Speicherauslastung-Panel und ein Zykluszeit-Panel für S7-Native-Verbindungen sind im PLC-Online-S7-Panel-Stack noch nicht verfügbar.

Protokollabhängige Panels

Die Panels rund um den Verbindungs-Workspace passen sich an das Protokoll der aktiven Verbindung an:

  • OPC-UA-Verbindung — Adressraum, Knotenattribute, Verweise, Strukturfelder, Ereignisprotokoll, Beobachtungstabelle, Verlaufsdiagramm, Server-Diagnose.
  • S7-Native-Verbindung (S7 Comm+) — Adressraum, Beobachtungstabelle, dazu der S7-Panel-Stack (Diagnosepuffer, Identität, Alarme). Die nur für OPC UA gedachten Panels (Knotenattribute, Verweise, Strukturfelder, Ereignisprotokoll, Server-Diagnose) weichen, weil sie NodeIds, OPC-Events oder andere serverseitige Strukturen brauchen, die S7 Comm+ nicht bietet.

Beim Umschalten der Protokoll-Auswahl im Verbindungs-Header wird der Filter sofort neu angewendet.

Beobachtungstabelle (Watch Table)

Die Beobachtungstabelle füllt die Mitte des PLC-Online-Bereichs und zeigt Variablen, die Sie zur Überwachung ausgewählt haben. Ihre Titelleiste trägt eine Toolbar: Abonnieren (Play), Stopp, CSV exportieren, Alle löschen und Auswahl entfernen (Papierkorb-Symbol, aktiv, wenn eine Zeile ausgewählt ist). Abonnieren und Stopp schalten die Live-Überwachung der Zeilen ein und aus; „Auswahl entfernen" entfernt die markierte Zeile und „Alle löschen" leert die Tabelle.

Variablen hinzufügen

  • Doppelklicken Sie auf einen Variablenknoten im Adressraum-Baum, um ihn zur Beobachtungstabelle hinzuzufügen
  • Rechtsklick auf einen Knoten im Adressraum-Baum und Zur Beobachtung hinzufügen wählen
  • Ziehen Sie einen Knoten aus dem Baum und legen Sie ihn in der Beobachtungstabelle ab

Jede Zeile der Beobachtungstabelle zeigt:

Spalte Beschreibung
Name Anzeigename der Variable
Knoten-ID OPC UA Knoten-ID (z.B. ns=3;s="Datenbaustein1"."Drehzahl")
Datentyp OPC UA Datentyp (z.B. Int16, Float, Bool)
Wert Aktueller Wert — Skalare als typisierte Zeichenketten (True, 12345, 1.5); Arrays mit Größenpräfix und Elementliste ([16] True, False, …); Byte-Arrays in Hex ([4] DE AD BE EF). Lange Arrays werden nach 32 Elementen abgeschnitten.
Status OPC UA Statuscode (Good, Bad, Uncertain)
Zeitstempel Server-Zeitstempel des letzten Wertes

Werte lesen

Solange die Verbindung aktiv ist, aktualisieren sich Wert, Qualität und Zeitstempel jeder Zeile automatisch — manuelles Abfragen ist nicht nötig.

Werte schreiben

  1. Doppelklicken Sie auf die Wert-Zelle einer Zeile in der Beobachtungstabelle
  2. Geben Sie den neuen Wert ein
  3. Drücken Sie Enter oder klicken Sie außerhalb der Zelle zur Bestätigung
  4. Der Wert wird sofort in die SPS geschrieben

Hinweis: Schreiboperationen setzen voraus, dass der OPC UA Benutzer Schreibrechte auf der SPS konfiguriert hat.

Schreibfehler

Wenn ein Schreibvorgang fehlschlägt, bleibt die Zeile im Bearbeitungsmodus (Ihr eingegebener Wert bleibt sichtbar) und unter der Wert-Zelle erscheint eine kleine rote Fehlermeldung mit dem Grund:

  • Variable ist schreibgeschützt — der Server hat den Schreibvorgang abgelehnt, weil die Variable keine Schreibvorgänge erlaubt (BadNotWritable / BadWriteNotSupported).
  • Zugriff verweigert — der OPC UA Benutzer ist verbunden, hat aber keine Schreibrechte für diese Variable (BadUserAccessDenied).
  • Typenkonflikt — der Wert kann nicht in den Datentyp der Variable konvertiert werden (BadTypeMismatch).
  • Wert außerhalb des gültigen Bereichs — der Wert liegt außerhalb des für die Variable zulässigen Bereichs (BadOutOfRange).
  • Server lieferte kein Ergebnis — der Server hat die Anfrage angenommen, aber kein Per-Item-Ergebnis zurückgegeben; der Schreibvorgang ist möglicherweise nicht wirksam geworden.
  • Schreibvorgang fehlgeschlagen: {Grund} — generischer Fallback für jede andere Server-Antwort oder Verbindungsstörung.

Die Fehlermeldung verschwindet, sobald Sie die Zelle erneut bearbeiten oder eine andere Zeile auswählen. Auch ein erfolgreicher Schreibvorgang räumt die Meldung weg.

Dieselbe Rückmeldung erscheint als Banner über dem Strukturfelder-Panel bei fehlgeschlagenen Struct-Schreibvorgängen.

Struct-Schreibvorgang — Keine Änderungen

Wenn Sie im Strukturfelder-Panel auf Schreiben klicken, ohne dass Sie ein Feld bearbeitet haben, zeigt das Panel ein "Keine Änderungen zum Schreiben"-Banner an. Sobald Sie ein Feld bearbeiten, verschwindet das Banner automatisch und der nächste Klick auf Schreiben sendet die Änderungen an den Server.

Live-Überwachung

Solange eine Verbindung aktiv ist, aktualisiert sich die Beobachtungstabelle von selbst — der OPC UA Server überträgt Wertänderungen über ein einziges Abonnement an AnyAutomation Studio, ohne wiederholtes Abfragen. Sobald eine Variable zur Beobachtungstabelle hinzugefügt wird, folgen ihr Wert, ihre Qualität und ihr Zeitstempel der SPS in Echtzeit.

Hinweis: Sehr schnelle Aktualisierungsraten sind für produktive CPUs nicht empfohlen — sie können PLCSIM Advanced überlasten und überschreiten ggf. das Kommunikations-Lastbudget echter S7-1200 / 1500-SPSen (siehe CPU-Kommunikationslast-Einstellung im TIA Portal). Aggressive Raten sollten nur für kurze, gezielte Messungen verwendet werden.

Den Arbeitsbereich speichern und wiederherstellen

Der PLC-Online-Arbeitsbereich — offene Verbindungen (ohne Passwörter), die Beobachtungstabelle, der Ereignisfilter und der Verlaufsbereich — wird automatisch gespeichert und beim nächsten Öffnen der Ansicht wiederhergestellt. Es ist keine Einrichtung nötig.

Jeder geöffnete Verbindungs-Tab behält seinen eigenen gespeicherten Zustand — Beobachtungsliste, Ereignisfilter und Verlaufsbereich — nicht nur der gerade aktive Tab. Beim erneuten Öffnen von PLC Online kehrt jeder Verbindungs-Tab mit genau den Variablen und dem Zeitbereich zurück, mit denen Sie ihn verlassen haben.

Nach einem Neustart von AnyAutomation Studio startet PLC Online getrennt: Endpunkte, Beobachtungslisten und Einstellungen sind wiederhergestellt, aber es wird keine Verbindung von selbst aufgebaut — klicken Sie auf Verbinden, wenn Sie bereit sind. Wechseln Sie dagegen innerhalb einer laufenden Sitzung nur zwischen Editor-Tabs hin und her, werden Verbindungen, die beim Verlassen aktiv waren, beim Zurückkehren fortgesetzt.

Passwörter und Zertifikatspasswörter werden nie in den Arbeitsbereich-Speicher geschrieben; sie liegen im Geheimnisspeicher des Betriebssystems und werden beim Wiederherstellen neu aufgelöst. Ein fehlendes Geheimnis fragt einfach erneut ab, ohne den Rest der Wiederherstellung zu blockieren.

Der Bereich merkt sich auch, wie Sie ihn angeordnet haben — die Trennerpositionen und ob der rechte und der untere Werkzeug-Stack eingeblendet sind — und stellt alles beim nächsten Öffnen von PLC Online wieder her.

Soll eine bestimmte Verbindung gar nicht gespeichert werden, aktivieren Sie Verbindung nicht speichern im Verbindungseinstellungen-Flyout dieses Tabs (das Zahnrad im Verbindungs-Header).

Benannte Arbeitsbereich-Dateien. Das Menü in der Editor-Titelleiste (...) bietet Arbeitsbereich speichern unter…, Arbeitsbereich laden… und Arbeitsbereich zurücksetzen (auch über die Befehlspalette erreichbar). „Arbeitsbereich speichern unter…" schreibt den aktuellen Arbeitsbereich — offene Verbindungen, Beobachtungstabellen, Ereignisfilter und Verlaufsbereiche — in eine portable Arbeitsbereich-Datei, die Sie an Kollegen weitergeben können; „Arbeitsbereich laden…" liest eine solche wieder ein; „Arbeitsbereich zurücksetzen" setzt den Bereich auf eine einzelne leere Verbindung zurück. In die portable Datei werden keine Passwörter oder Zertifikatspasswörter geschrieben — beim Laden fragt ein fehlendes Geheimnis einfach erneut ab.

Beobachtungstabellen-Daten exportieren

Die Toolbar der Beobachtungstabelle trägt eine CSV exportieren-Schaltfläche, die die aktuellen Zeilen in eine Datei schreibt. Die CSV hat sieben Spalten — Name, Knoten-ID, Adresse, Wert, Datentyp, Qualität und Zeitstempel — sodass ein externes Tool jede Zeile wieder ihrem Knoten zuordnen kann. Zellen, die mit =, +, -, @, Tabulator oder Wagenrücklauf beginnen, werden quotiert, um Tabellenkalkulations-Formel-Injektionen zu entschärfen.

Das Ereignisprotokoll- und das Verlaufsdiagramm-Panel tragen jeweils ihre eigene CSV exportieren-Aktion, die ihre sichtbaren Zeilen mit demselben Formel-Injektions-Schutz in eine Datei schreibt — siehe diese Panels oben.

OPC UA MCP-Tools (KI-Integration)

Wenn der MCP-Server läuft (siehe KI-Integration), haben KI-Assistenten über zwei zusammengefasste Tools Zugriff auf OPC UA und Canvas:

Tool what Beschreibung
opcua connect Verbindung zu einem OPC UA Endpunkt mit angegebener Authentifizierung herstellen
opcua disconnect Verbindung zum aktuellen OPC UA Server trennen
opcua browse Adressraum ab einem bestimmten Knoten durchsuchen
opcua read Aktuellen Wert einer oder mehrerer Variablen anhand der Knoten-ID lesen
opcua read_complex Strukturierte/komplexe Datentypen lesen (z.B. UDTs, Arrays)
opcua write Einen Wert anhand der Knoten-ID in eine Variable schreiben
opcua write_complex Einzelne Felder eines Datenbausteins schreiben (Read-Modify-Write)
opcua get_types Datentypendefinitionen vom Server abrufen
opcua subscribe Überwachte Element-Abonnements für einen oder mehrere Knoten erstellen
canvas bind_opcua OPC-UA-Werte pollen und das Canvas-Dashboard in Echtzeit aktualisieren
canvas unbind_opcua Alle Canvas OPC UA Lese-Bindings stoppen
canvas bind_opcua_write Canvas-Button-Klicks und Slider-Änderungen mit OPC-UA-Schreiboperationen verbinden
canvas unbind_opcua_write Alle Canvas OPC UA Schreib-Bindings stoppen

Beispiele für KI-Chat-Verwendung:

Fragen Sie den KI-Assistenten im Chat-Panel z.B.:

  • "Verbinde dich anonym mit der SPS unter 192.168.0.10 und durchsuche die Datenbausteine"
  • "Lese den Wert von Knoten ns=3;s="Tank1"."Fuellstand" und sage mir, ob er über 80% liegt"
  • "Abonniere alle Float-Variablen im 'Produktion'-Datenbaustein mit einem 1-Sekunden-Intervall"
  • "Schreibe den Wert 1500 in ns=3;s="Foerderband"."Sollgeschwindigkeit""

Hinweise

  • Die OPC UA Konnektivität setzt nicht voraus, dass TIA Portal geöffnet oder verbunden ist
  • Die SPS muss OPC UA in ihrer Hardware-Konfiguration aktiviert haben (Allgemein → OPC UA → Server)
  • Bei S7-1500 SPSen: Stellen Sie sicher, dass der OPC UA Server aktiviert ist und die relevanten PLC-Tags als "Aus HMI/OPC UA zugreifbar" markiert sind
  • Zertifikatsbasierte Authentifizierung erfordert den Austausch von Zertifikaten zwischen Client und SPS

AI Canvas mit OPC UA Live-Daten

Das AI Canvas kann interaktive Dashboards anzeigen, die mit Live-OPC-UA-Daten verbunden sind. Die KI erstellt visuelle Dashboards (Anzeigen, Buttons, Slider, Animationen) mit canvas (what: eval), und OPC-UA-Werte werden für Echtzeit-Updates an das Dashboard gebunden.

Funktionsweise

  1. Die KI erstellt ein Dashboard mit canvas (what: eval) (HTML/CSS/JavaScript im Canvas-WebView)
  2. Lese-Bindings (canvas (what: bind_opcua)) pollen OPC-UA-Werte und aktualisieren das Dashboard über window.__tiaUpdateDashboard()
  3. Schreib-Bindings (canvas (what: bind_opcua_write)) verbinden Canvas-Button-Klicks und Slider-Änderungen mit OPC-UA-Schreiboperationen
  4. Alle Updates erfolgen automatisch — kein manuelles Polling oder Subscription-Setup nötig

Canvas OPC UA Tools

Tool what Richtung Beschreibung
canvas bind_opcua SPS → Canvas Pollt OPC-UA-Werte und aktualisiert das Dashboard in Echtzeit
canvas unbind_opcua Stoppt alle Lese-Bindings
canvas bind_opcua_write Canvas → SPS Verbindet Button-Klicks und Slider-Änderungen mit OPC-UA-Schreiboperationen
canvas unbind_opcua_write Stoppt alle Schreib-Bindings
opcua write_complex Canvas → SPS Schreibt einzelne Felder eines Datenbausteins (Read-Modify-Write)

Beispiel: Prozesssteuerungs-Dashboard

Bitten Sie die KI, ein interaktives Dashboard zu erstellen:

"Erstelle ein Prozesssteuerungs-Dashboard auf dem Canvas mit Start/Stop-Buttons, einem Drehzahl-Slider (0-3000 RPM) und Live-Anzeigen für Speed, Temperature, Pressure und FlowRate. Verbinde es mit dem Datenbaustein Data_block_1 über OPC UA."

Die KI wird:

  1. Das visuelle Dashboard mit canvas (what: eval) erstellen
  2. Lese-Bindings mit canvas (what: bind_opcua) für die Live-Anzeige einrichten
  3. Schreib-Bindings mit canvas (what: bind_opcua_write) einrichten, damit Buttons und Slider die SPS steuern

Dashboards mit OPC UA Bindings speichern und laden

Canvas-Dashboards können als JSONL-Dateien gespeichert und später geladen werden. OPC-UA-Binding-Konfigurationen werden in der gespeicherten Datei eingeschlossen.

Speichern:

  1. Klicken Sie auf die Speichern-Schaltfläche in der Canvas-Toolbar
  2. Die JSONL-Datei enthält das Dashboard-Layout, JavaScript und die OPC-UA-Binding-Konfiguration

Laden:

  1. Verbinden Sie sich zuerst mit dem OPC-UA-Server
  2. Klicken Sie auf die Laden-Schaltfläche in der Canvas-Toolbar und wählen Sie die gespeicherte JSONL-Datei
  3. Das Dashboard wird wiederhergestellt und OPC-UA-Bindings werden automatisch neu angewendet
  4. Live-Daten fließen sofort (wenn OPC UA verbunden ist)

Hinweis: OPC-UA-Bindings bleiben auch beim Andocken/Abdocken des Canvas innerhalb derselben Sitzung erhalten.

Wichtige Hinweise

  • Eine aktive OPC-UA-Verbindung ist erforderlich, bevor Bindings Daten liefern können
  • canvas (what: bind_opcua) verwendet Polling (keine OPC-UA-Subscriptions) — das ist stabiler und vermeidet eine Überlastung des OPC-UA-Servers
  • Alle Werte von OPC UA kommen als Strings im JavaScript-Callback an (verwenden Sie parseFloat() für Zahlen, vergleichen Sie mit "True"/"False" für Booleans)
  • Die Canvas-Schaltfläche Reset stoppt alle OPC-UA-Bindings (Lesen und Schreiben)