Message-Diagnose

Defaultmäßig sind Datenpunkte für Nachrichten zwischen Event 0 und 4 CTRL-Manager, 4 User Interfaces, 4 Treiber, 1 Dist-Manager, 1 Data-Manager, 1 Redu-Manager und 2 Events (0, 128) vorgesehen (siehe Datenpunkttyp _Statistics_Connections). Für weitere Treiber oder UI's müssen zusätzlich DPs angelegt werden.

Aktivieren der Diagnose

  1. Starten Sie WinCC OA . Es wird defaultmäßig 30 Sekunden lang eine Statistik gemacht und dann abgeschaltet.
  2. Legen Sie wenn notwendig zusätzliche DPs an.
  3. Definieren Sie das Statistikintervall im jeweiligen DP (z.B. _Stat_event_0_to_ctrl_1) und zwar als Originalwert im Element SecToRefresh im Datenpunkt _Statistik_Connections_Refresh.
  4. In einem neu angelegten DP ist der Wert zunächst 0, was ein Ausschalten der Messagestatistik bedeutet.
  5. Ändern Sie den Originalwert, so wird erst die Länge des nächsten Statistikintervalls neu gesetzt. Das aktuelle Intervall bleibt noch gleich.

Deaktivieren der Diagnose

  1. Setzen Sie SecsToRefresh auf 0 um die Message-Statistik für diesen Datenpunkt abzuschalten. Das übersteuert in jedem Fall einen Config-Eintrag! .
  2. Setzen Sie den Eintrag MessageDiagSec = 0 um die gesamte Statistik zu deaktivieren.

    Damit beziehen Sie auch den ConfigRefresh mit ein und die Startphase.

Die Message-Diagnose kann zusätzlich mit der Kommandozeilenoption -dbg 30 (z.B. des Event-Managers) im Log Viewer angezeigt werden:

 Manager [3,0] connected for ALL dp-elements
 -- Msg overview elapsed secs since last report: 30,166
 snd total: 46 rcv total: 1116
 snd since last: 46 rcv since last: 1116
 -- Msg details
 man S/R msg -
 -----------------------------------
 [_Stat_event_0_to_event_0]
 Snd: DP_MSG_CONNECT 8
 Snd: DP_MESSAGE_VC 1
 Snd: DP_MSG_ANSWER 6
 Rcv: DP_MSG_CONNECT 8
 Rcv: DP_MESSAGE_VC 1
 Rcv: DP_MSG_ANSWER 6
 [_Stat_event_0_to_data_0]
 Snd: SYS_MSG 1
 Snd: SYS_MSG_NAMESERVER 25
 Snd: DP_MSG_HOTLINK 2
 Rcv: SYS_MSG 1040
 Rcv: SYS_MSG_NAMESERVER 25
 Rcv: DP_MSG_CONNECT 1
 Rcv: DP_MESSAGE_VC 4
 Rcv: DP_MSG_IDENTIFICATION 1
 Rcv: DP_MSG_TYPECONTAINER 1
 [_Stat_event_0_to_ui_1]
 Snd: DP_MSG_ANSWER 3
 Rcv: DP_MSG_CONNECT 28
 Rcv: DP_MSG_SIMPLE_REQUEST 1
  • Wenn zwei Manager über eine TCP/IP Verbindung miteinander kommunizieren, wird die Anzahl der Nachrichten, die während eines gegeben Intervalls gesendet/empfangen werden, auf eine Datenpunkt von Type _Statistic:_Connection ausgegeben.
  • Wenn ein Manager startet (Verbindung aufnimmt), sucht er im Datenpunkttyp _Statistics_Connection Datenpunkte wie _Stat_event_0_to_data_0 oder _Stat_event_0_to_ui_1. Einige dieser Datenpunkte sind als interne Datenpunkte angelegt, für andere Manager müssen Sie die Datenpunkte erst angelegen.
  • Der Datenpunkt auf den die Informationen für eine TCP/IP Verbindung geschrieben werden, wird nach folgender Konvention benannt:

_Stat_<ManagerType>_<ManagerNr>_to_<ManagerType>_<ManagerNr>

  • Der erste Manager schreibt die Statistik auf den Datenpunkt.

Beispiel

_Stat_event_0_to_ctrl_1

Das ist der Datenpunkt auf den die Daten der Verbindung vom Event zum Manager WCCOActrl –num 1 geschrieben werden. Die Statistik wird vom Event-Manager geschrieben.

MessageDiagSec

Wenn ein DP nicht existiert, kann die Diagnose nur durch eine Änderung dieses Config-Eintrages und den Neustart des jeweiligen Managers wieder eingeschalten werden.

[general]
MessageDiagSec = 35

Beim Event ist dieses Intervall auf 0 gesetzt. Beim Starten wird defaultmäßig eine Statistik gemacht, und nach den 30 Sekunden die Diagnose abgeschaltet. Die Verbindungen und Meldungen des Event-Managers können Sie im Panel "ev_connections" verfolgen (siehe Panels).

Nach dem Hochfahren von WinCC OA wird nur mehr die Werte der Datenpunkte für die Statistik verwendet.

Hinweis

MessageDiagSec fungiert als genereller Ein-/Ausschalter für Messages und Configs.

Es gilt:

  • MessageDiagSec = 0 die Statistik ist deaktiviert; wird auch bei Configsrefresh DP ungleich 0 keine Statistik berechnet, bzw. während des Startes von WinCC OA.
  • MessageDiagSec > 0 die Statistik ist aktiviert Der Wert hat aber nur für Nachrichten während des Starts von WinCC OA Gültigkeit. Danach wird der Wert des Datenpunktes genommen.

Um die Datenmenge, die verschickt wird, zu minimieren, werden immer nur jene Blätter des Datenpunktes beschrieben, die sich in dem Intervall geändert haben.

Die WinCC OA Nachrichten werden teilweise auf die gleichen Kategorien abgebildet:

Tabelle: Meldungskategorien

Kategorie Intervall WinCC OA Msg
SYS_MSG 30 Systemnachrichten zur Steuerung
SYS_MSG_NAMESERVER 30 Initialisierung
DP_MSG_CONNECT 30 entspricht einem dpConnect()/dpDisconnect
DP_MSG_HOTLINK 30 entspricht Hotlink
DP_MESSAGE_VC 30 entspricht einem dpSet(), dpSetTimed()
DP_MESSAGE_REQUEST 30 Forderung nach Antwort
DP_MESSAGE_ANSWER 30 Antwort auf Abfrage
DP_MSG_IDENTIFICATION 30 zur Initialisierung
DP_MSG_TYPECONTAINER 30 zur Initialisierung
DP_MSG_MANIP_DP 30 Auftrag zur Dp (Typ ) Änderung, dpDescription(), dpAlias()
DP_MSG_MANIP_CNS Bei der Verwendung von Anlagenmodell-Editor werden Messages verschickt. Die Kategorie DP_MSG_MANIP_CNS enthält diese Messages.
DP_MSG_LOCK 30 entspricht einer Sperre
DP_MSG_UNLOCK 30 Sperre aufgehoben
DP_MSG_CMD_NEW_DEL_DP 30 Benachrichtigung über Datenpunktänderung an Manager, dpCreate(), dpDelete()
DP_MSG_SIMPLE_REQUEST 30 entspricht dpGet()
DP_MSG_ASYNCH_REQUEST 30 dpGetAsynch()
DP_MSG_PERIOD_REQUEST 30 dpGetPeriod()
DP_MSG_ALERT_VC 30 alertSet()C
DP_MSG_ALERT_HL 30 Hotlink für Meldungen
DP_MSG_ALERT_CONNECT 30 entspricht dpConnect() für Meldungen, alertConnect()
DP_MSG_ALERT_DISCONN 30 alertDisconnect()
DP_MSG_ALERT_TIME_REQUEST 30
DP_MSG_ALERT_PERIOD_REQU 30 alertGetPeriod()
DP_MSG_FILTER_REQ 30 dpQuery()
DP_MSG_FILTER_CONNECT 30 queryConnect()
DP_MSG_FILTER_DISCONNECT 30 queryDisconnect()

