aktuelle Wetterdaten in Siemens S7 einlesen

Bero

Level-1
Beiträge
23
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo alle zusammen,

hat jemand schon mal aktuelle Wetterdaten, sprich Niederschlag, Temperatur, Luftfeuchte etc. , etc. von eine Wetterdienst aus dem Internet in eine Siemens S7 Steuerung eingelesen?

Danke für euere Bemühungen.
MfG Bero
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo alle zusammen,

hat jemand schon mal aktuelle Wetterdaten, sprich Niederschlag, Temperatur, Luftfeuchte etc. , etc. von eine Wetterdienst aus dem Internet in eine Siemens S7 Steuerung eingelesen?

Danke für euere Bemühungen.

MfG Bero

Hallo,

hast du denn mittlerweile einen Weg / eine Möglichkeit gefunden wie du die Daten aus dem Internet in deine SPS bekommst?

Gruß
DerMatze
 
Wenn es denn mal so einfach wäre wie du es schreibst ;)
Hast du sowas schonmal gemacht?
Ich brauch Starthilfe.
Realisieren möchte ich eine 3Tage Wettervorschau wie ich hier in Beitrag #8 / #10 beschrieben habe.
Die Daten würden im XML Format vorliegen (was sie auch noch nicht tun) und die muss ich für mich aufbereiten...

Gruß
DerMatze
 
sorg erst mal dafür das die xml datei auf dem pc ankommt und dort als datei vorliegt. mit der pc-runtime und ein bisschen scripting lässt sich das dann für die s7 aufbereiten
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hmm, leider benötige ich eine Homepage um diese Wetter API von Wetter.com nutzen zu können - schade eigentlich.
Jetzt muss ich mir erstmal etwas neues einfallen lassen....
 
mal kurz gegoogelt. geht mit vbs. ob du es direkt in flex integrieren kannst, musst du testen.
aber als externes programm kannst du es auf jeden fall aufrufen.
den code einfach speichern unter irgendwas.vbs
die downgeloadete datei heisst c:\akt-te-s.htm
Code:
'======================================================================
' http-download.vbs 1.0 @2011 by Frank4dd http://www.frank4dd.com/howto
' This script demonstrates a file download from a webserver using http(s).
' It can easily be extended for using basic web authentication.
'
' This program comes with ABSOLUTELY NO WARRANTY. You may redistribute
' copies of it under the terms of the GNU General Public License.
'======================================================================
'======================================================================
' Global Constants and Variables
'======================================================================
Const scriptVer = "1.0"
'Const DownloadDest = "http://www.frank4dd.com/images/frank4dd-logo.gif"
Const DownloadDest = "http://lischis-home.dyndns.org/temp-mhg/akt-te-s.htm"
Const LocalFile = "C:\akt-te-s.htm"
'Const webUser = "username"
'Const webPass = "password"
Const DownloadType = "binary"
dim strURL
function getit()
dim xmlhttp
set xmlhttp=createobject("MSXML2.XMLHTTP.3.0")
'xmlhttp.SetOption(2, 13056) 'If url https -> Ignore all SSL errors
strURL = DownloadDest
msgbox "Download-URL: " & strURL
'For basic auth, use the line below together with user+pass variables above
'xmlhttp.Open "GET", strURL, false, webUser, webPass
xmlhttp.Open "GET", strURL, false
xmlhttp.Send
Wscript.Echo "Download-Status: " & xmlhttp.Status & " " & xmlhttp.statusText

If xmlhttp.Status = 200 Then
Dim objStream
set objStream = CreateObject("ADODB.Stream")
objStream.Type = 1 'adTypeBinary
objStream.Open
objStream.Write xmlhttp.responseBody
objStream.SaveToFile LocalFile
objStream.Close
set objStream = Nothing
End If

set xmlhttp=Nothing
End function 
'=======================================================================
' End Function Defs, Start Main
'=======================================================================
' Get cmdline params and initialize variables
If Wscript.Arguments.Named.Exists("h") Then
Wscript.Echo "Usage: http-download.vbs"
Wscript.Echo "version " & scriptVer
WScript.Quit(intOK)
End If
getit()
Wscript.Echo "Download Complete. See " & LocalFile & " for success."
Wscript.Quit(intOK)
'=======================================================================
' End Main
'=======================================================================

EDIT:
gerade festgestellt. beim 2ten aufruf gibt es einen fehler weil die datei schon da ist. entweder die datei vorher löschen oder im script mal gucken ob man einstellen kann das überschrieben werden soll.

EDIT2:
Code:
  If xmlhttp.Status = 200 Then '<----- hinter diese Zeile folgende 4 Zeilen einfügen. 
    Set FSO=CreateObject("Scripting.FileSystemObject") 
    if fso.fileexists(localfile) then
      fso.deletefile LocalFile
    end if
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, und danke für deine Mühe!
Die Datei ist von deiner Homepage - richtig? Die Frage ist nun wie bekomme ich die für mich relevanten Wetterdaten von z.B. Wetter.com in dieses script unter?
Und dann besteht ja noch die Schwierigkeit diese gewonnen Daten in WinCC flex ober direkt in S7 SPS einzulesen...
Wahrscheinlich geht das auch irgendwie über ein Script, aber das ist nicht meine Stärke ;)
Gruß
DerMatze
 
Zuletzt bearbeitet:
ja. die datei ist von meiner hp:ROFLMAO:

die datei die abgerufen wird, wird unter "Const DownloadDest" hinterlegt.
der zieldateiname unter "Const LocalFile".

du wolltest doch die wetterdaten bei wetter.com abholen. nach der anmeldung wirst du doch einen link haben für die daten.
diesen an DownloadDest.

mach das erst mal. und dann stell mal die gespeicherte datei hier ein. dann wird man sehen.
und ja diese wird dann über ein script in wccf eingelesen und auseinandergepflückt.
 
bei wetter.com wird von "denen" eine Schnittstelle zur Verfügung gestellt, mal sehen ob ich die Daten auch ohne die Nutzung dieser Schnittstelle irgendwie da abrufen kann. Ich meld mich wieder wenn ich ein Stück weiter bin.

Vielen Dank schonmal!

Gruß
DerMatze
 
Zuviel Werbung?
-> Hier kostenlos registrieren
sollten sich die daten nicht direkt mit einem link abholen lassen gäbe es noch eine andere möglichkeit.
es gibt etliche wetterdienste die einen link anbieten um wetter in die eigene hp einzubetten.
wenn man sich da was raussucht was möglichst wenig schnickschnak bei der darstellung enthält kann man das
über vbscript zerpflücken. nachteil ist natürlich.... sobald der anbieter was ändert muss man den code zum aufbereiten unter umständen anpassen.
füg mal zb diese adr http://www.weather365.net/foreign/city6a.php?cityid=25079 bei DownloadDest ein und schau dir das mal im browser und die datei auch mal mit einem texteditor an.
nicht den notepad von win. der stellt das nicht strukturiert dar
nimm zb notepad++ oder pspad oder was weiß ich.
 
Hallo,
also ich habe mir es mal einfach gemacht und den Link von der "3Tage Vorausschau" kopiert und in die vbs Datei entsprechend eingefügt - hat funktioniert. Jetzt liegt diese Seite als Datei vor.
Kann man damit weiterarbeiten?
 
Zuletzt bearbeitet:
natürlich kann man damit weiterarbeiten.

die externen scripte entpacken in das verzeichnis 'd:\vb-script'
für das script http-get mußt du natürlich noch die richtige id für deinen ort raussuchen
tags.zip irgendwohin entpacken
wccf_scripte.zip irgendwohin entpacken

flexprojekt erstellen
die tags importieren.

folgende scripte anlegen: einlesen, holen, warte
den inhalt der 3 wccf-scripte entsprechend ihrem namen in diese 3 scripte kopieren

ein bild anlegen und über eine schaltfläche das script 'holen' starten.
oder über den aufgabenplaner z.b. 1 mal pro stunde das script holen aufrufen
 

Anhänge

  • bild1.gif
    bild1.gif
    9,8 KB · Aufrufe: 110
  • Tags.zip
    914 Bytes · Aufrufe: 52
  • wccf_scripte.zip
    981 Bytes · Aufrufe: 60
  • externe-scripte.zip
    1,8 KB · Aufrufe: 54
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Volker,

die Darstellung in "Bild" entspricht schon dem was ich suche/benötige.
Die ID für meinen Ort habe ich schon, hatte den Link von "weather365.net" ausprobiert und hat auch geklappt - nur der Quellcode ist nicht durchschaubar (mit pspad angesehen)... Aber dafür habe ich ja deine .zip files ;)
Danke für die Unterstützung.
Ich werds nun mal ins Projekt integrieren
Bis später.

Gruß
DerMatze
 
Wetterdaten kann man auch aus dem DCF77 Signal abgreifen, diese liegen Verschlüsselt im Bit 1-14 vor. Der Algoritmus ist mitlerweile bekannt und im Internet zu finden. Siehe Meteotime Crypt.
Die Lizens ist auch in form eines Chips zu haben der das dekodieren übernimmt. Wenn man das signal dann in die Steuerung bekommt lässt sich für 60 Regionen Europas eine 4tägige Vorhersage machen.

http://www.fact4ward.com/blog/meteotime/
 
Zuletzt bearbeitet:
den inhalt der 3 wccf-scripte entsprechend ihrem namen in diese 3 scripte kopieren

Hallo Volker,

also ich habe nun alles soweit fertig,
-die Seite ist im Projekt angelegt und mit entsprechenden E/A Feldern "gefüllt"
-die Tags habe ich eingefügt und mit dem DB der SPS verknüpft
-die 2 Scripte habe ich entsprechend abgelegt
-habe drei Scripte angelegt und mit dem jeweiligen Inhalt gefüllt
-Schaltfeld mit dem ich das Script holen starte

Jedoch gab es beim generieren eine Fehlermeldung mit einem Verweis zum Script "holen"
Anbei ein Screenshot

Ich erbitte nochmal deine Hilfe, da es sich um deinen Quellcode handelt weisst du bestimmt wo es hakt?

Nebenbei noch eine Frage:
Kann ich im Nachhinein noch die Stringlänge auf des nötigste verkleinern, damit der DB nicht "unnötig" groß wird?

Vielen Dank.

Gruß
DerMatze

Wetter_Script_Error.jpg

--- kleiner Nachtrag:
soeben rausgefunden, dass es nicht am Quellcode liegt!
Es war die Schaltfläche mit der ich des Script aufrufe...
 
Zuletzt bearbeitet:
Zurück
Oben