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.

Ihre Verbindungen bleiben bestehen, während Sie anderswo arbeiten. Öffnen Sie eine andere Datei vor PLC Online oder wechseln Sie den Tab, laufen alle Verbindungen weiter und ihre Beobachtungswerte werden weiter aktualisiert; der Eintrag in der Statusleiste zeigt weiterhin, wie viele Verbindungen aktiv sind. Um eine Verbindung zu beenden, klicken Sie im Verbindungskopf auf Trennen (die Schaltfläche steht an der Stelle von Verbinden, solange die Verbindung besteht) oder schliessen Sie den Verbindungs-Tab. Schliessen Sie den PLC-Online-Tab, werden alle seine Verbindungen getrennt. Öffnen Sie ihn erneut, in derselben Sitzung oder nach einem Neustart von Studio, sind Endpunkte, Beobachtungseinträge und Einstellungen wieder da, aber es wird keine Verbindung von selbst aufgebaut: Klicken Sie auf Verbinden, wenn Sie bereit sind.

Ü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
  • Eine Variable mit strukturiertem Typ (PLC-Datentyp, Struct, Array oder Timer-Instanz) hat einen eigenen Aufklapp-Pfeil: Öffnen Sie sie, um ihre Elemente zu erreichen, Ebene für Ebene bis in beliebige Tiefe
  • Der Datentyp jeder Variablen steht neben ihrem Namen; Arrays tragen das Suffix []
  • 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.

Baum aktualisieren: Die Schaltfläche „Aktualisieren" über dem Adressraum-Baum in der Seitenleiste (oder F5, während die PLC-Online-Ansicht oder der Editor fokussiert ist) lädt den ganzen Baum vom Server neu. Aufgeklappte Zweige bleiben offen und zeigen die aktuellen Kinder. Nutzen Sie sie, wenn sich der Adressraum auf dem Server geändert hat, zum Beispiel nach dem Hinzufügen von Tags oder Datenbausteinen in TIA Portal. Aktualisieren steht zur Verfügung, solange 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

Strukturfelder

Wählen Sie im Adressraum-Baum eine strukturierte Variable (PLC-Datentyp, Struct, Array oder Timer-Instanz) oder einen Datenbaustein aus, und das Panel Strukturfelder im rechten Werkzeug-Stack listet die Elemente mit Wert und Datentyp auf. Verschachtelte Strukturen öffnen sich Ebene für Ebene, Arrays zeigen eine Zeile pro Element, und Elemente mit Wert lassen sich direkt in der Zeile bearbeiten und mit Schreiben zurückschreiben. Aktualisieren liest die Struktur neu.

