Configuration

Dieses Kapitel befasst sich mit einer Schritt für Schritt Anleitung für die Konfiguration des ULC UX und der Beschreibung bestimmter Eigenschaften des WinCC OA ULC UX.

Standard Konfiguration

  1. Legen Sie ein neues Projekt an (optional).
  2. Fügen Sie einen Control-Manager zu Ihrem Projekt hinzu welcher das webclient_http.ctl Skript startet.
  3. Legen Sie mittels des Config-Eintrages [httpServer] uiArguments fest welches Panel innerhalb des ULC UX gestartet werden soll, z.B. uiArguments="-p myPanel.pnl" (optional, kann auch mittels URL-Parameter "panel" angegeben werden).
  4. Starten Sie Ihr Projekt.
  5. Öffnen Sie die Webadresse des ULC UX unter https://<MyWebServerAddress>:<port>/data/ulc/start.html innerhalb des Browsers (Default Port Windows: http=80 / https=443; Default Port Linux: http=8080 / https: 8079). z.B. https://localhost/data/ulc/start.html
VORSICHT: Aus Sicherheitsgründen ist der URL-Parameter "?panel" standardmäßig deaktiviert und muss erst explizit mittels Config-Eintrag aktiviert werden! Siehe [httpServer] allowPanelParam.
Anmerkung:

Da es vorkommen kann, dass andere Anwendungen die Standard Ports des Webservers bereits belegt haben sollte geprüft werden ob diese geöffnet werden konnten. Eine entsprechende Meldung (siehe unterhalb) findet sich beim erfolgreichen Öffnen der Ports innerhalb des LogViewers. Sind diese Meldungen nicht vorhanden können mittels der Config-Einträge [webClient] httpPort bzw. [webClient] httpsPort die verwendeten Ports angepasst werden.

http, Server hört auf Port http:// - 80
https, Server hört auf Port https:// - 443

Erweiterte Konfiguration

Folgende zusätzliche (optionale) Einstellungen können für den ULC UX gesetzt werden:

  • Es können WinCC OA-Webserver spezifische Einstellungen vorgenommen werden, Informationen hierzu finden Sie unter Grundlagen HTTP-Server.
  • Für eine Anpassung der verwendeten Ports stehen die Config-Einträge [webClient] httpPort bzw. [webClient] httpsPort zur Verfügung.
  • Abhängig von der Komplexität des Projektes und der Anzahl der Clients können mehrere Webserver abgesetzt betrieben werden und mittels des Config-Eintrags [httpServer] loadBalance für eine Lastverteilung konfiguriert werden.
  • Die Startseite des Webservers kann mittels des Config-Eintrages [httpServer] indexPage definiert werden.
  • Innerhalb eines redundanten WinCC OA-Projekts muss der Webserver Control-Manager mit dem Parameter "-connectToRedundantHosts" ausgeführt werden.
  • Durch definieren einer Panel Topology können individuelle Startseiten für die jeweiligen Benutzer definiert werden.
  • Verschiede UI Mangeroptionen können mit dem Config-Eintrag [httpServer] uiArguments angewendet werden.
  • Die Anzahl der Verbindungsversuche vom ULC UX zu den Webservern kann über den Config-Eintrag [ulcUX] reconnectCounteingestellt werden.

Weitere Konfigurationsmöglichkeiten finden Sie unter Mögliche Config-Einträge [httpServer].

HTTP-Serverauthentifzierung

Um die HTTP-Serverauthentifizierung zu verwenden, fügen Sie den Config-Eintrag [webClient]httpAuth=1 zu der webClient-Sektion der Config-Datei hinzu und aktivieren Sie den httpLogin in der WinCC_OA_Proj /config/config.http-Datei. Kopieren Sie zuerst die "config.http"-Datei aus wincc_oa_path /config ins WinCC_OA_Proj /config-Verzeichnis.

