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 für bestimmten 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=WinCC OA

Definition des Projekts, das gestartet werden soll

Nach dem Setzen des Dienstes muss die Datei /etc/winccoa.conf bearbeitet werden und der Eintrag "PVSS_II = ..." muss für das gewünschte Projekt angepasst werden.

Starten Sie das System neu (oder ändern Sie den Runlevel) und überprüfen Sie nach dem Login, ob das definierte Projekt während des Bootvorgangs gestartet wurde. Alle WinCC OA Prozesse werden als "root" gestartet.

Prüfen Sie vor dem Neustart des Rechners, ob alle UI-Manager des Projekts, die gestartet werden sollen, mit dem Starttyp "manuell" versehen sind. Wenn die Manager nicht über diesen Starttyp verfügen, passen Sie den Starttyp der Manager in der WinCC OA Konsole an (siehe Verwaltung von Managern). Der Starttyp "immer" startet die Manager immer. Um ein UI automatisch zu starten, geben Sie die Startoption -display :0.0 für die Benutzeroberfläche an.

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.18/bin/WCCILpmon -proj %i
ExecStop=/opt/WinCC_OA/3.18/bin/WCCILpmon -proj %i -stopWait
Environment="ORACLE_HOME=/disc/oracle/product/19.3.0.0/Db_1"

[Install]
WantedBy=multi-user.target