Details zum Pmon
Dieses Kapitel ist für fortgeschrittene WinCC OA Anwender, die weitere Details über Debugmöglichkeiten und wichtige Informationen zum Pmon erfahren möchten.
Debug-Levels
Um mögliche Fehlerquellen während der Aktionen aufzuspüren, gibt es auch für den Pmon die Möglichkeit Kommandozeilenoptionen zum Debuggen zu verwenden. Informationen über alle weiteren Optionen können mit -helpdbg abgefragt werden (siehe auch Manageroptionen).
Debug-Level | Beschreibung |
---|---|
-dbg 2 | Diese Option gibt detaillierte Informationen beim Pmon aus. |
-SNMP | Show SNMP debug info. |
-report all | Zeigt den aktuellen Status aller Manager, den aktuellen Pmon Modus sowie die zur Zeit aufgebauten TCP-Verbindungen. |
Kommandozeilenoptionen beim Pmon
Neben den standardmäßigen Kommandozeilenoptionen (z.B. -report, -help, ...), gibt es für den Pmon weitere spezielle Optionen für die Verwaltung eines WinCC OA Projektes.
Option | Beschreibung |
---|---|
-auth <olduser> <oldpassword> <user> <password> | Setzt in die progs-Datei einen User und das dazugehörige verschlüsselte Passwort, welches nötig ist, um per HTTP verändernd auf den Pmon zugreifen zu können. Zum Löschen von User/Passwort muss ein "" als neuer Wert angegeben werden. Der angegebene User muss immer übereinstimmen, wenn das definierte Passwort in der progs-Datei leer ist, benötigt man kein Passwort. Zum Ändern vom Passwort müssen der Benutzer und das alte Passwort eingegeben werden. |
-command |
Erlaubt es, Pmon Kommandos mit Hilfe der Kommandozeile aufzurufen. Syntax und verfügbare Kommandos finden sich unter Kommandos beim speziellen Pmon Protokoll. Hinweis Wenn User und Passwort nicht erforderlich sind für den Aufruf, muss das Element "##" nicht im Aufruf enthalten sein. z.B "-command START_ALL" anstatt "-command ##START_ALL". Ebenfalls muss das Trennzeichen ":" nur verwendet werden, wenn das Kommando ein entsprechendes Subkommando benötigt, z.B. "-command SINGLE_MGR:START 1" |
-helpcommand | Liefert eine Liste der verfügbaren Kommandos. Siehe auch Kommandos |
-n, -noAutostart | Verhindert den automatischen Hochlauf des WinCC OA Projektes und startet den Pmon im WAIT_MODE. |
-port <portNum> | Definiert den Server-Port für die TCP-Kommandos. |
-status |
Gibt im Rückgabewert an, ob ein Pmon für dieses Projekt schon läuft: 0=Pmon läuft, 3=Pmon gestoppt, 4 = unbekannt. Nicht verfügbar wenn der Pmon als Service gestartet wird. |
-stop |
Wenn ein Pmon für dieses Projekt schon läuft, wird er (und damit das gesamte Projekt) niedergefahren und gestoppt. Nicht verfügbar wenn der Pmon als Service gestartet wird. |
-stopWait |
Wie -stop, nur wird solange gewartet, bis das Projekt komplett gestoppt wurde und sich der Pmon beendet hat. Nicht verfügbar wenn der Pmon als Service gestartet wird. |
Kommandos beim speziellen Pmon Protokoll (pmon_query())
Mit diesen Kommandos kann die komplette PmonTable über das spezielle Pmon Protokoll am TCP-Server Port abgefragt aber auch verändert werden. Der Aufbau eines Kommandos sieht folgendermaßen aus:
user#cleartextPassword#<command>:[<subcommand>[<arguments>]]
"Subcommand" und "Arguments" sind optional. Die eckigen Klammern sind nicht Teil der Message. Beispiel für ein Kommando:
SINGLE_MGR:START 3
Die weiteren Kommandos entnehmen Sie nachfolgend angeführter Tabelle.
Kommando | Subkommando | Beschreibung |
---|---|---|
START_ALL | Startet das Projekt (nur im Modus WAIT_MODE erlaubt). | |
STOP_ALL | Stoppt das Projekt (vom letzten zum ersten Manager). | |
RESTART_ALL | Stoppt das Projekt und startet es dann neu (nur im Modus WAIT_MODE erlaubt). | |
SINGLE_MGR | Kommandos für einzelne Manager mit folgenden <subcommands>: | |
START <idx> | Startet den Manager mit dem Index <idx> (beginnend mit 1, Index 0 ist Pmon selbst). | |
STOP <idx> | Stoppt den Manager mit dem Index <idx>. Es wird ein kill -15 versucht. | |
KILL <idx> | Stoppt den Manager mit dem Index <idx>. Es wird ein kill -9 versucht. | |
DEL <idx> | Löscht den Manager mit dem Index <idx> aus der Pmon-Tabelle und damit auch aus der progs-Datei. Das ist nur dann erlaubt, wenn dieser und alle folgenden Manager gestoppt sind. | |
INS <idx> <manager> <startMode> <secKill> <restartCount> <resetMin> <commandlineOptions> | Fügt einen neuen Manager an der gewünschten Position ein. Das ist nur dann erlaubt, wenn dieser und alle folgenden Manager gestoppt sind. | |
PROP_PUT <idx> <startMode> <secKill> <restartCount> <resetMin> <commandlineOptions> |
Ändert die Überwachungsparameter für den Manager mit Index <idx>.
Der startMode muss als Wort (once, manual, always) angegeben werden. |
|
PROP_GET <idx> |
Erfragt die aktuellen Einstellungen. Die Antwort auf dieses Kommando ist wie folgt aufgebaut: <startMode> <secKill> <restartCount> <resetMin> <commandlineOptions> |
|
DEBUG <idx> <arguments> | Schickt die <arguments> wie ein killdbg an den angegebenen Manager. | |
MGRLIST | Kommandos zum Auflisten der Manager mit folgenden <subcommands>: | |
LIST |
Liefert die definierten Manager in folgendem Format: LIST:<count> <manager>;<startMode>;<secKill>;<restartCount>;<resetMin>;<CommandlineOptions> .... ; |
|
STATI |
Liefert den Status aller definierten Manager im folgenden Format:
<state> ... 0 (gestoppt), 1 (init) oder 2 (running), 3 (blocked) <PID> ... Process ID numerisch <startMode> ... 0 (manual), 1 (once), 2 (always) <startTime> ... z.B. 2003.03.25 17:06:07.123 <manNum> ... Manager Nummer (wird teilweise vom Data-Manager vergeben)
Der Status "blocked" wird nur im Überwachungsmodus vom pmon erkannt.
LIST:<count> <state>;<PID>;<startMode>;<startTime>;<manNum> <state>;<PID>;<startMode>;<startTime>;<manNum> ... <mode_numeric> <mode_string> <emergency_active_numeric><demoMode_active_numeric> ;
Die Zeile <mode_numeric> <mode_string> <emergency_active_numeric> <demoMode_active_numeric> zeigt den aktuellen Pmon Modus selbst (numerisch und als Text), und den Emergency Modus mit 0 (nicht aktiv) oder 1 (aktiv) und den Demo-Lizenz Modus mit 0 (nicht aktiv) oder 1 (aktiv).. z.B. "0 START_MODE 0 1" Die letzte Zeile die nur aus ";" besteht markiert das Ende der Liste. |
|
PROJECT |
Liefert den Namen des Projektes, das der Pmon bedient.
Kommandos, welche die progs-Datei beeinflussen, erzeugen automatisch eine neue progs-Datei, sodass diese Änderungen im shared-memory und in der progs-Datei synchron gehalten werden. |
< wincc_oa_path
>/scripts/libs/pmon.ctl
, in der die Funktionen verwendet werden (z.B.
Manager in die Console einfügen/löschen/bearbeiten).Deaktivierung des Aufschaltens von Windows Info-Dialogen, wenn ein WinCC OA Prozess gestoppt wird
Es kann vorkommen, dass Windows Info-Dialoge aufgeschalten werden, wenn ein WinCC OA Prozess (Manager) gestoppt wird. Der Prozess läuft dann so lange weiter, bist der Info-Dialog nicht bestätigt wird. Solche Info-Dialoge können z.B. sein:
- Sende-Dialoge an Microsoft
-
Debugger-Dialoge, wenn ein Debugger installiert ist
-
Andere Info-Dialoge mit Informationen zum gestoppten Prozess
Das Aufschalten der Windows-Dialoge kann möglicherweise mit einer der beiden folgenden Windows Konfigurationsanpassungen deaktiviert werden.
- Änderung der Registry-Einstellung DontShowUI
- Öffnen Sie die Eingabeaufforderung (Win+R), geben Sie "regedit" ein und klicken Sie auf OK.
- Wechseln Sie ins Verzeichnis HKEY_CURRENT_USER\Software\Microsoft\Windows\Windows Error Reporting\.
- Führen Sie einen Doppelklick auf den Schlüssel DontShowUI aus und setzen Sie den Wert auf 1.
- Wenn dieser Schlüssel dort nicht zu finden ist, ersuchen Sie diesen im Verzeichnis HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Windows Error Reporting\.
- Starten Sie den Rechner neu.
- Änderung der Registry-Einstellung ErrorMode
- Öffnen Sie die Eingabeaufforderung (Win+R), geben Sie "regedit" ein und klicken Sie auf OK.
-
Wechseln Sie ins Verzeichnis HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows\.
-
Führen Sie einen Doppelklick auf den Schlüssel ErrorMode aus und setzen Sie den Wert auf 2.
-
Starten Sie den Rechner neu.