Compact Logic im Browser – oder als WebApp auf jedem Smartphone

Mit der optionalen Weboberfläche lässt sich ein Compact-Logic-Controller direkt im Browser anzeigen und bedienen. Smartphone, Tablet oder PC benötigen dafür lediglich eine Netzwerkverbindung zum Gerät. Eine zusätzliche App oder ein dauerhaft laufender Computer ist für diesen direkten Zugriff nicht erforderlich.

Der Controller stellt seine eigene Bedienseite bereit. Messwerte, Zustände und Bedienelemente stammen aus dem vorhandenen CL-Projekt. Die Steuerungslogik läuft weiterhin vollständig auf dem Controller.

Die Bedienoberfläche entsteht im Designer

Die Grundlage bildet die bereits für die CL-App vorgesehene Bedienoberfläche. Im CL-Designer wird festgelegt, welche Elemente in der App angezeigt werden sollen. Diese Zuordnung verwendet auch die Webansicht.

Beschriftungen, Blattzuordnung und Datenbindungen kommen aus dem Geräteprojekt. Dadurch muss für den Browser keine zweite Bedienoberfläche von Hand programmiert werden. Die Darstellung orientiert sich an der CL-App und passt sich an die verfügbare Bildschirmbreite an.

Das Gestalten der grundlegenden Oberfläche beschreibt auch der Beitrag Compact Logic auf dem Smartphone – die Bedienoberfläche im Designer gestalten.

Je nach den verwendeten Designer-Elementen stehen beispielsweise folgende Funktionen bereit:

  • Digitale Zustände und Schaltausgänge anzeigen.
  • Schalter und Taster bedienen.
  • Zahlenwerte anzeigen und verändern.
  • Sollwerte über Schieberegler einstellen.
  • Farben auswählen.
  • Zeitwerte und Auswahllisten bearbeiten.
  • Werte als Instrument, Balken, Prozentanzeige oder Trend darstellen.
  • Hinweise und Dokumentation zum Projekt anzeigen.

Reine Anzeigeelemente bleiben schreibgeschützt. Welche Werte bedient werden können, ergibt sich aus den vorhandenen Elementen und ihren Datenbindungen.

Webserver aktivieren und Gerät öffnen

Voraussetzung ist eine für die jeweilige Hardware geeignete Firmware mit eingebauter Webserver-Unterstützung. Zusätzlich muss die Weboberfläche als Datei auf dem Controller vorhanden sein.

Die Einrichtung erfolgt in wenigen Schritten:

  1. Netzwerkverbindung einrichten: Controller und Bediengerät müssen sich gegenseitig erreichen können, beispielsweise über WLAN oder – bei entsprechender Hardware – Ethernet.
  2. HTTP-Webserver einschalten: In den Designer-Einstellungen unter System / Verbindungen die Option HTTP-Webserver aktivieren.
  3. Einstellungen speichern und Controller neu starten.
  4. Geräteadresse im Browser öffnen, beispielsweise http://192.168.178.135/.

Der Browser öffnet unmittelbar die Bedienseite dieses Controllers. Eine Gerätesuche ist auf der direkten Geräteseite nicht erforderlich.

Über die Blattauswahl lassen sich die einzelnen Designer-Blätter aufrufen. Zusätzlich steht eine gemeinsame Übersicht der freigegebenen Anzeigen zur Verfügung. Die Geräteadresse kann als Lesezeichen auf dem Smartphone oder PC gespeichert werden.

Werte beobachten und bedienen

Die Webansicht aktualisiert die Werte des geöffneten Blatts automatisch. Dabei fragt der Browser mehrere Werte gemeinsam ab. Die Darstellung und Formatierung übernimmt der Browser; der Controller liefert die zugehörigen Daten.

Beim Betätigen eines Bedienelements geht der Befehl direkt an den Controller. Anschließend werden die aktuellen Werte wieder eingelesen. Ein Tasterimpuls wird auf dem Controller beendet und benötigt dafür keine zweite Anfrage des Browsers.

Bei Verbindungsproblemen erscheint eine Fehlermeldung. Bereits angezeigte Werte werden als veraltet gekennzeichnet und die Bedienung wird gesperrt. Ein fehlgeschlagener oder nicht bestätigter Schreibbefehl wird nicht automatisch wiederholt. So führt eine unterbrochene Verbindung nicht unbemerkt zu mehrfachen Bedienbefehlen.

Wurde die Gerätekonfiguration im Designer geändert, lässt sich die Ansicht über Neu laden erneut einlesen.

