Forum: PC Hard- und Software Protokoll analysieren aber wie ?


von Stefan H. (kolbenfresser)


Lesenswert?

Hallo,

ich habe einen Holzvergaserofen an dem eine Fernbedien Display 
installiert ist welches über RS485 am Ofen angeschlossen ist.

Nun würde ich gern die Daten und Temperaturen die auf dem Display 
angezeigt werden auf dem PC verarbeiten.
Das Protokoll ist aber nicht bekannt.
Ich habe mich mit dem PC (Hyperterminal) mal eingklingt und folgendes 
mitgeschrieben :
Wie analysiert man das ? ( ich bräuchte sowas wie Parameter X = 50°C 
oder so)

02 0D 11 5F 58 12 00 21
35 00 00 FF 32 02 02 3A
10 5F 80 58 2B 61 06 BD
05 14 02 00 7B 01 CF 0D
AC 05 DC 05 14 05 14 01
F4 05 14 01 F4 05 14 01
B2 02 00 8C 05 14 05 14
01 33 05 14 00 35 00 00
00 00 00 00 00 F0 01 01
03 64
02 0D 11 60 58 12 00 21
35 00 00 FF 33 02 02 3A
10 60 80 58 2B 61 06 BD
05 14 02 00 7B 01 CF 0D
AC 05 DC 05 14 05 14 01
F4 05 14 01 F4 05 14 01
B2 02 00 8C 05 14 05 14
01 33 05 14 00 35 00 01
00 00 00 00 00 F0 01 01
03 86
02 0D 11 61 58 12 00 21
35 00 00 FF 34 02 02 3A
10 61 80 58 2B 61 06 BD
05 14 02 00 7B 01 CF 0D
AC 05 DC 05 14 05 14 01
F4 05 14 01 F4 05 14 01
B2 02 00 8C 05 14 05 14
01 33 05 14 00 35 00 00
00 00 00 00 00 F0 01 01
03 A4
02 0D 11 62 58 12 00 21
35 00 00 FF 35 02 02 3A
10 62 80 58 2B 61 06 BD
05 14 02 00 7B 01 CF 0D
AC 05 DC 05 14 05 14 01
F4 05 14 01 F4 05 14 01
B2 02 00 8C 05 14 05 14
01 33 05 14 00 35 00 01
00 00 00 00 00 F0 01 01
03 C6
02 0D 11 63 58 12 00 21
35 00 00 FF 36 02 02 3A
10 63 80 58 2B 61 06 BD
05 14 02 00 7B 01 CF 0D
AC 05 DC 05 14 05 14 01
F4 05 14 01 F4 05 14 01
B2 02 00 8C 05 14 05 14
01 33 05 14 00 35 00 00
00 00 00 00 00 F0 01 01
03 E4
02 0D 11 64 58 12 00 21
35 00 00 FF 37 02 02 3A
10 64 80 58 2B 61 06 BD
05 14 02 00 7B 01 CF 0D
AC 05 DC 05 14 05 14 01
F4 05 14 01 F4 05 14 01
B2 02 00 8C 05 14 05 14
01 33 05 14 00 35 00 01
00 00 00 00 00 F0 01 01
03 07

Vielen Dank für die Hilfe schon jetzt.

MfG
kolbenfresser

von MeinerEiner (Gast)


Lesenswert?

Der Hersteller/Typ des Teils wäre mal interessant.

Ansonsten: Mal die ganzen "Datensätze" verlängern, also jeder bekommt ne 
ganze Zeile für sich.
Dann sieht man leichter, was gleich bleibt bzw. was sich verändert.
Das 4. Byte sieht z.B. wie ein Zähler aus.

von STK500-Besitzer (Gast)


Lesenswert?

>Der Hersteller/Typ des Teils wäre mal interessant.
Nicht unbedingt. Eher, was bei den Datensätzen gerade angezigt wird.

>Ansonsten: Mal die ganzen "Datensätze" verlängern, also jeder bekommt ne
>ganze Zeile für sich.
>Dann sieht man leichter, was gleich bleibt bzw. was sich verändert.
>Das 4. Byte sieht z.B. wie ein Zähler aus.
Nicht nur das vierte Byte wird hochgezählt...

von Stefan H. (kolbenfresser)


Lesenswert?

Also der Hersteller ist Solarfocus.

Ein Datensatz pro Zeile ist ne gute Idee zum vergleichen Danke !

das 4., 13. und 18. Byte scheinen wohl irgentwelche Zähler zu sein.

