SCADA-Dashboards
AnyAutomation Studio macht aus den Signalen Ihres PLC-Programms ein laufendes Web-Dashboard (ein SCADA-Bild), ohne dass Sie es von Hand aufbauen. Sie waehlen die Signale, gliedern sie bei Bedarf in Bilder, waehlen, wie das Dashboard sich mit der Anlage verbindet, und senden das Ergebnis an Ihre eigene FUXA-Instanz, ein freies Open-Source-Web-SCADA. Sie koennen das Dashboard auch als Datei speichern und von Hand in FUXA importieren.
SCADA-Dashboards gehoeren zum Pro-Tarif. Die Tarife finden Sie unter Lizenzierung.
Bevor Sie beginnen
Sie brauchen drei Dinge:
- Eine FUXA-Instanz, die Sie selbst betreiben. FUXA ist eine eigene Web-Anwendung, die das fertige Dashboard ausfuehrt. Sie koennen selbst eine betreiben oder Studio eine fuer Sie starten lassen (siehe FUXA-Instanz bereitstellen weiter unten).
- Eine Signalliste. Das Dashboard wird aus einer SCADA-Konfiguration gebaut: den Datenpunkten Ihrer Maschine mit Datentyp und Kommentar sowie den Variablen Ihrer Variablentabellen mit ihrer Adresse. Sie erzeugen sie in Forge (Bausteine als SCADA-Schnittstellen markieren und eine Auswahl exportieren) oder aus einem exportierten OPC-UA-Node-Set einer PLC. Sie koennen die Signale auch direkt auf der SCADA-Seite sammeln.
- Zugang zur Anlage. Das erzeugte Dashboard verbindet sich mit einer Live-Quelle, ueber OPC UA, eine direkte Siemens-S7-Verbindung oder einen MQTT-Broker.
SCADA-Seite oeffnen
Waehlen Sie das SCADA-Symbol in der Aktivitaetsleiste (das Dashboard-Symbol am linken Rand), und die SCADA-Seite oeffnet sich sofort in der Mitte des Arbeitsbereichs. Sie koennen auch Open SCADA Page ueber die Befehlspalette (Ctrl+Shift+P) ausfuehren. Die Seite fasst den ganzen Ablauf zusammen: die FUXA-Verbindung, eine optionale Bereitstellung, die Signalquelle, den Signalbaum, den Bildplan und die Erzeugungs-Aktionen. Ein erneuter Aufruf holt dieselbe Seite wieder nach vorne. Fuer den Projektbaum nutzen Sie das TIA-Portal-Symbol daneben.
Studio auf Ihre FUXA-Instanz richten
Geben Sie im Bereich Connection oben die Adresse Ihrer FUXA-Instanz ein, zum Beispiel http://localhost:1881. Verlangt Ihre Instanz eine Anmeldung, hinterlegen Sie das Zugangstoken mit der Schaltflaeche neben dem Feld; es wird sicher gespeichert und nie wieder angezeigt.
Test Connection liest das aktuelle Projekt von der Instanz zurueck und zeigt eine gruene Zeile mit der Anzahl der Geraete, Ansichten und Variablen, oder eine rote Zeile mit einem genauen Grund, falls sie nicht erreichbar ist. Open FUXA oeffnet die Instanz in Ihrem Browser, sodass Sie das Dashboard beim Arbeiten beobachten koennen.
Signale laden
Nutzen Sie den Bereich Source, um die Signale hereinzuholen:
- Export from CPU liest den Adressraum einer verbundenen PLC und laedt ihn direkt.
- Open Node Set File laedt ein Node-Set, das eine CPU zuvor exportiert hat.
Haben Sie eine SCADA-Konfiguration in Forge erzeugt, oeffnen Sie diese Datei stattdessen mit Generate FUXA Project (siehe Die beiden Dateibefehle weiter unten).
Sind Signale geladen, listet der Signalbaum sie eingerueckt nach Baustein und Ordner. Jede Zeile hat ein Kontrollkaestchen und ein kleines Abzeichen, das zeigt, ob das Signal schreibgeschuetzt oder les- und schreibbar ist; eine laufende Zaehlung zeigt, wie viele ausgewaehlt sind. Haken Sie die Signale an, die aufs Dashboard sollen; die Erzeugungs-Aktionen arbeiten mit der angehakten Auswahl.
Waehlen, wie das Dashboard sich verbindet
Das Dropdown Connection im Erzeugungsbereich waehlt, wie das fertige Dashboard die Anlage erreicht. Das Adressfeld darunter passt seine Beschriftung an Ihre Wahl an.
- OPC UA server (Standard). Geben Sie die OPC-UA-Endpunkt-URL der PLC ein, zum Beispiel
opc.tcp://192.168.0.5:4840. Ein Feld Namespace Index und eine Zeile OPC UA Security erscheinen: waehlen Sie die Nachrichtensicherheit (None, Sign oder Sign and Encrypt) und, wenn sie nicht None ist, eine Policy und einen optionalen Benutzernamen mit gespeichertem Passwort. Die PLC muss dem FUXA-Client-Zertifikat vertrauen; fuegen Sie es in Ihrer CPU zu den vertrauenswuerdigen Clients des OPC-UA-Servers hinzu oder lassen Sie Clients zur Laufzeit annehmen. - Siemens S7 PLC. Geben Sie die IP-Adresse der PLC ein und stellen Sie Rack und Slot ein (S7-1200 und S7-1500 verwenden Rack 0 und Slot 1). Es werden nur Signale mit einer festen Hardware-Adresse einbezogen, also Merker, Eingaenge und Ausgaenge aus der Variablentabelle sowie absolute Datenbaustein-Adressen. Symbolische Datenbaustein-Elemente haben keine feste Adresse und bleiben aussen vor; eine Meldung nennt, was ausgelassen wurde, und diese Signale brauchen stattdessen eine OPC-UA-Verbindung.
- MQTT broker. Geben Sie die Broker-URL ein, zum Beispiel
mqtt://192.168.0.20:1883. Jedes Signal wird zu einem nach ihm benannten Topic, das das Dashboard abonniert. Ein les- und schreibbares Signal sendet seinen Wert auch an sein Topic zurueck, wenn Sie es auf dem Dashboard ueber ein Eingabefeld oder eine Schaltflaeche aendern. Um einen Wert aus einer JSON-Nachricht statt aus einem ganzen Topic zu lesen oder um das Topic eines Signals zu setzen, fuegen Sie dem Kommentar des Signals ein Kuerzel hinzu (siehe Einen JSON-Member lesen oder das Topic setzen weiter unten).
Die Passwort-Befehle Set OPC UA Password und Clear OPC UA Password (auch in der Befehlspalette) verwalten das OPC-UA-Anmeldepasswort, falls Sie eines verwenden.
Einen JSON-Member lesen oder das Topic setzen
Auf einem MQTT-Dashboard geben Ihnen zwei Kuerzel im Kommentar eines Signals mehr Kontrolle. Sie werden wie die Einheiten- und Alarm-Kuerzel geschrieben und aus der auf dem Dashboard gezeigten Beschriftung entfernt:
{topic=plant/motor1/status}setzt das genaue Topic des Signals statt seines Namens. So koennen mehrere Signale auf strukturierte Topic-Pfade zeigen.{jsonkey=speed}bindet das Signal an den Memberspeedeiner JSON-Nachricht auf dem Topic statt an einen ganzen Topic-Wert. Mehrere Signale koennen sich ein Topic mit verschiedenen Keys teilen und je ihren eigenen Member lesen. Ein les- und schreibbares Signal mit einem Key schreibt diesen Member zurueck.
Ein Signal sendet an dasselbe Topic, von dem es liest, ein Signal ist also ein Topic. Ein getrenntes Befehls- und Status-Topic sind zwei getrennte Signale.
Die Bilder gliedern
Standardmaessig ist das Dashboard eine einfache Werttabelle der angehakten Signale. Fuer ein gegliedertes Dashboard mit mehreren Bildern nutzen Sie den Bereich Screens:
- Propose Screens macht aus den angehakten Signalen einen Bildplan: ein Uebersichtsbild mit Navigationskacheln, ein Bild je oberster Maschinenkomponente und Detailbilder fuer grosse Gruppen.
- Jede Bildzeile laesst sich umbenennen, mit einem Layout versehen (Tiles, Sections, Table oder Free), nach oben oder unten verschieben, in ein anderes Bild zusammenfuehren oder entfernen.
- Background waehlt ein SVG-Bild fuer ein Bild, zum Beispiel eine Anlagenzeichnung aus einem Designwerkzeug. Das Bild liegt hinter den Widgets. Unsicheres im File wird automatisch entfernt, und ein kurzer Hinweis nennt, wie viele Elemente entfernt wurden.
- Choose Symbol Folder laedt einen Ordner mit Ihren eigenen SVG-Symbolen, einschliesslich der Symbole in dessen Unterordnern, sodass eine verschachtelte Symbolbibliothek vollstaendig erfasst wird. Sind Symbole geladen, bekommt jedes oberste Widget ein Dropdown Symbol, das es mit dem gewaehlten Symbol und seinen Aus- und Ein-Farben zu einem gebundenen Ein/Aus-Schalter macht.
- Save Plan und Load Plan schreiben und lesen eine Plandatei, Clear Plan verwirft sie.
Solange ein Bildplan vorliegt, bauen die Erzeugungs-Aktionen das geplante Dashboard mit mehreren Bildern statt der einfachen Tabelle.
Alarme
Markieren Sie ein Signal als Alarm, und das Dashboard loest ihn aus, wenn das Signal in seinen Alarmzustand geht, und zeigt ein Alarmband in der Kopfzeile, solange ein Alarm aktiv ist. Sie markieren ein Signal, indem Sie seinem Kommentar ein Kuerzel hinzufuegen, zum Beispiel {alarm=high}, mit optionaler Gruppe und Meldetext sowie einem analogen Band ueber {alarmmin=} und {alarmmax=}. Sie koennen auch ein Alarmtabellen-Widget auf ein Bild setzen, das die aktiven Alarme mit Zeit, Meldung, Gruppe und Quittierung auflistet. Der Assistent kann ein Signal markieren und eine Alarmtabelle fuer Sie einfuegen.
Werte, Einheiten und Trends
Ein Wert zeigt die Einheit und die Nachkommastellen aus dem Kommentar des Signals, zum Beispiel {unit=bar}{digits=1}, und ein Eingabefeld haelt Eingaben in den Grenzen des Signals, wenn Sie {min=} und {max=} notieren. Ein Trenddiagramm behaelt seine Historie und oeffnet bereits mit den letzten Werten gefuellt.
Erzeugen und senden
Drei Aktionen stellen das Dashboard fertig:
- Generate and Send to FUXA sendet das Dashboard an Ihre Instanz. Standardmaessig wird es in das dort bereits vorhandene Projekt zusammengefuehrt, sodass die Bilder, Geraete und Alarme, die Sie in FUXA von Hand gebaut haben, erhalten bleiben und nur die erzeugten hinzukommen oder aktualisiert werden. Das Dropdown On Send stellt das auf Replace um, was das ganze Projekt ueberschreibt. In beiden Faellen nennt eine Rueckfrage zuerst, wie viele Geraete, Ansichten und Variablen derzeit auf der Instanz liegen. Bei einer Siemens-S7-Verbindung nennt eine Meldung danach die ausgelassenen Signale.
- Save as .fuxa.json schreibt eine FUXA-Projektdatei, die Sie von Hand in FUXA importieren koennen.
- Save as .scada.json schreibt die Signalkonfiguration zurueck in eine Datei, damit Sie sie spaeter wiederverwenden koennen.
Nach einem erfolgreichen Senden bietet eine Meldung Open FUXA an, um das Ergebnis anzusehen.
FUXA-Instanz bereitstellen
Betreiben Sie noch kein FUXA, kann der Bereich Deployment ueber Docker eine fuer Sie starten. Lassen Sie den Docker-Host leer, um die lokale Docker-Engine zu verwenden, oder richten Sie ihn auf eine entfernte Engine. Die Schaltflaechen starten, stoppen oder starten die Instanz neu, und Deploy bringt eine frische Instanz hoch. Dazu muss Docker auf dem gewaehlten Host installiert sein und laufen.
Vom Assistenten bauen lassen
Der Chat-Assistent kennt die Signale, die auf der offenen SCADA-Seite geladen sind. Auf Ihre Anweisung liest er das Node-Set, waehlt die Signale aus, gruppiert sie in benannte Bilder, markiert Alarme und erzeugt oder sendet das Dashboard. Er fuellt die Assistant Preview der Seite und waehlt die passenden Signale im Baum aus, sodass Sie genau sehen, was er vorschlaegt, bevor etwas gesendet wird, und er sagt Ihnen klar, ob ein Senden durchging, abgelehnt wurde oder fehlschlug. Beim Senden fragt er, ob Ihr bestehendes FUXA-Projekt behalten oder ersetzt werden soll, ganz wie Sie es verlangt haben.
Die beiden Dateibefehle
Zwei Befehle arbeiten direkt aus einer Datei, ohne die SCADA-Seite zu oeffnen:
- Generate FUXA Project, im Rechtsklick-Menue einer
*.scada.json-Datei (oder aus der Befehlspalette), baut aus dieser Konfiguration ein FUXA-Projekt und speichert es entweder oder sendet es an Ihre Instanz. - Generate SCADA from OPC UA Nodes, im Rechtsklick-Menue einer
*.xml-Node-Set-Datei (oder aus der Befehlspalette), liest das exportierte OPC-UA-Node-Set einer CPU und baut dasselbe Dashboard daraus, dann bietet es an, eine Konfiguration zu speichern, sie an Ihre Instanz zu senden oder eine Projektdatei zu schreiben.
Beide teilen dieselbe Verbindungsabfrage und dieselbe Rueckfrage wie die SCADA-Seite.