Ja, sie funktioniert noch, meine gute alte Viessmann Eurola OC Brennwert-Gastherme aus 1996 :-) Was mich aber schon länger reizt ist mehr Kontrolle und Einblick in die Steuerung zu erhalten. Für die Anlage wurde meines Wissens nach auch eine "Fernbedienung" angeboten, das sollte die Teilenummer 7450180 sein. Um diese an die Wand zu bekommen gibts dann noch den Wandsockel 9525479 5270242. Hier wird dann wohl der 2-Draht-Bus angeschlossen über den, so wie ich es bislang verstehe, nur die Daten geliefert werden, die Bedieneinheit selbst wird über Batterien versorgt. Jetzt glaube ich das ich in meiner Steuerung noch eine Platine 7458400-4 nachrüsten muss, damit dieser 2-Draht Bus überhaupt funktioniert. Es gibt wohl teils unterschiedliche Varianten davon, mit erkennbar unterschiedlicher Bestückung. Wo die genauen Unterschiede liegen wüsste ich jetzt nicht... vielleicht weis jemand hier mehr darüber? Da werden dann drei Jumper vom Regler-Board entfernt und die Huckepack-Platine in die Stiftleisten gesteckt. Danach glaube ich müsste der 2D-Bus verfügbar sein, ggf. muss man das in der Reglersteuerung noch kodieren/aktivieren. Anschließend müsste die externe Bedieneinheit anklemmbar sein und funktionieren... Wenn das alles so geht wäre dann mein nächster Schritt mit die Kommunikation auf diesem Bus anzusehen. Ich meine bei meiner Recherche im Netz herausgefunden zu haben das Viessmann diesen Bus "KM-Bus" nennt und es sich elektrisch um eine RS485 Schnittstelle handelt. Auch das Protokoll hierauf soll teilweise bekannt sein, ggf. im OpenSource Projekt https://github.com/openv/openv gibt es Hinweise hierzu... Aber auch hier, wer mehr dazu weis, oder gar Erfahrungen damit hat, bitte mit mir hier teilen :-) Ich würde mir dann einen RS485/USB Wandler besorgen um erstmal mit dem PC mithören und experimentieren zu können. Ich überlege noch ob es nötig ist ein isoliertes Interface zu nehmen... Ein Sekundärziel von mir ist es die Heizkurven besser ermitteln und einstellen zu können und nicht immer in den Heizungsraum laufen zu müssen um etwas umzustellen ;-)
Aus den Antworten in diesem Beitrag der Viessmann-Community https://www.viessmann-community.com/t5/Gas/KM-Bus-Verteiler-an-Eurolamatik-OC/td-p/226704 lese ich heraus das der bei der Eurola OC verwendete "2-Draht Bus" etwas anderes sein soll als der "KM-Bus". Möglicherweise elektrisch aber nicht protokolltechnisch kompatibel.
Diese alten Steuerungen passen nicht mit neuen Geräten zusammen. Teilweise passte nicht mal Eurola mit Eurola. Vielleicht war das so "der erste Versuch", was Bussystem angeht. Aber wenn du genug Auswahl hast, versuchen. Das Glück ist dir eher nahe, wenn die Baujahre übereinstimmen.
Im Service-Manual meiner Heizung gibt es einen Hinweis auf den 2-Draht Bus für die Inbetriebnahme. Dort steht: "Für die separate Regelung von einem Heizkreis mit Mischer ist das Erweiterungsmodul Viessmann 2-Draht-BUS Notwendig." Das passt die anderen Informationen die ich gefunden habe. Wenn ich das alles richtig verstehe gibt es hier folgende Optionen: 1.) Man entfernt das in der Heizung verbaute Bedienteil 7450 000 und steckt dieses dann in den Wandsockel 7450 175 (habe nur ein Bild vom geschlossenen Sockel gefunden, dafür aber den 7403 890, welcher ebenfalls ein 7450 000 aufnehmen kann), welcher wohl über ein Batteriefach verfügt und über die 2-Draht Buchse 58B verbunden wird. In diesem Fall hat man praktisch nur die Steuerung an eine andere Stelle gelegt. Der Wandsockel 7450 175 enthält wohl zusätzlich noch einen Temperaturfühler, wodurch er dann quasi zum Raumthermostat wird. 2.) Man baut die 2-Draht BUS Zusatzplatine (deren genaue Typennummer ich nicht kenne) in den Witterungsgeführten Regler ein und kann dann ZUSÄTZLICH zu dem in der Anlage verbleibenden Bedienfeld 7450 000 noch weitere "2-Draht Bus" Geräte anschließen welche ebenfalls eine Steuerung ermöglichen. Das könnte dann sein: 2a) Das Uhrenthermostat-F 7450 023 (bzw. 9519881 B) Dieses batteriebetriebene Thermostat ist zur Wandmontage oder freiem aufstellen im Raum gedacht. Es wird über 2 AA-Batterien versorgt. Zusätzlich kann man einen DCF-77 Empfänger (7450 022) hinten in das Bedienteil einsetzen. Weiterhin kann man es für den freistehenden Betrieb mit einem Funkdatenmodul (7450 0021) nachrüsten (siehe Bild). Anlagenseitig kommt dann der Kasten in die Nähe der Heizung und wird mit dem 2-Draht Bus verbunden. 2b) Mit dem Wandmontagesockel 9525479 5270242 und dem Bedienteil 7450 180 Dieses wird dann an den 2-Drah Bus der Anlage direkt mit einer Leitung angebunden und ist dann fest an der Wand montiert. Auch in dieser Konstellation könnte man wohl in den Genuß des DCF-77 Empfangsmoduls kommen, jedoch würde das dann in der Heizung verbaut. 2c) Es gibt noch weitere 2-Draht Optionen (Mischer, Pumpen-Steuerungen, etc.) Daraus ergibt sich bei mir die Erkenntnis das ohne das zusätzliche 2-Draht Modul wohl kaum eine sinnvolle Möglichkeit besteht neben dem laufenden Bedienteil mit der Heizung in Verbindung zu treten. Jetzt muss ich also nur noch rausfinden welches der Module das richtige für meinen Regler 7458361 ist...
:
Bearbeitet durch User
Hm, scheinbar doch etwas zu speziell für dieses Forum?
Beim bekannten hatten wir den spaß mit älteren Komponenten dieser Serie. Das ging erst nach Rückfragen und Umtausch scheinbar hardware-baugleicher, aber doch irgendwie verschiedener Komponenten. Aber wenn du genug da hast, losbasteln geht doch immer :-)
Aus den Serviceunterlagen der Heizung finde ich die markierten Stellen interessant. Der "LGM18" ist der sog. Feuerungsautomat, also der eigentliche Leistungs-Regelungsteil der Heizung, das "VR18" enthält die eigentliche Heizungs-Regelung, "witterungsgeführte Regelung", da diese die Möglichkeit zum Anschluß eines Außentemperaturfühlers bietet (hängt an [1/2] der Platine). Die VR18 ist intern über den Kontakt [141] mit dem LGM18 verbunden. An der VR18 ist dann auch das Bedienteil über ein 14-poliges Flachbandkabel angeschlossen. Dieses Bedienteil könnte man optional auch aus der Heizung herausnehmen und in eine eigens dafür erhältliche Wandkonsole einbauen. Diese wird dann über den Stecker [58B] mit der VR18 verbunden und über die Wandkonsole mit 2xAA-Batterien versorgt. Die Kommunikation wäre also hier bereits 2-Draht Bus. Warum das Bedienteil intern eine 14-polige Leitung braucht ist mir unklar, eine 4-polige hätte vermutlich gereicht. Eine andere Variante ist noch, eine Zusatzplatine auf die VR18 zu stecken, an X70 und X71 und damit über Kontakt [142] z.B. ein ZUSÄTZLICHES Bedienteil anzuschließen. Alle 3 Pins des Kontakts [142] liegen auf GND. Dies wird durch die 3 Jumper an der Steckleiste X71 verursacht. Der Grund ist, das bei einer VR18 ohne zusätzlichem "2-Draht-Bus Modul" kein Anschluß möglich ist. Rüstet man dieses Modul nach, werden die Jumper entfernt und die 3 Pins von [142] mit dem RS485 Bus des Moduls verbunden. Meine Messungen an der VR18 haben gezeigt das der "2-Draht-Bus" an [58B] und [141] parallel geschaltet sind und dasselbe Signal führen. Dabei ist ein Pin des jeweils 2-poligen Steckers direkt mit GND der Logikspannung verbunden. Mit dem DSO konnte ich hier eindeutige eine digitale Kommunikation erkennen, auch wenn diese mit einem Ruhepegel von 18V arbeitet. Es ist also letztlich ein 1-Wire-Bus mit 3 Teilnehmern, dem Bedienteil, der VR18 und dem LGM18. Ich habe mal ein paar Symbolmessungen durchgeführt um hinter die Taktung zu kommen. Ich vermute das es eine Arbitrierungsmethode gibt und jeder Teilnehmer über eine eigene ID verfügt.
Habe mir mal das Timing eines 2-Draht Datagramms angeschaut. Nehme ich das kürzeste Interval und egalisiere die Anstiegs/Abfallzeiten des analog gemessenen Signals, dann ergibt sich über das gesamte Datagramm ein Bitraster von ca. 0,85ms Länge. Habe das mal im Bild mit den daraus resultierenden Logik-Leveln eingezeichnet. Die Baudrate wäre also (1/0,00085) gut 1.200 baud. Der Ruhepegel spielt ja keine Rolle, die Busteilnehmer müssen nur den Wechsel vom Ruhe in den Empfangsbetrieb erkennen und dazu reich der Pegelwechsel. Daher vermute ich das ein einzelnes Datagramm ein Start-Bit hat. Zumindest in den von mir aufgezeichneten Datagrammen ist die erste 0-Phase immer genau ein Bit (0,85ms) lang. Damit ein Empfänger sich sauber synchronisieren kann wäre auch wenigstens 1 Stop-Bit notwendig, ggf. auch ein Parity-Bit um Übertragungsfehler abzufangen. Wenn ich jetzt davon ausgehe das dies keine Symbole sondern wirklich direkt Bits sind, dann ergibt die Datagrammlänge von ca. 29ms eine Bitlänge von ca. 34 Bits. Bei mutmaßlich 8 Bit Nutzdatenlänge, einem Start und einem Stop-Bit sowie einem Parity-Bit wären das dann ca. 3 Byte pro Datagramm. Diese Werte habe ich im DSO-Decoder mal eingestellt und dann die Parity mal mit ODD/EVEN ausprobiert und siehe da, ich bekomme einen sauber dekodierten Datenstrom angezeigt! Wenn ich da jetzt nicht komplett falsch abgebogen bin ist also der Heizungsanlagen-interne und Heizungsraum-interne "2-Draht Bus" ein einfacher 1-Wire Serial mit 18V Ruhepegel, 1.200 Baud, 1 Stop-Bit und gerader Parität (8E1). Jetzt würde es ans dekodieren des Protokolls gehen...
Bei der Abfrage der Temperaturen über das Bedienfeld (drücken der Thermometer-Taste) ändert sich der Bus-Traffic, es kommt dann immer nur die Folge: 0x02 0x07 | 0x02 0x06 | 0x12 <PARAM> <VALUE> Wobei PARAM die interne ID des angezeigten Wertes ist: 0x25 = (Display-Parameter "1") Außentemperatur - VALUE 0x18 (0b0001 1000, Dez. 24) entspricht der Display-Anzeige "12" 0x35 = (Display-Parameter "3") Kesseltemperatur - VALUE 0x99 (0b1001 1001, Dez. 153) entspricht der Display-Anzeige "76" 0x3D = (Display-Parameter "4") -nicht belegt- - VALUE 0x00 entspricht der Display-Anzeige "0" 0x45 = (Display-Parameter "5") Wasserspeicher-Temperatur - VALUE 0x74 (0b0111 0100, Dez. 116) entspricht der Display-Anzeige "58". Es wirkt fast so als wäre der übertragene Temperaturwert das Doppelte der tatsächlichen Temperatur. Das Display kann keine Nachkomma-Stellen anzeigen, aber möglicherweise werden diese übertragen und dann ist der Temperaturwert einfach um ein Bit nach links geschoben (= Multipliktation mit 2) und das niederwertigste Bit zeigt bei 0 auf den vollen Gradwert und bei 1 auf ein halbes Grad, also wäre 0b1001 1001 in einer Halbgradanzeige dann "76,5°C". Das scheint mir schlüssig :-) Hier mal eine Messreihe während der Heizphase:
1 | Time Rx |
2 | -9.37509s 0x02 |
3 | -9.36434s 0x07 |
4 | -9.33174s 0x02 |
5 | -9.32100s 0x09 |
6 | -9.28676s 0x02 |
7 | -9.27602s 0x08 |
8 | -9.24036s 0x12 |
9 | -9.22962s 0x35 |
10 | -9.21889s 0x52 |
11 | -9.19634s 0x12 |
12 | -9.18560s 0x04 |
13 | -9.17486s 0x00 |
14 | -7.37887s 0x02 |
15 | -7.36813s 0x07 |
16 | -7.33551s 0x02 |
17 | -7.32478s 0x21 |
18 | -7.29049s 0x02 |
19 | -7.27975s 0x19 |
20 | -7.24436s 0x12 |
21 | -7.23362s 0x5C |
22 | -7.22288s 0x00 |
23 | -7.20034s 0x12 |
24 | -7.18960s 0x04 |
25 | -7.17886s 0x00 |
26 | -5.38656s 0x02 |
27 | -5.37582s 0x07 |
28 | -5.34318s 0x02 |
29 | -5.33245s 0x20 |
30 | -5.29814s 0x02 |
31 | -5.28741s 0x18 |
32 | -5.25194s 0x12 |
33 | -5.24120s 0x4C |
34 | -5.23046s 0x05 |
35 | -5.20792s 0x12 |
36 | -5.19718s 0x04 |
37 | -5.18644s 0x00 |
38 | -3.39021s 0x02 |
39 | -3.37947s 0x07 |
40 | -3.34569s 0x12 |
41 | -3.33496s 0x59 |
42 | -3.32422s 0x00 |
43 | -3.30020s 0x12 |
44 | -3.28947s 0x35 |
45 | -3.27873s 0x52 |
46 | -3.25618s 0x12 |
47 | -3.24543s 0x04 |
48 | -3.23470s 0x00 |
49 | -1.99410s 0x02 |
50 | -1.98335s 0x07 |
51 | -1.94977s 0x12 |
52 | -1.93904s 0x5D |
53 | -1.92829s 0x00 |
54 | -1.90574s 0x12 |
55 | -1.89501s 0x04 |
56 | -1.88427s 0x00 |
57 | -1.58400ms 0x02 |
58 | 9.15200ms 0x07 |
59 | 42.2080ms 0x12 |
60 | 52.9520ms 0x0F |
61 | 63.6880ms 0x00 |
62 | 86.2360ms 0x12 |
63 | 96.9680ms 0x04 |
64 | 107.712ms 0x00 |
65 | 1.99477s 0x02 |
66 | 2.00550s 0x07 |
67 | 2.03913s 0x12 |
68 | 2.04986s 0x39 |
69 | 2.06060s 0x00 |
70 | 2.08316s 0x12 |
71 | 2.09389s 0x04 |
72 | 2.10463s 0x00 |
73 | 3.98694s 0x02 |
74 | 3.99769s 0x07 |
75 | 4.03023s 0x02 |
76 | 4.04098s 0x06 |
77 | 4.07497s 0x12 |
78 | 4.08570s 0x25 |
79 | 4.09644s 0x17 |
80 | 5.98320s 0x02 |
81 | 5.99394s 0x07 |
82 | 6.02758s 0x12 |
83 | 6.03831s 0x38 |
84 | 6.04905s 0x2E |
85 | 6.07161s 0x12 |
86 | 6.08234s 0x04 |
87 | 6.09308s 0x00 |
88 | 7.97572s 0x02 |
89 | 7.98646s 0x07 |
90 | 8.02040s 0x12 |
91 | 8.03113s 0x44 |
92 | 8.04187s 0x00 |
93 | 8.06442s 0x12 |
94 | 8.07515s 0x04 |
95 | 8.08590s 0x00 |
96 | 9.97205s 0x02 |
97 | 9.98279s 0x07 |
98 | 10.0154s 0x02 |
99 | 10.0262s 0x55 |
100 | 10.0600s 0x02 |
101 | 10.0707s 0xF4 |
Auffällig ist, das in der Kommunikation immer mit 0x02 0x07 gestartet wird. Ggf. könnte das eine Node-ID sein, z.B. vom LGM18 welcher Daten zur VR18 sendet, oder umgekehrt. Auch die Kombination von 0x12 <PARAM> <VALUE> kommt immer wieder vor.
Ich habe nun die 2-Draht-Bus Platine auf meiner VR18 Regelung nachgerüstet. Die auf der Unterseite befindliche grüne LED leuchtet, sollte aber wohl blinken, so habe ich es im Internet lesen können. Auch ist am Ausgang kein Signal erkennbar. Möglicherweise muss in der Anlage noch was umkodiert werden, oder das Modul ist mit der VR18 nicht kompatibel.
Laut Anleitung sollte nach Inbetriebsetzung die grüne LED auf der Rückseite der Platine blinken, das tut sie leider nicht, sie leuchtet nur. Leider sagt die Anleitung nichts zu diesem Zustand, dort ist nur hinterlegt das wenn die LED nicht blink diese nicht erkannt wird, bzw. sie aus ist ein Problem am RS485-Bus vorliegt. Die "Kurzabfrage 2" über das Bedienteil zeigt mit "20 400 00", was ja laut der Kodiertabelle bedeutet das kein Modul erkannt wurde. Ich hab die Platine mal etwas inspiziert und festgestellt das dort folgende Komponenten zum Einsatz kommen: D2 = 75176B (ti) => Differential Bus Transceivers for RS-422/RS-485 D3 = P87C52EBAA (2359S129548hG) => 80C51 based architecture (8032 compatible) 8-bit microcontroller with 8kb EPROM N1 = 14541B (M) => Programmable Timer N2 = LM393 => Dual Comparator L1 = S+M B82790 S513 N => Entstörung für den RS485-Bus zwei ICs konnte ich nicht ermitteln: D1 = 9607W => ??? D4 = C46C1 (ST) => ??? ich vermute das D4 ein serial EEPROM ist auf dem die Software liegt. Interessanterweise haben nicht alle Module diesen Zusatz-Chip.
Olli Z. schrieb: > D1 = 9607W => ??? Das ist nur der Datecode. TC4049B von Toshiba = CD4049B > D4 = C46C1 (ST) => ??? 93C46 EEPROM von ST.
H. H. schrieb: > Olli Z. schrieb: >> D1 = 9607W => ??? > TC4049B von Toshiba = CD4049B >> D4 = C46C1 (ST) => ??? > 93C46 EEPROM von ST. Vielen Dank! Damit wären die Bauteile soweit komplett und ergeben auch ein erkennbares Gesamtbild. Da es diese Bus-Platine für die VR18 in verschiedenen Ausführungen gibt, muss es abhängig vom Herstellungsdatum oder der Steuerungssoftware der VR18 Trägerplatine sein welche wo zum Einsatz kommt. Da der Bauzeitraum überschaubar ist muss man sich fragen wie wahrscheinlich es ist das Viessmann für dieselbe Steuerungsplatine (VR18) gänzlich unterschiedliche Schnittstellen zwischen VR18 und BUS-Platine hat entwickeln lassen? Von der Hardware sehen die Varianten die ich gefunden habe sehr ähnlich aus, ausser das einigen dieses zusätzliche EEPROM fehlt. Das wiederum kann ja nur bedeuten das die Basis-Software im EPROM oder PROM des uC enthalten ist, oder der das externe EEPROM nur dazu nutzt irgendwelche Parameter zu speichern. Könnte aber genauso gut sein das bei den Modellen ohne externes EEPROM eine andere Version des uC verwendet wurde. Ich lese das Ding mal aus, ist vielleicht interessant was da drin steht. Ebenso was im uC gespeichert ist, falls man da ran kommt (fuses). Ein weiterer Unterschied sind die auf dem Aufkleber angebrachten Teilenummern und Produktbezeichnungen. Da ist einmal von "HV-COM" und "HV-COM2" etc. die Rede. In der weiter oben hinterlegten Bilddatei der Anleitung ist ein Hinweis das die VR18 für die Verwendung mit "Comfortrol" mind. die Version 7 haben muss. Das Comfortrol ist ein externes, zusätzliches Bedienteil und wird über den 2-Draht-Bus angeschlossen. Gut möglich also das meine VR18 mit Softwarestand V4 einfach nicht die notwendigen Routinen enthält um mit dem Modul zu kommunizieren? Komisch wäre das schon, denn auch für meine wurde z.B. ein Mischer angeboten und der würde auch über 2-Draht angeschlossen. Womöglich gilt die Aussage da nur für das Bedienteil. Möglichweise funktioniert aber auch alles und das Modul erkennt ob an den RS485 Pins überhaupt etwas angeschlossen ist und würde nur dann die Kommunikation aufnehmen... leider habe ich grad nichts da was RS485 spricht.
:
Bearbeitet durch User
Nun bin ich im Besitz eines 7540180 Bedienteils inkl. Wandhalter. Das Teil selbst ist batteriebetrieben, benötigt also weder Phantomspeisung noch externe Spannungsquelle. Wenn ich den 2-Draht mit eingestecktem 2-Draht-Modul auf dem eigens dafür vorgesehenen Steckverbinder 141 verbinde passiert leider nichts. Verbinde ich das Modul auf den internen 2-Draht-Bus, zeigt es die Kesseltemperatur sowie Kurzabfrage an, man kann jedoch nichts einstellen darüber.
Schade das es hier noch keine "Mitstreiter" gibt, die Eurola OC wurde lange gebaut und war damit doch weit verbreitet und ist jetzt ja auch noch nicht Steinzeit-Technik... aber ich schreibe trotzdem weiter, vielleicht findet das jemand ja mal hilfreich :-)
Mit Hilfe aus einem anderen Thread hier im Forum konnte ich einen Pegelwandler für eine Empfangsschnittstelle "Viessmann 2-Draht-Bus ---> TTL Serial ---> USB" bauen und somit den Bus bequem über ein Terminal (Hterm) mit den Settings: 1200 Baud, 8-Datenbits, 1-Stopbit, Even-Parity (8E1) mitlesen. Der nächste Schritt wäre dann ein Sendeteil und das ganze dann über einen ESP8266 zugänglich machen. Aber erstmal geht es daran das Protokoll zu entschlüsseln. Für den Zeilenumbruch habe ich im HTerm ein automatisches Return einfügen lassen, wenn länger als 250ms kein Zeichen mehr folgt. Dadurch ergeben sich Kommunikationsstrecken. Der Mitschnitt ist während die Anlage im Betriebszustand "0" ist, also weder Heiz- noch Warmwasseraktivität hat. Es sieht ja so aus als würde jede dieser Strecken immer mit "02 07" starten und mit "12 04 00" enden. Das was man hier sieht ist vermutlich das was die VR18 oder der LGM18 von sich aus senden, die Botschaften sind nämlich genauso wenn ich das Display abziehe. Es gibt aber definitiv auch Botschaften die vom Bedienteil ausgelöst werden, z.B. bei der Parameterabfrage.
:
Bearbeitet durch User
In dem Sniff-Zeitraum kamen nur diese Botschaften vor:
1 | 02 07 |
2 | 02 08 |
3 | 02 09 |
4 | 02 0A |
5 | 02 11 |
6 | 02 18 |
7 | 02 19 |
8 | 02 20 |
9 | 02 21 |
10 | 02 28 |
11 | 02 29 |
12 | 02 31 |
13 | 02 54 |
14 | 02 55 |
15 | 02 57 |
16 | 02 62 |
17 | 02 F4 |
18 | |
19 | 12 04 00 |
20 | 12 0B 28 |
21 | 12 0F 00 |
22 | 12 35 <KT> |
23 | 12 38 4C |
24 | 12 39 00 |
25 | 12 42 14 |
26 | 12 44 00 |
27 | 12 4A 14 |
28 | 12 4C 0C |
29 | 12 59 00 |
30 | 12 5C 00 |
31 | 12 5D 00 |
32 | 12 5E 04 |
"12" scheint also immer eine 3-Byte Nachricht anzuzeigen. "02" eine 2-Byte Nachricht. "12 35 <KT>" gibt die Kesseltemperatur wieder, welche auf den Bedieneinheiten angezeigt wird. Es scheint auch klar das das 2. Byte den Parameter indiziert welcher seinen Wert im 3. Byte darstellt. "12 04 00" kommt immer am Ende einer Bytefolge. Wenn ich mit dem Bedienteil weitere Temperaturen abrufe (drücken der "t?"-Taste und einstellen des Parameters 0-7 über das Rollrad) geschieht nur noch folgendes auf dem Bus:
1 | 02 07 02 06 12 25 1E |
2 | 02 07 02 06 12 25 1E |
3 | 02 07 02 06 12 25 1E |
4 | 02 07 02 06 12 25 1E |
5 | 02 07 02 06 12 25 1E |
6 | 02 07 02 06 12 25 1E |
7 | 02 07 02 06 12 25 1E |
8 | 02 07 02 06 12 25 1E |
9 | 02 07 02 06 12 25 1E |
10 | 02 07 02 06 12 2D FF |
11 | 02 07 02 06 12 25 1E |
12 | 02 07 02 06 12 25 1E |
13 | 02 07 02 06 12 25 1E |
14 | 02 07 02 06 12 2D FF |
15 | 02 07 02 06 12 2D FF |
16 | 02 07 02 06 12 35 3E |
17 | 02 07 02 06 12 35 3E |
18 | 02 07 02 06 12 3D 00 |
19 | 02 07 02 06 12 3D 00 |
20 | 02 07 02 06 12 3D 00 |
21 | 02 07 02 06 12 45 6D |
22 | 02 07 02 06 12 45 6D |
23 | 02 07 02 06 12 45 6D |
24 | 02 07 02 06 12 4D FF |
25 | 02 07 02 06 12 4D FF |
26 | 02 07 02 06 12 4D FF |
27 | 02 07 02 06 12 4D FF |
28 | 02 07 02 06 12 4D FF |
29 | 02 07 02 06 12 4D FF |
30 | 02 07 02 06 12 4D FF |
31 | 02 07 02 06 12 4D FF |
32 | 02 07 02 06 12 4D FF |
33 | 02 07 02 06 12 4D FF |
Das "02 06" kommt sonst nicht auf dem Bus vor, es signalisiert also wohl den Abruf eines Temperaturwertes aus dem LGM18. Der Parameter hinter der "12" lässt sich zweifelsfrei dem eingestellten Parameter 0-5 auf dem Bedienteil zuweisen. Der Parameter-Wert entspricht dabei der Anzeige im Display (siehe oben zu Temperaturkodierung), bei 0xFF wird im Display nichts dargestellt. Jetzt frage ich mich aber wie das Bedienteil, welches ja am VR18 angesteckt ist, dem VR18 mitteilt welche Temperatur vom LGM18 abzurufen ist? Ich kann mir das nur so vorstellen das "12" und der gewünschte Parameter-Code vom VR18 kommt und das letzte Byte die Antwort vom LGM18 wäre. Dagegen spricht jedoch ein bischen das Oszillogramm, denn dann sollte man vor dem letzten Byte doch einen zeitlichen Versatz erkennen können, dieser ist aber nicht vorhanden. Anders kann ich mir aber aktuell nicht erklären wie das Bedienteil über den Bus den gewünschten Parameter vom LGM18 vorgeben sollte. Ich kann auch problemlos die Kommunikationsleitung welche vom VR18 zum LGM18 führt abziehen ohne das dies was am Betrieb der Heizung ändert, außer das vermutlich Änderungen der Außentemperatur nicht zu einer Heizanforderungsänderung führen würde. In diesem Zustand sehe ich weiterhin alle Bytes vom VR18 unverändert fließen. Das wiederum spricht gegen meine Idee weiter oben... seltsam.
:
Bearbeitet durch User
Wieder ein Trippel-Schrittchen weiter... Heute habe ich herausgefunden das wenn ich eine der beiden vom 2-Draht-Modul kommenden Leitungen (ich vermute ja immer noch RS485) auf die intern verfügbaren +18V lege (habe das vorsichtshalber mit einem 1k Widerstand gemacht) fängt die grüne LED auf der Rückseite der Modulplatine sofort an zu blinken und in der Kurzabfrage erhalte ich dann auch die begehrte "1" an der 2. und 6. Stelle = "Viessmann 2-Draht-Modul vorhanden" :-) Soweit so gut. Mit einem Oszi sehe ich auch das dort Daten aufgelegt werden. Anscheinend benötigt das Modul extern ein Signal um sich überhaupt zu aktivieren.
Nachdem ich ein handelsübliches RS485-Interface an die Pins 1+2 des 2-Draht-Bus Ausganges [142] der VR18 angeschlossen habe, fing sofort die LED auf der Modulplatine wieder an zu blinken, auch ohne Pullup. Der fehlte also wirklich nur der Kommunikationspartner. Mit der Einstellung 4800 8E1 erhielt ich dann auch Daten, deren Analyse jetzt aussteht. Vorgesehen ist dieser Bus ja laut Anleitung für die "Dekamatik-HK" und dem "Mischer-Motor". Die Dekamatik scheint mir eine komplette externe Steuerung zu sein in die auch das Bedienteil eingesetzt wird. Das schaue ich mir mal genauer an.
:
Bearbeitet durch User
Ich konnte inzwischen folgende Botschaften auf dem 2-Draht-Bus 58B, welcher als alternativer Fernbedienungs-Bus für das sonst intern verbaute Bedienteil dient, ermitteln:
1 | 0x12 <PARAMETER> <VALUE> |
2 | |
3 | 0x12 => Datenübermittlung vom Master -> Slave(s) |
4 | <PARAMETER>: |
5 | 0x25 => Aussentemperatur |
6 | 0x35 => Kesselwassertemperatur (IST) |
7 | 0x36 => Kesselwassertemperatur (SOLL) |
8 | 0x38 => Byte 2 der Displayanzeige "BETRIEB 1: <BYTE1><BYTE2>" |
9 | 0x39 => Byte 1 der Displayanzeige "BETRIEB 1: <BYTE1><BYTE2>" |
10 | 0x42 => Obere Nibble von <BYTE1> der Displayanzeige "Kurzabfrage 1: <BYTE1><BYTE2><BYTE3>" |
11 | 0x45 => Wasserspeichertemperatur (IST) |
12 | 0x4E => Rücklauftemperatur (SOLL) |
13 | 0x4D => Rücklauftemperatur (IST) |
14 | 0x53 => Unteres Nibble von <VALUE> für Oberes Nibble von <BYTE3> der Displayanzeige "Kurzabfrage 2: <BYTE1><BYTE2><BYTE3>" |
15 | 0x59 => <BYTE2> der Displayanzeige "Kurzabfrage 1: <BYTE1><BYTE2><BYTE3>" |
16 | 0x5B => Unteres Nibble von <VALUE> für unteres Nibble von <BYTE1> der Displayanzeige "Kurzabfrage 1: <BYTE1><BYTE2><BYTE3>" |
17 | 0x5D => Oberes Nibble von <VALUE> in Unteres Nibble von <BYTE3> und Unteres Nibble von <VALUE> in Unteres Nibble von <BYTE1> der Displayanzeige "Kurzabfrage 2: <BYTE1><BYTE2><BYTE3>" |
18 | 0x5E => Unteres Nibble von <VALUE> für Oberes Nibble von <BYTE2> der Displayanzeige "Kurzabfrage 2: <BYTE1><BYTE2><BYTE3>" |
Kleine Korrektur zu den 3 Jumpern: Sie sind nicht alle auf Gnd sondern verbinden in dem Fall, dass kein 2-Draht-Busmodul gesteckt ist die drei einzeln stehenden Pins (neben X70) - Gnd - Schalteingang "Externe Brennereinschaltung" - Schalteingang "Externe Betriebsprogrammumschaltung" der Steuerung mit dem Stecker 142. Das möchte ich nun nutzen um die Eurola als Zuheizer mit einer Wärmepumpe zu koppeln.
Beitrag #7248398 wurde von einem Moderator gelöscht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.