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 [2014/12/30 18:17]
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 36: Zeile 62:
  
 ==== Beispiele ==== ==== Beispiele ====
 +
 +Polling an an 0x10:\\
 +''0x90 <break>''\\
 +
 +Antwort "Nichts zu senden":\\
 +'''0x10 <break>'''\\
 +
 +Abfrage eines anderen Gerätes:
 {{:wiki:ems:ems-read.jpg?1000|}} {{:wiki:ems:ems-read.jpg?1000|}}
-Abfrage eines anderen Gerätes 
  
 +
 +Setzen eines Wertes:
 {{:wiki:ems:ems-write.jpg?1000|}} {{:wiki:ems:ems-write.jpg?1000|}}
-Setzen eines Wertes 
 </WRAP> </WRAP>
  
Zeile 78: Zeile 112:
  
 |<60%>| |<60%>|
-|@#dddddd:**Adressen:**||@#dddddd:**Anzahl**|@#dddddd:**Name**|@#dddddd:**Bemerkung**|+|@#dddddd:**Adressen:**||@#dddddd:**Anzahl**|@#dddddd:**Anzeige RC35**|@#dddddd:**Bemerkung**|
 |@#dddddd:**von**|@#dddddd:**bis**|@#dddddd:****|@#dddddd:****|@#dddddd:****| |@#dddddd:**von**|@#dddddd:**bis**|@#dddddd:****|@#dddddd:****|@#dddddd:****|
-|  0x15       |  MMxxx  |  Mischer HK2  | +|  0x04       | ---      | 
-|  0x18  |      |  RC200  | | +|  0x08  |      | UBA 3      | 
-|  0x1E  |      |   ?  | | +|  0x09  |      | MC10      | 
-|  0x38  |      |  RC100  | | +|  0x0A  |      | ---  |    | 
-|  0x48  |      |  KM200  | |+|  0x0B  |      | Servicekey  |    | 
 +|  0x0C  |      | Kaskade  |    | 
 +|  0x0D  |      | Easycom  | Modem  | 
 +|  0x15  |      | MMxxx  |  Mischer HK2  | 
 +|  0x18  |      | RC200  | | 
 +|  0x1E  |      |    | | 
 +|  0x38  |      | RC100  | | 
 +|  0x48  |      | KM200  | |
    
 </WRAP> </WRAP>
wiki/ems/ems-telegramme.1419959862.txt.gz · Zuletzt geändert: 2015/12/30 21:00 (Externe Bearbeitung)