[all sections]

Einstellungen die in jeder Sektion verwendet werden können

[all sections] aliveTimeout

Typ
integer
Default
-10
Wertebereich
MIN_INT..MAX_INT
Dieser Eintrag gibt an, in welchen Zeitabständen (in Sekunden) Alivetelegramme dieses Managers eintreffen müssen, wenn der Zielmanager einen Aliveport zur Verfügung stellt. Der Manager selbst schickt in diesem Zeitraum etwa 10 Alivetelegramme. Treffen beim Zielmanager in der Zeit keine Alivetelegramme ein, wird dieser die Verbindung schliessen. Ein Wert von 0 schaltet das Versenden von Alivetelegrammen und die Überwachung beim Zielmanager für diesen Manager ab. Negative Werte gelten nur für Verbindungen zwischen Managern, die auf unterschiedlichen Rechnern laufen, positive Werte für alle Managerverbindungen. Ziel von Alivemanagern kann jeder Manager sein, zu dem dieser eine Verbindung aufbaut und der einen Aliveport zur Verfügung stellt. Im allgemeinen sind dies lediglich Event- und evtl. Data-Manager. Für Dist-Manager auch die Dist-Manager der angekoppelten Systeme. Der Empfangsmodus des bestimmten Managers kann mit dem Config-Eintrag "alivePort = 0" deaktiviert werden.

[all sections] allowLocalMessageCompression

Typ
bool
Default
0
Wertebereich
0|1
Der Config-Eintrag allowLocalMessageCompression = 1 erlaubt die Verwendung der Nachrichtenkomprimierung am lokalen Rechner. Der Config-Eintrag kann z.B. bei der Verwendung des Web Clients gesetzt werden.

[all sections] chainPrefix

Typ
string

Eine Zertifikat "chain" ist die Verkettung der Subject Strings von verketteten Zertifikaten. Wenn die "chain of trust" wie folgt aussieht, z.B.:

                                           root-CA
                                                    ^
                                  sub-CA1 signed by |
                                    ^
                  sub-CA2 signed by |
                    ^
HOST_CERT signed by |

In diesem Fall ist die Zertifikats-chain "rootCA;sub-CA1;sub-CA2;HOST_CERT".

Wenn der Konfigfile Eintrag chainPrefix konfiguriert ist, muss der Start der Zertifikats chain des Peers mit dem gegebenen String beginnen.

[all sections] cipherSuiteList

Typ
string
Default
TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_AES_128_GCM_SHA256,ECDHE-RSA-AES256-GCM-SHA384,ECDHE-RSA-AES128-GCM-SHA256

Eine Cipher-Suite ist eine standardisierte Sammlung kryptographischer Verfahren.

Eine durch Kommas getrennte Liste aller, für die Kommunikation verwendbaren, Cipher-Suiten.

Der Server wählt die erste Cipher-Suite seiner Liste, die auch in der Liste des Clients zu finden ist.

TLSv1.3 ist standardmäßig aktiviert und verwendet eine Liste von Default-Ciphers (siehe Default oberhalb). Standardmäßig sind folgende Cipher-Suiten aktiviert:

  • TLS_AES_256_GCM_SHA384
  • TLS_CHACHA20_POLY1305_SHA256
  • TLS_AES_128_GCM_SHA256
  • ECDHE-RSA-AES256-GCM-SHA384
  • ECDHE-RSA-AES128-GCM-SHA256

Beim Auflisten der Cipher-Suiten werden die Werte durch Komma getrennt. Daher ist der Standardwert des Config-Eintrags:

cipherSuiteList = "TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_AES_128_GCM_SHA256,ECDHE-RSA-AES256-GCM-SHA384,ECDHE-RSA-AES128-GCM-SHA256"

Die Syntax ist:

cipherSuiteList = "<cipherSuite0>, <cipherSuite1>,...,<cipherSuiteN>"

Um entweder TLSv1.2 oder TLSv1.3 zu deaktivieren, ändern Sie diesen cipherSuiteList-Config-Eintrag, sodass dieser nur die spezifischen Ciphers enthält, z.B. wenn keine TLSv1.3-Cipher in der Liste ist, wird v1.3 deaktiviert und umgekehrt.

Verwenden Sie das Debug-Flag "-dbg BCM", um anzuzeigen welche Ciphers verwendet werden.

Die zulässigen v1.3-Ciphers sind auf der openSSL-Webseite beschrieben.

Beispiel

cipherSuiteList = "TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_AES_128_GCM_SHA256,ECDHE-RSA-AES256-GCM-SHA384,ECDHE-RSA-AES128-GCM-SHA256"

Die unterstützten Cipher-Suiten finden Sie in den Security Guidelines auf winccoa.com.

[all sections] connectDelay

Typ
int
Default
20
Wertebereich
>0
Länge der Verzögerung in Sekunden zwischen den Verbindungsversuchen zum anderen Programm (siehe connectRetries).

