[rk512]

Einstellungen für den RK512 Treiber

[rk512] 3964R

Typ
int
Default
1
Wertebereich
0|1
Diese Einstellung erlaubt es zwischen den Protokollen 3964 und 3964R umzuschalten. 3964R unterscheidet sich von 3964 durch eine längere Quittungsverzugszeit und eine zusätzliche Prüfsumme in den Telegrammen. Mögliche Werte sind '0' für 3964 und '1' für 3964R.

Beispiel:
Es wird das Protokoll 3964 verwendet.

3964R = 0

[rk512] baudrate

Typ
int
Default
9600
Wertebereich
2400..9600 (19200)
Gibt die Baudrate für die serielle Schnittstelle an. Der Defaultwert ist 9600. Typische Werte sind 2400, 4800 und 9600. In Verbindung mit einer S5 beträgt die Untergrenze für die Übertragungsrate 2400 Baud, die Obergrenze 9600 Baud. 19200 Baud werden von einer S5 nur unter bestimmten Voraussetzungen unterstützt.

Beispiel:
Einstellen der Baudrate auf 9600 Baud.

baudrate = 9600

[rk512] connRetries

Typ
int
Default
6
Wertebereich
>= 0
Gibt die Anzahl der Wiederholungen an, um eine Verbindung mit der SPS aufzubauen, damit ein Telegramm verschickt werden kann. Mögliche Werte sind alle natürlichen Zahlen einschließlich 0. Der Defaultwert ist 6. Normalerweise muss dieser Wert nicht verändert werden.

Beispiel:
Einstellen der Anzahl der Wiederholungen auf 8.

connRetries = 8

[rk512] device

Typ
string string
Dieser Config-Eintrag gibt den Namen der seriellen Schnittstelle und die zugehörigen Einstellungen an. Der Eintrag hat nur unter Windows eine Bedeutung. Er sollte nicht zusammen mit "baudrate" oder "parity" verwendet werden.

device = "COM1" "9600,e,8,1" # Kein Handshaking
device = "COM1" "9600,e,8,1,p" # Hardwarehandshaking
Einstellungen für 9600 Baud, gerade Parität, 8 Bits, 1 Stopbit, p schaltet Handshaking ein.

[rk512] deviceName

Typ
string
Gibt den Namen der seriellen Schnittstelle an, über die mit der SPS kommuniziert werden soll. Dieser Eintrag muss vorhanden sein. Die Kommunikation erfolgt nach RS232 über eine einfache 3-Draht Leitung.

Beispiel:
Weist dem Treiber die Schnittstelle mit dem Namen /dev/tty00 zu.

devicename = "/dev/tty00"

[rk512] drvGQ

Typ
string
Gibt den Datenpunktnamen an, der eine Generalabfrage auslöst. Jedes Verschicken dieses Datenpunktes veranlasst den Treiber alle Datenpunkte, die als Eingang parametriert sind, abzufragen und die Werte dem WinCC OA System mitzuteilen. Für den Datenpunktnamen wird zweckmäßig _Driver_num.GQ verwendet, wobei num die Treibernummer ist. Der Datenpunktelementtyp ist natürliche Zahl, der Wert wird vom Treiber nicht ausgewertet. Wird dieser Eintrag nicht in der Konfigurationsdatei verwendet, so ist keine Generalabfrage möglich.

Beispiel:
Jedes Schreiben auf _Driver_1.GQ:_original.._value löst eine Generalabfrage aus.

drvGQ = "_Driver_1.GQ"

[rk512] drvPollMode

Typ
string
Gibt den Datenpunktnamen an, über den der Pollingmodus ein- und ausgeschaltet wird. Für diesen Wert wird zweckmäßig _Driver_num.PM verwendet, wobei num die Treibernummer ist. Im Allgemeinen wird der Pollingmodus nur zur Fehlersuche ausgeschaltet.

