Protokoll analysieren aber wie ?

#1418640
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
Gast #1418644
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.
Gast #1418729
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...
#1418754
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 ?
Gast #1419229
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.
#4758645
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
#4858760
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 von einem Moderator gelöscht.
#5117491
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
Angehängte Dateien:
Gast #5139798
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
#5242186
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
Angehängte Dateien:
Beitrag #5577274 wurde von einem Moderator gelöscht.
Gast #5582738
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?
#5590248
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
#5725915
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
Gast #6953727
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
#6953839
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
#6953843
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren