Details
last edit by
KarlKoch
KarlKoch
KarlKoch Oct 8, 2010 1:57 pm - [[page/history/KM-Bus|7 revisions]]
hide details
hide details

Tags
  • [[tag/view/viessmann km-bus protokoll befehle aufbau|viessmann km-bus protokoll befehle aufbau]]
[[KM-Bus#|edit]]
viessmann km-bus protokoll befehle aufbau
Save[[KM-Bus#|Cancel]]

Edit This Page
Edit This Page

KM-Bus CMD 0xBF do not read yet - under contruction

Inhalt






Grundsätzliches


Das Kommando 0x3F / 0xBF ist ein sehr mächtiges Kommando. Daher wird ihm hier eine eigene Seite gewidmet.

Auch hier gilt wieder: 0x3F fordert an, 0xBF sendet die Daten.
Als Besonderheit sei hier angemerkt: 0xBF kann nicht nur als Anwort auf 0x3F sondern auch als alternative zu 0x80 auf 0x00 gesendet werden.
Wir erinnern uns: Command 0x00 wird als eine art Ping oder "Alive" gesendet und normalerweise mit einem 0x80 Telegramm beantwortet.

Ein 0xBF Telegramm ist wie folgt aufgebaut:

...

Header


Der Header ist wie gehabt.

Body


Das erste Byte verweist auf eine interne Tabllen Nummer.
Darauf folgen die Daten, die mit XOR 0xAA beaufschlagt sind.

Interne Tabellen


Es gibt 19 interne Tabellen. Jede Tabelle hat eine definierte Länge.

Tabellen Nr.
interne Kennung
max. Länge
Inhalt
Gruppe 0: Antwort auf Slave Anfrage
0
0x10
30
Diese Tabs werden als Antwort auf die "SlaveAnfrage"
1
0x11
30
Tab gesendet und enthalten die gewünschten Daten
2
0x12
30

3
0x13
30

Gruppe 1: SlaveAnfrage
4
0x14
9
Mit diesen Tabs hat der Slave die Möglichkeit
5
0x15
9
Spezielle Daten vom Master anzufragen und
6
0x16
9
verschiedene Schaltvorgänge im Master vorzunehmen
7
0x17
9

Gruppe 2: Leseflags oder ähnliches (s.unten)
8
0x18
3
Dieses Tab wird ca. jede Sekunde gesendet
9
0x19
3
Es enthält ein 10 Bit Wort
10
0x1A
3

11
0x1B
3

Gruppe 3: Div.Stati und Temperaturen vom Master
12
0x1C
21
Dieses Tab wird ca. alle 70 Sekunden gesendet
13
0x1D
13
Es werden ein paar Temperaturen und Stati von
14
0x1E
13
Brenner und Pumpen übergeben
15
0x1F
13

Gruppe 4: Raumtemperatur an Master übermitteln
16
0x20
4
In diesen Tabs wird die Raumtemperatur an den
17
0x21
4
Master übertragen (z.B. von Vitotrol 300)
18
0x22
4


Man sieht schon anhand der Länge, dass (fast) immer 4er Gruppen von Tabs gebildet werden.
Dabei scheint jeweils der erste Tab (0,4,8,12) die Bedieneinheit an der Vitotronik zu sein.
Die restlichen 3 Tabs werden evtl. angschlossenen Vitotrols (o.ä.) und damit den Heizkreisen 1-3 (?) zugeordnet.
Lediglich im letzten Block (Tab 16-18) fehlt das 1. Element (klar: die Bedieneinheit hat keinen Raumtemperatur Sensor).

Das erste Byte eines jeden Tabs enthält die interne Nummer (bei TabNr. 13 z.B.1D). Dieses Byte ist in der Längenangabe eingeschlossen.
Die Nutzdatenlänge ist also die Länge in der Tablle -1.

Zu den Gruppen


Gruppe 0:

dies sind die Antworten auf die Tabs aus Gruppe 1 (s.unten) und enthalten die entsprechenden Daten.

Gruppe 1:

Mit diesen Tabs haben die Slaves die Möglichkeit
  • diverse Daten aus dem Master zu lesen
  • Zustände im Master zu schlaten

Der Master antwortet auf Tab aus Gruppe 1 mit einem Tab aus Gruppe 0.

Ein Tab aus dieser ist wie folgt aufgebaut:
[SpeicherNr.][Heizkreis (?)][cmd]...

Es gibt eine ganze Latte an Befehlen (cmd):
cmd
Bedeutung
0xE7
Lese...


0xC8
Abschalten
0xC9
Warm Wasser
0xCA
Heizung und Warm Wasser
0xCB
Partybetrieb An
0xCC
Partybetrieb Aus


0xCD

0xCE

0xCF

0xD2

0xD3



0xD6

0xD7

0xD8

0xD9

0xDA

0xDB



0xDC
Sparbetrieb An
0xDD
Sparbetrieb Aus


0xE5

0xED

0xEE



0xD0

0xD1

0xD4

0xD5

0xDE

0xDF

0xE0

0xE1

0xE2

0xE3

0xE4

0xE8

0xEA

0xEB

0xEF

0xF0





Mit dem Befehl 0xE8 können 15 Speicher ausgelesen werden.
Jeder Speicher enthält versch. Soll- und Ist-Temperaturen, Flags, Stati von Pumpen, Brenner etc., die Systemzeit uvm.



Gruppe 2:

wird ca. jede Sekunde gesendet. Übertragen werden 2 Byte.
Diese enthalten 10 Bits, die anscheinend ausgeknipst werden, sobald einer von 10 zugehörigen Bereichen des Masters ausgelesen wird.
Dieses Tab wird unaufgefordet gesendet.

Gruppe 3:

wird ca. alle 70 Sekunden gesendet. Darin sind enthalten:
Temperaturen
Kessel, Speicher, Speicher2, Abgas, Aussen
Stati
SpeicherPumpe, Zirkulationspumpe, Brenner, Sammelstörung, DCF77, etc
auch dieses Tab wird unaufgefordet gesendet.

Gruppe 4:


Diese Tabs können von den Slaves (wahrscheinlich Vitotrols mit angeschlossenem Raumtemperatursensor) verwendet werden um die Raumtemperatur dem Master mitzuteilen.