[all drivers]

Einstellungen die für alle Treiber gelten. Die Einträge sind in der spezifischen Sektion des Treibers vorzunehmen (z.B. [apc], [opc], ...).

[all drivers] commitCount

Typ
unsigned integer
Default
100
Eine gewisse Anzahl der Nachrichten kann der Treiber im voraus an den Event-Manager schicken ohne eine Quittierung abzuwarten. Diese Anzahl kann durch diesen Config-Eintrag eingestellt werden. Der Config-Eintrag hat eine besondere Bedeutung für das Überlastverhalten des Treibers.

[all drivers] connectForAlerts

Typ
bool
Default
n
Wertebereich
y|n
Aktiviert/deaktiviert die Anmeldung auf Alarmattribute beim Hochlauf des Treibers. Bei Treibern, die Alarme unterstützen, wird dieser Eintrag intern auf "y" gesetzt. Für alle anderen Treiber wird per Default "n" gesetzt. Diese Funktionalität kann bedenkenlos deaktiviert werden, wenn keine Alarme benötigt werden.

[all drivers] drvDpName

Typ
string
Default
_Driver<num>
Gibt den Datenpunktnamen für den allgemeinen internen Treiber-Datenpunkt an.

[all drivers] histDataBits

Typ
string
Dieser Eintrag gibt an, welche Userbits gleichzeitig gesetzt sein müssen, um historische Daten zu kennzeichnen. Historische Daten werden nicht als Originalwerte, sondern als Korrekturwerte geschrieben, um sie zeitlich korrekt in die Datenbank einsortieren zu können. Das bedeutet aber auch, dass lediglich Wert und Zeit von der Peripherie verwendet werden, jedoch keine Statusbits wie weitere Userbits oder das Invalidbit. Die Peripherie muss natürlich für diese Werte eine Zeit liefern. Der Eintrag hat die Form "Userbit x, Userbit y, ...".

Beispiel:
histDataBits = "Userbit 1, Userbit 3"
Der Treiber wird veranlasst, alle Werte der Peripherie, bei denen die Userbits 1 und 3 gesetzt werden, als historische Daten zu interpretieren. Nur der zuletzt gefundene Eintrag ist gültig, es ist nicht möglich, verschiedene Alternativen anzugeben. Die Userbits können durch vorangestelltes "-" ausgeschaltet werden, z.B.: histDataBits = "+Userbit 1,+Userbit 2,-Userbit 3,+Userbit 4,+Userbit 5,-Userbit 6,-Userbit 7,-Userbit 8,+Userbit 9,+Userbit 10,-Userbit 11,+Userbit 12,+Userbit 13,-Userbit 14,-Userbit 15,-Userbit 16,+Userbit 17,+Userbit 18,-Userbit 19,+Userbit 20,+Userbit 21,-Userbit 22,-Userbit 23,-Userbit 24,+Userbit 25,+Userbit 26,-Userbit 27,+Userbit 28,+Userbit 29,-Userbit 30,-Userbit 31,-Userbit 32" ACHTUNG: Es dürfen bei den "-" KEINE LEERZEICHEN nach dem Komma verwendet werden. Bei "+" ist es nicht relevant.

[all drivers] IOTransitionTimeout

Typ
int
Default
10
Um den Übergang eines DPEs anzuzeigen, wenn ein neuer Ausgangswert geschickt wurde, gibt es ein Attribut im Originalwertkonfig - das _transition Attribut. Es zeigt an, wenn ein Wert geschickt, aber noch keine Rückmeldung erhalten wurde. Wird z.B. in WinCC OA ein Wert gesetzt, so wird auch automatisch das Transition-Bit auf 1 gesetzt und auf eine Rückmeldung von der Peripherie gewartet. Mit dem Config-Eintrag IOTransitionTimeout in der spezifischen Sektion des Treibers (siehe auch Referenztabellen, Kapitel "Treiber") kann die Wartezeit festgelegt werden (Default 10 Sekunden). Läuft das Timeout ab und ist bis dahin noch keine Rückmeldung von der Peripherie eingetroffen, wird der Originalwert auf den Wert, den die Peripherie zu diesem Zeitpunkt aufweist, zurückgesetzt und auch das Transition-Bit wechselt automatisch wieder auf 0. Trifft eine Rückmeldung vor dem Ablauf des Timeouts ein, wird auch das Transition-Bit wieder zurückgesetzt.

Hinweis:
Der Wert für den Config-Eintrag IOTransitionTimeout sollte 2 mal größer als das größte
parametrierte Pollintervall sein um so einen ständigen Timeout des Polling-Prozesses
zu verhindern.
Wenn der Config-Eintrag IOTransitionTimeout auf 0 in der entsprechenden Treibersektion der Config-Datei gesetzt wird, wird der Originalwert nicht zurückgesetzt und das Transition-Bit nicht verwendet.

[all drivers] loopTime