Einfache Anmeldung mit dem Benutzerpasswort

Die Weboberfläche verwendet das vorhandene Benutzerpasswort aus den Designer-Einstellungen unter System / Verbindungen.

  • Ist das Feld leer oder enthält es den Wert 0, öffnet sich die Geräteansicht ohne Passwortabfrage.
  • Ist ein Benutzerpasswort eingestellt, wird es vor dem Zugriff auf die Gerätedaten abgefragt.
  • Führende Nullen gehören zum Passwort: 01234 und 1234 sind unterschiedliche Eingaben.

Nach erfolgreicher Anmeldung merkt sich der Browser den Zugang für die Sitzung. Über Abmelden lässt sich diese beenden. Ein geändertes Benutzerpasswort macht bisherige Anmeldungen ungültig.

Die Abfrage schützt auch die dahinterliegenden Webschnittstellen. Das Passwort wird nicht als Bestandteil der Geräteansicht an den Browser ausgeliefert. Das Administratorpasswort wird für diese Anmeldung nicht verwendet.

Die einfache Passwortabfrage ist für den Betrieb im lokalen Netz vorgesehen. Bei direktem HTTP-Zugriff ist die Verbindung unverschlüsselt; eine öffentliche Freigabe ins Internet ist damit nicht vorgesehen.

Systeminformationen, Speichern und Neustart

Im Menü Optionen stehen ergänzende Gerätefunktionen bereit:

Systeminformationen zeigen unter anderem Firmwareversion, Laufzeit, Speicherinformationen und den Betriebszustand der SPS.

Speichern im Flash ruft die vorhandene Speicherfunktion des Controllers auf, um die aktuelle Konfiguration und die dafür vorgesehenen Werte dauerhaft zu übernehmen.

Hardware-Reset startet den Controller neu. Ungespeicherte Änderungen können dabei verloren gehen.

Speichern und Neustart verlangen jeweils eine Bestätigung. Nach einem Neustart kann die Verbindung über Neu laden wieder aufgebaut werden.

Die Weboberfläche separat aktualisieren

HTML, JavaScript und Gestaltung liegen gemeinsam in der Datei cl_device.html.gz auf dem SPIFFS-Dateisystem des Controllers. Die Firmware liefert diese Datei an den Browser aus.

Dadurch kann eine überarbeitete Weboberfläche übertragen werden, ohne jedes Mal die gesamte Firmware oder die Gerätekonfiguration auszutauschen. Im Designer steht dafür unter System-Dateien im Kontextmenü der linken Dateiliste die Funktion Weboberfläche hochladen … bereit. Eine vorhandene Webdatei wird dabei ersetzt.

Fehlt die Datei, zeigt der Webserver einen einfachen Hinweis zur noch nicht installierten Oberfläche an.

Bei Erweiterungen der Webschnittstelle müssen Firmware und Webdatei zusammenpassen. Ein Update ausschließlich der Webdatei genügt deshalb für reine Darstellungsänderungen, aber nicht grundsätzlich für jede neue Funktion.

Ergänzend: der CL-Web-Service

Neben dem direkten Gerätezugriff gibt es den CL-Web-Service. Dieser läuft auf einem Windows-PC als Anwendung oder Windows-Dienst und stellt eine gemeinsame Browseroberfläche für mehrere Controller bereit.

Der Web-Service übernimmt die Gerätesuche, verwaltet gespeicherte Verbindungen und zeigt nach der Geräteauswahl die jeweilige Bedienoberfläche an. Er kommuniziert über das vorhandene CL-Netzwerkprotokoll mit den Controllern.

Das ist besonders praktisch, wenn mehrere Geräte über einen gemeinsamen Einstiegspunkt erreichbar sein sollen. Auch Controller ohne eigenen Webserver können darüber im Browser bedient werden, sofern sie die benötigte CL-Netzwerkkommunikation unterstützen.

Beim Öffnen eines geschützten Controllers verwendet der Web-Service ebenfalls dessen Benutzerpasswort. Ein zusätzlicher Zugangsschlüssel aus einer access-key.txt ist nicht mehr erforderlich.

Für Geräte mit eigener Weboberfläche kann im Web-Service außerdem gewählt werden, ob die Ansicht weiterhin vom Service bereitgestellt oder die direkte Geräteseite geöffnet werden soll.

Damit stehen zwei sich ergänzende Möglichkeiten zur Verfügung: der unmittelbare Zugriff auf einen einzelnen Controller und eine zentrale Browseroberfläche für mehrere CL-Geräte.