Beispiel:
Wird der Datenpunkt auf 0 gesetzt, pollt der Treiber keine Datenpunkte mehr.

drvPollMode = "_Driver_1.PM"

[rk512] drvSQ

Typ
string
Gibt den Datenpunktnamen an, der eine Einzelabfrage auslöst. Wird dieser Datenpunkt verschickt und enthält er den Namen eines Datenpunktes, der auf Einzelabfrage parametriert wurde, so wird diese durchgeführt. Zweckmäßigerweise wird für diesen Wert _Driver_num.SQ verwendet, wobei num die Treibernummer ist. Das Datenpunktelement ist vom Typ Bezeichner. Um eine Einzelabfrage auszulösen, muss der Name des entsprechenden Datenpunkts in _Driver_num.SQ:_original.._value übergeben werden. Wird dieser Eintrag nicht in der Konfigurationsdatei aufgeführt, so kann keine Einzelabfrage ausgelöst werden.

Beispiel:
Wird ein Datenpunktnamen in _Driver_1.SQ:_original.._value übergeben, so führt der Treiber für diesen Datenpunkt eine Einzelabfrage aus.

drvSQ = "_Driver_1.SQ"

[rk512] floatIsIEEE

Typ
string
Default
No
Wertebereich
Yes|No
Dieser Eintrag gibt an, ob float-Werte im IEEE-Format oder im RK512-spezifischen Format übertragen werden sollen. Der Default ist das RK512-spezifische Format. Da bei den meisten SPSen das IEEE-Format verwendet wird, muss hier der Eintrag floatIsIEEE = "Yes" in der Config-Datei eingetragen werden.

[rk512]
floatIsIEEE = "Yes"

[rk512] parity

Typ
string
Default
even
Wertebereich
even, odd, none
Stellt die Parität für die serielle Schnittstelle ein. Mögliche Werte sind "even", "odd" und "none" für gerade, ungerade und keine Parität. Der Defaultwert ist "even". Die Parität ist von der SPS als "even" vorgegeben. Eine abweichende Einstellung ist daher nur sinnvoll, wenn mit einem speziellen Gerät über das RK512-Protokoll kommuniziert werden soll.

Beispiel:
Einstellen der Parität auf ungerade.

parity = "odd"

[rk512] pollMode

Typ
bool
Default
1
Wertebereich
0|1
Schaltet das Pollen ein und aus. Mögliche Werte sind 0 = Pollen ausgeschaltet, und 1 = Pollen einschaltet. Der Defaultwert ist 1, Datenpunkte werden also gepollt. Diese Einstellung kann durch Schreiben auf den Datenpunkt, der unter drvPollMode angegeben wurde, zur Laufzeit geändert werden.

Beispiel:
Ausschalten des Pollen von Datenpunkten.

pollMode = 0

[rk512] priority

Typ
string
Default
low
Wertebereich
high|low
Gibt die Priorität des Treibers bei einem Initialisierungskonflikt an. Mögliche Werte sind "low" und "high". Der Defaultwert ist "low". Versuchen SPS und Treiber gleichzeitig, ein Telegramm zu verschicken, wird anhand der Priorität entschieden, wer tatsächlich senden darf. Die Priorität wird an der SPS hardwaremäßig eingestellt. Für den Treiber muss die entgegengesetzte Priorität eingestellt werden.

Beispiel:
Einstellen einer hohen Priorität.

priority = "high"

[rk512] QVZ

Typ
float
Default
2.0 [sec]
Wertebereich
> 2.0
Gibt die Zeit in Sekunden an, innerhalb derer ein Verbindungsaufbau oder -abbau von der SPS quittiert werden muss. Der Defaultwert ist 2.0 Sekunden. Wird das Protokoll 3964 anstelle von 3964R verwendet, sollte dieser Wert auf 0.55 Sekunden eingestellt werden. Da diese Einstellung nur den Treiber betrifft, nicht aber die SPS, sollten kleinere Werte nicht verwendet werden.