Typ
unsigned long
Default
10
Wertebereich
>0
Dieser Eintrag gibt die Zeit in Millisekunden an, die der Treiber in der dispatch-Routine verbringen darf und legt damit die maximale Zykluszeit des Treibers fest.

[all drivers] maxConnectMachineSend

Typ
int
Default
100
Anzahl der Anmeldungen auf ausgehende Datenpunkte beim Start eines Treibers, nach welchen ein Senden der Nachrichten-Warteschlange an den Event-Manager ausgelöst wird. Dadurch werden auf der Treiberseite weniger Nachrichten angesammelt (Überlauf wird verhindert), der Event-Manager kann in der Zwischenzeit diese bearbeiten und der Hochlauf des Treibers wird beschleunigt.

[all drivers] maxOutputQueueSize

Typ
unsigned integer
Default
1000*
Dient zur Beschränkung der Ausgangsqueue zum Event-Manager. Bei Überlastverhalten des Treibers würde die Queue schnell anwachsen. Dieser Eintrag begrenzt die Queue. Relation zwischen der Anzahl der Werte und der verbrauchten Anzahl von Bytes im Speicher: Die Objekte, die in der Queue enthalten sind, sind "DpIdVarFlgObj" Objekte. So ein Objekt hat eine Größe von 68 Bytes, wobei darin auch eine Referenz auf ein "Variable" Objekt enthalten ist. Die Größe des "Variable" Objektes hängt sehr vom Typ der Variablen ab. Ein grober Wert für einfache Variablentypen (z.B. Integer) ist 100 Bytes/Wertänderung. *.. Der Default entspricht der Anzahl der HWObjects aber mindestens dem Wert 1000.

[all drivers] maxVcMessageSize

Typ
unsigned integer
Default
200
Wertebereich
>= 0
Definiert wie viele Wertänderungen eine VC (Value Change) Message, die zum Event gesendet wird, maximal enthalten darf.

[all drivers] passiveDriverWrites

Typ
bool
Default
0
Wertebereich
0|1
Dieser Eintrag legt fest ob ein Treiber im passiven Modus Ausgangswerte an die Peripherie schicken soll.

[all drivers] pollCount

Typ
unsigned integer
Default
32
Wertebereich
>0
Gibt die Anzahl der Datenpunkte an, die auf einmal gepollt werden können. Stehen mehr Pollingaufträge an, so werden diese erst im nächsten Treiberzyklus abgearbeitet.

[all drivers] pollEpsilon

Typ
float
Default
200.0
Wertebereich
> 0.0
Dieser Eintrag stellt ein, wie weit ein Pollzeitpunkt (in Prozent) des Pollintervalls in der Vergangenheit liegen darf und er noch gepollt wird. Ein Wert von 200 bedeutet, dass das Doppelte des Pollintervalls verstreichen darf, bevor dieser Wert erst beim nächsten Pollzeitpunkt wieder gepollt wird. Der Wert kann über den Datenpunkt drvPollEpsilon verändert werden.

[all drivers] pollMode

Typ
bool
Default
1 (Simulator: 0)
Wertebereich
0|1
Schaltet den Pollmodus ein (=1) bzw. aus (=0). Dieser Config-Eintrag gilt für alle Treiber, die die Pollingfunktion des allgemeinen Treibers verwenden (ComDrv).

[all drivers] pollTime

Typ
float
Default
1.0
Wertebereich
>0.0
Gibt die Zeit in Sekunden an, die maximal für Polling aufgewendet wird. Läuft die Zeit ab, werden die weiteren Pollingaufträge erst im nächsten Treiberzyklus abgearbeitet. Damit und mit dem Eintrag 'loopTime' kann die Zeit beschränkt werden, die ein Treiber außerhalb der workProc verbringt.

[all drivers] reconnectToEvent

Typ
string
Default
no
Wertebereich
yes|no
Wird der Eintrag auf "no" gesetzt, so beendet sich der Treiber, sobald er die Verbindung zum Event-Manager verliert. Ansonsten versucht er beliebig lange die Verbindung wiederherzustellen. Das bisherige Verhalten war, die Verbindung zum Event wiederherzustellen.

[all drivers] smoothBit

Typ
string
Wertebereich
Userbit 1..Userbit 32
Dieser Eintrag gibt an, welche Userbits in einer Glättung (Low-Level Alt/Neu- Vergleich oder parametrierter Alt/Neu-Vergleich) berücksichtigt werden sollen. Ändert sich eines der Userbits (oder das Invalidbit), passiert der Wert den Alt/Neu-Vergleich, auch wenn sich der Originalwert nicht geändert hat. Dieser Eintrag muss für jedes Userbit, das berücksichtigt werden soll, einmal vorhanden sein. Mögliche Werte für die Userbits sind z.B.:

smoothBit = "Userbit 1"
smoothBit = "Userbit 2"
...
smoothBit = "Userbit 32"

[all drivers] srcTimeCheckMode

Typ
int
Default
0
Wertebereich
0,1,2
Es können Daten, die mit einem Zeitstempel gesendet werden, der außerhalb eines bestimmten Zeitfensters liegt, im Logfile protokolliert oder verworfen werden. Dafür gibt es drei Config-Einträge:

srcTimeCheckMode
srcTimeMaxBefore
srcTimeMaxBehind
srcTimeCheckMode ist der Modus für die Kontrolle der Zeit:
  • 0 = keine Kontrolle
  • 1 = nur Fehlermeldung
  • 2 = Fehlermeldung und Daten werden verworfen

[all drivers] srcTimeMaxBefore

Typ
float
Default
120 [s]
Die maximale erlaubte Zeitdifferenz (in Sekunden), wenn die Zeit vor der WinCC OA Zeit liegt.

[all drivers] srcTimeMaxBehind

Typ
float
Default
3600 [s]
Die maximale erlaubte Zeitdifferenz (in Sekunden), wenn die Zeit nach der WinCC OA Zeit liegt.

[all drivers] useCRC

Typ
bool
Default
0
Wertebereich
0|1

useCRC ist ein Sicherheitsfeature des WinCC OA-Nachrichtensystems. Es bietet erweiterte Fehlererkennungsmöglichkeiten im Vergleich zum Standard-Nachrichtensystem. Um die Datenintegrität der WinCC OA-Nachrichten sicherzustellen, werden die Nachrichten in CRC-Telegramme mit geeigneter Länge eingeteilt.

Jedes Telegram enthält eine 32 Bit CRC. Beim Empfang der Nachrichten werden die Werte überprüft und wenn die Werte nicht übereinstimmen, wurde ein Fehler gefunden.

Der Fehler wird im LogViewer angezeigt und die Verbindung zwischen den Managern wird geschlossen.

  • Der Eintrag "useCRC" kann in der [event]- oder einer spezifischen Treiber-Sektion der config-Datei verwendet werden. Der Eintrag kann in einer oder in beiden Sektionen verwendet werden.
  • Der Eintag ist immer Managerspezifisch. Der "stärkere" Manager gewinnt und selektiert den Typ der Verbindung.

BEISPIEL

Die Verbindung zwischen Treiber und Event verwendet die erweiterte Integritätsprüfung sowie auch andere Manager, die eine Verbindung zum Event-Manager aufbauen.

[event]
useCRC  = 1
[mod]
useCRC = 0

BEISPIEL

Die Verbindung zwischen Treiber und Event verwendet die erweiterte Integritätsprüfung.

Alle andere Manager, die eine Verbindung zum Event-Manager aufbauen verwenden keine erweiterte Integritätsprüfung (außer diese wurde in den Managersektionen angegeben).

[event]
useCRC  = 0
[mod]
useCRC = 1
  • Die Information ob die erweiterte Integritätsprüfung für eine Verbindung verwendet wird oder nicht, wird auf den Connection-Datenpunkt des Managers geschrieben. Zudem wird beim Start eines Managers ein Log-Eintrag geschrieben. Der Eintrag enthält die Kommunikationsform des Managers.
  • In einem redundanten System kann der Eintrag in einem oder in beiden System(en) des redundanten Systems verwendet werden.
  • In einem DRS-System kann der Eintrag in einem oder in beiden DRS-System(en) verwendet werden.
  • Wenn verteilte Systeme verwendet werden und eines der Systeme ein Safety-System ist und das andere nicht, muss der Eintrag nur für das Safety-System verwendet werden.

    Der Dist-Manager des Safety-Systems verwendet CRC-Checks in der Kommunikation mit dem Event-Manager des Safety-Systems.

    Es werden keine CRC-Checks in der Kommunikation mit dem Event-Manager des nicht Safety-Systems verwendet.

    HINWEIS

    Das Defaultverhalten ist die Nachrichtenübermittlung ohne erweiterte CRC-Checks.

  • Wenn Sie einen falschen Wert für das Keyword "useCRC" in der Config-Datei angeben, wird eine Warnung im LogViewer ausgegeben und der Manager verwendet die Defaultkommunikation.
  • Log-Meldungen werden ausgegeben, wenn CRC verwendet wird bzw. wenn CRC parametriert wurde aber wegen einer localhost-Verbindung nicht verwendet wird. Eine Meldung wird auch ausgegeben wenn CRC parametriert ist und verwendet werden müsste aber nicht verwendet wird (WARNING).

Für Safety-Projekte siehe auch das Dokument "Basic and operating Conditions" im ETM-Portal.

[all drivers] waitSecondsForIdps

Typ
unsigned int
Default
60s
Wertebereich
> 0
Ein Treiber benötigt beim Start meist verschiedene Informationen bis er fertig initialisiert ist (meist sind dies Werte von internen DPs). Mit diesem Config-Eintrag kann man angeben, wie lange der Treiber maximal auf diese Informationen warten soll. Die Angabe erfolgt in Sekunden. Wird ein zu kleiner Wert eingestellt, kann es sein, dass der Treiber noch nicht alle Daten empfangen hat und sich dadurch mit einer Fehlermeldung nach Ablauf des Timeouts beendet.