====== Telegramme ====== 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 "Telegrammtyp" als Marker benutzt. 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 ==== Alle Offsets sind 1 basiert. Allgemein gilt also: ^ Byte \\ 1 ^ Byte \\ 2 ^ Byte \\ 3 ^ Byte \\ 4 ^ Byte \\ 5 ^ Byte \\ 6 ^ Byte \\ 7 ... n-2 ^ Byte \\ n-1 ^ Byte \\ n ^ Byte \\ n + 1 ^ | Sender | Empfänger | EMS-Plus marker \\ (>0xF0) | Offset | EMS-Plus \\ Telegrammtyp \\ (High-Byte) | EMS-Plus \\ Telegrammtyp \\ (Low-Byte) | Datenbytes | CRC | 0x00 | Länge n | 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 7 im Paket) das Byte 9 aus dieser Tabelle. ==== Tabellenaufbau ==== ^ Quelle \\ (Hex) ^ Ziel \\ (Hex) ^ EMS-Plus Typ \\ (Hex) ^ Start \\ (Dez) ^ Bit \\ (Dez) ^ Bytes \\ (Dez) ^ Divisor \\ (Dez) ^ Linie ^ Einheit ^ Bemerkung^ | Quelle | Ziel | EMS-Plus Typ | Start | Bit | Bytes | Divisor | Linie | Einheit | Bemerkung | **Start** ist die Startposition. **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. Das erste Byte ist das Highbyte. **Divisor** wird benötigt um den Messwert zu berechnen. **Linie** ist die Darstellung der Kurve. Bei __analog__ sind die Messpunkte einfach direkt miteinander verbunden. Bei der Linie __digital__ wird der alte Wert beibehalten und eine waagerecht Linie gezeichnete, bis ein neuer Wert kommt. Dann wird die Linie senkrecht hoch oder runter bis zum neuen Wert gezeichnet. Die Linie sieht also wie eine Treppe aus. **Bemerkung** enthält weitere Infos. Z.B. welcher Wert welche Bedeutung hat. Bei Status-Bits ist das Bit, wenn nicht anders angegeben, gesetzt(=1). ==== Übersicht ==== 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 ^ EMS-Plus Typ ^ Name ^ Länge ^ Bemerkung ^ | 0x10 | 0x48 | 01b9 | Name | Länge | Bemerkung | [[http://www.mikrocontroller.net/topic/309075?goto=3928825#3928825|Gedankenstütze/Externer Link]]