Allgemein
Der Name des Treibers ist: drv.rk512
Die Routing-Adresse des ersten RK512 Treibers ist die: 350
Die Datenpunktdatei für den ersten RK512 Treibers heißt: rk5121.txt
Die Konfigurationsdatei für globale Einstellungen des ersten RK512 Treibers heißt: rk5121.cfg
Allgemein unterstützt der Treiber drei Datenpunkttypen: Datenbausteine (dbyte/dbit), erweiterte Datenbausteine (xbyte/xbit) und Merkerbytes (rbyte/rbit).
Jeder Datenpunkt ist dann entweder ein lokaler Datenpunkt ("l") oder ein remote Datenpunkt ("r").
Die Adresse setzt sich dann zusammen aus der Datenbausteinnummer, dem Byte-Offset
innerhalb des Datenbausteins, und bei Bit-Adressen ggf. noch der Bit-Nummer. Damit ist die vollständige Adresse in einem Bit eines remote Datenbausteins:
[M dbit r 100.20.3]
format = BIT
Bit-Datenpunkte haben als Format immer "BIT".
Bei den anderen Daten gibt es noch die Formate UINT6, UINT16, UINT32, SINT8, SINT16, SINT32 für ganzzahlige Werte ohne/mit Vorzeichen, sowie FLOAT32 und FLOAT64 für Fließkommawerte.
Ein Fließkomma-Wert sieht in der Projektierung entsprechend so aus:
[X dbyte r 100.20]
format = FLOAT32
Adresse
Typ | Beschreibung |
---|---|
failure | der Kommunikationsstatus |
dbit <loc> <blk>.<ofs>.<bit> | das Bit im Byte eines Datenblocks |
dbyte <loc> <blk>.<ofs> | das Byte innerhalb eines Datenblocks |
xbit <loc> <blk>.<ofs>.<bit> | das Bit innerhalb eines Bytes eines erweiterten Datenblocks |
xbyte <loc> <blk>.<ofs> | das Byte innerhalb eines erweiterten Datenblocks |
rbit <loc> <blk>.<ofs>.<bit> | das Bit innerhalb eines Merkerbytes (entspricht dem Typ „M“ im RK512 Protokoll) |
rbyte <loc> <blk>.<ofs> | das Merkerbyte (entspricht dem Typ „M“ im RK512 Protokoll) |
wobei:
Parameter | Bereich | Beschreibung |
---|---|---|
<loc> | l' - local 'r' - remote | Die Position des Datenpunktes |
<blk> | 0..255 | Die Datenblocknummer |
<ofs> | 0..65535 | Der Byte-Offset |
<bit> | 0..7 | Die Bit-Nummer |
Format
<type> [S:<swap>] [F:<fact>]
wobei:
Feld | Bereich | Beschreibung |
---|---|---|
<type> | BIT - 1 bit UINT8 - 8 bit unsigned SINT8 - 8 bit signed UINT16 - 16 bit unsigned SINT16 - 16 bit signed UINT32 - 32 bit unsigned SINT32 - 32 bit unsigned FLOAT32 - 32 bit floating point (IEEE) FLOAT64 - 64 bit floating point (IEEE) | Der Typ des im Datenblock abgebildeten Wertes |
<swap> | 0 - little endian (Intel) 1 - big endian (Motorola) default - big endian | Die Byte-Reihenfolge des Datenpunktwerts. |
<fact> | valid floating point value default - 1.0 | Der Faktor zur Skalierung des Datenpunktwerts. Er wird beim Schreiben multipliziert und beim Lesen dividiert. |
Beispiel
Datenpunkt | Beschreibung |
---|---|
[M failure] | Liest den Kommunikationsstatus |
[M dbit r 200.20.7] format=BIT | Liest den Wert des Bits 7 von Byte 20 aus dem Remote-Datenblock 200. |
[S dbit l 300.30.5] format=BIT | Ändert den Wert von Bit 5 von Byte 30 aus dem lokalen Datenblock 300 |
[X dbyte r 400.40] format=UINT16 S:0 F:0.5 | Liest den 16-Bit-Wert ohne Vorzeichen von Byte 40 aus dem entfernten Datenblock 400 im Intel-Format, modifiziert mit einem Faktor von 0,5 |
[Y dbyte l 700.70] format=UINT8 | Lesen des 8-Bit-Wertes ohne Vorzeichen von Byte 70 aus dem lokalen Datenblock 700 im Motorola-Format |
[M xbit r 600.20.7] format=BIT | Liest den Wert des Bits 7 von Byte 20 aus dem entfernten erweiterten Datenblock 600 |
[S xbit l 800.30.5] format=BIT | Ändern des Wertes von Bit 5 von Byte 30 aus dem lokalen erweiterten Datenblock 800 |
[X xbyte r 100.40] format=UINT16 S:0 F:0.5 | Liest den 16-Bit-Wert ohne Vorzeichen von Byte 40 aus dem entfernten erweiterten Datenblock 100 im Intel-Format, modifiziert mit einem Faktor von 0,5 |
[Y xbyte l 500.70] format=UINT8 | Liest den 8-Bit-Wert ohne Vorzeichen von Byte 70 aus dem lokalen erweiterten Datenblock 500 im Motorola-Format |