[all sections] connectRetries

Typ
int
Default
30
Wertebereich
>0
Anzahl der Verbindungsversuche zu einem anderen Programm. Die Verzögerung zwischen zwei Versuchen wird in connectDelay definiert.

[all sections] coverageReportFile

Typ
string
Definiert das File, in das Ausgaben von "-report CTRL_COVERAGE" geschrieben werden. Das File wird im log-Verzeichnis des Projektes angelegt. Die Platzhalter $MAN$, $DATE$ und $TIME$ werden durch Managername und -nummer, aktuelles Datum im Format YYYYMMDD bzw. aktuelle Zeit im Format HHMMSS ersetzt. Spezielle Namen sind "stderr" für Ausgaben auf stderr und "stdout" für Ausgaben auf stdout. Default ist eine Ausgabe auf das gleiche File wie alle anderen Ausgaben von "-report ...".

[all sections] ctrlBreakFunctionCall

Typ
bool
Default
0
Wertebereich
0|1
Gibt an, ob verschachtelte Funktionsaufrufe in einem Zug ausgeführt werden sollen (bzw. bis zu einem wartenden Funktionsaufruf) (= 0) oder ob das Script auch innerhalb dieser Funktionen unterbrochen werden kann (= 1).

[all sections] data

Typ
string
Default
local host name, port 4897
Der Eintrag gibt den Hostnamen des Data-Managers optional zusammen mit der Portnummer an. Soll ein Hostname zusammen mit der Portnummer angegeben werden, verwenden Sie den "data"-Eintrag. Hostname und Portnummer werden durch ein Doppelpunkt getrennt. Für redundante Systeme werden beide Data Hosts getrennt mit einem Dollarzeichen angegeben. Die vollständige Syntax lautet:
data = "host1[:port1]"
Oder (bei Redundanz):

data = "host1[:port1]$host2[:port2]"
Weitere Informationen zur Redundanz in WinCC OA finden Sie im Kapitel Grundlagen Redundanz. Oder (bei redundanten Netzwerkverbindungen):

data = "host1-1[:port1],host1-2[:port1]"
Weitere Informationen zu redundanten Netzwerkverbindungen in WinCC OA finden Sie im Kapitel Redundante Netzwerkverbindungen. Oder allgemein:

data = "host1-1[:port1],host1-2[:port1]$host2-1[:port2],host2-2[:port2]"
Statt Angabe des Hostnamens können auch IP-Adressen verwendet werden, z.B. data = "192.168.154.26". Die Verwendung von IP-Adressen kann möglicherweise unerwünschte Effekte nach sich ziehen (Auflösung IP - Hostname bei Verwendung in Skripts). Sollte es bei Verwendung von IP-Adressen Schwierigkeiten geben, müssen die Hostnamen herangezogen werden!

Hinweis:
Dieser Eintrag ersetzt die aus früheren Versionen bekannten Config-Einträge "dataHost" bzw. "dataPort", die aus Kompatibilitätsgründen erhalten bleiben.

[all sections] dataHost

Typ
string
Default
local host name
Obsoleter Eintrag. Rechnername, auf dem der Data-Manager (WCCILdata) gestartet wurde, d.h. alle Programme, die sich mit dem Data-Manager verbinden wollen, suchen diesen auf dem angegebenen Rechner.
Redundanz:
Primär und Sekundär-Host sind durch '$' getrennt. Dieses Format von dataHost/eventHost schaltet die Redundanz ein.
Achtung:
Dieser Eintrag sollte nicht mehr verwendet werden. Für die Definition von Hostnamen verwenden Sie den Eintrag "data".

[all sections] dataPort

Typ
integer
Default
4897
Wertebereich
1024 .. 65535 (see RFC 1340 | /etc/services)
Portnummer des Data-Managers.
Achtung:
Dieser Eintrag sollte nicht mehr verwendet werden. Für die Definition von Portnummern verwenden Sie den Eintrag "data".

[all sections] dbg

Typ
string
Mit dem Eintrag können Debug-Flags für Manager gesetzt werden. Dies ist speziell beim PMON sinnvoll, wenn er als Windows-Service betrieben wird, da dort keine Kommandozeilen-Argumente möglich sind. Beispiel: dbg = "2,16,SOME_FLAG"

[all sections] dbgOffset

Typ
integer
Default
1
Wertebereich
>0
Stellt einen Offset für dbgCount ein. dbgCount = 100 und dbgOffset = 2 bedeutet somit, dass nach 2, 102, 202, ... Meldungen die Debugmeldung ausgegeben wird. Der Manager muss dafür mit der Kommandozeilenoption '-dbg 17' gestartet werden. Die Option wurde bislang für Event- und Datamanager sowie alle Treiber implementiert.

[all sections] DHParamFile

