Wärmepumpen Regler auslesen und steuern

Begonnen von reinesve, 12. März 2015, 20:25:27

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

reinesve

Hallo zusammen,
ich habe vor, meine Heizung über eine 750-841 zu steuern. Auf der Heizung selber läuft ein Webserver, den man vom PC aus bedienen kann. Nach langer Suche im Internet habe ich vergleichbar Aufgaben gefunden und kann die jetzt auch so nachvollziehen.
Das ganze muss wie folgt ablaufen: die Wago sendet per TCP einen Zahlencode, gefolgt von einer Null an den Webserver. Dieser Schickt den Zahlencode zurück, gefolgt von einer ganzen Reihe an Nutzdaten.
Ich wollte das ganze jetzt mit IP Control realisieren. Das erste Problem ist, das der Baustein nur per UDP eine Verbindung aufbaut. Dann auch den Sendepuffer sendet, aber nach der Überwachungszeit einen Fehler meldet und im Empfangspuffer steht auch nix drin.
Wenn ich das ganze per Wireshark und meinem Rechner vergleiche, ist der Datenstring bei Rechner und SPS gleich. Der Rechner baut die Verbindung zur Heizung allerdings per TCP auf. Versuche ich die TCP Verbindung mit IP_Control zu realisieren, kann ich keine Verbindung aufbauen. Fehlercode FF000000. Habe ich eine Möglichkeit, im Detail zu prüfen, warum ich per TCP keine Verbindung aufbauen kann?
Oder muss ich das ganz anders in Angriff nehmen?
Danke für die Antworten... 

peewit

kontrollieren kannst du das am besten mit wireshark

welchen port, ip_control mode benutzt du

kannst eventuell etwas von deinen code posten

reinesve

so, eine Info habe ich vergessen: ich nutze auch eine E/A Ebene im Hause die ich per Ethernet_ModbusMaster_UDP aus der Wago Lib auslesen. Der Port ist immer offen. Kann das zu einem Fehlverhalten führen? Wenn ich den Baustein deaktiviere, dann den IP_control  mit Mode 0 aufrufe, baue ich die Verbindung auf, sene DAten und bekomme den Fehlercode FD000000. Also ein kleiner Fortschritt.. Im Anhang ein Screenshot von Wireshark von der Kommunikation PC Heizung und auch der Code (aber echt erst der erste Versuch, da fehlt noch alles umzu. Wollte erstmal nur probieren, ob es klappt!)

[gelöscht durch Administrator]

peewit

ganz verstanden habe ich es noch nicht

in der sps gibt es eine wago lib die per modbus auf ein gerät zugreift
und paralllel nutzt die ip_control um nochmals drauf zu zugreifen


wireshark mitschnitt nur als grafik bringt mir gar nichts
da musst du schon die datei hergeben


192, 168, 78, 111   port 8888
was ist das für ein gerät und welches protokoll wird hier gesprochen



reinesve

Meine bisherige Hardware bestand aus der Wago SPS und der Wago E/A Ebene. Diese E/A Ebene lese ich mit dem Baustein aus der Wago Lib aus. Zusätzlich zu dieser Kommunikation hole ich mir ber Yahoo-World-Weather noch die Wetterdaten jede Stunde ab. Das alles funktioniert ohne Probleme.
Jetzt wollte ich noch zusätzlich meine Heizung (192.168.78.111, port 8888) auslesen. Protokoll muss TCP sein, denn auch mein Handy und Rechner bauen über Port 8888 eine TCP Verbindung zur Heizung auf.
Ich baue heute noch mein Netzwerk um, dann kann ich mich per Wireshark dazwischen hängen. Die Datei lade ich dann hoch.

reinesve

so, hier die Wireshark Dateien...
IP- Adressen:
.116 = PC
.113= SPS
.111= Heizung

In der P3 Datei kann man die korrekte Verbindung von PC zur Wärmepumpe sehen. In P4 habe ich nichts mit dem Rechner gemacht.

Hilft das schon weiter?


[gelöscht durch Administrator]

reinesve

hier sind alle beteiligten Teilnehmer drin... PC, SPS und Heizung...

[gelöscht durch Administrator]

reinesve

#7
Hallo zusammen,

ich muss noch mal stören...Hat jemand noch eine Idee was ich falsch mache oder kontrollieren könnte? Ich drehe mich irgendwie im Kreis. Ich würde schon gerne meine Heizung mit der SPS steuern....
Vielen Dank...

reinesve


peewit

kannst du für alle anderen das ursprüngliche problem und dein lösung formulieren

dann können alle etwas lernen !


reinesve

aber sicher... Ich bin bloß in einen kleinen Rausch verfallen, nach dem es endlich geklappt hat  :)

Die Lösung ist, wie es auch fast zu erwarten war, recht einfach: Laut Internetbeiträgen muss ich einen Steuerbefehl gefolgt von einer  Null an meine Heizung über TCP auf Port 8888 schicken. Die Heizung antwortet mit dem Steuerbefehl gefolgt von den angeforderten Daten. Nach Einlesen in Wireshark und Auswerten vom Mitschnitt der Kommunikation ist mir aufgefallen, dass ich die Sequenz umdrehen muss, sprich erst eine Null senden, dann den Steuerbefehl. Und siehe da, es geht...
Im Moment lese ich nur den Zustand aus, d.h. ich bekomme als Antwort 708 Bytes, die den Zustand der Heizung wieder geben. Was sich alles hinter den Bytes versteckt, kann ich im Moment nicht sagen. Dokumentationen im Internet stimmen nicht! Aber ein Paar analoge Werte (Temperatur, Vorlauf, Rücklauf, Warmwasser) bekomme ich schon. Jetzt muss ich noch weiter puzzeln...

Falls jemand Interesse am Baustein (für eine Alpha Innotec WP mit Luxtronix 2,0 Regler) hat, kann den gerne bekommen.

Ich melde mich, wenn ich alles fertig habe...

peewit

ok

danke dir für die beschreibung für "alle"

willi1974

Hallo reinesve

Da ich mich gerade auch darin versuche die Daten der Alpha Wärmepumpe auslesen , wäre mein Interesse an deinem Baustein groß 8)

Wäre es möglich mir diesen zu bekommen  ::)

Danke im Voraus