Beispiel:
Einstellen der Quittungsverzugszeit auf 0.55 Sekunden.

QVZ = 0.55

[rk512] restartFetchOnError

Typ
string
Default
No
Wertebereich
Yes|No
Dieser Config-Eintrag (Type: string, default: "no") gibt an, ob bei einem Übertragungsfehler in Melderichtung (Daten werden von der SPS zum Treiber übertragen) wieder mit einem Befehlstelegramm (dem ersten Telegramm) begonnen werden soll ("yes") oder ob ein Folgetelegramm wiederholt werden kann.

[rk512]
restartFetchOnError = "yes"

[rk512] restartSendOnError

Typ
string
Default
No
Wertebereich
Yes|No
Dieser Config-Eintrag (Type: string, default: "no") gibt an, ob bei einem Übertragungsfehler in Befehlsrichtung (Daten werden vom Treiber zur SPS übertragen) wieder mit einem Befehlstelegramm (dem ersten Telegramm) begonnen werden soll ("yes") oder ob ein Folgetelegramm wiederholt werden kann.

[rk512]
restartSendOnError = "yes"

[rk512] rk512DpName

Typ
string
Default
_RK512_<num>
Dieser Config-Eintrag gibt den Namen des internen Datenpunktes vom Typ _RK512 (Typ: string) an. Normalerweise ist der Name "_RK512_<num>". In einem redundanten System müssen sich die Namen der beiden Treiber jedoch unterscheiden und es sind folgende Einträge nötig:

[rk512]
(host1) rk512DpName = "_RK512_<num>"
(host2) rk512DpName = "_RK512_2_<num>"

[rk512] sendRetries

Typ
int
Default
6
Wertebereich
6gt;= 0
Gibt die Anzahl der Wiederholungen an, um ein Telegramm nach erfolgreichen Verbindungsversuch an die SPS zu verschicken. Mögliche Werte sind alle natürlichen Zahlen einschließlich 0. Der Defaultwert ist 6. Im Normalfall muss dieser Wert nicht verändert werden.

Beispiel:
Einstellen der Anzahl der Wiederholungen auf 8.

sendRetries = 8

[rk512] talas

Typ
string
Default
No
Wertebereich
Yes|No
Dieser Eintrag gibt an, ob der Treiber an einen TALAS-Rechner angekoppelt wird. In diesem Fall werden immer ganze Datenbausteine ausgelesen. Die ersten Wörter enthalten die Quellzeit der Daten, auf die Daten folgt noch ein Statuswort.

[rk512] TVZ

Typ
float
Default
5.0 [sec]
Wertebereich
> 5.0
Dieser Config-Eintrag TVZ (Telegrammverzögerungszeit) gibt die Zeit in Sekunden, innerhalb derer auf ein Befehlstelegramm ein Reaktionstelegramm eintreffen muss. Der Wert sollte mindestens doppelt so groß sein wie die QVZ (Quittierverzögerungszeit), damit die SPS Gelegenheit hat, einen Timeout zu erkennen und ihr Reaktionstelegramm zu wiederholen.

Beispiel:
[rk512]
TVZ = 6.5

[rk512] ZVZ

Typ
float
Default
0.220 [sec]
Wertebereich
> 0.220
Gibt die Zeit in Sekunden an, innerhalb derer ein weiteres Zeichen eines Telegramms empfangen werden muss. Bleibt dieses aus, so wird ein Fehlercode an die SPS verschickt. Der Defaultwert ist 0.22 Sekunden. Da diese Einstellung nur den Treiber betrifft, nicht aber die SPS, sollten kleinere Werte nicht verwendet werden. Im allgemeinen muss die Defaulteinstellung nicht geändert werden.

Beispiel:
Einstellen der Zeichenverzugszeit auf 0.30 Sekunden.

ZVZ = 0.30