Typ
string
Default
2048-bit MODP group 14
Der Pfad, relativ zum Root Directory des Projekts und der Name des PEM Files das die DHparameter Struktur enthält. Das Format der Struktur wird durch den PKCS#3 Standard beschrieben. Dieser Parameter hat nur Bedeutung für Cipher Suites die das Diffie-Hellman (DHE) Key Exchange Protocol verwenden.

[all sections] discreteImpulseAlertWithoutWent

Typ
bool
Default
0
Wertebereich
0|1
Ist dieser Config Eintrag gesetzt wird bei diskreten Impuls-Alarmen kein GING Ereignis erzeugt. Dadurch kann man Status-Meldungen erzeugen wie z.B.: 1 Offen, 2 Geschlossen, 3 Zwischenlage 4 Fehler und im Alarmlog ist dann je nach Wertefolge zu lesen: Offen KAM; Zwischenlage KAM; Geschlossen KAM; Fehler KAM .... - Ohne diesen Eintrag werden im Alarmlog auch die GING Ereignisse protokolliert (Offen KAN; Offen GING; ...)

[all sections] distributed

Typ
bool
Default
0
Wertebereich
0|1
Definiert ein verteiltes System. Ein verteiltes System benötigt den "distributed = 1" -Eintrag. Zusätzlich kann dieser Wert für einzelne Manager überschrieben werden.

[ctrl_1]
distributed = 0
In diesem Fall kann der Control-Manager mit der Nummer 1 nicht auf die DPs anderer Systeme zugreifen (DP Identification wird nicht an diesen Manager übermittelt).

[all sections] ECDHCurve

Typ
string
Default
prime256v1
Für Cipher Suites die das Ecliptic curve Diffie-Hellman (ECDHE) Key Exchange Protocol verwenden kann die zu verwendende Elliptic curve konfiguriert werden. Führen Sie "openssl.exe ecparam -list_curves" aus um die Liste aller verfügbaren curves Ihrer installierten OpenSSL Version zu erhalten.

[all sections] event

Typ
string
Default
lokaler Hostname, Port 4998
Definiert die Hostnamen und optionale Portnummern des Event-Managers. Die Syntax dieses Eintrages ist gleich der Syntax beim Config-Eintrag "data" (siehe oben).
Achtung:
Dieser Eintrag ersetzt die aus früheren Versionen bekannten Config-Einträge "eventHost" bzw. "eventPort", die aus Kompatibilitätsgründen erhalten bleiben.

[all sections] eventHost

Typ
string
Default
lokaler Hostname
Obsoleter Eintrag. Rechnername auf dem der Event-Manager (WCCILevent) gestartet wurde, d.h. alle Programme, die sich mit dem Event-Manager verbinden wollen, suchen diesen auf dem angegebenen Rechner.
Redundanz:
Primär und Sekundär-Host sind durch '$' getrennt. Dieses Format von dataHost/eventHost schaltet die Redundanz ein.
Achtung:
Dieser Eintrag sollte nicht mehr verwendet werden. Für die Definition von Hostnamen verwenden Sie den Eintrag "event".

[all sections] eventPort

Typ
int
Default
4998
Wertebereich
1024 .. 65535 (siehe RFC 1340 | /etc/services)
Portnummer des Event-Managers.
Achtung:
Dieser Eintrag sollte nicht mehr verwendet werden. Für die Definition von Portnummern verwenden Sie den Eintrag "event".

[all sections] exitDelay

Typ
uint
Default
0
Wertebereich
>=0
Definiert wie viele Sekunden ein Manager vor dem endgültigen Beenden (Exit) noch wartet (in dem Fall wird eine Logmeldung ausgegeben). Wird ein Manager mit einem Signal beendet, sollte diese Verzögerung nicht verwendet werden (z.B. Stop durch Console/Pmon), ansonsten wird sie immer verwendet.

[all sections] ignoreManager

Typ
string int
Ein Treiber ignoriert Hotlinks, die auf Wertänderungen bestimmter Manager beruhen. Der Manager wird über einen Namen und seine Managernummer identifiziert. Der Name entspricht den entsprechenden Abschnitt ohne die eckigen Klammern, z.B. für Control 'ctrl'. Ausnahmen: Alle Treiber werden als 'driver', alle Api als 'api' und alle Gerätemanager (SCA-RS) als 'device' identifiziert. Beispiel: [ssi] ignoreManager = "ascii" 1

[all sections] ip_allow, ip_deny

Typ
string
Mit ip_allow bzw. ip_deny kann eine Access Control Liste mit IP-Bereichen von Clients, welche diverse WinCC OA Server Sockets (Event, Data, HTTP, etc.) verwenden wollen, definiert werden. Wildcards * und ? werden unterstützt. (z.B. "*.etm.at"). Der spezielle Wert "-empty list-" löscht die bis dahin definierte Liste komplett (z.B. ip_deny = "-empty list-") Mehrfaches Vorkommen dieser Config-Einträge addiert diese zur Liste. Für weitere Details und Beispiele siehe IP Accesslisten für TCP-Server Sockets in der Online Hilfe.