Auf dem Display werden die Aktuellen temperaturen angezeigt, das problem 
ist das soviele Daten ausgegeben werden das eine Zuordnung zu den Daten 
setzen mir nicht möglich ist.

Gibtes vielleicht eine Software zum vergleichen oder umwandeln ?

von ArthurDent (Gast)


Lesenswert?

Du solltest versuchen, vorhandene Angezeigte Werte mit den Datensaetzen 
zu korrelieren. Fuer meine Begriffe koennten auch die ersten 4 Byte 
einen Zaehler (4 Byte, Big Endian) darstellen.

von Erwin (Gast)


Lesenswert?

Ich seh da schon etwas um die 40°C, kann das sein ?

von STK500-Besitzer (Gast)


Lesenswert?

In welchen Abständen kommen die Datensätze denn?
Hast du dir die Daten schon mal mit einem Hex-ASCII-Konverter angeguckt?
Offensichtlich noch nicht:
>Gibtes vielleicht eine Software zum vergleichen oder umwandeln ?

Such mal im Netz nach HEX-Editoren. Die zeigen in zwei Fenstern ein Mal 
die HEX-Daten und zum anderen die ASCII-Interpretation an.

von Stefan H. (kolbenfresser)


Lesenswert?

Ja genau nach soetwas hatte ich gesucht werde ich gleich testen. Danke !

Die Datenpakete kommen sehr schnell, einige pro Sekunde.

von Franz (Gast)


Lesenswert?

Hallo, ich hab auch einen Solarfocus Kessel mit RS485.
Hat bei diesem Thema jemand weitergemacht??

lg
Franz

von Gianni B. (gianni60)


Lesenswert?

Hallo
Ich habe ein wenig die Daten meiner Solarfocus Therminator II 
analysiert:
Daten aus der Touch (Master)
Byte 1     0x02  (STX)
Byte 2    0xXX  Master Msg Länge
Byte 3    0xXX  Slave Adresse
      0x11   Therminator II Mutterboard
      0x13   Solarzentrale 1   (Adresse 2)
      0x14   Solarzentrale 2   (Adresse 3)
      0x17   Frischwasserzentrale (Adresse 5)
Byte 4    Inkrementalwert
Byte 5… Byte xx    Noch unklar
Letzte Byte  CRC8 ?

Daten aus der Slave
Byte 1     0x02  (STX)
Byte 2    0x02  (STX)
Byte 3    0xXX  Slave Msg Länge
Byte 4    0x10  Master  Adresse
Byte 5    Antwort mit gleichen Wert der Byte 4 von Master 
(Inkrementalwert)
Byte 6    Immer 0x80
Byte 7    Antwort mit gleichen Wert der Byte 5 von Master (Master 
Befehl?)
Byte 8… Byte xx    Noch unklar (Sensor und Aktuator Daten ?)
Letzte Byte  CRC8 ?
Was ich festgestellt habe: Die Byte Msg länge stimmt nicht immer überein 
mit die wirkliche Länge (+/- 1 Byte). Ich weiss nicht warum.
Ich lese die Daten mit einen Terminal Programm und danach habe ich einen 
Kleinen C Programm geschrieben um die Msg zu finden.
Master Startet mit 0x02  (Aber gibt es auch 0x02 innerhalb der Msg 
deshalb muss ich mit Msg-länge vergleichen)
Slave Startet immer mit 2 Mal 0x02

Beispiel


Master

0x02  0x26  0x17  0x41  0x4F  0x01  0x00  0x00  0x64  0x00  0xE1  0x00 
0x00  0x00  0x00  0x00  0x0D  0x01  0x01  0x00  0xFA  0x00  0xFA  0x01 
0x90  0x01  0xC2  0x5A  0x0F  0x00  0x64  0x27  0x10  0x00  0x0A  0x07 
0xD0  0x6A


Slave

0x02  0x02  0x3D  0x10  0x41  0x80  0x4F  0x0A  0x00  0x00  0x0D  0xAC 
0x0D  0xAC  0x05  0x14  0x05  0x14  0x09  0xC4  0x05  0x14  0x05  0x14 
0x05  0x14  0x09  0xC4  0x09  0xC4  0x05  0x14  0x00  0x00  0x00  0x00 
0x01  0xDD  0x01  0xA8  0x05  0xCA  0x00  0x09  0x00  0x00  0x00  0x00 
0x00  0x00  0x00  0x00  0x03  0x00  0x00  0x00  0x00  0x00  0x00  0x00 
0x00  0xB0