Wenn Sie die HTTP-Serverauthentifizierung verwenden, wird ein Login-Dialog (HTML5-Seite) angezeigt:

Abbildung 1. HTTP-Serverauthentifizierung Login-Dialog

Konfiguration eines abgesetzten Webservers für den ULC UX

Wenn der abgesetzte Web-Server Rechner einen Zugriff auf die Projektdateien für das User Interface (Panels, Scripts, Farbdatenbanken) hat, z.B.:

  • eine lokale Kopie aller Projektdateien
  • über einen oder mehrere "proj_path"-Einträge, die auf den Server und die entsprechenden Projektverzeichnisse verweisen

kann man am abgesetzten Web-Client den folgenden Config-Eintrag setzen:

[httpServer]uiUsesMainServerAsFileServer = 0

Wenn der Eintrag nicht gesetzt wurde, muss auch am Server ein Web-Server (Script webclient_http.ctl) gestartet werden, damit das ULC UX-UI (welches am abgesetzten Client-Rechner gestartet wird) die Dateien vom Server in das lokale Cache-Verzeichnis kopieren kann. Für ein Architekturbild einer abgesetzten Konfiguration, siehe die Abbildung "Multi System Architektur" im Kapitel Architektur.

URL Parameter

Die Url-Parameter können verwendet werden, um verschiedene Eigenschaften des ULC UX direkt am Client zu bestimmen. Die Parameter werden an die Webadresse des ULC UX mit "?<Parameter>=<Wert>" angefügt.

Parameter Beschreibung
size

Definiert die Größe des ULC UX innerhalb des Webbrowsers.

Beispiel: http://MyWebServer?size=1024x675

Der Wert muss im Format <length>x<height> angegeben werden.

panel

Definiert das Startpanel des ULC UX.

Beispiel: http://MyWebServer?panel=vision/login.pnl

Der angegebene Pfad muss relative zum /panel Verzeichnisses des WinCC OA-Projektes sein.

png

Definiert die Rate der Bildkomprimierung. Dieser Parameter überschreibt die Einstellungen welche innerhalb der Config-Datei vorgenommen wurden für die aktuelle Session.

Zugelassen sind die Werte 0 bis 100, wobei 0 keine Komprimierung darstellt und 100 der maximalen Komprimierung entspricht.

lang

Mittels des "lang" URL-Parameters kann eine Sprache an den Server übergeben werden. Diese wird, sofern Verfügbar, für das Aufschalten des UIs verwendet.

Beispiel: http://127.0.0.1/data/ulc/start.html?lang=de-AT

Ein eventuell gesetzter "-lang" Parameter innerhalb des Config-Eintrages [httpServer] uiArguments wird verworfen sollte dieser URL Parameter gesetzt werden.

touch

Der "touch" URL-Parameter wird mit dem Wert "1" gesetzt um die Verwendung des virtuellen Keyboards zu erlauben. Das Keyboard wird eingeblendet sobald ein Eingabeelement den Fokus bekommt.

Beispiel: http://127.0.0.1:100/data/ulc/ulc.html?touch=1

tz

Überschreibt die von den Clients verwendete Zeitzone, z.B.:

http://MyWebServer?tz=Europe/Vienna

Eine vollständige Liste der verfügbaren Zeitzonen kann auf der Webseite der Zeitzonen-Datenbank gefunden werden.

Achtung: Der Config-Eintrag [httpServer] ulcUseClientTimeZone muss auf "true" gesetzt sein, um diesen Parameter verwenden zu können.

VORSICHT: Der ULC UX verwendet den URL-Parameter "timezone" nicht mehr. Anstattdessen wird die Darstellung der Zeitwerte, wenn sich ULC UX-Client und Server in verschiedenen Zeitzonen befinden, mit dem Config-Eintrag [httpServer] ulcUseClientTimeZone gesteuert. Die ordentliche Verwendung dieser Funktionalität ist nur mit Servern mit Linux Betriebssystemen möglich.

