Heizungsregelung, Datenprotokoll WEIDER Heizungsregelung Datenprotokoll für Debug, Visualisierung, Alarmierung, Fernparametrierung aktualisiert am 15.03.2010 von Arno Längle, info@ale.co.at Die Heizungsregelung hat einen 9-poligen Sub-D-Stecker zum Anschluss eines Modems für Alarmierung im Fehlerfall und Fernparametrierung und Überwachung per RS232-Schnittstelle mit 9600 Bd, 8 Datenbit, 1 Stopbit, keine Parität. Modem an der Heizungsregelung Das Modem wird mit einem geraden 1:1 Kabel (Standard-Modemkabel) mit 9-poligen Buchsen auf beiden Seiten des Kabels mit der Heizungsregelung verbunden. Alle Leitungen sind 1:1 verbunden, die Heizungsregelung sendet automatisch Daten in einem Intervall von 5 s an das Modem, sobald eine Datenverbindung per DCD-Signal erkannt wird (Data Carrier Detect). Nach 300 s ohne Befehl vom Modem beendet die Heizungsregelung die Verbindung, indem das DTR-Signal inaktiv wird und das Modem zum Beenden der Verbindung gezwungen wird (falls das Modem entsprechend parametriert ist). PC an der Heizungsregelung Der PC wird mit einem gekreuzten Kabel (Standard-Null-Modemkabel) mit 9-poligen Buchsen auf beiden Seiten des Kabels mit der Heizungsregelung verbunden: Heizungsregelung PC 9-pol. Sub-D 9-pol. Sub-D Buchse Buchse 1 DCD 2 3 4 5 RxD (Modem TxD) TxD (Modem RxD) DTR (Modem DSR) GND 9 6 7 8 9 DSR (Modem DTR) RTS (Modem CTS) CTS (Modem RTS) RI Die Heizungsregelung signalisiert mit dem Signal DTR, dass sie aktiv ist (Data Terminal Ready). Für Tixi-Alarm-Modems ist der Pegel umgekehrt wie für normale Datenmodems (Einstellung im Code28). Die Heizungsregelung sendet in einem fixen Intervall von 5 s ein ASCII-Protokoll auf die serielle Schnittstelle, solange DSR/DCD (Data Set Ready) an der Heizungsregelung aktiv ist: Im Terminalprogramm des PC muss deshalb DTR aktiv sein, damit die Heizungsregelung aktiv Daten sendet. Alternativ können vom PC mit Befehlen Daten von der Heizungsregelung angefordert werden – die Regelung antwortet unabhängig vom DSR/DCD-Signal. Am Ende des Befehls muss CR LF gesendet werden (0x0D, 0x0A), damit die Heizungsregelung antwortet: Die Antwort ist „1“ für Befehl verstanden und ausgeführt (alte Version „Y“) bzw. die angeforderten Daten (z.B. Messwerteliste) oder „0“ für Befehl nicht verstanden, Parameter gesperrt oder nicht veränderbar (alte Version „N“). DCD 1 RxD 2 TxD 3 DTR 4 GND 5 DSR 6 RTS 7 CTS 8 Seite 1 von 9 Heizungsregelung, Datenprotokoll z.B. Bray Terminal: z.B. Hyperterminal Seite 2 von 9 Heizungsregelung, Datenprotokoll Datenprotokoll Einstellung COM1 RS232: 9600 Bd, 8 Datenbit, 1 Stopbit, keine Parität gesendete Befehle vom PC und Antworten von der Regelung enden mit CR+LF. Die meisten Befehle bestehen aus einem Zeichen – es kann damit das laufende Protokoll erweitert werden (z.B. H – zusätzlich Heizungsflags anzeigen) oder einmalig Daten angefordert werden (z.B. M – alle Messwerte). Befehle zur Parametrierung senden zusätzlich Daten und beginnen und enden mit demselben Zeichen. Es wird keine Checksumme verwendet, dafür Wiederholung der Parameter (z.B. C000020000020C). Wichtige Befehle sind z.B. M, I, O, F oder E Befehl: + - LCD-Kontrast erhöhen - - LCD-Kontrast verringern A - Protokoll senden aus/ein B - LCD-Backlight duty cycle verlängern (1-5, 1..) C - alle Code-Parameter (einmalig) E - Get Error (einmalig) als Byte und binär für Tiximodem F - Fehlermeldungen (einmalig) G - Errorausgaben (einmalig) aus EEPROM inkl. Ergebnis HWTest H - Heizungsflags und -variablen anzeigen ein/aus I - alle Eingänge (einmalig) L - Logikblöcke Startzeiten und Start anzeigen ein/aus M - alle Messerte (einmalig) O - alle Ausgänge (einmalig) P - Parameter senden ein/aus Q - Query Register MODBUS: Anzeige aller Register R - Reset CPU durch Watchdog S - Set COM2 MODBUS anzeigen ein/aus T - Logikzeit und Laufzeiten anzeigen ein/aus U - alle Zeitprogramme (einmalig) V - Versionsnummer Software (einmalig) W - Wärmemenge gesamt und Monatssummen anzeigen (einmalig) X - Hardwaretestprogramm starten/stoppen Z - alle Zeitprogramme (einmalig) = - Zeitablauf beschleunigt: Betrieb s statt h, WMZ kWs statt kWh, AF-Integral 20 s statt 20 min, Heizkurvenanpassung 60 s statt 60 min Estrich ausheizen: Minute statt Wochentag Wechsel * - simuliert DCD/CTS falls Signal von PC/Modem fehlt CoovvvvoovvvvC - Code oo setzen auf vvvv Codes > 13 müssen zuerst mit 13->50 entriegelt werden Offset oo = 1..99: Code 1 bis 99 Wert vvvv = -999 bis 9999: Parameterwert (z.B. Temp in °C) z.B. C010025010025C programmiert RaumSoll auf 25°C Code oo = 00: Uhrzeit -> nächste 2 Stellen Offset (Sek, Min, Std, Tag, Monat, Jahr, Wochentag) z.B. C000130000130C programmiert Uhrzeit auf 30 Minuten Seite 3 von 9 Heizungsregelung, Datenprotokoll ZooffvvvvddhhmmhhmmZ - Zeitprogramm oo = 01..32 setzen auf Funktion ff = 00..09 (keine, Raumsoll1/2, Absenkung 1/2, Boilersoll 1/2) Boilersperre 1/2, Frostschutz) Wert vvvv = -999 bis 9999 entspricht -999 °C bis 9999 °C Wochentag dd = 00, 01, 02..07, 08 (Mo-Fr, Mo, Di, .. So, Sa-So) Zeitfenster von hhmm (Stunde:Minute) bis hhmm (Stunde:Minute) UooffvvvvddhhmmhhmmU - Urlaubsprogramm oo = 01..32 setzen auf Funktion ff = 00..09 (keine, Raumsoll 1/2, Absenkung 1/2, Boilersoll 1/2, Boilersperre 1/2, Frostschutz) Wert vvvv = -999 bis 9999 entspricht -999 °C bis 9999 °C Anzahl Tage dd = 00 bis 30 Zeitfenster von hhmm (Stunde:Minute) bis hhmm (Stunde:Minute) Seite 4 von 9 Heizungsregelung, Datenprotokoll Wenn DCD aktiv ist (Modemverbindung) bzw. DTR (vom PC), dann sendet die Heizungsregelung alle 5 s die Firmwareversion, Einschaltdauer, aktuelle Messwerte, aktive Eingänge, aktive Ausgänge und Fehlermeldungen - kann mit dem Befehl 'A' beendet werden (Antwort '1' für ok oder '0' für nicht verstanden), die Ausgabe entspricht den Abfragen mit den Befehlen V, M, I, O, F Wenn durch Firmwareänderungen neue Messwerte/Eingänge/Ausgänge dazukommen werden diese am Ende der jeweiligen Liste (z.B. der Messwerte) angefügt. z.B. aktuelle Version mit LCD: z.B: alte Version mit LED WEIDER V3.06 LCD WEIDER V2.77 Einschaltdauer:1 d 0 h 1813 s Einschaltdauer:0 d 0 h 813 s T-Vorlauf: 23 °C T-Vorlauf: 31 °C T-Sole : 10 °C T-Sole : 10 °C T-Aussen : 12 °C T-Aussen : 8 °C T-Raum : 25 °C T-Raum : 20 °C T-Puffer : 45 °C T-Puffer : 35 °C T-Boiler : 50 °C T-Boiler : 37 °C T-WP1 : 40 °C T-WP1 : 6 °C T-WP2 : 36 °C T-WP2 : 5 °C T-Reserv1: 28 °C T-Reserv1: 21 °C T-Reserv2: 74 °C T-Reserv2: 22 °C T-Raumsoll -2 °C T-Raumsoll 0 °C T-Vorlauf2 23 °C Pt1000 WP1 428 T-Sole2 : 10 °C Steps WP1: 95 Pt1000 WP1 394 Pt1000 WP2 430 Steps WP1: 10 Steps WP2: 94 Pt1000 WP2 396 Steps WP2: 10 Stroemung-WP1 Codier WP1 997 ADC Stroemung-WP2 Codier WP2 997 ADC UP Heizung UP Grundwasser WP1 laeuft LED Raumbedieng. Err Waermepumpe 9 Seite 5 von 9 Heizungsregelung, Datenprotokoll Ausgabe der Messwerte, Befehl "M": Ausgabe von „ °C“ nach den Temperaturen "T-Vorlauf:", // TLC-Eingang 1 Offset 0 "T-Sole :", // TLC-Eingang 2 "T-Aussen :", // TLC-Eingang 3 "T-Raum :", // TLC-Eingang 4 "T-Puffer :", // TLC-Eingang 5 "T-Boiler :", // TLC-Eingang 6 "T-WP2 :", // TLC-Eingang 7 "T-WP1 :", // TLC-Eingang 8 "T-Reserv1:", // ADC-Eingang 1 "T-Reserv2:", // ADC-Eingang 2 "T-Raumsoll", // TLC-Eingang 11 "T-Vorlauf2", // ADC-Eingang 5 "T-Sole2 :", // ADC-Eingang 6 Offset 12 ab hier nicht verstellbar: "Pt1000 WP1", // TLC-Eingang 9 "Pt1000 WP2", // TLC-Eingang 10 "Steps WP1:", // Schritte Schrittmotor1 "Steps WP2:", // Schritte Schrittmotor2 "Codier WP1", // ADC-Eingang 3 "Codier WP2", // ADC-Eingang 4 Ausgabe aktiver Eingänge, Befehl "I": Logik invertiert – Bit = 1 bedeutet Eingang offen "Sicherungskette ", // Digitaleingang 220V EE1 Offset 0 "Sperre Heizen ", "Sperre Boiler ", "DruckschalterWP1", "DruckschalterWP2", "Niederdruck-WP1 ", Offset 6 "Reserve E.E.8 ", "Niederdruck-WP2 ",// Digitaleingang 220V EE8 Offset 7 "Stroemung-WP1 ",// Strömungswächter1 5V Offset 8 "Stroemung-WP2 ",// Strömungswächter2 5V Offset 9 "Sperre Raumbed.g"// Raumbediengerät 5V Offset 10 Ausgabe aktiver Ausgänge, Befehl "O": Bit=1 bedeutet Relaiskontakt geschlossen "UP Heizung ", // Digitalausgang 220V 1 "UP Grundwasser ", "WP1 laeuft ", "WP2 laeuft ", "UP Boiler ", "UP1 Mischer ", "Reserve A.E.7 ", "UP2 Mischer ", // Digitalausgang 220V 8 "Mischer1 Auf ", // Digitalausgang 220V 9 "Mischer1 Zu ", "Mischer2 Auf ", "Mischer2 Zu ", "Fernstoerung ", // Digitalausgang 220V 13 "Reserve A.E.14 ", // Open Collector Rel 13 "Reserve A.E.15 ", // Open Collector Rel 14 Seite 6 von 9 Heizungsregelung, Datenprotokoll "LED Raumbedieng." // RB_LED: Transistor Rel 15 Ausgabe aktiver Fehlermeldungen, Befehl "F": gefolgt von einem Fehlerbyte "Err Temp.sensor ", // Fehler Temperaturfühler SperrErr "Err Stroemung ", // Fehler Strömungswächter SperrStrW "Err Waermepumpe " // Fehler Wärmepumpe SperrWP Ausgabe Fehlermeldungen, Befehl "E": alle Fehlerbytes und Bits "Errors: LEDError SperrErr SperrWP SperrStrW" z.B. „Errors: 0 0 0 0 00000000 00000000 00000000 00000000“ Fehlerbyte1: LEDError (Status-LEDs der alten Heizungsregelung ohne LCD) Fehlerbyte2: Fehler Temperaturfühler SperrErr Fehlerbyte3: Fehler Strömungswächter SperrStrW Fehlerbyte4: Fehler Wärmepumpe SperrWP Bits Fehler-LEDs aus Byte LEDError: 0x01 // Temperaturfühler 0x04 // Umwälzpumpe1 Heizung 0x08 // Umwälzpumpe2 Boiler/Puffer 0x10 // Umwälzpumpe Grundwasser/Sole 0x20 // Strömungswächter 0x40 // Wärmepumpe1 0x80 // Wärmepumpe2 Folgende Texte werden auf dem LCD angezeigt, wenn Bit 0x01 in LEDError gesetzt ist: Bits Temp.sensor aus Byte SperrErr "Vorlauffühler fehlt " // Bit0 0x01 "Solefühler fehlt "; "Außenfühler fehlt "; "Raumfühler fehlt "; "Pufferfühler fehlt "; "Boilerfühler fehlt "; "Verd.fühlerWP1 fehlt"; "Verd.fühlerWP2 fehlt"; // Bit7 0x80 "Reservefühler fehlt "; // kein Bit in SperrErr aber LEDErr & 0x01 Folgende Texte werden auf dem LCD angezeigt, wenn Bit 0x10 oder 0x20 in LEDError gesetzt ist: Bits Strömungswächter aus Byte SperrStrW "SWE 1 immer aus "; // Bit0 0x01 "SWE 2 immer aus "; "SWE 1 immer ein "; "SWE 2 immer ein "; "GW Vorrat WP 1 "; "GW Vorrat WP 2 "; // Bit5 0x20 Seite 7 von 9 Heizungsregelung, Datenprotokoll Folgende Texte werden auf dem LCD angezeigt, wenn ein Bit in SperrWP gesetzt ist: Bits Wärmepumpe aus Byte SperrWP "Pressostat WP1 "; // Bit0 0x01 "Pressostat WP2 "; "Sole/GW zu kalt "; "SI-Kette/ Thermorel."; "Hochdruck WP1 "; // Bit4 0x10 "Hochdruck WP2 "; // Bit5 0x20 "Verdampfungtemp. WP1"; "Verdampfungtemp. WP2"; // Bit7 0x80 Falls Pressostat WP1/2 und NICHT Hochdruck WP1/2 "Niederdruck WP1 "; // Bit0 0x01 "Niederdruck WP2 "; // Bit1 0x02 Bit 0x01 bedeutet, dass einer der beiden Druckschalter „Hochdruck WP1“ oder „Niederdruck WP1“ ausgelöst hat. Falls Bit 0x10 ebenfalls gesetzt ist, hat der Pressostat „Hochdruck WP1“ ausgelöst, sonst „Niederdruck WP1“. Zur Simulation einer Hochdruckstörung WP1 muss der Eingang DruckschalterWP1 (Offset 03) gesetzt werden, zur Simulation einer Niederdruckstörung müssen die Eingänge DruckschalterWP1 (Offset 03) und Niederdruck-WP1 (Offset 06) gesetzt werden. Das Gleiche gilt für WP2. z.B. zusätzliche Ausgabe Heizungsflags z.B. zusätzliche Ausgabe Zeiten mit „T“ und Mischerpositionen mit „H“ alle 5 s alle 5 s Sperre THunten Betriebsstunden WP1: 0 h 229 s RaumEx: Raumfuehleranforderung Boilerstunden WP1: 0 h 224 s FlaBit: Temperatur/Zeitflaeche Anteil Heizbetrieb WP1: 100 Prozent MischZu: Mischer ist ganz zu Betriebsstunden WP2: 0 h 1 s Reserveausgang: 2.HK Auto Boilerstunden WP2: 0 h 0 s TVorlauf: 23 Anteil Heizbetrieb WP2: 100 Prozent THVorlauf: 23 MinZeit 31597 von Logikblock 111 TSVorlauf: 0 letzte Laufzeit WP1: 180 s TVorlSoll: 25 letzte Laufzeit WP2: 0 s TDifferenz:2 letzte Laufzeit Boi: 180 s TFlaeche: 0 Uhrzeit: 11:32:22 Datum: 11.04.08 MischPos: 0 Wochentag: 5 TVorlSoll2: 20 RTC DS1302 equipped TFlaeche2: 0 Zeitprogramm: MischPos2: 0 BoilSoll1: -99.0 °C, Regelung: -99 °C Sperre 2.HK THunten Mischer 2.HK ist ganz zu THVorlauf: Heizen Ein THVorlauf: Boiler Ein Es werden nur die aktiven Flags angezeigt (z.B. Sperre THunten), die inaktiven werden nicht ausgegeben (z.B. Sperre THoben) – die Anzahl der Zeilen ist variabel. Die Mischerpositionen werden in s angezeigt, muss mit Code24 (Laufzeit für Mischer öffnen x 10 s) auf % umgerechnet werden: (-10 % bis 110 %) z.B. Code24 = 06 (60 s), MischPos = 30 s = 50 %, MischPos2 = 66 s = 110 % Seite 8 von 9 Heizungsregelung, Datenprotokoll Abkürzungen WP Wärmepumpe UP Umwälzpumpe StrW Strömungswächter SWE Strömungswächtereingang GW Grundwasser RBG Raumbediengerät T Temperatur TH Temperatur Hysterese TS Temperatur Spreizung HK Heizkreis A.E. Ausgang Elektronik E.E. Eingang Elektronik Seite 9 von 9