[all sections] kerberosSecurity

Typ
string
Default
none
Wertebereich
none,auth,int,enc
Überwacht das Verhalten der Client-Server-Verbindung.
  • "none" ist der Defaultwert und gibt an, dass Kerberos nicht verwendet wird.
  • "authenticate" gibt an, dass die Clients und Server sich authentifizieren müssen. Nachrichten werden weder signiert noch verschlüsselt.
  • "integrity" gibt an, dass sich die Clients und Server authentifizieren müssen und danach alle Nachrichten signieren müssen. Wenn einer von den Partnern bei der Bestätigung der Signatur einer Nachricht von dem anderen Partner scheitert, wird die Verbindung abgebrochen.
  • "encryption"> gibt an, dass sich die Clients und Server authentifizieren müssen und danach alle Nachrichten verschlüsseln müssen. Wenn einer von den Partnern bei der Bestätigung der Signatur einer Nachricht von dem anderen Partner scheitert, wird die Verbindung abgebrochen.
Wenn ein Client und ein Server verschiedene Einstellungen enthalten, gewinnt der stärkere (in der Reihenfolge: auth/int/enc) und definiert das Nachrichtenverhalten. Die (initial) INIT_SYS- und KEEP_ALIVE-Nachrichten werden weder signiert noch verschlüsselt. Diese Nachrichten enthalten nicht sensible Daten und das Senden im Klartext stellt kein Problem dar. Der Grund für das Senden der Nachrichten im Klartext ist, dass ein Peer bereit für das Signieren/ Verschlüsseln der Nachricht wäre aber die andere Seite mehr Daten für das Überprüfen/Entschlüsseln der Nachricht benötigt.

[all sections] localAddress

Typ
string
localAddress erlaubt es, die lokale Netzwerkadresse eines Servers festzulegen. Per default ist ein Server über alle lokalen IP-Adressen erreichbar. Ausgenommem hiervon ist der Pmon, der per default nur über lokal, also "localhost" erreichbar ist und nicht von anderen Rechnern aus. Mit localAddress kann man festlegen, dass ein Server nur über eine bestimmte IP-Adresse erreichbar ist, z.B. nur über die loopback-Adresse (localhost oder 127.0.0.1) oder die einer bestimmten Netzwerkkarte. Gültige Einträge sind "" für alle Adressen, "0.0.0.0" für alle IPv4-Adressen, "::" für alle IPv6-Adressen, "127.0.0.1" oder "localhost" für IPv4 loopback, "::1" für IPv6 loopback oder jede andere lokale IP-Adresse.

[all sections] logFile

Typ
bool
Default
1
Wertebereich
0|1
Steuert die Ausgabe der Fehlermeldungen zu einer Datei. Im Projektverzeichnis befindet sich im Verzeichnis log für jeden Manager eine solche Datei. 1...ein, 0...aus.

[all sections] logStdErr

Typ
bool
Default
0
Wertebereich
0|1
Legt fest, ob Meldungen des Standard WinCC OA Error Handlers auf stderr (Standard Error Ausgabe) geschrieben werden sollen oder nicht. stderr wird je nach Manager in eine Datei {Manager}{Nummer}.log umgeleitet.

[all sections] maxDpNamesCount

Typ
unsigned integer
Default
1.000.000
Wertebereich
>=0
Gibt an, wie viele Datenpunktelemente ein dpNames() bzw. die entsprechenden Funktionen im API (getIdSet und Verwandte) liefern darf. Bei einer Überschreitung liefern die entsprechenden Funktionen nichts (dpNames) bzw. einen Fehler. Der Wert 0 erlaubt beliebig viele Werte. Beachten Sie, dass es zu einer Überschreitung auch kommen kann, wenn für einen Datenpunkt das abgefragte Suchobjekt (DPE, Alias, Kommentar, etc.) nicht existiert, aber der DP dennoch dem gesetzten Filter entspricht. Zum Beispiel wird in der Funktion dpGetAllAliases() die Anzahl der Datenpunktelemente, die dem Filter entsprechen, mit der festgelegten Anzahl in maxDpNamesCount verglichen, auch wenn nicht alle Datenpunktelemente einen Alias besitzen.

HINWEIS: Wenn die Ergebnisliste einer Funktion größer als der Wert des Config-Eintrags "maxDpNamesCount" ist, wird die Abfrage abgebrochen. Dies gilt z.B. für die folgenden Funktionen:

- dpGetAllAliases()

- dpTypes()

- dpAliases()

- dpNames()

- Alle Abfrage(Query)-Funktionen, die im FROM-Teil der Abfrage nach Patterns (Muster) wie z.B. FROM '*.**' filtern.

[all sections] maxLogFileSize