Datenpunkttypen und Datenpunkt

Der Datenpunkttyp _Statistics_Connections besteht aus den Zählern (Blättern) in denen steht, wieviele Nachrichten im letzten Intervall gesendet (SndTotal) und empfangen (RcvTotal) wurden und wieviele Meldungen insgesamt verschickt wurden. Defaultmäßig sind Datenpunkte für Nachrichten zwischen Event 0 und 4 CTRL- Manager, 4 User-Interfaces, 4 Treiber, 1 Dist-Manager, 1 Data-Manager, 1 Redu-Manager und 2 Events (0, 128) vorgesehen. Für weitere Treiber oder UIs müssen zusätzlich DPs angelegt werden.

Der Datenpunkttyp _Statistics_Refresh enthält den Datenpunkt _Statistik_Connections_Refresh mit dem Element SecondsToRefresh.

Der Datenpunkttyp _Statistics_Msg enthält die möglichen Meldungskategorien (siehe obige Tabelle).

Beschreibung des Message-Protokolls

Eine dpConnect(), die in einem Panel in dem User Interface (WCCOAui) mit der Manager-Nummer 1 durchgeführt wird. Die dpConnect() wird mit dem Wert "true" für den Parameter "answer" aufgerufen. Das bedeutet, dass der aktuelle _online.._value nach dem Aufruf von dpConnect erhalten wird.

Die Einträge werden in die WinCC OA Prozess-Logdatei nach Aktivierung von Debug-Levels "-snd 2 -rcv 2" geschrieben. In diesem Fall wird die Ausgabe in die Log-Datei WCCOAuiqt1.log. geschrieben. Alle anderen Messages verwenden den gleichen Standard.

++++ Message wenn die dpConnect() aufgerufen wird ++++

WinCC OA Message

WCCOAuiqt(1) SENT:

---------------------------------------------------------------

[2007.06.16;15:18:50:217 (0.010) V350] DP_MSG_CONNECT Src: (SYS: 4 Ui -num 1 CONN: 1) Dst: (SYS: 4 Event -num 0 CONN: 1) Peer: (SYS: 4 Event -num 0 CONN: 1) originTime(2007.06.16;15:18:50:217 ) realTime:0 peerMsgId: 76 msgId: 78 origMsgId: 78 wantAnswer: 1 answerId: 0 connection id: 0 want values: 1

Item: 0 System4:Example1.value:_online.._value (Type: 39 Sys: 4 Dp: 94 El: 12 : _online.._value)

