WinCC OA als Service

Wie unter Windows (siehe auch WinCC OA als Service) gibt es auch unter Linux die Möglichkeit, WinCC OA als Service zu konfigurieren und ein Projekt zu starten, auch wenn kein Benutzer eingeloggt ist. Es wird während dem Hochfahren des Systems der Pmon mit dem definierten Projekt gestartet.

VORSICHT: Wenn WinCC OA als Service verwendet wird und SNMP verwendet wird, muss der Account der verwendet wird, Schreibrechte auf die Verzeichnisse <proj_path>/log und <proj_path>/db haben.

Unter Linux haben sie mehrere Möglichkeiten, WinCC OA als Service zu konfigurieren. Es wird die Verwendung der systemd Service Datei empfohlen.

systemd Service Datei

Während der RPM Installation von WinCC OA wird die Datei /etc/systemd/system/winccoa@.service angelegt. Diese Datei Diese Datei wird nur für die folgenden systemctl Befehle (und systemd) benötigt. Der Projektname welcher verwendet werden soll wird nur nur als "Instanz" Name verwendet.

Anmerkung: Im normalen Anwendungsfall gibt es keinen Grund für einen System Integrator diese Datei zu bearbeiten.

Service Aktivieren

Um als System-Integrator ein spezifisches WinCC OA Projekt (bereits registriert) automatisch beim Hochfahren des Systems zu starten muss einfach folgender Befehl ausgeführt werden:

systemctl enable winccoa@projectName

Service deaktivieren

Um das Service erneut zu deaktivieren wird folgender Befehl verwendet:

systemctl disable winccoa@projectName

Projekt Manuell Starten

Um ein Projekt manuell zu starten kann wird folgender Befehl verwendet:

systemctl start winccoa@projectName

Projekt Manuell Stoppen

Folgender Befehl stoppt das Projekt:

systemctl stop winccoa@projectName

Status Abfragen

Der aktuelle Status kann mittels folgendem Befehl abgefragt werden:

systemctl status winccoa@projectName

System Log

Der System Log wird mit folgendem Befehl ausgegeben:

journalctl
Anmerkung: Wie oberhalb zu sehen ist wurde die winccoa@.service Datei nicht manuell angepasst, jedoch ist systemd in der Lage symbolische Links zu diesem File anzulegen welche den Projektnamen beinhalten.

Projekt mit Spezifischem Benutzer Betreiben

Oft ist es erfirderkich ein Projekt mit einem bestimmten Benutzer zu betreiben. Um dies zu ermöglichen muss der System-Integrator die Service Datei manuell anpassen und den Bereich

#User=

wieder einkommentieren und den gewünschten Benutzer angeben, z.B.

User=winccoa

Definition des zu startenden Projektes

Nachdem Sie den Dienst eingerichtet haben (mittels Skript oder manuell), muss als letzter Schritt die Datei /etc/winccoa.conf editiert und der Eintrag "PVSS_II = ..." mit dem gewünschten Projekt angepasst werden.

Starten Sie das System neu (oder ändern den Runlevel) und kontrollieren Sie nach dem Einloggen, ob das definierte Projekt während des Boot-Vorganges gestartet wurde. Alle WinCC OA-Prozesse werden als "root" gestartet.

VORSICHT: Vor dem Neustart des Rechners kontrollieren Sie, ob alle UI-Manager im Projekt, das gestartet werden soll, mit der Startart "manuell" versehen sind. Ist dies nicht der Fall, passen Sie die Startart der UIs mit der WinCC OA Console an (siehe auch Managerverwaltung). Bei Startart "immer" werden sie vom Pmon gestartet! Um ein User Interface automatisch zu starten, definieren Sie zusätzlich die Startoption -display :0.0 für das User Interface.

WinCC OA -Projekt als Service mit RDB

Anmerkung: Legen Sie die erforderlichen Umgebungsvariablen mit ldconfig fest, siehe Kapitel Legen Sie die erforderlichen Umgebungsvariablen für die Bibliotheken mit ldconfig fest.

Um ein WinCC OA -Projekt als Service mit RDB unter Linux laufen zu lassen, müssen die folgenden Variablen in der Datei /etc/systemd/system/winccoa@service definiert werden:

[Unit]
Description=WinCC OA project '%i'
[Service]
ExecStart=/opt/WinCC_OA/3.20/bin/WCCILpmon -proj %i
ExecStop=/opt/WinCC_OA/3.20/bin/WCCILpmon -proj %i -stopWait
Environment="ORACLE_HOME=/disc/oracle/product/19.3.0.0/Db_1"

[Install]
WantedBy=multi-user.target