Benutzer-Werkzeuge

Webseiten-Werkzeuge


wiki:ems:ems-telegramme

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
wiki:ems:ems-telegramme [2013/09/22 20:53]
ingof
wiki:ems:ems-telegramme [2019/06/09 12:10] (aktuell)
ingof
Zeile 2: Zeile 2:
 ====== Telegrammaufbau ====== ====== Telegrammaufbau ======
  
-Es gibt mehrere Telegrammtypen auf dem Bus. hier eine kleine Übersicht:+Es gibt mehrere Telegrammtypen auf dem Bus. Jedes Telegramm wird mit einem Break beendet. Dieses Break ist ein 0-Byte bei dem das Stopbit auch auf "0" ist. Mit dem Startbit zusammen also 10 Bitlängen "0".  
 + 
 +Hier eine kleine Übersicht:
 </WRAP> </WRAP>
  
Zeile 22: Zeile 24:
 Die Telegramme werden nach dem Polling gesendet. Der Busmaster kann dann Telegramme selber an alle Busteilnehmer senden. Wenn keine Telegramme mehr gesendet werden sollen wird das Polling beantwortet. Die Telegramme werden nach dem Polling gesendet. Der Busmaster kann dann Telegramme selber an alle Busteilnehmer senden. Wenn keine Telegramme mehr gesendet werden sollen wird das Polling beantwortet.
 Dabei ist das Bit7 der Zieladresse nicht gesetzt. Dabei ist das Bit7 der Zieladresse nicht gesetzt.
 +</WRAP>
 +
 +<WRAP nopagebreak>
 +==== CRC ====
 +
 +Die CRC ist eine XOR-Verknüpfung mit Rotation. Wenn der Datenwert größer als 0x7f ist wird der Wert mit 0x12 zusätzlich mit XOR verknüpft:
 +Hier ein Beispiel-Code zur CRC-Berechnung:
 +<file>
 +poly = 12
 +crc1 = 0x00
 +
 +for i in range(0,len(a)-1):
 +  crc1 = crc1 ^ int(a[i],16)
 +  crc2 = crc1
 +  if crc1 & 0x80: crc1 ^= poly
 +
 +  d = 0
 +  if crc1 & 0x80: d = 1
 +  crc1 = crc1 << 1
 +  crc1 &= 0xfe
 +  crc1 |= d
 +
 +=> crc2 
 +</file>
 </WRAP> </WRAP>
  
Zeile 34: Zeile 60:
  
 Wenn Anfragen gesendet wurden werden diese Positiv bestätigt (0x01) oder ein Fehler gemeldet (0x04) Wenn Anfragen gesendet wurden werden diese Positiv bestätigt (0x01) oder ein Fehler gemeldet (0x04)
 +
 +==== Beispiele ====
 +
 +Polling an an 0x10:\\
 +''0x90 <break>''\\
 +
 +Antwort "Nichts zu senden":\\
 +'''0x10 <break>'''\\
 +
 +Abfrage eines anderen Gerätes:
 +{{:wiki:ems:ems-read.jpg?1000|}}
 +
 +
 +Setzen eines Wertes:
 +{{:wiki:ems:ems-write.jpg?1000|}}
 </WRAP> </WRAP>
  
 <WRAP nopagebreak> <WRAP nopagebreak>
-==== Busadressen ====+==== Busadressen (EMS) ====
 Jeder Busteilnehmer hat eine eindeutige Adresse. Auf dem Bus wird in größeren Abständen einmal jede unbekannte Adresse abgefragt. Die Busteilnehmer werden beim Beantworten des Pollings häufiger abgefragt und werden dann auf der RC30/35 mit der Bezeichnung als Busteilnehmer angezeigt. Jeder Busteilnehmer hat eine eindeutige Adresse. Auf dem Bus wird in größeren Abständen einmal jede unbekannte Adresse abgefragt. Die Busteilnehmer werden beim Beantworten des Pollings häufiger abgefragt und werden dann auf der RC30/35 mit der Bezeichnung als Busteilnehmer angezeigt.
  
Zeile 44: Zeile 85:
 |@#dddddd:**Adressen:**||@#dddddd:**Anzahl**|@#dddddd:**Anzeige RC30**|@#dddddd:**Bemerkung**| |@#dddddd:**Adressen:**||@#dddddd:**Anzahl**|@#dddddd:**Anzeige RC30**|@#dddddd:**Bemerkung**|
 |@#dddddd:**von**|@#dddddd:**bis**|@#dddddd:****|@#dddddd:****|@#dddddd:****| |@#dddddd:**von**|@#dddddd:**bis**|@#dddddd:****|@#dddddd:****|@#dddddd:****|
 +|  0x04  |      | RS232 Gateway | |
 |  0x08  |      | MC10  | | |  0x08  |      | MC10  | |
 |  0x09  |      | BC10  | | |  0x09  |      | BC10  | |
Zeile 57: Zeile 99:
 |  0x13  |  0x16  |  4  | Gerät  | | |  0x13  |  0x16  |  4  | Gerät  | |
 |  0x17  |    |    | RC20 Heizkreis |   | |  0x17  |    |    | RC20 Heizkreis |   |
-|  0x18  |  0x1f  |  8  | RC20 | HK1 bis HK8  |+|  0x18  |  0x1F  |  8  | RC20 | HK1 bis HK8  |
 |  0x20  |  0x27  |  8  | Mischer | HK1 bis HK8, MM10  | |  0x20  |  0x27  |  8  | Mischer | HK1 bis HK8, MM10  |
-|  0x28  |  0x2f  |  8  | Warmwasser  | HK1 bis HK8  |+|  0x28  |  0x2F  |  8  | Warmwasser  | HK1 bis HK8  |
 |  0x30  |  0x37  |  8  | Solar  | HK1 bis HK8, SM10 | |  0x30  |  0x37  |  8  | Solar  | HK1 bis HK8, SM10 |
-|  0x38  |  <wrap help>0x5f</wrap>  |  <wrap help>40</wrap>  | Gerät  | |+|  0x38  |  <wrap help>0x5F</wrap>  |  <wrap help>40</wrap>  | Gerät  | | 
 </WRAP> </WRAP>
 +<WRAP nopagebreak>
 +
 +==== Busadressen (EMS+) ====
 +beim EMS-Plus Bus gibt es weitere/andere Adressen:
 +
 +|<60%>|
 +|@#dddddd:**Adressen:**||@#dddddd:**Anzahl**|@#dddddd:**Anzeige RC35**|@#dddddd:**Bemerkung**|
 +|@#dddddd:**von**|@#dddddd:**bis**|@#dddddd:****|@#dddddd:****|@#dddddd:****|
 +|  0x04  |      | ---      |
 +|  0x08  |      | UBA 3      |
 +|  0x09  |      | MC10      |
 +|  0x0A  |      | ---  |    |
 +|  0x0B  |      | Servicekey  |    |
 +|  0x0C  |      | Kaskade  |    |
 +|  0x0D  |      | Easycom  | Modem  |
 +|  0x15  |      | MMxxx  |  Mischer HK2  |
 +|  0x18  |      | RC200  | |
 +|  0x1E  |      |    | |
 +|  0x38  |      | RC100  | |
 +|  0x48  |      | KM200  | |
 + 
 +</WRAP>
 +
  
  
wiki/ems/ems-telegramme.1379876010.txt.gz · Zuletzt geändert: 2015/12/30 21:00 (Externe Bearbeitung)