Beschreibung der Message-Teile: WCCOAuiqt(1) SENT: ===> WinCC OA Prozess, welcher eine WinCC OA Nachricht gesendet hat (in diesem Fall Manager WCCOAuiqt mit Manager-Nummer 1).
2007.06.16;15:18:50:217 ===> Der Zeitstempel, wann die Nachricht gesendet wurde
(0.010) ===> Die abgelaufene Zeit seit dem die letzte Message gesendet wurde (in Sekunden.Millisekunden)
V350 ===> Message-Version um erkennen zu können, welche Message-Version verwendet wurde.
DP_MSG_CONNECT ===> Message-Typ. In diesem Fall wird diese Message verwendet da hier die CTRL-Funktion dpConnect() verwendet wurde.
Src: (SYS: 4 Ui -num 1 CONN: 1) ===>Ursprung der Message. In diesem Fall wird die dpConnect() aus dem User Interface mit der Nummer 1 aufgerufen. Die Nummer 4 wird für das Stichwort SYS angezeigt da das Testsystem die Nummer 4 hat und Teil eines verteilten Systems ist.
CONN: 1 ===> Information, dass die Message an denersten Server gesendet wurde. In einem redundanten System wird die Information CONN:1 geschrieben, wenn eine Message an den ersten Server gesendet wurde, CONN:2 wird geschrieben, wenn die Message an den zweiten Server gesendet wurde. Die Information CONN:1 ist gegeben, wenn ein Single Server-System verwendet wird.
Dst: (SYS: 4 Event -num 0 CONN: 1) ===> Ziel der Message, die Message wird vom User Interface an Event Manager gesendet.
Peer: (SYS: 4 Event -num 0 CONN: 1) ===>Wenn die Message geleitet wurde, ist Peer der WinCC OA Prozess, der diese Message geleitet hat
originTime(2007.06.16;15:18:50:217 ) ===> Zeitstempel wann die Message beim User Interface erstellt wurde
realTime:0 ===> Zur Zeit nicht verwendet
peerMsgId: 76 ===>Zählt die Anzahl von Messages, die über diese Verbindung gesendet wurden. Das wird für die Überprüfung der redundanten Verbindungen verwendet.
msgId: 78 ===>Die Message-ID festgelegt vom User Interface. Die Message ID wird verwendet um die Antworten auf diese Connect-Message zu bearbeiten.
origMsgId: 78 ===>Ursprüngliche Message-ID. In diesem Fall ist das der gleiche Wert wie msgId da die Message vom User Interface generiert wurde.
wantAnswer: 1 ===>Schlüssel der beschreibt, dass eine Antwort auf diese Message erwartet wird.
answerId: 0 ===> Nicht gesetzt da das keine Answer-Message ist
connection id: 0 ===> Message ID der dpConnect-Message. Wird zur Zeit nicht verwendet
want values: 1 ===> Eine Antwort wird auf diese Message gewartet

Item: 0 System4:Example1.value:_online.._value (Type: 39 Sys: 4 Dp: 94 El: 12 : _online.._value) ===>

Das erste Element der Message. Wenn mehrere Elemente innerhalb einer Message gesendet werden, werden alle Elemente aufgelistet. Die Element-Anzahl beginnt bei 0.

System4:Example1.value:_online.._value ===> Name des DP-Elements, das bei der dpConnect()-Funktion angegeben wurde.

(Type: 39 Sys: 4 Dp: 94 El: 12 : _online.._value) ===> Interne Datenpunkt-Identifikation.

Type: 39 ===>Beschreibt, dass der Datenpunkt Example1 für den Datenpunkttyp mit der ID 39 erstellt wurde.

Sys: 4 ===> Datenpunkt ist Teil vom System mit der Nummer 4.

Dp: 94 ===> Interne ID für den Datenpunkt

El: 12 ===> Bezeichnung für das Datenpunkt-Element

_online.._value ===>Information welche Config und welches Attribut bei der dpConnect() angegeben wurden.

++++Antwort-Message für die dpConnect() ++++

WinCC OA Message

WCCOAuiqt(1) RECEIVED:

---------------------------------------------------------------

[2007.06.16;15:18:50:227 (0.000) V350] DP_MSG_ANSWER Src: (SYS: 4 Event -num 0 CONN: 1) Dst: (SYS: 4 Ui -num 1 CONN: 1) Peer: (SYS: 4 Event -num 0 CONN: 1) originTime(2007.06.16;15:18:50:217 ) realTime:0 peerMsgId: 94 msgId: 1026 origMsgId: 1026 wantAnswer: 0 answerId: 78 answerOn: DP_MSG_CONNECT LAST_ANSWER

Group: 0 OK

Item: 1 (System4:Example1.value:_online.._value (Type: 39 Sys: 4 Dp: 94 El: 12 : _online.._value) Value: 4)

