Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
wiki:ems:plus-telegramme [2014/10/21 20:07] ingof |
wiki:ems:plus-telegramme [2015/12/30 21:00] (aktuell) |
||
---|---|---|---|
Zeile 4: | Zeile 4: | ||
<WRAP center round important 60%> | <WRAP center round important 60%> | ||
- | Diese Seite wurde aus dem EMS-Bus übernommen. Vermutlich wird dieser Teil gleich oder ähnlich sein. | + | Das ist erst mal ein erster Entwurf zur EMS-Plus Erweiterung |
</ | </ | ||
+ | |||
+ | |||
+ | ==== Protokoll-Erweiterung ==== | ||
+ | Der EMS-Bus wurde beim EMS-Plus um weitere Telegramme erweitert. | ||
+ | Bei diesen zusätzlichen Telegrammen wird der alte " | ||
+ | Ist das Byte 0xF0..0xFF ist es ein EMS-Plus-Telegramm. | ||
+ | Der neue Telegrammtyp beim EMS-Bus wird dann hinter dem Offset eingefügt und ist jetzt 16-Bit lang. | ||
==== Zählweise ==== | ==== Zählweise ==== | ||
Alle Offsets sind 1 basiert. Allgemein gilt also: | Alle Offsets sind 1 basiert. Allgemein gilt also: | ||
- | ^ Byte \\ 1 ^ Byte \\ 2 ^ Byte \\ 3 ^ Byte \\ 4 ^ Byte \\ 5 ... n-2 ^ Byte \\ n-1 ^ Byte \\ n ^ Byte \\ n + 1^ | + | ^ Byte \\ 1 ^ Byte \\ 2 ^ Byte \\ 3 |
- | | Sender | Empfänger | Telegrammtyp | + | | Sender |
Das 0x00 ist das BREAK, die Länge wird vom EMS-GW angefügt. | Das 0x00 ist das BREAK, die Länge wird vom EMS-GW angefügt. | ||
- | Ist also z.B. im Paket ein Offset von 2 angegeben, so ist das erste Datenbyte (Position | + | Ist also z.B. im Paket ein Offset von 2 angegeben, so ist das erste Datenbyte (Position |
</ | </ | ||
<WRAP nopagebreak> | <WRAP nopagebreak> | ||
==== Tabellenaufbau ==== | ==== Tabellenaufbau ==== | ||
- | ^Quelle^Ziel^Typ^Start^Bit^Bytes^Divisor^Linie^Einheit^Bemerkung^ | + | ^ Quelle |
- | ^Hex^Hex^Hex^Dez^Dez^Dez^Dez^ ^ ^ ^ | + | | Quelle |
- | | Quelle | Ziel | Typ | Start | Bit | Bytes | Divisor | Linie | Einheit | Bemerkung^ | + | |
- | **Start** ist die Startposition. | + | **Start** ist die Startposition. |
**Bit** ist die Position des Bits in dem Wert. Das erste Bit ist dann also Bit 0. | **Bit** ist die Position des Bits in dem Wert. Das erste Bit ist dann also Bit 0. | ||
- | **Bytes** ist die Anzahl der Bytes die zusammen gehören. Die „2“ bei diesem Beispiel bedeutet dass die Bytes 6 und 7 zusammen gehören. Das erste Byte ist das Highbyte. | + | **Bytes** ist die Anzahl der Bytes die zusammen gehören. Das erste Byte ist das Highbyte. |
- | **Divisor** wird benötigt um den Messwert zu berechnen. | + | **Divisor** wird benötigt um den Messwert zu berechnen. |
**Linie** ist die Darstellung der Kurve. Bei __analog__ sind die Messpunkte einfach direkt miteinander verbunden. | **Linie** ist die Darstellung der Kurve. Bei __analog__ sind die Messpunkte einfach direkt miteinander verbunden. | ||
Zeile 41: | Zeile 47: | ||
==== Übersicht ==== | ==== Übersicht ==== | ||
- | In der folgenden Tabelle bezeichnet die Länge die Anzahl der Datenbytes. Die Telegrammlänge ist +4 Bytes. Die Telegramme auf dem Bus können kürzer sein. | + | In der folgenden Tabelle bezeichnet die Länge die Anzahl der Datenbytes. Die Telegrammlänge ist +6 Bytes. Die Telegramme auf dem Bus können kürzer sein. |
- | ^Quelle^Ziel^Typ^Name^Länge^Bemerkung^ | + | ^ Quelle |
- | | Quelle | + | | |
+ | |||
+ | [[http:// | ||
+ | |||
+ | </ |