Systa Aqua II - Logger
Systa Aqua II - Logger IP-Symcon Anbindung
- Details
- Zugriffe: 5842
Die Anbindung an IP-Symcon ist relativ einfach.
Zuerst eine Instanz vom Typ "Client-Socket" erstellen:
Hier dann folgende Einstellungen vornehmen:
Host ist hier Localhost, da das Programm "Systa-Bus" auf demselben Server läuft.
Der Port ist derselbe wie er beim Programm "Systa-Bus" eingestellt wurde.
Unter dem Client-Socket noch einen "Text-Parser" anlegen.
Hier dann die benötigten Daten extrahieren lassen:
Systa Aqua II - Logger Software
- Details
- Zugriffe: 7440
Software
Es ist ein simples Programm, geschrieben mit Qt Creator
Aktuelle Version 1.1.0
Die gepackte Datei einfach in ein leeres Verzeichnis auspacken und die Datei "Systa-Bus.exe" starten.
Alle vorhandenen DLLs sind original aus Qt ®
Bedienung
Zuerst Einstellungen vornehmen:
- Comport auswählen, an dem das Systa-Interface angeschlossen ist.
- Wenn man Daten an einen Client ( z.B. IP-Symcon) schicken will:
- Server-IP einstellen (hier läuft die Software auf demselben Server wie IP-Symcon)
- Port (Frei wählbar; muss identisch z.B. in IP-Symcon sein)
- Sendeinterval einstellen (je nachdem, wieviel Daten man haben will)
Es wird kein Mittelwert gebildet. Nur der aktuelle Datensatz wird gesendet. - Server aktivieren ( z.B. für IP-Symcon)
- Wenn die richtigen Daten empfangen werden, wird ein automatisch Hacken in die Checkbox "Comport ok" gesetzt.
- Wenn z.B. IP-Symcon sich mit dem TCPIP-Port verbunden hat, wird ein automatisch Hacken in die Checkbox "Client verbunden" gesetzt.
- Die Anzeige der Pakete ist nur Informativ. Die angezeigten Fehler sind Protokolle mit Fehlern, die bei der einfachen Schaltung schon mal vorkommen können.
Da aber eine Checksumme verwendet wird, werden diese nicht verwendet.
Es kann eine erweiterte Ansicht aktiviert werden:
- Plotfenster anzeigen (wie im ersten Bild dargestellt)
Sollte nicht Wochen lang aktiv sein, da alle Daten in das verwendete Custom-Plot irgendwann Probleme mit den vielen Polygonen bekommt.
Eventuell baue ich noch ein Scrolling ein, damit nur die letzten Tage angezeigt werden. - Log-Einstellungen
Unter den Log-Einstellungen können alle Daten in eine CSV-Datei geschrieben werden.
Einfach einen Dateinamen auswählen (wird in das eigene Systa-Bus.exe-Verzeichnis geschrieben)
Der Suffix "_1" wird automatisch nach jedem Start/Stop hochgezählt, damit ich nicht ausversehen eine Datei überschreibe.
Mit "Start" bzw. "Stop" die Aufzeichnung starten/stoppen.
TCPIP-Server
Hinweis: Es kann zur Zeit nur ein Client verbunden werden.
Die Daten werden einfach als String gesendet.
Bezeichner:Wert jeweils mit einem Simikolen getrennt
z.B. "TSA:53;TW:54;TSV:38.8;TAM:13.8;TSE:38.9;FLOW:0;PWM:0;EnergyDay:22;EnergyTotal:1639;Status:Ok;"
Systa Aqua II - Logger Datenformat
- Details
- Zugriffe: 5614
Datenformat
Die Analyse der Daten auf dem Bus hat etwas gedauert, da ich keinerlei Ansatzpunkte für irgendeine Art von Protokoll gefunden hatte.
Irgendwann vielen Regelmäßigkeiten im Datenstrom auf, die ich als Synchronisationsbytes interpretiert habe. Es werden scheinbar mehrere Protokolle über den Bus gesendet. Zur Zeit habe ich 4 gefunden, die gleichzeitig mit unterschiedlichen Wiederholraten gesendet werden. Davon habe ich bei den beiden Wichtigsten die meisten Daten identifizieren. Mir fehlen eigentlich nur noch Statuszustände und mögliche Fehlermeldungen. Da diese aber zur Zeit nicht anliegen, kann ich diese in den Protokollen auch nicht identifizieren.
Letztes Zeichen eines Protkolls scheint die Checksumme zu sein. Alle Zeichen (Sync, Daten und Checksumme) addiert ergeben 0x00.
1. Sync-Sequence: FC 3E
- 2 Sync + 62 Daten + 1 Checksumme
- Das zweite Sync-Zeichen ist die Länge der folgenden Daten ohne Checksumme
- Refresh-Rate ca. 300 msec.
Dieses Protokoll verwende ich, um die benötigten Daten auszulesen.
Pos. | Beschreibung | Anmerkung |
---|---|---|
0 - 1 | Immer 0x24, 0x01 ??? | |
2 - 3 | TSA1 (Kollektortemperatur) | In 0,1 °C (LSB,MSB) |
4 - 5 | TW (Speicher) | In 0,1 °C (LSB,MSB) |
6 - 7 | TSV (Solarvorlauf) | In 0,1 °C (LSB,MSB) |
8 - 9 | TAM (Außen) | In 0,1 °C (LSB,MSB) |
10 - 11 | Immer 0 | |
12 – 13 | TSE (Solarrücklauf) | In 0,1 °C (LSB,MSB) |
14 - 15 | Durchfluss | in 0,1 l/min (LSB,MSB) |
16 | PWM Pumpe | |
19 | ??? |
|
21 | Status | Siehe Störcodes |
24 | Uhrzeit Stunden | |
25 | Uhrzeit Minuten | |
26 | Datum Tag | |
27 | Datum Monat | |
28 | Datum Jahr | zweistellig |
31 - 32 | Tagesleistung | Vermutlich nur 2 Bytes (LSB,MSB) |
35 - 38 | Gesamtleistung | Vermutlich 4 Bytes (LSB,MSB) |
2. Sync-Sequence: FC 1F
- 2 Sync + 31 Daten + 1 Checksumme
- Das zweite Sync-Zeichen ist die Länge der folgenden Daten ohne Checksumme
- Refresh-Rate ca. 2320 msec.
Hier sind fast die gleichen Daten wie beim 1. Protokoll vorhanden. Auf die vertauschte Richtung von (MSB,LSB) achten.
Pos. | Beschreibung | Anmerkung |
---|---|---|
0 - 1 | Immer 0x0B, 0x01 ??? | |
2 - 3 | TSA1 (Kollektortemperatur) | In 0,1 °C (MSB,LSB) |
4 - 5 | TSE (Solarrücklauf) | In 0,1 °C (MSB,LSB) |
6 - 7 | TW (Speicher) | In 0,1 °C (MSB,LSB) |
16 | Uhrzeit Stunden | |
17 | Uhrzeit Minuten | |
18 | Datum Tag | |
19 | Datum Monat | |
24 - 25 | Tagesleistung | Vermutlich nur 2 Bytes (MSB,LSB) |
26 - 29 | Gesamtleistung | Vermutlich 4 Bytes (MSB,LSB) |
3. Sync-Sequence: 23 02
- 2 Sync + 2 Daten + 1 Checksumme
- Das zweite Sync-Zeichen ist die Länge der folgenden Daten ohne Checksumme
- Refresh-Rate ca. 500 oder 650 msec.
Keine Ahnung was hier drin steckt.
Pos. | Beschreibung | Anmerkung |
---|---|---|
0 | 0xD0 ??? | |
1 | 0x01 ??? |
4. Sync-Sequence: FD 05
- 2 Sync + 5 Daten + 1 Checksumme
- Das zweite Sync-Zeichen ist die Länge der folgenden Daten ohne Checksumme
- Refresh-Rate ca. 1160 msec.
Keine Ahnung was hier drin steckt.
Pos. | Beschreibung | Anmerkung |
---|---|---|
0 | 0xAA ??? | |
1 | 0x24 ??? | |
2 | 0x01 ??? | |
3 | 0x01 ??? | |
5 | 0x08 ??? |
Systa Aqua II - Logger
- Details
- Zugriffe: 8043
Einleitung
Nachdem ich die Daten der SD-Karte aus der Systa Aqua II analysiert hatte, war es natürlich reizvoll, die Daten ebenfalls Online auslesen und darstellen zu können.
Hier wird eine einfache Schaltung beschrieben, die es ermöglicht, die Daten vom Systa-Bus zu lesen.
Nachbau auf eignene Gefahr.
Bei unsachgemäßem Anschluss (Kurzschluss am BUS oder zu anderen Leitungen) kann die Steuerung zerstört werden. Verlust der Gewährleistung.
Schaltungsbeschreibung
Auf der Busleitung liegt eine Gleichspannung von ca. 30 V DC.
Auf die Gleichspannung sind die Daten mit ca. 5 V Pegel als Burst aufmoduliert.
Dabei besteht ein Burst (ca. 6.5 µs) aus ca. 16 Pulsen und entspricht einer Null des seriellen Protokolls.
Das serielle Protokoll hat folgendes Format: 9600 Baud, 8 Daten, 1 Stopbit, keine Parität.
Die Daten werden vom Bus über eine Hochpass ausgekoppelt und der Pegel begrenzt.
Das retriggerbare Monoflop (Zeit ca. 10 µs) macht aus den Burst einen einzelnen Impuls.
An dem invertierten Ausgang steht jetzt das serielle Protokoll zur Verfügung.
Ich habe hier einen XPort verwendet, da ich im Keller nur Netzwerk zur Verfügung hatte.
Statt dessen kann natürlich auch ein FTDI-Chip oder ähnliches verwendet werden.
- Die Schaltungs-Klemme X1-1 geht an die linken Klemme (BUS) der Systa
- Die Schaltungs-Klemme X1-2 geht an die rechte Klemme (BUS) der Systa
ACHTUNG: Sicherheitsvroschriften beachten.
Nur wenn Systa Aqua II spannungslos ist, die Leitungen am BUS anklemmen.
Messungen am Systa-Bus
Ein Burst ohne DC Pegel Mehrere Bursts mit unterschiedlichen Längen
Kanal A: direkt am Systa-Bus
Kanal B: an /Q vom 4047
Kanal A: gemessen hinter Widerstand R5 Kanal B: an /Q vom 4047 |
Kanal A: gemessen hinter Widerstand R5 Kanal B: an /Q vom 4047 |
Kanal A: gemessen hinter Widerstand R5 Kanal B: an /Q vom 4047 |