Bei den RFiD-Transpondern „Unique“, die wir meist im Zeiterfassungsbereich verwenden, handelt es sich um sog. 125 kHz Transponder vom Typ EM4102. Diese Transponder zeichnen sich dadurch aus, dass Sie intern fest einprogrammiert eine weltweit eindeutige ID-Nummer haben, UID genannt. Diese UID ist 40 Bit = 5 Byte lang.
In unseren Programmen verwendet wir immer die vollständige 5-Byte-lange Codierung der Transponder, wenn Sie die Transponder aber bei Fremdherstellern kaufen, kann es auch oftmals vorkommen, dass eine andere Nummer aufgedruckt ist. Leider lassen sich diese Nummern nicht ohne weiteres Umrechnung, zumindest nicht von kurz nach lang…
Im Beispiel verwenden wir einen Transponder mit der internen Codierung:
Hexadezimal 5 Byte = 10 Hex-Werte: 0A 0690 4E10
In Dezimal-Schreibweise ergibt dies umgerechnet den Wert (mit führenden 0en auf 13 Stellen aufgefüllt):
Dezimal: 0 043 059 793 424
Diese Codierung verwenden wir im PepMax, das heißt diese Nummer muss im PepMax in den Stammdaten zur Identifizierung der Chipkarte hinterlegt werden.
Bezeichnet wird diese Art der Umrechnung auch oftmals als „10H>13D“, sprich: 10 Stellen Hexadezimal werden umgerechnet in 13 Stellen Dezimal, eben 10H>13D. Eine andere Bezeichnung dafür ist Honeywell IK-2.
Alternativ findet man oftmals auch die Variante 08H>10D, hier wird von der internen Codierung einfach das erste Byte ignoriert und damit das Ergebnis gekürzt.
Das erste Byte der UID gibt in der Regel die Versionsnummer des Chips aus (i.d.R. immer 0
) sowie den Hersteller (hier A
).
Hexadezimal: 0690 4E10
Dezimal: 0 110 120 464
Das fehlende Byte am Anfang der internen Nummer lässt sich natürlich nicht einfach „erraten“, so dass eine Umrechnung von der „kurzen“ Nummer (10D) auf die lange Variante (13D) nicht möglich ist ohne zu raten. Wenn die Transponder aus der gleichen Quelle stammen, kann aber davon ausgegangen werden, dass die Hersteller-Kennung im ersten Byte immer identisch ist.
Ebenfalls weit verbreitet ist die Darstellung als 08H>55D. Hier wird ebenfalls das erste Byte der Codierung ignoriert und einfach weggelassen. Die verbleibenden 4 Byte werden dann aber in zwei Gruppen á 2 Byte aufgetrennt, und jeweils getrennt voneinander als Dezimalwert interpretiert und anschließend einfach als 2 x 5-stellige Zahlen aneinandergehängt.
Hexadezimal: 0690
+ 4E10
Dezimal: 01680
+ 19984
= 0 168 019 984
Diese Darstellungsvariante trägt auch oftmals die Bezeichnung „WEG32“.
Ebenso gibt es eine noch kürzere Darstellung, indem nur die letzten 3 Byte verwendet werden, die ersten 2 Bytes werden wieder einfach ignoriert.
Hexadezimal: 90 4E10
Dezimal: 09 457 168
Aus 6 Stellen Hexadezimal werden damit 8 Stellen dezimal.
Um die Vielfalt noch weiter zu erhöhen, gibt es nicht die Varianten 2.4H>3.5D, also 2+4 Stellen Hexadezimal in 3+5 Stellen Dezimal umzurechnen. Bei der ersten Variante wird hierbei das Byte 1 für den ersten Teil verwendet, Byte 2 und 3 werden ignoriert, und Byte 4 und 5 werden für den zweiten Teil verwendet.
Hexadezimal: 0A
+ 4E10
Im Ergebnis gibt das dann 3.5D, also 3 + 5 Stellen dezimal, die wieder aneinander gehängt werden.
Dezimal: 010
+ 19984
= 01 019 984
Anstelle die Bytes 2 + 3 zu ignorieren, könnte man aber auch alternativ hergehen, und die Bytes 1 + 3 ignorieren… das ergibt dann…
Hexadezimal: 06
+ 4E10
Dezimal: 006
+ 19984
= 00 619 984
Oder als letzte Alternative: Es werden die Bytes 1 + 2 ignoriert, das Byte 3 wird als ersten Teil des Ergebnisses verwendet, und schließlich die Bytes 4 + 5 als zweiter Teil. Diese Variante ist auch unter dem Namen „WEG26“ verbreitet.
Hexadezimal: 90
+ 4E10
Dezimal: 144
+ 19984
= 14 419 984
Noch komplexer kann es werden, beispielsweise mit dem IK-3 Code. Hierbei wird wieder die ursprüngliche Hex-Codierung verwendet:
Hexadezimal: 0A 0690 4E10
Diese Werte werden nun in einzelne Bytes zerlegt und getrennt im Bits umgerechnet.
Bit-Gruppen: 0000 1010
(0A) + 0000 0110
(06) + 1001 0000
(90) + 0100 1110
(4E) + 0001 0000
(10)
Diese werden nun jeweils gespiegel (also einfach umgedreht):
Bit-Gruppen: 0101 0000
+ 0110 0000
+ 0000 1001
+ 0111 0010
+ 0000 1000
Das Ergebnis wird nun wieder in Hex-Werte umgerechnet:
Hexadezimal: 50 6009 7208
Dieser Hex-Wert wird nun wieder als Dezimalzahl interpretiert, wieder mit führender 0 als 13-stellige Zahl:
Dezimal: 0 345 208 615 432
Ähnlich erfolgt auch die Codierung im Dorma-XS-Code. Auch hier werden nur die letzten 4 Byte verwendet:
Hexadezimal: 0690 4E10
Diese Werte werden nun in einzelne Bytes zerlegt und getrennt im Bits umgerechnet.
Bit-Gruppen: 0000 1010
(0A) + 0000 0110
(06) + 1001 0000
(90) + 0100 1110
(4E) + 0001 0000
(10)
Diese werden nun jeweils gespiegel (also einfach umgedreht) – im Gegensatz im IK-3 Code werden aber nicht die Bytes als Ganzes gespiegelt, sondern immer nur 4-Bit-Gruppen:
Bit-Gruppen: 0000 0101
+ 0000 0110
+ 1001 0000
+ 0010 0111
+ 1000 0000
Das Ergebnis wird nun wieder in Hex-Werte umgerechnet:
Hexadezimal: 05 0690 2780
Dieser Hex-Wert wird nun wieder als Dezimalzahl interpretiert, wieder mit führender 0 als 13-stellige Zahl:
Dezimal: 21 584 947 072
Zum Abschluss noch die Codierung bei ELV-TimeMaster, hier werden von der Codierung lediglich die letzten 26 Bit verwendet.
Hexadezimal: 0A 0690 4E10
Bit-Gruppen: 0000 1010
(0A) + 0000 0110
(06) + 1001 0000
(90) + 0100 1110
(4E) + 0001 0000
(10)
Bit-Gruppen (gekürzt auf 26 Bit): (00)10
+ 1001 0000
+ 0100 1110
+ 0001 0000
Hexadezimal: 290 4E10
Dezimal: 43 011 600
Codierung | Hexadezimal | Dezimal |
---|---|---|
10H>13D / IK-2 | 0A 0690 4E10 | 0 043 059 793 424 |
08H>10D / WEG34 | 0690 4E10 | 0 110 120 464 |
08H>55D / WEG32 | 0690 + 4E10 | 0 168 019 984 |
06H>08D | 90 4E10 | 09 457 168 |
2.4H>3.5D (A) | 0A + 0690 4E10 | 01 019 984 |
2.4H>3.5D (B) | 06 + 4E10 | 00 619 984 |
2.4H>3.5D (C) / WEG26 | 90 + 4E10 | 14 419 984 |
IK-3 | 50 6009 7208 | 0 345 208 615 432 |
Dorma XS | 05 0690 2780 | 21 584 947 072 |
ELV TimeMaster | 290 4E10 | 43 011 600 |
Zur Umrechnung zwischen Hexadezimal und Dezimal können Sie den im Windows eingebauten Taschenrechner verwenden! Im Hamburger-Menü links oben müssen Sie diesen lediglich auf den „Programmierer“-Modus umschalten, um die Werte als Hex oder auch Dec zu sehen. Mit der blauen Markierung links können Sie umschalten, in welchem Modus Sie die Werte eingeben möchten.