WinCC OA als Linux Dienst

Sie können WinCC OA als Dienst konfigurieren und ein Projekt auch dann starten, wenn ein Benutzer nicht eingeloggt ist (siehe auch WinCC OA als Dienst) unter Linux genauso wie unter Windows. Der PMON mit dem definierten Projekt wird beim Starten des Systems gestartet.

Wenn WinCC OA als Dienst verwendet wird und SNMP verwendet wird, muss das verwendete Benutzerkonto Schreibrechte auf die Verzeichnisse <proj_path>/log und <proj_path>/db haben.

Unter Linux gibt es mehrere Möglichkeiten, WinCC OA als Dienst zu konfigurieren. Wir empfehlen die systemd Dienstdatei zu verwenden.

systemd Dienstdatei

Während der RPM Installation von WinCC OA wird die Datei /etc/systemd/system/winccoa@.service erstellt. Diese Datei wird nur von den folgenden systemctl Befehlen (und systemd) verwendet. Der zu verwendende Projektname wird ihm einfach als "Instanz"-Name mitgegeben.

Für einen Systemintegrator besteht normalerweise keine Notwendigkeit, die Datei zu ändern.

Dienst Aktivieren

Wenn ein Systemintegrator nun ein bestimmtes (bereits registriertes) WinCC OA Projekt definieren will, das beim Systemstart automatisch gestartet wird, gibt er einfach den folgenden Befehl ein:

systemctl enable winccoa@projectName

Dienst Deaktivieren

Um eine solche Konfiguration wieder zu deaktivieren, wird folgender Befehl verwendet:

systemctl disable winccoa@projectName

Manuelles Starten eines Projektes

Um ein Projekt manuell zu starten:

systemctl start winccoa@projectName

Projekt manuell stoppen

Um ein Projekt manuell zu stoppen:

systemctl stop winccoa@projectName

Status abfragen

Um den aktuellen Status abzufragen:

systemctl status winccoa@projectName

Systemprotokoll

So zeigen Sie das Systemprotokoll (Journal) an:

journalctl

Wie oben zu sehen, ist der winccoa@.service Datei nicht manuell geändert, aber systemd schafft es, symbolische Links zu dieser Datei zu erstellen, die den Projektnamen enthalten.

Projekt als bestimmter Benutzer ausführen

Oft ist es gewünscht, ein Projekt unter einem bestimmten Benutzer auszuführen. Um dies zu erreichen, muss der Systemintegrator die Servicedatei manuell ändern und die

#User=

Zeile auskommentieren, um den gewünschten Benutzer zu setzen, z. B.

User=winccoa

Projekt als Dienst mit RDB

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

Um ein WinCC OA Projekt als Dienst mit RDB unter Linux zu betreiben, müssen Sie in der Datei /etc/systemd/system/winccoa@service die folgenden Variablen definieren:

[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