Typ
unsigned integer
Default
10
Wertebereich
1-65535
Einheit
MegaByte

Gibt die maximale Größe der Datei <proj_dir>/log/PVSS_II.log in MB an (0 = unbegrenzt). Der Eintrag wird von allen Managern (für die jeweils eigenen Log-Dateien) ausgewertet. Der Eintrag kann auch in [general]-Sektion verwendet werden. In diesem Fall gilt der Eintrag für alle Manager.

Hinweis: Wenn der Eintrag sowohl in einer allgemeinen als auch in einer manager-spezifischen Sektion vorkommt, wird der letzte Eintrag verwendet, der von oben im Verlauf der Datei erscheint.

Wird diese Größe überschritten, so wird die Datei in PVSS_II.log.bak umbenannt und eine neue Datei erstellt. Ein bestehendes File PVSS_II.log.bak wird dabei überschrieben. Anschließend wird unter Windows das Skript postLogFileHandler.cmd bzw. unter Linux postLogFileHandler.sh aufgerufen.

Die Größe der Log-Datei wird alle 30 Sekunden (bei Last auch länger) geprüft und kann daher beim Umbruch von der Einstellung deutlich nach oben abweichen (je nach Schreibgeschwindigkeit auf die Log-Datei).

[all sections] messageCompression

Typ
string
Default
none
Wertebereich
none, zlib, bzip2, zlib-bzip2
Mit dem Config-Eintrag "messageCompression" wird das Komprimierungsschema für die Nachrichten-Komprimierung festgelegt. Der Config-Eintrag kann die folgenden Schemen enthalten:
  • "none" - keine Kompression
  • "zlib" - komprimiert unter Verwendung von der zlib (gzip, zip); siehe http://www.zlib.org
  • "bzip2" - komprimiert unter Verwendung des bzip2-Algorithmus (bzip2 ist ein frei verfügbarer, hoch qualitativer Komprimierungs Algorithmus; siehe http://www.bzip.org). "bzip2" komprimiert besser als "zlib", jedoch mit höherer CPU-Auslastung.
  • "zlib-bzip2" - komprimiert kurze Messages mit zlib, große Messages, wie z.B. die Identifikation, mit bzip2.
Der Eintrag kann in allen Sektionen der Config-Datei verwendet werden. Es können mehrere Schemen zur Auswahl angegeben werden, z.B. messageCompression = "zlib-bzip2,zlib". Client und Server einigen sich dann auf das erste gemeinsame Verfahren. Ist also beim Client "zlib" und beim Server "bzip,zlib" parametriert, wird das "zlib" -Verfahren verwendet. Der Default-Wert ist "none" und falls sie komprimierte Messages verwenden wollen empfehlen wir "zlib-bzip2" zu verwenden.

[all sections] messageCompressionThreshold

Typ
int
Default
0
Wertebereich
0 - MAX_INT
Der Eintrag gibt an, ab welcher Größe in Bytes messages komprimmiert werden sollen. "0" bedeutet dabei "alles komprimmieren". Komprimierung ist immer mit einer gewissen CPU Belastung verbunden. Unter Umständen kann es günstiger sein, kleine Messages nicht zu komprimmieren, da der Durchsatz im Netzwerk sich kaum ändert. Ein guter Wert für diesen Eintrag ist die MTU, das heisst die maximale Anzahl an Bytes, die in einem TCP-Paket übertragen werden kann. Die MTU hängt von der Netzwerkkonfiguration ab und schwankt zwischen wenigen 100 Bytes (PPP) bis ca. 1200 Bytes (Ethernet).

[all sections] mxProxy

Typ
string
Default
derived from various settings
Wertebereich
n.a.

Syntax:

mxProxy = "<serverHost> <proxyHost[:proxyPort]> <securityMode>" | "none"

z.B.

mxProxy = "system36 etmFW:5678 cert"

mxProxy = "system314 system314 cert"

mxProxy = "system310 system310 none"

mxProxy = "none"

Dieser Eintrag kann mehrmals auftreten, einmal für jede Connection.

  • serverHost - Name des Hosts auf dem der Server (z.B. WCCILdata) läuft mit dem kommuniziert werden soll.
  • proxyHost - Name des Hosts auf dem der WCCILproxy läuft
  • proxyPort - Port der vom WCCILproxy verwendet wird (Defaultport: 5678)
  • securityMode - Detailierte Informationen siehe securityMode

Wenn keine Proxy-Konfiguration verfügbar ist, verbindet sich der Client direkt mit dem Host, der durch den Data-Config-Eintrag angegeben ist, unter der Annahme, dass die Data- und Event-Manager sowie der Proxy-Manager auf diesem Host laufen.

Wenn eine IPv6-Adresse für den "server"- und "mxProxy"-Einträge verwendet wird, müssen [ ] (Eckige Klammern) verwendet werden.

[general]

mxProxy = "[::1] [::1]:5678 cert"

[proxy]

server = "[fe80::2c5c:5415:98f1:82f3]:1234"

Der Eintrag mxProxy="none" deaktiviert den Multiplexing Proxy.

[all sections] noReverseLookup

Typ
bool
Default
0
Wertebereich
0|1
Definiert, ob bei einer Managerverbindung die IP-Adresse zu einem Namen aufgelöst werden soll. Für Android und iOS ist der default 1, für alle anderen Plattformen ist er 0.

[all sections] optimisedRefresh

Typ
Bool
Default
1
Wertebereich
0|1
Bei einer Redundanzumschaltung sendet der Client eine DISCONNECT_ALL Message an das umschaltende System. Da die Verarbeitung der Message relativ aufwändig ist geschieht das per default nur, wenn auch Anmeldungen (dpConnect) in diesem System betroffen sind. Mit diesem Config-Eintrag kann erreicht werden, dass der Client diese Message auch dann schickt, wenn es keine Anmeldungen gibt. Frühe Systeme, z.B. 3.11, brauchen diese Message, da sie sonst nicht erkennen, ob ein Manager neu gestartet wurde.

[all sections] osErrorMode

Typ
int
Default
1
Wertebereich
0,1,4,2,32768
Der Config-Eintrag schaltet die Windows Fehlermeldungsdialoge aus. Es können mehrere Optionen für den Eintrag gleichzeitig verwendet werden. Die Optionen können als Maske verwendet werden. Um mehrere Optionen zu verwenden, verwenden Sie den binären Operatoren (or)|).
  • Die Option 0 zeigt alle Windows Fehlermeldungsdialogfenster an. Option 1 (SEM_FAILCRITICALERRORS)- das System zeigt die kritischen Fehlermeldungsdialogfenster nicht an. Stattdessen wird die Fehlermeldung an den aufrufenden Prozess gesendet. Option 4 (SEM_NOALIGNMENTFAULTEXCEPT) - das System korrigiert automatisch Speicherausrichtungsfehler und blendet diese aus. Option 2 (SEM_NOGPFAULTERRORBOX) - das System zeigt das Windows Fehlermeldungsdialogfenster nicht an. Option 32768 (SEM_NOOPENFILEERRORBOX) - das System zeigt kein Hinweisfenster, wenn eine Datei nicht gefunden wurde. Stattdessen wird ein Fehler and den aufrufenden Prozess gesendet.