Der neue URL-Parameter "tz" überschreibt die vom Client verwendete Zeitzone mit der übergebenen Information.

Lastverteilung

Jeder WinCC OA Websever kann für die Lastverteilung herangezogen werden. Die Konfiguration erfolgt über den Config-Eintrag [httpServer] loadBalance, welcher auf jedem Webserver gesetzt werden muss, der für die Lastverteilung genutzt wird (siehe auch Grundlagen Redundanz).

Der Eintrag kann mehrfach angegeben werden und jeder Eintrag entspricht einem weiteren Webserver der für den Start eines ULC UX-UI-Managers verwendet werden kann innerhalb des ULC UX-Projektes.

Beispiel - loadBalance

[httpServer]
loadBalance = “WebServer1”
loadBalance = “WebServer2”

Um die maximale Anzahl an ULC UX-UI-Managern auf dem entsprechenden Webserver kann über den "max=x" Parameter definiert werden, wobei x die maximale Anzahl an UIs ist. Standardmäßig wird das Limit auf 5 UIs gesetzt. Wenn der max Parameter auf 0 gesetzt wird werden keine Verbindungen für den Web Server akzeptiert.

Wenn sich eine neuer Client mit dem WinCC OA-System verbindet verteilt die Lastverteilung die neue Client Verbindung automatisch gleichmäßig auf die verfügbaren Webserver auf.

Beispiel – loadBalance max=x

[httpServer]
loadBalance = ”WebServer1 max=10” // A maximum of 10 ULC UX client connections can be opened on WebServer1
loadBalance = “WebServer2 max=15” // A maximum of 15 ULC UX client connections can be opened on WebServer1

Fakten und Vorteile der Lastverteilung

  • Mehrere dezitierte Maschinen agieren als Webserver für den ULC UX
  • Einfache Konfiguration durch den WinCC OA internen Webserver
  • Die Webserver können aus Sicherheitsgründen auch in einer DMZ angelegt werden.
  • Dedizierte Webserver können redundante Verbindungen zu redundanten WinCC OA-Servern aufbauen.
  • Für kleine Systeme ist kein dedizierter Webserver erforderlich.
  • Automatische Verteilung der Clients über die Webserver.
  • Die maximale Anzahl an Clients kann festgelegt werden.
  • Projektdateien (Panels, Script Libraries) befinden sich auf dem (redundanten) WinCC OA -Server und werden automatisch mit dem Webserver abgeglichen.
  • Der Verteil-Algorithmus basiert auf der Anzahl an laufenden Clients je Webserver und nicht auf der Leistung der CPU oder anderer Hardware Parameter.

Single Sign On

Single Sign On (SSO)-Authentifizierung wird verwendet, damit ein Benutzer sich nicht in jeder Applikation separat anmelden muss nachdem er sich bereits erfolgreich innerhalb der Domäne eingeloggt hat. SSO-Authentifizierung erhöht die IT-Sicherheit, da die Benutzerverwaltung zentralisiert und durch den IT-Administrator verwaltet wird. Ebenfalls erhöht sich der Komfort des Benutzers.

Um SSO für WinCC OA-Projekte verwenden zu können muss eine entsprechende IT-Infrastruktur vorhanden sein.

Mehr Details bezüglich SSO für WinCC OA finden Sie unter Grundlagen zur Benutzerverwaltung.

VORSICHT: Die Berechtigungsbits (Bit 32) werden bei ULC UX für SSO nicht berücksichtigt.
VORSICHT: Für Single Sign On mit ULC UX muss das "Server-Projekt" als Windows Service laufen. Wie Sie das Server-Projekt als Windows Service konfigurieren, siehe Kapitel Konfiguration des Service.

Wie Single Sign On funktioniert

