Funktionalität des Pmon
Der Pmon verwaltet die progs-Datei (zu finden im Verzeichnis
<proj_path>/config/
), in der alle zu startenden Manager und deren
Überwachungsparameter eingetragen werden.
Die maximale Anzahl an Managern, die in dieser progs-Datei definiert werden können, ist mit 100 festgelegt. Jeder Rechner, auf dem WinCC OA-Manager laufen, hat eine eigene progs-Datei und auch einen eigenen Pmon. Wenn abgesetzte Manager gestartet werden (es wird ein Serverprojekt verwendet), wird eine progs-Datei angelegt.
Im nachfolgenden Block sehen Sie den Aufbau der progs-Datei mit einigen beispielhaften Einträgen.
Beispiel 1
version 1
auth "" ""
#Manager | Start | SecKill | Restart# | ResetMin | Options
WCCILpmon | manual | 30 | 3 | 1 |
WCCILdata | always | 30 | 3 | 1 |
WCCOAvalarch | always | 30 | 3 | 1 |-num 0
WCCOAvalarch | always | 30 | 3 | 1 |-num 1
WCCOAvalarch | always | 30 | 3 | 1 |-num 2
WCCOAvalarch | always | 30 | 3 | 1 |-num 3
WCCOAvalarch | always | 30 | 3 | 1 |-num 4
WCCOAvalarch | always | 30 | 3 | 1 |-num 5
WCCILevent | always | 30 | 3 | 1 |
WCCILproxy | always | 30 | 2 | 2 |
WCCILsim | always | 30 | 3 | 1 |
WCCOActrl | always | 30 | 3 | 1 |-num 1 -f pvss_scripts.lst
WCCOActrl | always | 30 | 3 | 1 |-num 2 -f demo_scripts.lst
WCCOActrl | once | 30 | 3 | 1 |-num 3 -f pid_scripts.lst
WCCOActrl | once | 30 | 2 | 2 |-num 4 scheduler.ctc
WCCOActrl | always | 30 | 3 | 1 |-num 5 webclient_http.ct
Auch der Pmon selbst sollte als 1. Eintrag in der progs-Datei vorkommen, damit auch dessen Status im Consolepanel angezeigt wird. Der Pmon selbst ist kein WinCC OA-Manager, sondern ein Hintergrundprozess, der Überwachungsfunktionalität übernimmt. Die Einträge in der progs-Datei haben folgende Bedeutung:
- #Manager: Name des WinCC OA-Managers (Angabe ohne die Endung .exe).
- Start: Hier können drei verschiedene Startarten angegeben werden.
- manual - Der Pmon startet diesen Manager nicht automatisch. Der Manager muss demnach manuell (z.B. über das Consolepanel) gestartet werden.
- always - Beim Projektstart sowie nach einem Absturz/Beenden wird der Manager sofort neu gestartet.
- once - Der Manager wir nur einmal beim Projektstart gestartet, dann nicht mehr.
- SecKill: Anzahl der Sekunden, die gewartet wird, um den Manager durch ein kill -9 (Das Beenden eines Managers wird erzwungen) zu beenden, wenn er innerhalb dieser Zeit nicht auf ein einfaches kill -15 (Normales Beenden eines Managers, d.h. es wird gewartet, bis der Manager bereit ist, sich zu beenden) nicht reagiert. Dies wird nur beim Stoppen des Projektes verwendet.
- Restart#: Gibt an, wie oft ein Manager maximal innerhalb der eingestellten Minuten bei ResetMin neu gestartet wird, nachdem er gestoppt wurde bzw. abgestürzt ist.
- Options: Geben Sie hier weitere Kommandozeilenoptionen für den jeweiligen Manager an. Mehr zu den Optionen der einzelnen Manager erfahren Sie im Kapitel Manageroptionen.
Der Pmon gibt standardmäßig für alle Aktionen, die er vornimmt, eine Info oder andere
Messages in der PVSS_II.log
-Datei aus. Diese Datei befindet sich im
Verzeichnis <proj_path>/log
und wird mit dem Log Viewer angezeigt.
Mögliche Fehler beim Projektstart (während des Hochfahrens) werden in die Datei
<proj_path/log/pmon_log.txt
geschrieben. Der Pmon schreibt zusätzlich in
die pmon.<hostname>
Datei (z.B. pmon.eiwrk028
). Die
Datei befindet sich ebenfalls in <proj_path>/log
. Über diese Datei
erkennen Sie die projektrelevanten Informationen wie Start und Stopp schnell, ohne in der
PVSS_II.log
-Datei suchen zu müssen. Die stderr+stdout-Ausgaben vom
WCCILpmon werden in die Datei
<proj_path>/log/WCCILpmon_<hostname>.log
geschrieben.
Die Überwachung der Dateigröße des PVSS_II.log
sowie des
pmon.<hostname> log
wird durch den Pmon vorgenommen. Mit dem
Config-Eintrag maxLogFileSize
in der [general]
-Sektion
kann die Dateigröße festgesetzt werden (Default = 10 MB, 0 = unlimitiert). Wird die
festgelegte Größe überschritten, wird die Datei in PVSS_II.bak
umbenannt.
Danach wird ein eventuell vorhandenes Shell-Skript (Batchdatei) mit dem Namen
postLogFileHandler
und der Erweiterung .sh
(unter Linux)
oder .cmd
(unter Windows) ausgeführt, welches sich im Verzeichnis
<proj_path>/bin
befinden muss. Der Name der
PVSS_II.bak
-Datei wird als Parameter übergeben.
Auch die <Manager><num>.log
-Dateien, die stdout und stderr
Ausgaben beinhalten, werden auf deren Größe überwacht. Die Verarbeitung ist dieselbe wie bei
der PVSS_II.log
-Datei (d.h. maxLogFileSize
gilt, und auch
ein vorhandenes postLogFileHandler
-Skript wird ausgeführt).
Wird der Pmon unter Windows von einer DOS-Box aus gestartet und dabei mindestens eine
Kommandozeilenoption verwendet (z.B. -log +stderr
oder -dbg
2
), dann wird der Pmon wie unter Linux als normale Kommandozeilen-Applikation
gestartet.