z.B. [general] osErrorMode=4|2

[all sections] outstandingMsgTimeout

Typ
int
Default
-1
Jeder Manager überprüft regelmäßig, ob alle ausstehenden Nachrichten (Anfragen) ihre Antworten in einem durch outstandingMsgTimeout definierten Zeitraum (in Sekunden) erhalten. Falls die Zeitüberwachung abläuft, wird eine Warnung ausgegeben. Danach wird die Warnung auch alle outstandingMsgTimeout Sekunden ausgegeben, bis die Antwort eintrifft. Um diese Funktion zu aktivieren, setzen Sie den Eintrag auf einen Wert >= 0. Der Wert -1 (default) deaktiviert die Funktion

[all sections] refreshDelay

Typ
int
Default
0
Wertebereich
>=0
Länge der Verzögerung in Sekunden für ein refresh der connects nach einer Redundanz Umschaltung. Die angegebene Zeit wird pro Manager für eine bessere Lastverteilung noch zufällig variiert und die Berechnung basiert auf diesem Wert.

[all sections] reportFile

Typ
string
Definiert das File, in das Ausgaben von "-report ..." geschrieben werden. Das File wird im log-Verzeichnis des Projektes angelegt. Die Platzhalter $MAN$, $DATE$ und $TIME$ werden durch Managername und -nummer, aktuelles Datum im Format YYYYMMDD bzw. aktuelle Zeit im Format HHMMSS ersetzt. Spezielle Namen sind "stderr" für Ausgaben auf stderr und "stdout" für Ausgaben auf stdout. Default ist eine Ausgabe auf stderr.

[all sections] securityMode

Typ
string
Default
cert
Wertebereich
plain | cert | winCert | none
  • cert - SSL/TLS mit PEM Format Zertifikat-Dateien werden für Multiplexing Proxy und SSL Kommunikation zwischen Managern sowie für den HTTP Server zwischen Client und Server verwendet .
  • winCert - SSL/TLS mit Zertifikat aus dem Windows Certificate Store werden für Multiplexing Proxy und SSL Kommunikation zwischen Managern sowie für den HTTP Server zwischen Client und Server verwendet.
  • none - Die Kommunikation erfolgt nicht via WCCILproxy, sondern unverschlüsselt direkt mit den Servern. Mit dieser Option können Verteilte Systeme Hosts mit älteren WinCC OA Versionen, die noch keinen SSL/TLS Support bieten, aufnehmen.

[all sections] singleSourceConnect