Vielleicht können diese Infos jemand helfen

Gruss

Gianni

von Franz W. (franz_w)


Lesenswert?

Hallo, ich habe auch einen Terminator II. Ich hab schon einiges am 
Kessel umgebaut weil er nicht richtig funktioniert hat. Deshalb würde 
ich auch die einige daten aus dem Protokoll benötigen.
Abgastemperatur und Kesseltemperatur.

Welche Baudrate verwenden sie ?
7bit
8bit

von Franz W. (franz_w)


Lesenswert?

Hallo, ich habe mal schnell versucht den CRC nachzurechnen.
Auf der Seite http://www.sunshine2k.de/coding/javascript/crc/crc_js.html
kann man CRC rechnen.
Ich habe versucht den Master von dir nachzurechnen:

0x02  0x26  0x17  0x41  0x4F  0x01  0x00  0x00  0x64  0x00  0xE1  0x00
0x00  0x00  0x00  0x00  0x0D  0x01  0x01  0x00  0xFA  0x00  0xFA  0x01
0x90  0x01  0xC2  0x5A  0x0F  0x00  0x64  0x27  0x10  0x00  0x0A  0x07
0xD0  0x6A

Settings:
CRC8
CRC8_CDMA2000
Bytes

Dann hab ich STX und den CRC weggelassen und es kommt 0x6A raus.

Versuch das mal mit anderen Nachrichten.

lG
Franz

Beitrag #5117489 wurde vom Autor gelöscht.
von Gianni B. (gianni60)



Lesenswert?

Hallo,
in der Zwischenzeit habe ich ein wenig das Protokoll geschaut und habe 
ich ein kleines Programm für Raspberry PI geschrieben, die die Daten aus 
der RS485 BUS liest und auf der Bildschirm darstellt. Das SW ist noch in 
eine Entwicklungsphase und können noch Fehler drin sein.


Meine Installation


1 x Solarfocus Therminator II (Holz)
1 x Tank 1000l (2 Solarregister)
1 x Tank 1000l (1 Solarregister)
2 x Solarregler für die 3 Register
1 x Frischwasserstation


Benötigte Hardware

Raspberry PI (ich habe die erste Version Raspberry PI 1)

RS422 to USB Schnittstelle am besten mit galvanische Trennung (ich habe 
die TRP-C08 Schnittstelle verwendet). Achtung nur RS422 verwenden (kein 
RS485 Schnittstelle) und am besten nur RX+ und RX- anschließen. Kein 
RS485 so kann man hardware-mäßig vermeiden, dass die Schnittstelle den 
BUS stören kann. Anschluss-Drähte von RS422 Schnittstelle zur 
Therminator BUS so kurz wie möglich halten (max 3-4cm)

Ethernet Anschluss


Benötigte Software

On Raspberry:  Linux mit SSH enabled



Installation

Datei  solarfocusV0.74 ins Raspberry runterladen (sftp)
chmod +x  solarfocusV0.74

Program Starten

./solarfocusV0.74  PARAMETER-A  PARAMETER-B

PARAMENTER-A    USB device   (in meinen Fall   /dev/ttyUSB0)

PARAMENTER-B

1 Darstellung der Daten aus der Mainboard
2 Darstellung der Daten aus der Solarregler 1
3 Darstellung der Daten aus der Solarregler 2
4 Darstellung der Daten aus Frischwasserstation

Beispiel
pi@raspberrypi ./solarfocusV0.74 /dev/ttyUSB0 2

Es kann sein, dass der SW am Anfang einen Fehler gibt (MASTER LEN 
MISMATCH). In diesen Fall Program neu starten.

Habe ich noch nicht alle Daten dekodiert. Habe zur Zeit  leider nur 
wenig Zeit zu investieren gehabt. Wenn jemand weitere Daten dekodiert, 
kann er mir sagen, ich werde das Programm aktualisieren. Am Ende, wenn 
genügend Daten dekodiert sind, kann ich problemlos das Programm 
modiefizieren und zur Verfügung stellen, wo die Daten in eine Database 
geschrieben werden.

Wichtig1
NUR RX+ und RX- von RS422 anschliessen. So kann man HW-mässig vermeiden, 
das Raspberry auf den RS485 BUS schreibt.

Wichtig2
Programm laufen lassen mur wenn man in der Nähe der Therminator II ist.