Folgende Schritte demonstrieren wie SSO für den ULC UX funktioniert.

  1. Ein Benutzer greift auf einen integrierten WinCC OA-Webserver eines Projektes mittels Webbrowsers zu und liefert dabei automatisch die Benutzerinformationen via gesicherter HTTPs- "negotiation" Autorisierung.
  2. Der WinCC OA-Webserver überprüft ob die Benutzerinformationen innerhalb des Key Distribution Service hinterlegt und autorisiert sind. (Unter Windows das Active Directory und unter Linux mittels Kerberos). Wenn der Benutzer autorisiert ist folgt nun Schritt 5.
  3. Wenn keine Informationen zu diesem Benutzer hinterlegt sind oder ein Fehler während der Autorisierung auftritt (z.B. falsches Passwort) wird dem Benutzer ein Login-Fenster innerhalb des Browsers geöffnet und er muss sich manuell einloggen.
  4. Der Benutzer gibt korrekte Angaben an.
  5. Der WinCC OA-Webserver startet das WinCC OA-User-Interface mit den angegebenen Benutzerinformationen. Das User-Interface versucht sich nun mit den entsprechenden Angaben selbst in das WinCC OA-Projekt einzuloggen, welches auf dem WinCC OA-Server läuft. Sollte dieser Login fehlschlagen oder der Benutzer nicht vorhanden sein wird dem Benutzer das Login-Panel angezeigt.

Wenn die Benutzer Informationen nicht innerhalb des WinCC OA-Projektes hinterlegt sind muss ein WinCC OA Administrator den Benutzer mittels

  • einmaligen Login durch einen nativem Client auf dem WinCC OA-Server

oder

  • manuelles Anlegen des Benutzers innerhalb der WinCC OA Benutzerverwaltung

aufnehmen.

Anmerkung: Um SSO mit Firefox zu verwenden, ist es notwendig die URI als "trusted für negotiate" hinzuzufügen:
  • Öffnen Sie die Firefox Config-Seite mit "about:config" und filtern sie nach "negotiate".

  • Wählen Sie den "network.negotiate-auth.trusted-uris" Eintrag aus und geben sie die ULC UX URI ein.

Abbildung 2. Firefox Config-Seite

Vorteile von SSO

  • Zentrale Verwaltung der WinCC OA Benutzer und Berechtigungen
  • Verwendung von Active Directory unter Windows
  • Verwendung von Kerberos unter Linux
  • Die automatische Anmeldung beim Webserver und dem Projekt kann aktiviert werden
  • Unterschiedliche Start-Panel für unterschiedliche Benutzer möglich (siehe Grundlagen Paneltopologie)
  • Erhöhte Sicherheit durch zentrales Management von Berechtigungen.

Zusätzliche Konfiguration

Style

Standardmäßig verwendet der ULC UX den Style "fusion" für die Anzeige des UIs. Diese Einstellung kann mittels des UI Parameters "-style windows" auf den Windows Style angepasst werden. Der Parameter muss als Parameter für den Config-Eintrag [httpServer] uiArguments angegeben werden.

Panel Size

Wenn der anzuzeigende Inhalt des ULC UX die verfügbare Fläche innerhalb des Webbrowsers überschreitet werden Scrollbalken durch den Webbrowser angezeigt, welche für die Navigation zu den momentan nicht sichtbaren Bereichen des Inhalts verwendet werden können.

Wenn ein Panel geöffnet wird, das aufgrund der Größe Scrollbalken innerhalb des Panels benötigt, werden diese ebenfalls innerhalb des ULC UXs angezeigt.

Kopie in lokale Zwischenablage

Durch die Server/Client Architektur des ULC UX ist keine direkte Kopie in die Zwischenablage vom UI auf den Client Rechner möglich. In diesem Fall öffnet der Server einen Kopie Dialog in der rechten unteren Ecke des ULC UX-Interfaces.

Abbildung 3. Kopie in lokale Zwischenablage Dialog und Erfolg