Typ
integer
Default
0
Wertebereich
0|1
In redundanten Netzwerkverbindungen müssen die Source IP-Adresssen unterschiedlich sein. Eine zweite Verbindung wird beendet, wenn sie die gleiche Source IP-Adresse hat wie die bestehende Verbindung. Wenn ein Rechner sich jedoch über eine Netzwerkkarte zu einem redundantem Netzwerk verbindet, haben beide Verbindungen die gleiche Source IP-Adresse. In diesem Fall muss singleSourceConnect auf 1 gesetzt werden.

[all sections] ssaCertCheck

Typ
String
Wertebereich
chainPrefix=%chainPrefix%

Mit dem Config-Eintrag kann ein ChainPräfix gesetzt werden. Dieses wird für Windows Cert Store-Zertifikate benötigt.

ssaChertCheck = "chainPrefix=rootCA;sub-CA1;sub-CA2;HOST_CERT"

Wenn der Konfigfile Eintrag ssaChertCheck konfiguriert ist, muss der Start der Zertifikatschain mit dem gegebenen String beginnen.

[all sections] ssaCertificate

Typ
string
"[Typ]:[Wert]"
  • Typ: kann "file" oder "store" sein und beschreibt wo das Zertifikat gespeichert wurde.
  • Wert: Abhängig vom "Typ", ist "Wert" entweder der relative Pfad des Zertifikats (Typ == "file") oder wird aufgeteilt in "loc:store:subject"

    -loc: Speicherort vom Store.

    "USER" ist der aktuelle Windows Certificate Store-Benutzer: CERT_SYSTEM_STORE_CURRENT_USER,

    "MACHINE" ist der Windows Certificate Store Account der lokalen Maschine: CERT_SYSTEM_STORE_LOCAL_MACHINE

    -store: Name des Zertifikat-Stores der verwendet wird.

    -subject: Suchkriterien, um das Zertifikat über Betreff/SHA1-Eigenschaft zu finden.

[all sections] ssaChainFile

Typ
string
ssaChainFile = "[wert]"

Wert ist der Pfad der Certificate Chain-Datei(kann entweder relativ oder absolut sein).

[all sections] ssaCRL

Typ
string
ssaCRL = "[wert]" Wert ist der Pfad der CRL-Datei (Zertifikatsperrliste). Der Pfad kann entweder relativ oder absolut sein.

[all sections] ssaPrivateKey

Typ
String
"[Typ]:[Wert]"
  • Typ: kann "file" oder "store" sein und beschreibt wo der Privatschlüssel gespeichert wurde.
  • Wert: Abhängig vom "Typ", ist "Wert" entweder der relative Pfad des Schlüssels (Typ == "file") oder wird aufgeteilt in "loc:store:subject"

    - loc: Speicherort vom Store.

    "USER" ist der aktuelle Windows Certificate Store-Benutzer: CERT_SYSTEM_STORE_CURRENT_USER,

    "MACHINE" ist der Windows Certificate Store Account der lokalen Maschine: CERT_SYSTEM_STORE_LOCAL_MACHINE,

    - store: Name des Zertifikat-Stores der verwendet wird.

    - subject: Suchkriterien, um den Schlüssel über Betreff/SHA1-Eigenschaft zu finden.

[all sections] sslCertificate

Typ
string
Default
[path]/host-cert.pem [path]/host-key.pem [path]/root-cert.pem

syntax:
sslCertificate = "<[path]/cert-file> <[path]/private-key> <[path]/CAFile>"

e.g.
D:/certificates/host-cert.pem
  
Dieser Eintrag wird nur berücksichtigt, wenn der Securitymodus cert konfiguriert ist. Der sslCertificate-Eintrag gibt den absoluten Pfad der 3 PEM-Dateien an, die für SSL/TLS verschlüsselte Kommunikation gebraucht werden. Alle Dateien müssen PEM-encoded sein.
  • <cert-file> X509 Zertifikat des Hosts
  • <private-key>Private Key des Hosts
  • <CAFile> X509 Zertifikat der "trusted CA" (Certificate Authority) von der die Zertifikat alle Hosts signiert wurden

[all sections] sslCRLfile

Typ
string
Der Pfad, relativ zum Root Directory des Projekts und der Name des PEM Files das die CRL enthält. Siehe die OpenSSL Dokumentation ( openssl ca ) für Details zu CRL Files.

[all sections] sslVerifyTime

Typ
Bool
Default
1
Wertebereich
0 | 1
Wenn sslVerifyTime = 1 konfiguriert ist, wird die zeitliche Gültigkeit von Zertifikaten geprüft.

[all sections] valueChangeTimeDiff

