TIA Wasserenthärtungsanlage softliq auslesen

SPS_neuling09

Level-2
Beiträge
9
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Forengemeinde,

wenn möglich würde ich gerne im Zuge der Hausautomatisierung eine Wasserenthärtungsanlage(softliq SC18, Grünbeck) auslesen und im TIA weiter verarbeiten.
Die Anlage kann über WLAN in das Heimnetz integriert werden und bietet einen Webserver und einen Webservice.
Ist dies generell möglich mit einer S7 315 2-DP + CP343-1(Profinet),bzw. TIA, oder hat schon jemand so etwas vergleichbares am laufen?
In diversen anderen Foren gibt es hierzu bereits Themen über die Integration in z.B. FHEM oder Loxone.
leider fehlt mir noch der Ansatz wie ich dies in TIA bewerkstelligen könnte.

Eine Beschreibung der WLAN Schnittstelle hänge ich hier an.

Anhang anzeigen Webserver_Dokumentation.pdf


Vielen Dank
 
Da du einen Ethernet CP hast, musst du in Netpro (oder wie das Äquivalent bei TIA heißt) eine TCP-Verbindung zur IP-Adresse der Anlage auf Port 80 projektieren.
Dann baust du einen http-Anfragestring zusammen wie es im Dokument erläutert ist (+http Header, das findest du z.B. bei Wikipedia) und schickst ihn über die Verbindung ab, und solltest dann ein Ergebnis erhalten. Da ist dann einiges an Stringverarbeitung notwendig um an die eigentlichen Werte zu kommen, aber mit SCL geht das ja mittlerweile auch recht einfach.

Diese projektierte Verbindung bleibt dann dauerhaft aufgebaut. Da musst du mal sehen ob das der Webserver des Geräts so mitmacht, denn üblicherweise wird bei einem Webserver die Verbindung von Browser wieder abgebaut wenn die Daten abgeholt wurde, und nicht dauerhaft offengehalten. Zur Not musst du mit AG_CNTRL die Verbindung selber vom Programm aus steuern.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Thomas,
Danke für deine Antwort. Eine TCP-Verbindung konnte ich bereits im TIA anlegen und ich habe auch schon herausgefunden das ich die AG_SEND und AG_RECEIVE Bausteine verwenden muss, da die Kommunikation über einen CP läuft...
Leider habe ich noch nichts in der Richtung programmiert, daher suche ich jetzt erstmal nach Beispielen wie so ein Anfragestring aussehen muss und wie ich das dann an den Baustein packe.
Man wächst ja bekanntlich mit der Herausforderung :D
 
Wie der Anfragestring auszusehen hat steht doch sogar inklusive http-Header in der von dir oben angehängten Dokumentation auf Seite 2.

Theoretisch nimmst du alles was dort in dem Beispielkästchen gezeigt ist, setzt dort die IP-Adresse deiner Anlage ein, und schreibst das alles inklusive Zeilenumbrüchen (ganz wichtig: CR+LF = 0x0D + 0x0A, auch die Leerzeile so mit einem Zeilenumbruch ausfüllen) so in einen String oder in ein Char-Array, und sendest dieses dann mit AG_Send.
Wenn du andere Parameter abfragen möchtest, musst du den String und auch immer die Content-Length Angabe entsprechend anpassen. Wenn das immer fest ist, kannst du das alles als konstanten String / Char / Byte Array vorher zusammenstellen und musst dich dann in der SPS damit nicht mehr herumschlagen.

Dann sollte in der SPS schon mal eine wie auch immer geartete Antwort zurückkommen, die du dann "nur" noch auswerten musst.
 
Ok, mir war nicht ganz klar in welcher form ich das Übertragen muss.
Ich baue mir jetzt also das ganze wie auf Seite 2 als String zusammen und wandele diesen dann in einen Array of Byte um, um ihn dann mit AG_Send übertragen zu können, richtig?
Wofür steht eigentlich das CR+LF?
Mit dem AG_Recv werde ich dann ja wahrscheinlich auch "nur" wieder die Empfangenen Daten in einen String zurück wandeln müssen um die Antwort "lesen" zu können, oder?
Aktuell steht mir die Anlage noch nicht zur Verfügung um es testen zu können, aber ich möchte schon mal weitestgehend vorab in einer Testumgebung alles durchspielen.
 
Zurück
Oben