Wichtig3
Verwendung der SW und HW (alle Info) auf eigene Gefahr
Ich übernehme keine Haftung für enthaltene Fehler oder für Schäden, die 
im Zusammenhang mit der Verwendung der Software und HW entstehen 
könnten.

Gruss Gianni

von Franz (Gast)


Lesenswert?

Hallo, ich arbeite hauptsächlich mit Mikrocontroller. Könntest du das 
Protokoll posten. oder den code der das Protokoll decodiert.
Ich brauche folgende Werte.
Kessel Temp
Abgas Temp
Kessel ein/aus.
Kessel Betrieb/Stop

Ich habe mein Saugzuggebläse auf Drehstrom mit Frequenzumformer umbauen 
müssen da das Gebläse zu schwach was und die Flamme in der 
Nachverbrennung ständig erloschen ist und der Kessel nur mehr Rauch 
erzeugt hat. Jetzt betreibe ich das Gebläse mit 65 - 75 Hz. Seitdem 
funktioniert der Kessel wunderbar.
Allerdings funktioniert meine Abgastemperaturregelung nicht mehr, das 
möchte ich vor der Heizsaisong implementieren.

lG
Franz

von Gianni B. (gianni60)


Angehängte Dateien:

Lesenswert?

Hallo,
ich habe eine neue SW Version.
Diese neue Version speicher RAW Daten sowie auch dekodierte Daten in 
einer DB. So kann man bessere die Daten anschauen und benützen.
Neu muss man nicht mehr Parameters beim SW Start angeben. Die Parameters 
werden von der beigelegte .ini Datei gelesen (beim Start).
In .ini Datei muss man noch die IP Adresse und Passsword der DB angeben.
sonst sollte funktionieren.
Beigelegt auch der Datei (.sql) um die Maria DB struktur (Tabellen) zu 
generieren.

Bitte wenn ihr neue Werte findet bitte hier angeben sodass ich es im SW 
integrieren kann.

Gruss

Gianni

Beitrag #5577274 wurde vom Autor gelöscht.
von Gianni B. (gianni60)


Angehängte Dateien:

Lesenswert?

Hallo alle zusammen,
Es gelang mir endlich, die Zeit zu finden, eine kleine WEB-Seite zu
erstellen, die die in der Datenbank gesammelten Daten anzeigen konnte
(Siehe beigelegte Bild). Es ist noch in Verarbeitung. Ist noch jemand
interessiert?

Gruss Gianni

von Nöwak (Gast)


Lesenswert?

Ja, ich wäre für das Auslesen der Daten interessiert.
Ich habe einen solarfocus octoplus und eine S7-300 Haussteuerung. Für 
die Schnittstelle vom octoplus hätte ich eine RP2 oder Asus Tinkerboard.
Was muss ich anstellen um die Kesseltemperatur und Betriebszustand mit 
dem raspi auslesen zu können?

von Franz (Gast)


Lesenswert?

Ich bin auch an einigen werten interessiert.
Kessel Status Temperatur
Abgas Temperatur
Über Temperatur Schalter (Not aus)
Lg
Franz

von Gianni B. (gianni60)


Lesenswert?

Hallo zusammen,
an folgenden Link habe ich das Projekt uploaded

https://gitlab.com/giancarlo64/solarfocus-therminator-ii-sniffer

Gruss

Gianni

von Gianni B. (gianni60)


Lesenswert?

Hallo zusammen,
wenn etwas unklar ist oder braucht man etwas mehr Erklärung im gitlab, 
gibt ihr mir Bescheid, so werde ich es verbessern

Gianni

von Nöwak (Gast)


Lesenswert?

Hast Du eine eBay Artikelnummer für den rs422 Adapter? Danke

von Gianni B. (gianni60)


Lesenswert?

Nöwak schrieb:
> Hast Du eine eBay Artikelnummer für den rs422 Adapter? Danke

Hallo Nöwak
Momentan verwende ich ein TRP-C08 Konverter aber er ist ziemlich teuer 
aber ist galvanisch-getrennt. Auf Ebay

https://www.ebay.de/itm/Trycom-Isolated-Converter-TRP-C08U-USB-2-0-to-4-ports-RS-232/182719478579?hash=item2a8aedfb33:g:MKgAAOSwBfRbBSpg:rk:1:pf:0

oder ein billiger Angebot

https://www.ebay.de/itm/TRP-C08-OPTICAL-ISOLATED/352485366989?hash=item5211c3dccd:g:d60AAOSwqmdbnjbT:rk:2:pf:0