Typ
unsigned integer
Default
30 (sec)
Wertebereich
>=0
Der Event-Manager prüft bei einer Änderung des Originalwertes, ob die mitgelieferte Quellzeit mehr als valueChangeTimeDiff-Sekunden in der Zukunft liegt. Wenn dies der Fall ist, wird die Quellzeit auf die aktuelle Zeit korrigiert und außerdem das Statusbit ungültige Quellzeit original..qzeit_inv gesetzt. Dadurch ist auch das Invalid-Bit gesetzt.
Redundanz:
Wenn ein Manager startet, ermittelt er die Zeitdifferenz zwischen seinem Rechner und dem Rechner des Servers. Wenn die Systemzeiten um mehr als "valueChangeTimeDiff/2" Sekunden unterschiedlich sind, wird eine Fehlermeldung ausgegeben. Wenn die Systemzeiten um mehr als "valueChangeTimeDiff" Sekunden unterschiedlich sind, beendet er die Verbindung mit einer Fehlermeldung. Wenn bei älteren Projekten der Eintrag valueChangeTimeDiff im [event]-Sektion gesetzt ist, wird eine Fehlermeldung angezeigt. Der erlaubte Zeitunterschied sind per Default 30 Sekunden.
Achtung:
Wenn sich zwischen den Systemzeiten während des Betriebes ein Unterschied ergibt, wird dies nicht überprüft.

[all sections] winCert

Typ
string

syntax:
winCert = "<location>:<store>:<cert-id>"

e.g.
winCert = "USER:MY:IOWASystem34"
winCert = "MACHINE:MY:3E 27 B3 87 52 25 70 E6 64 6B C8 FC 06 78 AD 62 CC 89 46 A2"
  
Wenn der Security Mode winCert configuriert ist gibt der Config Eintrag winCert an, welches Zertifikat aus dem Windows Certificate Store für SSL/TLS Kommunikation verwendet werden soll.
  • <location> Mögliche Werte sind USER | MACHINE. Wenn der Wert USER angegeben ist wird das Zertifikat im CERT_SYSTEM_STORE_CURRENT_USER gesucht. Wenn der Wert MACHINE angegeben ist wird das Zertifikat im CERT_SYSTEM_STORE_LOCAL_MACHINE gesucht.
  • <store>Der Name des Stores in location.
  • <cert-id> ID mit der das Zertifikat gesucht wird. Die angegebene ID ist entweder das Subject oder der SHA1 Fingerprint des Zertifikates wenn winCertSearchBy SHA1 konfiguriert ist (Siehe auch die Beschreibung des winCertSearchBy-Eintrages). Wenn es mehrere Zertifikate mit gleichem Subject im Store gibt wird das erste zeitlich gültige Zertifikat verwendet. Wenn sslVerifyTime = 0 konfiguriert ist sind alle Zertifikat zeitlich gültig.
NOTE! Das Zertifikatsformat des Windows Certificate Store erlaubt es den private key im Zertifikat zu speichern.

[all sections] winCertSearchBy

Typ
string
Default
SubjectName
Wertebereich
SubjectName | SHA1
Definiert ob die <cert-id> welche im winCert oder winRootCA Config Eintrag angegeben ist der Subject String oder der SHA1 Fingerprint (angegeben als Hex-Digit String) des Zertifikates ist.

  z.B. SHA1 fingerprint als Hex-Digit String
  "3E 27 B3 87 52 25 70 E6 64 6B C8 FC 06 78 AD 62 CC 89 46 A2"
  

[all sections] winRootCA

Typ
string

syntax:
winRootCA = "<location>:<store>:<cert-id>"

e.g.
winRootCA = "MACHINE:ROOT:IOWARootCA"
winRootCA = "MACHINE:ROOT:58 BA 02 2F 3A 6F 0F 42 27 3E 87 F8 43 3B EB 53 FE B9 E0 AD"
  
Wenn der Security Mode winCert konfiguriert ist gibt der Config Eintrag winRootCA an, welches Zertifikat aus dem Windows Certificate Store zur Zertifikatsüberprüfung beim SSL/TLS Sessionaufbau verwendet werden soll. Siehe auch die Beschreibung des SecurityMode-Eintrages.
  • <location> Mögliche Werte sind USER | MACHINE. Wenn USER angegeben ist wird das Zertifikat im CERT_SYSTEM_STORE_CURRENT_USER gesucht. Wenn MACHINE angegeben ist wird das Zertifikat im CERT_SYSTEM_STORE_CURRENT_USER gesucht.
  • <store>Der Name des Stores in location.
  • <cert-id> ID mit der das Zertifikat gesucht wird. Die angegebene ID ist entweder das Subject oder der SHA1 Fingerprint des Zertifikates wenn winCertSearchBy SHA1 konfiguriert ist. Siehe auch die Beschreibung des winCertSearchBy-Eintrages. Wenn es mehrere Zertifikate mit gleichem Subject im Store gibt wird das erste zeitlich gültige Zertifikat verwendet. Wenn sslVerifyTime = 0 konfiguriert ist, sind alle Zertifikat zeitlich gültig.