Veröffentlicht der Server die Elemente einer Struktur nicht, bleibt das Panel leer und erklärt den Grund. Bei einer Siemens-Steuerung ist das der Fall, wenn die Elemente des PLC-Datentyps nicht als „Erreichbar aus HMI/OPC UA" markiert sind: Öffnen Sie den Datentyp in TIA Portal, setzen Sie die Zugriffsattribute der Elemente, übersetzen und laden Sie anschliessend. Elemente, die auf dem Server vorhanden sind, sich aber nicht lesen lassen, zeigen statt eines Werts nicht lesbar. Sehr grosse Arrays zeigen ihre ersten 4096 Elemente, und eine letzte Zeile markiert, wo die Liste abgeschnitten wurde.

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 (1–1000; Standard Min 1, Max 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 begrenzt, und das Diagramm stellt höchstens 50.000 Punkte dar; 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 mit der Meldung „Verbindung wird wiederhergestellt…". Es verschwindet automatisch, sobald die Verbindung wieder steht.

Verbindungsaufbau im Hintergrund. Nach erfolgreichem Connect werden grosse Typbibliotheken auf grossen S7-1500-Steuerungen im Hintergrund geladen und der Knoten-Cache vorgewärmt. Der SPS-Baum ist browsbar, sobald die Verbindung steht; komplexe (UDT-) Werte werden lesbar, sobald das Laden des Typsystems abgeschlossen ist.

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 Arbeitsbereich (pro Projekt) und überlebt einen Anwendungs-Neustart. URL-Varianten, die nur in der Schreibweise des Schemas oder einem abschließenden / abweichen, 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. Die Groß-/Kleinschreibung des Hostnamens ist dabei signifikant: Host und host ergeben getrennte Einträge.

Tastenkürzel. Solange das PLC-Online-Panel den Tastatur-Fokus hat, wirken die folgenden Tasten auf die aktive Verbindung:

Tastenkürzel Aktion
Strg+Eingabe Verbinden
Strg+D Trennen (bei bestehender Verbindung)
F5 Adressraum-Baum vom Server neu laden (bei bestehender Verbindung; wirkt auch, wenn die PLC-Online-Seitenleiste den Fokus hat)
Alt+W Neuen Wert in die markierte Watch-Table-Zeile schreiben

Um per Tastatur zu schreiben, markieren Sie die Zeile in der Watch Table (einfacher Klick) und drücken Alt+W. Das entspricht dem Stift-Symbol der Zeile (Wert schreiben): Die Wert-Zelle öffnet sich zur Bearbeitung. Geben Sie den neuen Wert ein und drücken Sie Eingabe, um ihn in die SPS zu schreiben, oder Escape zum Abbrechen. Ohne markierte Zeile bewirkt Alt+W 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, KI-Chat-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.

Zertifikatsabfrage beim Verbindungsaufbau

Beim Verbinden (oder erneuten Verbinden) mit einem Server, dessen Zertifikat noch nicht vertraut wird oder nicht überprüft werden kann, zeigt Studio das Zertifikat — Antragsteller, Aussteller, Gültigkeitszeitraum, Seriennummer, Fingerabdruck — zusammen mit dem Grund der Ablehnung und fragt, wie fortgefahren werden soll:

  • Serverzertifikat vertrauen — vertraut diesem Zertifikat dauerhaft (es erscheint im Tab „Vertrauenswürdig"), die Verbindung wird fortgesetzt. Künftige Verbindungen zu diesem Server gelingen ohne erneute Nachfrage.
  • Vorübergehend akzeptieren — akzeptiert das Zertifikat nur für diese Sitzung; nichts wird gespeichert, beim nächsten Mal wird erneut gefragt.
  • Abbrechen — die Verbindung wird nicht aufgebaut. Das Zertifikat erscheint im Tab „Abgelehnt" und kann dort später noch vertraut werden.

Bei Problemen, die sich durch Vertrauen nicht beheben lassen (zum Beispiel ein abgelaufenes Zertifikat), bietet die Abfrage nur das vorübergehende Akzeptieren an.

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

  • Aus (Default) — Präsentiert ein Server ein noch nicht vertrautes Zertifikat, fragt die Zertifikatsabfrage oben, ob ihm dauerhaft vertraut, es für diese Sitzung akzeptiert oder der Verbindungsaufbau abgebrochen werden soll. 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 ist ab dem Pro-Plan enthalten und wird, wie OPC UA PLC Online, auch von der kostenlosen Testphase freigeschaltet. Im Basic-Plan 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-Pille — RUN, STOP, STARTUP etc. neben der IP-Adresse, farblich passend zum CPU-Zustand.
  • Zugriffs-Stufe-Badge — direkt neben der Betriebszustands-Pille; spiegelt die Zugriffsstufe wider, die die SPS beim Verbinden 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.

Adressraum über S7 Nativ. Der Baum zeigt die Bausteine der Steuerung mit ihren Variablen. Eine Struktur oder ein PLC-Datentyp klappt zu ihren Variablen auf, ein Array zu seinen Elementen (name[0], name[1], ...) mit dem im Baustein deklarierten Index, und ein Element eines Arrays von Strukturen zu den Variablen dieses Elements. Jedes Element und jede Variable in einem Element lässt sich in die Beobachtungstabelle übernehmen, live lesen und wie jede andere Variable schreiben. Das gilt für Datenbausteine mit optimiertem Bausteinzugriff ebenso wie für Datenbausteine mit Standard-Bausteinzugriff. Texte, Hardware-Kennungen und Verbindungskennungen erscheinen mit ihrem Typ und ihrem Wert. Lehnt die Steuerung ein Lesen oder Schreiben ab, nennt die Meldung den Grund, den die Steuerung angibt.

TLS-Verschlüsselung und Zertifikats-Vertrauen (S7 Nativ)

S7-1500-Firmware ab V2.9 verlangt verschlüsselte Kommunikation — aktuelle SPS weisen den unverschlüsselten Weg ab. Studio bildet das ab: Jede S7-Nativ-Verbindung ist verschlüsselt, ohne dass etwas zu konfigurieren wäre.

Das Zertifikats-Vertrauen arbeitet nach dem Prinzip «beim ersten Verbinden merken»:

  • Beim ersten vollständig erfolgreichen Verbinden merkt sich Studio das Zertifikat der Steuerung. Spätere Verbindungen zur selben Adresse erwarten dasselbe Zertifikat.
  • Präsentiert die Steuerung später ein anderes Zertifikat — typisch nach einem Firmware-Update, einem Gerätetausch oder einer neu angelegten Simulator-Instanz — wird die Verbindung abgewiesen, und im Verbindungs-Header erscheint ein Banner mit dem Hinweis, dass das gemerkte Zertifikat nicht mehr passt.
  • Ist der Wechsel erklärbar, klicken Sie im Banner auf Angeheftetes Zertifikat verwerfen. Studio verwirft das gemerkte Zertifikat und verbindet neu; das aktuelle Zertifikat der Steuerung wird beim nächsten erfolgreichen Verbinden wieder gemerkt.
  • Schlägt dieser neue Versuch aus einem anderen Grund fehl, zeigt die Benachrichtigung den genauen Fehler; Protokoll anzeigen öffnet die Details.

Ein Zertifikat wird erst gemerkt, wenn eine Verbindung vollständig zustande gekommen ist — ein fehlgeschlagener Verbindungsversuch blockiert spätere Verbindungen nicht.

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

Auf einer S7-Native-Verbindung zeigt das CPU-Schutz-Panel (Tab-Beschriftung „CPU Protection") im S7-Panel-Stack die von der verbundenen CPU über S7 Native gemeldete Schutz- bzw. Zugriffsstufe. Ergänzend wird die gewährte Zugriffsstufe 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:

  • Spalten — Zeitstempel (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.

Speicherauslastung-Panel

Auf einer S7-Native-Verbindung zeigt das Speicherauslastung-Panel (Tab-Beschriftung „Memory Usage") im S7-Panel-Stack die von der CPU über S7 Native gemeldete Speicherauslastung.

Wenn ein CPU-Panel nicht gelesen werden kann

Jedes Panel im S7-Panel-Stack meldet für sich selbst. Lässt sich eines davon nicht von der CPU lesen, erscheint die Meldung in genau diesem Panel, zusammen mit einer Schaltfläche Wiederholen, die den Lesevorgang erneut auslöst; die übrigen Panels zeigen ihre Werte unverändert weiter. Gelingt der Lesevorgang, verschwindet die Meldung.

Nicht jede CPU bietet jedes Panel an. Eine CPU ohne Diagnosepuffer sagt das im Diagnosepuffer-Tab klar, und das ist etwas anderes als ein Diagnosepuffer, der einfach leer ist. Der Alarme-Tab meldet es, wenn von der CPU keine aktiven Alarme eintreffen, und bietet dasselbe Wiederholen an.

Zykluszeit-Panel

Auf einer S7-Native-Verbindung zeigt das Zykluszeit-Panel (Tab-Beschriftung „Cycle Time") im S7-Panel-Stack die von der CPU über S7 Native gemeldete Zykluszeit.

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 (CPU-Identität, CPU-Schutz, Speicherauslastung, Zykluszeit, Diagnosepuffer, Alarme und Vergleich). 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
  • Eine strukturierte Variable wird als eine Zeile pro Element aufgenommen (bei mehr als 20 Elementen werden Sie vorher gefragt). Ein Element aus dem Inneren einer Struktur behält seinen vollständigen Namen, etwa segment.brightness oder Motor.Speed[3]
  • Können einige der ausgewählten Knoten nicht aufgenommen werden, werden die übrigen trotzdem hinzugefügt, und eine Meldung nennt die übersprungenen Knoten mit dem Grund

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 darum auf Verbinden, wenn Sie bereit sind. Dasselbe gilt, wenn Sie den PLC-Online-Tab innerhalb einer Sitzung schliessen und wieder öffnen. Wechseln Sie dagegen nur zwischen Editor-Tabs hin und her, laufen alle Verbindungen weiter.

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-Tools für den KI-Chat

Die OPC-UA- und Canvas-Tools gehören zum Lieferumfang von Studio und stehen dem eingebauten KI-Chat direkt zur Verfügung, ein MCP-Server muss dafür nicht gestartet werden. Sie schalten sie im Chat-Tool-Picker ein, dort erscheinen sie nach Quelle gruppiert. Der Assistent arbeitet in demselben PLC Online, das Sie sehen: Eine Verbindung, die er öffnet, erscheint als Verbindungs-Tab, die Variablen, die er beobachtet, landen in Ihrer Beobachtungstabelle, und ein von ihm ausgelöstes Aktualisieren des Baums wirkt in der Seitenleiste. Alles, was die Steuerung oder eine Verbindung verändert, fragt Sie zuerst.

Tool Was der Assistent damit tut
opcua_list_connections Listet die offenen Verbindungen, einschliesslich der Verbindungs-Tabs von PLC Online
opcua_get_endpoints Ermittelt die Endpunkte eines Servers mit ihren Sicherheitsmodi
opcua_connect Öffnet PLC Online und verbindet sich in einem Verbindungs-Tab
opcua_disconnect Trennt eine Verbindung
opcua_reconnect Baut eine abgebrochene Verbindung neu auf
opcua_browse Listet die Kindknoten eines Knotens
opcua_browse_references Listet die Referenzen eines Knotens
opcua_search Durchsucht den Adressraum nach Namen
opcua_read_attributes Liest die Attribute eines Knotens
opcua_refresh Lädt den Adressraum-Baum vom Server neu
opcua_read Liest den aktuellen Wert einer oder mehrerer Variablen
opcua_read_complex Liest eine Struktur oder einen Datenbaustein mit allen Elementen
opcua_expand_struct Listet die Elemente einer Struktur
opcua_read_matrix Liest ein zweidimensionales Array
opcua_get_types Liest die Datentyp-Definitionen des Servers
opcua_write Schreibt einen Wert in eine Variable
opcua_write_complex Schreibt Elemente einer Struktur
opcua_write_matrix Schreibt ein zweidimensionales Array
opcua_monitor Beobachtet Variablen für eine gewählte Dauer und meldet die Wertänderungen
opcua_monitor_events Sammelt die Ereignisse eines Knotens für eine gewählte Dauer
opcua_watch Listet, füllt oder leert die Beobachtungstabelle
opcua_read_history Liest aufgezeichnete Rohwerte einer Variablen über ein Zeitfenster
opcua_read_history_processed Liest aggregierte Verlaufsdaten, zum Beispiel Mittelwerte pro Intervall
opcua_read_history_at_time Liest die aufgezeichneten Werte zu bestimmten Zeitpunkten
opcua_server_diagnostics Liest die Server-Diagnose
opcua_get_method_arguments Liest die Argumente einer Methode
opcua_call_method Ruft eine Methode auf
opcua_register_nodes, opcua_unregister_nodes Bereitet Knoten für schnellen wiederholten Zugriff vor und gibt sie wieder frei
opcua_certificates Listet die Zertifikatsspeicher; vertraut, lehnt ab, löscht, exportiert, importiert oder erneuert ein Zertifikat
opcua_workspace Öffnet PLC Online, wechselt den aktiven Verbindungs-Tab, schliesst einen Tab oder wählt einen Knoten für die Detail-Panels
canvas (bind_opcua, unbind_opcua, bind_opcua_write, unbind_opcua_write) Bindet ein Canvas-Dashboard an Live-Werte und an Schreibvorgänge

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"
  • "Beobachte die Float-Variablen im Datenbaustein 'Produktion' zehn Sekunden lang und zeige mir, was sich geändert hat"
  • "Nimm alle Variablen von DB_Foerderband in die Beobachtungstabelle auf"
  • "Schreibe den Wert 1500 in ns=3;s="Foerderband"."Sollgeschwindigkeit""
  • "Aktualisiere den Adressraum, ich habe in TIA Portal eine Variable ergänzt"

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)