Beschreibung der Message-Teile
WCCOAuiqt(1) RECEIVED: ===> WinCC OA Prozess, welcher eine WinCC OA Message erhalten hat.
2007.06.16;15:18:50:227 ===> Der Zeitstempel, wann die Nachricht empfangen wurde.
(0.000) === > Die abgelaufene Zeit seit dem die letzte Message empfangen wurde (in Sekunden.Millisekunden).
V350 === > Message-Version um erkennen zu können, welche Message-Version verwendet wurde.
DP_MSG_ANSWER ===>Message Typ. In diesem Fall erwartet die dpConnect() eine Antwort. Die erste Antwort wird vom Event Manager gesendet und es wird dieser Message-Typ verwendet.
Src: (SYS: 4 Event -num 0 CONN: 1) ===> Ursprung der Antwort-Message
Dst: (SYS: 4 Ui -num 1 CONN: 1) ===> Ziel für die DP_MSG_ANSWER-Nachricht
Peer: (SYS: 4 Event -num 0 CONN: 1) ===>Wenn die Message weitergeleitet wurde, ist Peer der WinCC OA Prozess, der diese Message weitergeleitet hat
originTime(2007.06.16;15:18:50:217 ) ===>Zeitstempel wann die Message gesendet wurde (Ausgangspunkt). In diesem Fall hat der Event Manager diese Nachricht gesendet.

realTime:0 ===> zur Zeit nicht verwendet

