TIA SPS Daten Abfrage über Socket

Shatex

Level-2
Beiträge
31
Reaktionspunkte
4
Zuviel Werbung?
-> Hier kostenlos registrieren
GET Anfrage an Sensor via TCP / UDP

Hallo,

ich habe einen Web Thermograph von WuT:

http://www.wut.de/e-57615-ww-dade-000.php


Meine SPS S7 1215C benötigt für das Regeln der Heizung die Temperaturwerte des Sensors. Ich habe den UDP Port des Geräts und die IP Adresse vom WuT Thermograph.

Kann ich nun über die T-Bausteine die Werte vom WuT Thermograph abfragen oder wie funktioniert das über UDP?

Laut Handbuch des Thermograph (Anhang):

"Neben TCP/IP Kommandos kann das Gerät ebenfalls UDP
Datagramme beantworten. Hierzu muss der Port eingestellt
werden, auf den das Gerät „hören“ soll. Die Voreinstellung ist
42279. Mit der Enable Funktion wird UDP eingeschaltet."

Ich habe das Gerät bereits als neue unspezifizierte Verbindung hinzugefügt, ist das so richtig? (Anhang)


Grüße und vielen Dank
 

Anhänge

Zuletzt bearbeitet:
Hallo,

laut Anleitung

5.2 Temperaturabfrage über UDP
Öffnen Sie eine UDP Verbindung auf die IP Adresse des Gerätes,
bzw. auf die Net-ID als Broadcast und den Port 42279
(Voreinstellung änderbar).
Senden Sie dem Gerät dann einen der bei 4.1 angegebenen
GET /Single Ausdrücke und das Gerät gibt Ihnen die Temperatur
auf dem von Ihnen genutzten Port zurück.

Kann man GET /Single mit Simatic realisieren? Mein TRCV_C Baustein zeigt mir den Status:

[TABLE="class: table_default, width: 100%"]
[TR]
[TD] 80B3[/TD]
[TD] Inkonsistente Parametrierung: Sammelfehler für Fehlercodes W#16#80A0 bis W#16#80A2, W#16#80A4, W#16#80B4 bis W#16#80B9.[/TD]
[/TR]
[/TABLE]

Habe den DB nach TCON_Param parametriert. Habe es mit UDP versucht. Ich steige da nicht ganz durch.

Grüße
 
Hallo,

mittlerweile habe ich den Status "7006" Daten werden Empfangen. Leider werden in meinem DB aber keine Werte angezeigt.

Empfängt Daten.JPG

Mir wird ein Port Fehler angezeigt:

Port Fehler.JPG

Ich habe die Zahlen als HEX Wert im DB2 "Connect" geschrieben wie verlangt, er macht mir aber einen Punkt dazwischen. (09CF = 2500 lokaler Port)

Kann ich den lokalen Port frei wählen oder muss ich diesen irgendwo auslesen?

In meinem DB steht leider der Wert 16#0, d.h. der aktuelle Temperaturwert wurde nicht ausgelesen.


Nochmal eine Frage zu dem Befehl GET /Single. Laut Handbuch gibt der Webthermograph über den Befehl GET /Single den aktuellen einzelnen Temperaturwert aus. Ist vll dort das Problem das die Anfrage nicht gestellt wird?



Falls jemand eine andere Idee hat, der Web Thermograph hat folgende Software Schnittstellen


  • Software-Schnittstellen
    • HTTP, Web-Browser
    • AJAX, JavaScript und Java-Applet
    • TCP- und UDP-Sockets, Client und Server
    • OPC-Server
    • SMTP (E-Mail)
    • SNMP (inklusive Trap)
    • SYSLOG
    • FTP (Datalogging)

Ich brauche irgendwie den aktuellen Temperaturwert. Einzige Voraussetzung die Anfrage muss von der SPS -> Thermograph gehen d.h. nicht zwischenspeichern auf dem PC und dann an die SPS senden.


Grüße und Danke
 

Anhänge

  • DB200.JPG
    DB200.JPG
    46,8 KB · Aufrufe: 13
  • DB2 Connect.JPG
    DB2 Connect.JPG
    161,2 KB · Aufrufe: 10
  • Hardware Port Ethernet.JPG
    Hardware Port Ethernet.JPG
    55,4 KB · Aufrufe: 12
Hallo,

mittlerweile habe ich es versucht mit den Bausteinen

TCON -----------Verbindung aufbauen
TUSEND -------GET Anfrage Senden
TURCV ----------String empfangen

Ich habe den DB für TCON Verbindung nach TCON_Param parametriert. Port 2000
Ich habe den DB für TUSEND nach TADDR parametriert mit der IP Adresse des Sensors.

Die Idee: Über einen Array von Char den GET String "GET /Single1" an den Sensor zu senden.

Leider zeigt mir TUSEND immer den Status 7000, es passiert also leider nichts.

Ich habe parallel ein C# Programm geschrieben welches über eine Socketverbindung die GET /Single1 Anfrage abschickt und empfange auch Daten.

Der Sensor gibt mir bei der Anfrage mit C# die Antwort:

192.168.0.100;WEBIO-071A32;Sensor 1;26,1?C


Dies muss doch auch irgendwie über die SPS möglich sein? Ist meine Idee mit dem Array sinnvoll? Bisher funktioniert es noch nicht, leider.

Grüße
 
Zuletzt bearbeitet:
Zurück
Oben