Sonst sollte ich einen anderen ausprobieren und sehen ob funktioniert.
Wichtig, dass RS422 ist (TX nd RX getrennt) und eine galvanische 
Trennung hat.

Ich werde eine neue kaufen und sage ich dir ob funktioniert

Gruss

Gianni

von Gianni B. (gianni60)


Lesenswert?

Hallo zusammen,
eine neue Version in in gitlab vorhanden. Neue Parameter wurden 
eingetragen und jetzt wird auch die aktuelle Solar-Leistung gerechnet

Gruss Gianni

von Gianni B. (gianni60)


Lesenswert?

Nöwak schrieb:
> Hast Du eine eBay Artikelnummer für den rs422 Adapter? Danke

Hallo Nöwak

ich habe auch folgende RS485-USB Schnittstelle erfolgreich getestet

https://www.wish.com/search/rs485%20to%20usb/product/579309f2a64d357b3d088d7b?&source=search

Gruss Gianni

von Gianni B. (gianni60)


Lesenswert?

Franz schrieb:
> Hallo, ich arbeite hauptsächlich mit Mikrocontroller. Könntest du das
> Protokoll posten. oder den code der das Protokoll decodiert.
> Ich brauche folgende Werte.
> Kessel Temp
> Abgas Temp
> Kessel ein/aus.
> Kessel Betrieb/Stop
>
> ....................
> lG
> Franz

Hallo Franz seit einige Monaten findest du in gitlab den Code

Gruss

Gianni

von Gianni B. (gianni60)


Angehängte Dateien:

Lesenswert?

Hallo,
habe ich neu die Daten in grafana integriert. Hier eine mögliche 
Darstellung

von Alex U. (alex_u)


Lesenswert?

Hallo Zusammen,

wir haben einen Terminator 2 mit LCD Bedienteil.
Das Programm für den PI ist das für ein Touch oder LCD Bedienteil?

Ich möchte gerne die Sensor Daten haben, irgendwie befürchte ich das wir 
wo unnötig wärme verlieren.

Danke
Alex

von Franz (Gast)


Lesenswert?

Hallo ich hatte auch einige Werte aus dem Bus entnommen und festgestellt 
das das Protokoll Software versions abhängig ist. Nur als Info. Mein 
Terminator ist BJ. 2007. Und hat leider viele Spannungsrisse und 
verliert Wasser. Hab ihn schon 2x geschweisst. Nimmt leider kein Ende. 
Wir betreiben ihn im Stückgut Betrieb. Lg

von Gianni B. (gianni60)


Lesenswert?

Allo Alex,
ich kann nicht 100% sicher sein aber es sollte den gleichen Protokoll 
sein sodass das PI Programm verwenden kannst.Theoretisch könnte man ein 
Steuergerät (z.B. Solar) tauschen und das System sollte auch mit dem 
neuen funktionieren. In der SW gibt es auch die Möglichkeit, die 
RAW-Daten zu speichern, um die Analyse durchführen zu können. (in 
solarfocus_config.ini DB_RAW_SAVE = 1 einstellen).

Gruss

Gianni

Alex U. schrieb:
> Hallo Zusammen,
>
> wir haben einen Terminator 2 mit LCD Bedienteil.
> Das Programm für den PI ist das für ein Touch oder LCD Bedienteil?
>
> Ich möchte gerne die Sensor Daten haben, irgendwie befürchte ich das wir
> wo unnötig wärme verlieren.
>
> Danke
> Alex

von Gianni B. (gianni60)


Lesenswert?

Hallo Franz,
kannst du vielleicht deine erhobenen daten posten? So kann ich sie mit 
meinen vergliechen.

Danke

Grüß

Gianni

Franz schrieb:
> Hallo ich hatte auch einige Werte aus dem Bus entnommen und festgestellt
> das das Protokoll Software versions abhängig ist. Nur als Info. Mein
> Terminator ist BJ. 2007. Und hat leider viele Spannungsrisse und
> verliert Wasser. Hab ihn schon 2x geschweisst. Nimmt leider kein Ende.
> Wir betreiben ihn im Stückgut Betrieb. Lg

von Franz Andreas Winkler (Gast)


Lesenswert?

Hallo, gerne teile ich mit euch meine Erkenntnisse.
https://github.com/freemade/HouseHeater_Fan_controller

im main.h sind meine protokoll erkenntnisse zu sehen.

lg
Franz

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
Noch kein Account? Hier anmelden.