peerMsgId: 94 ===>Zählt die Anzahl der Messages, die über diese Verbindung gesendet wurden. Wird bei Überprüfung von redundanten Verbindungen verwendet.
msgId: 1026 ===>Message-ID, die vom Event Manager vorgegeben wurde.
origMsgId: 1026 ===>Ursprüngliche Message ID. In diesem Fall ist das der gleiche Wert wie msgId da die Message vom Event Manager erstellt wurde.
wantAnswer: 0 ===> Bezeichnung wenn eine Antwort für diese Message benötigt wird.
answerId: 78 ===> Information, dass dies die Antwort für die Message mit der ID 78 ist (siehe msgId bei Message DP_MSG_CONNECT).
answerOn: DP_MSG_CONNECT ===> Information, dass diese DP_MSG_ANSWER die Antwort Message auf DP_MSG_CONNECT ist
LAST_ANSWER ===>Information, ob dies die letzte Antwort für eine angeforderte ist, ist für zukünftige Zwecke implementiert. Wird zur Zeit nicht verwendet
Group: 0 OK ===>Anzahl von Gruppen, die innerhalb dieser Nachricht gesendet wurden. Eine Message kann mehrere Gruppen enthalten.
Item: 1 ===>Anzahl von Elementen, die innerhalb dieser Nachricht gesendet wurden. Eine Gruppe kann mehrere Elemente enthalten.
(System4:Example1.value:_online.._value ===>Name des Datenpunkt-Elements das innerhalb dieser Message gesendet wurde.

(Type: 39 Sys: 4 Dp: 94 El: 12 : _online.._value) ===> Interne Datenpunkt-Bezeichnung

Value: 4 ===> Wert für das aufgelistete Datenpunkt Element. In diesem Fall ist das der Online Wert. ++++ Hotlink-Message wenn der Online-Wert geändert wurde ++++

WinCC OA Message

WCCOAuiqt(1) RECEIVED:

---------------------------------------------------------------

[2007.06.16;15:19:20:130 (29.903) V350] DP_MSG_HOTLINK Src: (SYS: 4 Event -num 0 CONN: 1) Dst: (SYS: 4 Ui -num 1 CONN: 1) Peer: (SYS: 4 Event -num 0 CONN: 1) originTime(2007.06.16;15:19:20:110 ) realTime:0 peerMsgId: 95 msgId: 1164 origMsgId: 1164 wantAnswer: 0 answerId: 0

Group: 0

connectOn: 0 refresh: 0 OK

Src: (SYS: 4 Ui -num 2 CONN: 1) User: 0 Time: 2007.06.16;15:19:20:110

Item: 0 (System4:Example1.value:_online.._value (Type: 39 Sys: 4 Dp: 94 El: 12 : _online.._value) Value: 12)

Beschreibung der Message-Teile
WCCOAuiqt(1) RECEIVED: ===> WinCC OA Prozesss, welcher eine WinCC OA Message erhalten hat.
2007.06.16;15:19:20:130 ===> Der Zeitstempel, wenn die Nachricht empfangen wurde.
29.903 === > Die abgelaufene Zeit, seit dem die letzte Message empfangen wurde (in Sekunden.Millisekunden)
V350 === > Message-Version um erkennen zu können, welche Message-Version verwendet wurde.
DP_MSG_HOTLINK ===> Message Typ. Wenn eine dpConnect() aufgerufen wird, werden die Wertänderungen mit diesen Hotlink-Messages gesendet.
Src: (SYS: 4 Event -num 0 CONN: 1) ===> Ursprung der Antwort-Message
Dst: (SYS: 4 Ui -num 1 CONN: 1) ===> Ziel für die Hotlink-Message
Peer: (SYS: 4 Event -num 0 CONN: 1) ===>Wenn die Message weitergeleitet wird, ist Peer der WinCC OA Prozess, welcher diese Message weitergeleitet hat.
originTime(2007.06.16;15:19:20:110 ) ===> Zeitstempel wann die Message gesendet wurde (Ausgangspunkt). In diesem Fall hat der Event Manager diese Nachricht gesendet.
realTime:0 ===> wird nicht verwendet
peerMsgId: 95 ===>Zählt die Anzahl der Messages, die über diese Verbindung gesendet wurden. Dies wird bei der Überprüfung von redundanten Verbindungen verwendet.
msgId: 1164 ===>Message-ID, die vom Event Manager festgelegt wird.
origMsgId: 1164 ===>Ursprüngliche Message ID. In diesem Fall ist das der gleiche Wert wie msgId da die Message vom Event Manager erstellt wurde.
wantAnswer: 0 ===> Bezeichnung wenn eine Antwort für diese Message benötigt wird.
answerId: 0 ===> Message-ID der Message, die mit dieser Antwort beantwortet wird. Wird zur Zeit nicht verwendet.

useServerTime: ===> Zeitstempel in der Nachricht wird nicht von der Nachricht übernommen, sondern

es wird stattdessen die aktuelle Zeit vom Event-Manager verwendet. Damit wird sichergestellt, dass eine valide Zeit verwendet wird und eine ungültige Zeit nicht zu invalid Bits führt.

HINWEIS:useServerTime wird nicht für die Funktion dpSetTimed verwendet, da hier die Zeit des Clients verwendet wird.

Group: 0 ===> Anzahl von Gruppen, die innerhalb dieser Nachricht gesendet wurden. Eine Message kann mehrere Gruppen enthalten.
connectOn: 0 ===>ID der queryConnect, die mit dieser Gruppe von dieser Message beantwortet wird.
refresh: 0 OK ===> Der Wert ist 1, wenn diese Message die Anwort einer Verbindungsaktualisierung ist.
Src: (SYS: 4 Ui -num 2 CONN: 1) ===> WinCC OA Prozess, welcher den Wert gesetzt hat. In diesem Fall wurde der Wert mit User Interface Nummer 2 gesetzt.
User: 0 ===> Benutzer, der das Datenpunktelement gesetzt hat. Jeder Benutzer in einem WinCC OA System hat eine eindeutige Benutzer-ID.
Time: 2007.06.16;15:19:20:110 ===>Zeitstempel wann der Wert beim User Interface mit der Nummer 2 gesetzt wurde.
Item: 0 ===>Anzahl der Elemente, die mit dieser Hotlink-Message gesendet wurden. Eine Gruppe kann mehrere Elemente enthalten.
System4:Example1.value:_online.._value ===>Name des Datenpunkt-Elements, das innerhalb dieser Message gesendet wurde.
Type: 39 Sys: 4 Dp: 94 El: 12 : _online.._value ===>Interne Datenpunkt-Bezeichnung
Value: 12 ===> Wert für das aufgelistete Datenpunkt-Element. In diesem Fall ist das der Online-Wert.