# aktuelle Wetterdaten in Siemens S7 einlesen



## Bero (12 August 2011)

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


----------



## MW (12 August 2011)

Bero schrieb:


> 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?



Probiers mal mit der Suchfunktion vom Forum. Da kommt dann zb. sowas bei raus: http://www.sps-forum.de/showthread.php?t=23002&highlight=wetter


----------



## DerMatze (29 Januar 2013)

Bero schrieb:


> 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?
> 
> ...



Hallo,

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

Gruß
DerMatze


----------



## Matze001 (29 Januar 2013)

HTTP-GET über eine offene TCP-Vebindung.

Grüße

Marcel


----------



## DerMatze (30 Januar 2013)

Matze001 schrieb:


> HTTP-GET



Gibts dafür eine Systemfunktion / einen Systemfunktionsbaustein?



Matze001 schrieb:


> über eine offene TCP-Vebindung


Um diese Verbindung einzurichten, kann ich das verwenden?

Gruß
DerMatze


----------



## Matze001 (30 Januar 2013)

Ja genau!

Dann schaust du dir noch bei Wikipedia an, wie das HTTP-GET Telegramm aufgebaut ist, und schon gehts los.

Grüße

Marcel


----------



## DerMatze (30 Januar 2013)

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


----------



## volker (31 Januar 2013)

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


----------



## DerMatze (31 Januar 2013)

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....


----------



## volker (1 Februar 2013)

schau dir das mal an. http://www.apachefriends.org/de/xampp-windows.html
ich denke, dass du die api aber auch mit php holen kannst.
evtl sogar mit vbscript


----------



## volker (1 Februar 2013)

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

```
'======================================================================
' 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:

```
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
```


----------



## DerMatze (5 Februar 2013)

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


----------



## volker (6 Februar 2013)

ja. die datei ist von meiner hp

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.


----------



## DerMatze (6 Februar 2013)

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


----------



## volker (6 Februar 2013)

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.


----------



## DerMatze (6 Februar 2013)

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?


----------



## volker (7 Februar 2013)

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


----------



## DerMatze (7 Februar 2013)

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


----------



## wirehead (7 Februar 2013)

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/


----------



## DerMatze (8 Februar 2013)

volker schrieb:


> 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




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


----------



## DerMatze (9 Februar 2013)

Hallo Volker, 
immer wenn ich in irgend einer Art und Weise das Skript "holen" aufrufen will, gibts beim Generieren immer die Fehlermeldung mit dem Verweis auf das genannte Skript?!?!?!
Ich habe es mit einer Schaltfläche und mit dem Aufgabenplaner versucht, beides ohne Erfolg....
Hast du eine Idee woran es liegen kann?
Gruß
DerMatze


----------



## thomas_1975 (9 Februar 2013)

Hi Matze,
kann es sein, daß der call warte in z.10 bzw15 warten heißen müßte ?
Muß dazu sagen, daß ich nur eine Vermutung äußere, und mich mit Skripten nicht so wirklich auskenne.

gruß Thomas


----------



## DerMatze (10 Februar 2013)

thomas_1975 schrieb:


> kann es sein, daß der call warte in z.10 bzw15 warten heißen müßte ?



Nein, das passt schon, da das aufgerufene Skript "warte" heißt.

Was mich nur wundert, egal welches Skript ich mit der Schaltfläche verknüpfe, es gibt immer eine Fehlermeldung mit dem Verweis auf das aufgerufene Skript...?
Hat evtl. WinCC flex ein Problem mit der Syntax?

Gruß
DerMatze


----------



## wiesel187 (10 Februar 2013)

Hallo Matze 

dein Aufruf lautet " Call warte(10) "
Dein Skriptname ist aber "warten"

Grüße wiesel


----------



## PN/DP (10 Februar 2013)

Hallo Matze,

wie lautet denn die"Fehlermeldung"?
Wie verknüpfst Du die Skripte mit Schaltflächen? Tippst Du etwas oder klickst Du den Skriptaufruf aus Auswahllisten zusammen?

Harald


----------



## wiesel187 (10 Februar 2013)

So hab mir mal das Projekt angeschaut .....

Warum Skript Warten / Holen / Einlesen und ne externe exe ?????

Hab mal auf die schnelle beim Kaffee das Skript aufgebohrt .......
Nun 1 Skript und alles drin....

Ev. noch ein wenig hübsch machen (Error handling u.s.w.) aber Läuft.

:s10:


```
'################################################################
'#                                                 Wetterdaten lesen                                                                #
'################################################################


Const DownloadDest = "http://www.weather365.net/foreign/city6a.php?cityid=35377"
Const LocalFile = "C:\wetter3tg.htm"
Const DownloadType = "binary"
Dim strURL


  Dim xmlhttp

  Set xmlhttp=CreateObject("MSXML2.XMLHTTP.3.0")
  strURL = DownloadDest

  
  xmlhttp.open "GET", strURL, False
  xmlhttp.send
  
  If xmlhttp.status = 200 Then
    Dim FSO
    Set FSO=CreateObject("Scripting.FileSystemObject") 
    If FSO.FileExists(LocalFile) Then
      FSO.DeleteFile LocalFile
    End If
    Set FSO=Nothing
    
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


'################################################################
'#                Daten aus wetter3tg.htm Filtern                    #
'################################################################


Dim FSO2
Dim indatei



Set FSO2 = CreateObject("Scripting.FileSystemObject")
Set indatei = FSO2.OpenTextFile("C:\wetter3tg.htm",1)


Dim startpos, inzeile, endpos

Do While indatei.AtEndOfStream <> True
  startpos = 0
  inzeile = LTrim(indatei.ReadLine)

'ort
  startpos = InStr(inzeile,"id=ort")
  If startpos > 0 Then
    startpos = InStr(inzeile,"_blank")
    endpos=InStr(startpos+8,inzeile,"<")
    SmartTags("wetter.ort") = Mid(inzeile,startpos+8,endpos-startpos-9)
  End If


'heute
  startpos = InStr(inzeile,"day1a")
  If startpos > 0 Then
    SmartTags("wetter.tag1_tag") = Mid(inzeile,startpos+7,2)
  End If
  startpos = InStr(inzeile,"day1b")
  If startpos > 0 Then
    endpos=InStr(startpos+14,inzeile,Chr(34))
    SmartTags("wetter.tag1_wetter") = Mid(inzeile,startpos+14,endpos-startpos-14)
  End If
  startpos = InStr(inzeile,"day1c")
  If startpos > 0 Then
    endpos=InStr(inzeile,"&deg")
    SmartTags("wetter.tag1_temax") = Mid(inzeile,startpos+7,endpos-startpos-7)
  End If
  startpos = InStr(inzeile,"day1d")
  If startpos > 0 Then
    endpos=InStr(inzeile,"&deg")
    SmartTags("wetter.tag1_temin") = Mid(inzeile,startpos+7,endpos-startpos-7)
  End If

'morgen
  startpos = InStr(inzeile,"day2a")
  If startpos > 0 Then
    SmartTags("wetter.tag2_tag") = Mid(inzeile,startpos+7,2)
  End If
  startpos = InStr(inzeile,"day2b")
  If startpos > 0 Then
    endpos=InStr(startpos+14,inzeile,Chr(34))
    SmartTags("wetter.tag2_wetter") = Mid(inzeile,startpos+14,endpos-startpos-14)
  End If
  startpos = InStr(inzeile,"day2c")
  If startpos > 0 Then
    endpos=InStr(inzeile,"&deg")
    SmartTags("wetter.tag2_temax") = Mid(inzeile,startpos+7,endpos-startpos-7)
  End If
  startpos = InStr(inzeile,"day2d")
  If startpos > 0 Then
    endpos=InStr(inzeile,"&deg")
    SmartTags("wetter.tag2_temin") = Mid(inzeile,startpos+7,endpos-startpos-7)
  End If

'übermorgen
  startpos = InStr(inzeile,"day3a")
  If startpos > 0 Then
    SmartTags("wetter.tag3_tag") = Mid(inzeile,startpos+7,2)
  End If
  
  startpos = InStr(inzeile,"day3b")
  If startpos > 0 Then
    endpos=InStr(startpos+14,inzeile,Chr(34))
    SmartTags("wetter.tag3_wetter") = Mid(inzeile,startpos+14,endpos-startpos-14)
  End If
  startpos = InStr(inzeile,"day3c")
  If startpos > 0 Then
    endpos=InStr(inzeile,"&deg")
    SmartTags("wetter.tag3_temax") = Mid(inzeile,startpos+7,endpos-startpos-7)
  End If
  startpos = InStr(inzeile,"day3d")
  If startpos > 0 Then
    endpos=InStr(inzeile,"&deg")
    SmartTags("wetter.tag3_temin") = Mid(inzeile,startpos+7,endpos-startpos-7)
  End If

Loop  

Set FSO2=Nothing
```


----------



## DerMatze (10 Februar 2013)

wiesel187 schrieb:


> Dein Skriptname ist aber "warten"



Schon erledigt, Fehlermeldung besteht weiterhin...


----------



## DerMatze (10 Februar 2013)

PN/DP schrieb:


> Hallo Matze,
> 
> wie lautet denn die"Fehlermeldung"?
> Wie verknüpfst Du die Skripte mit Schaltflächen? Tippst Du etwas oder klickst Du den Skriptaufruf aus Auswahllisten zusammen?
> ...



Hallo Harald,

ich wähle es unter: Ereignisse/Drücken/Benutzerscripte/holen aus.




MfG


----------



## DerMatze (10 Februar 2013)

wiesel187 schrieb:


> So hab mir mal das Projekt angeschaut .....
> 
> Warum Skript Warten / Holen / Einlesen und ne externe exe ?????



Das kann ich dir nicht beantworten. Ich habe die Skripte nicht erstellt.
Ich werde deine Variante auch mal ausprobieren! 
Danke.

Gruß
DerMatze


----------



## DerMatze (10 Februar 2013)

wiesel187 schrieb:


> Ev. noch ein wenig hübsch machen (Error handling u.s.w.) aber Läuft.



Also ich dreh noch durch - ich bin anscheinent zu blöd um ein Skript in WinCC flex zu starten...?!
Ich habe ein neues Skript (Wetterdaten) mit den Code ("alles in einem") angelegt, dann habe ich es im Aufgabenplaner stündlich aufrufen wollen. Und siehe da, beim Generieren wieder diese Fehlermeldung....:sb5:

Was mache ich falsch??????




Gruß
DerMatze


----------



## PN/DP (10 Februar 2013)

DerMatze schrieb:


> beim Generieren wieder diese Fehlermeldung....:sb5:
> 
> Was mache ich falsch??????


Es ist so einfach, detaillierte Fehlerausgaben zu erhalten:


			
				WinCC flexible Generator Ausgabe schrieb:
			
		

> Generator . Skript holen wurde mit Fehlermeldungen kompiliert.


- öffne das in der Fehlermeldung angegebene Skript (eventuell mit Doppelklick auf die rote Zeile?)
- prüfe das Skript mit "Skript > Syntax überprüfen"
- es werden höchstwahrscheinlich detailliertere Fehlermeldungen mit Zeilennummer angezeigt
- gehe mit Doppelklick auf die Fehlermeldung zur Fehlerzeile. Der Fehler ist mit roter Schlangenlinie unterstrichen.
- beseitige die Fehlerursache

Wenn Du die Fehlermeldung oder -ursache nicht verstehst, dann zeige uns einen Screenshot mit der Ansicht des geöffneten Skriptes und den Fehler-Ausgabemeldungen.

Fehler im Bild Wetter_Script_Error.jpg in Deinem Beitrag #29:
- Du hast ein Skript "warten" - das muß "warte" heißen
- sämtliche SmartTags("wetter...") werden angemeckert - die Variablen existieren nicht oder sind in einem falschen Unterordner
Hast Du die 15 internen Variablen "wetter...." nun erfolgreich importiert/angelegt?
Beim Skript "warte" hast Du einen Übergabe-Parameter "zeit" angelegt?

Harald


----------



## volker (11 Februar 2013)

alle skripte sind in flex getestet. wenn du den inhalt der gezippten dateien korrekt kopierst muss das funktionieren.


----------



## volker (11 Februar 2013)

bild 3+4 hat irgendwie nicht in die vorige gepasst


----------



## DerMatze (11 Februar 2013)

PN/DP schrieb:


> - sämtliche SmartTags("wetter...") werden angemeckert - die Variablen existieren nicht oder sind in einem falschen Unterordner



OK, das war ein grober Fehler, ich hatte die Variablen in einem Unterordner --> alle tags überarbeitet = i.O.



PN/DP schrieb:


> Beim Skript "warte" hast Du einen Übergabe-Parameter "zeit" angelegt?


Übergabe Parameter angelegt = i.O.


----------



## DerMatze (11 Februar 2013)

volker schrieb:


> bild 3+4 hat irgendwie nicht in die vorige gepasst



Nun konnte ich ein fehlerfreies Generieren durchführen - soweit so gut 
ABER wenn ich nun mit der Schaltfläche das Skript "holen" starte läuft die Zeit runter und im Status 4 gibts die Fehlermeldung




Gruß
DerMatze


----------



## DerMatze (11 Februar 2013)

Hier noch der Quellcode vondem externen Skript, die rot markierte Zeile wird "angemeckert"


```
'extrahiert aus der antwort http://www.weather365.net/foreign/city6a.php?cityid=15060
'die daten
'on error resume next
Set fso = CreateObject("Scripting.FileSystemObject")
set indatei = fso.openTextFile("D:\wetter3tg.htm",1)
set outdatei = fso.CreateTextFile("D:\wetter3tg.txt",true)

do while indatei.atendofstream <> true
  startpos = 0
  inzeile = ltrim(indatei.readline)

'ort
  startpos = instr(inzeile,"id=ort")
  if startpos > 0 then
    startpos = instr(inzeile,"_blank")
    endpos=instr(startpos+8,inzeile,"<")
    ort = mid(inzeile,startpos+8,endpos-startpos-9)
    outdatei.writeline ort
  end if


'heute
  startpos = instr(inzeile,"day1a")
  if startpos > 0 then
    tag1_tag = mid(inzeile,startpos+7,2)
    outdatei.writeline tag1_tag
  end if
  startpos = instr(inzeile,"day1b")
  if startpos > 0 then
    endpos=instr(startpos+14,inzeile,chr(34))
  [COLOR=#ff0000]  tag1_wetter = mid(inzeile,startpos+14,endpos-startpos-14)[/COLOR] 
    outdatei.writeline tag1_wetter
  end if
  startpos = instr(inzeile,"day1c")
  if startpos > 0 then
    endpos=instr(inzeile,"&deg")
    tag1_temax = mid(inzeile,startpos+7,endpos-startpos-7)
    outdatei.writeline tag1_temax
  end if
  startpos = instr(inzeile,"day1d")
  if startpos > 0 then
    endpos=instr(inzeile,"&deg")
    tag1_temin = mid(inzeile,startpos+7,endpos-startpos-7)
    outdatei.writeline tag1_temin
  end if

'morgen
  startpos = instr(inzeile,"day2a")
  if startpos > 0 then
    tag2_tag = mid(inzeile,startpos+7,2)
    outdatei.writeline tag2_tag
  end if
  startpos = instr(inzeile,"day2b")
  if startpos > 0 then
    endpos=instr(startpos+14,inzeile,chr(34))
    tag2_wetter = mid(inzeile,startpos+14,endpos-startpos-14)
    outdatei.writeline tag2_wetter
  end if
  startpos = instr(inzeile,"day2c")
  if startpos > 0 then
    endpos=instr(inzeile,"&deg")
    tag2_temax = mid(inzeile,startpos+7,endpos-startpos-7)
    outdatei.writeline tag2_temax
  end if
  startpos = instr(inzeile,"day2d")
  if startpos > 0 then
    endpos=instr(inzeile,"&deg")
    tag2_temin = mid(inzeile,startpos+7,endpos-startpos-7)
    outdatei.writeline tag2_temin
  end if

'übermorgen
  startpos = instr(inzeile,"day3a")
  if startpos > 0 then
    tag3_tag = mid(inzeile,startpos+7,2)
    outdatei.writeline tag3_tag
  end if
  startpos = instr(inzeile,"day3b")
  if startpos > 0 then
    endpos=instr(startpos+14,inzeile,chr(34))
    tag3_wetter = mid(inzeile,startpos+14,endpos-startpos-14)
    outdatei.writeline tag3_wetter
  end if
  startpos = instr(inzeile,"day3c")
  if startpos > 0 then
    endpos=instr(inzeile,"&deg")
    tag3_temax = mid(inzeile,startpos+7,endpos-startpos-7)
    outdatei.writeline tag3_temax
  end if
  startpos = instr(inzeile,"day3d")
  if startpos > 0 then
    endpos=instr(inzeile,"&deg")
    tag3_temin = mid(inzeile,startpos+7,endpos-startpos-7)
    outdatei.writeline tag3_temin
  end if


loop  
outdatei.close
```


----------



## volker (12 Februar 2013)

poste mal die heruntergeladene wetter3tg.htm und die erzeigte wetter3tg.txt. 

und aktiviere mal oben im script on error resume next. wie sieht das ergebnis dann aus?

habe das mal mit deiner stadt-id probiert. funktioniert einwandfrei.
und nimm die externen scripte genau so wie ich se gepostet habe.
anbei mein wccf-projekt (flex 2008 sp2)


----------



## DerMatze (12 Februar 2013)

volker schrieb:


> poste mal die heruntergeladene wetter3tg.htm und die erzeigte wetter3tg.txt.



Hallo und danke für deine Geduld.
Also das ist der Code von der wetter3tg.htm_

```
<!DOCTYPE  html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html  xmlns="http://www.w3.org/1999/xhtml"><head><META  HTTP-EQUIV="Content-Type" CONTENT="text/html;  charset=ISO-8859-1"><title>www.weather365.net aktuelles Wetter  </title><style type="text/css"  style="display:none">body{font-size:8pt;font-family:Arial,Helvetica,sans-serif;padding:0;margin:0;}a{text-decoration:none;color:#555;}img{border:0   none;}#box{position:absolute;left:0px;top:0px;width:160px;height:112px;}#ort{position:relative;left:6px;top:2px;width:170px;font-weight:bold;}#wa{position:absolute;left:6px;top:100px;width:110px;}#copy{position:absolute;right:10px;top:100px;font-size:7pt;text-align:right;}#box1{position:absolute;left:4px;top:18px;width:146px;height:78px;border:1px  solid #000;border-width:1px  0;}#max{position:absolute;left:2px;top:52px;width:20px;text-align:right;}#min{position:absolute;left:2px;top:64px;width:20px;text-align:right;}#day1a{position:absolute;left:39px;top:4px;width:34px;}#day1b{position:absolute;left:33px;top:18px;width:30px;}#day1c{position:absolute;left:29px;top:52px;width:34px;font-size:7pt;text-align:right;}#day1d{position:absolute;left:29px;top:64px;width:34px;font-size:7pt;text-align:right;}#day1e{position:absolute;left:29px;top:76px;width:34px;font-size:7pt;text-align:right;}#day2a{position:absolute;left:80px;top:4px;width:34px;}#day2b{position:absolute;left:74px;top:18px;width:30px;}#day2c{position:absolute;left:70px;top:52px;width:34px;font-size:7pt;text-align:right;}#day2d{position:absolute;left:70px;top:64px;width:34px;font-size:7pt;text-align:right;}#day2e{position:absolute;left:70px;top:76px;width:34px;font-size:7pt;text-align:right;}#day3a{position:absolute;left:121px;top:4px;width:34px;}#day3b{position:absolute;left:115px;top:18px;width:30px;}#day3c{position:absolute;left:111px;top:52px;width:34px;font-size:7pt;text-align:right;}#day3d{position:absolute;left:111px;top:64px;width:34px;font-size:7pt;text-align:right;}#day3e{position:absolute;left:111px;top:76px;width:34px;font-size:7pt;text-align:right;}
</style>
</head><body><div  id="box"><div id=ort><a  href="http://www.weather365.net/index.php?cityid=15060&option=com_wxcity&Itemid=153"  target="_blank">Flechtingen </a></div><!--<div  id=wa><a  href="http://www.weather365.net/index.php?cityid=15060&option=com_wxcity&Itemid=153"  target="_blank"> ... weitere Aussichten  </a></div>  --><div id=copy><a href="http://www.weather365.net"  target="_top">© 2013  WEATHER365.net</a></div><!-- <div id=copy><a  href="http://www.weather365.net/de/orkantief-andrea-5.-6.-jan-2012-windfeld-verlauf.html"  target="_top"> ==> ORKAN ANDREA AKTUELL</a></div>  --><div id="box1"><div id="max">Max</div><div  id="min">Min</div><div id="day1a">DI</div><div  id="day1b" title="stark bewölkt"><a  href="http://www.weather365.net/index.php?cityid=15060&option=com_wxcity&Itemid=153"  target="_blank"><img  src="http://1.1.1.4/bmi/www.weather365.net/components/com_wxcity/wicons/wx_8.gif"  alt="stark bewölkt" /></a></div><div  id="day1c">0.7°C</div><div  id="day1d">-6.9°C</div><div  id="day2a">MI</div><div id="day2b" title="stark  bewölkt"><a  href="http://www.weather365.net/index.php?cityid=15060&option=com_wxcity&Itemid=153"  target="_blank"><img  src="http://1.1.1.4/bmi/www.weather365.net/components/com_wxcity/wicons/wx_8.gif"  alt="stark bewölkt" /></a></div><div  id="day2c">1.2°C</div><div  id="day2d">-4.1°C</div><div  id="day3a">DO</div><div id="day3b" title="stark  bewölkt"><a  href="http://www.weather365.net/index.php?cityid=15060&option=com_wxcity&Itemid=153"  target="_blank"><img  src="http://1.1.1.4/bmi/www.weather365.net/components/com_wxcity/wicons/wx_8.gif"  alt="stark bewölkt" /></a></div><div  id="day3c">1.5°C</div><div  id="day3d">-3.6°C</div></div></div></body></html>
```

und die daraus resultierende wetter3tg.txt

```
os



os



os



Flechtingen
DI
stark bewölkt
0.7

MI
stark bewölkt


DO
stark bewölkt
```



volker schrieb:


> und aktiviere mal oben im script on error resume next. wie sieht das ergebnis dann aus?



dann war es so,



... und die unter #35 geschilderte Fehlermeldung blieb aus.

Die Skripte sind so wie du sie gepostet hast, ich musste lediglich den Pfad der Partition von "C:\" auf "D:\" ändern.

Ich nehme mir mal dein WinCCflex Projekt vor.
Danke und bis später.

Gruß
DerMatze


----------



## DerMatze (12 Februar 2013)

Hallo Volker,

also dein Projekt sieht so aus, wenn ich es gestartet habe.

Ich habe dazu alle Einstellungen unverändert gelassen (Partition C:\, Orts ID)
Vielleicht liegt es an Win7 aber ich kann die wetter3tg.htm und die wetter3tg.txt unter C:\ nicht entdecken.
Kann das Betriebssystem auch dazwischen funken?
Ich werds mal auf einem XP Rechner probieren.

MfG
DerMatze


----------



## DerMatze (15 Februar 2013)

Sooo, nun bin ich eine Erkenntnis schlauer.
Ich habe das Projekt mal auf eine XP Maschine getestet und siehe da, es funktioniert!!!!!
*Keine Fehlermeldung unter XP*.



Somit scheint Win7Pro diese Fehlermeldung zu erzeugen, evtl. liegt es an der Benutzerkontensteuerung (Adminrechte)?
Ich werde der Ursache versuchen auf den Grund zu gehen.

An dieser Stelle möchte ich Euch nocheinmal für die Unterstützung danken!

Gruß
DerMatze


----------



## DerMatze (15 Februar 2013)

Jetzt bin ich wohl mit diesem Beitrag falsch hier, aber es gehört noch zur Thematik.
Es geht um diese uminöse Fehlermeldung:



Ich habe die Benutzerkontensteuerung deaktiviert = die Datei "wetter3tg.htm" wird jetzt endlich auch unter C:\ angelegt
auch Windows Script Host habe ich aktiviert

ABER die sch... Meldung kommt immer wieder!
Was zum Teufel macht Win7 bzw. was macht es nicht das die Skripte nicht ausgeführt werden???

Ich bin für jegliche Hilfe Dankbar!

Gruß
DerMatze


----------



## DerMatze (22 Februar 2013)

*Teilerfolg aber doch Ziel erreicht*

Update:
nach mehreren Tagen und durchspielen diverser Versuche gebe ich auf.

Unter  Win7Pro fungtioniert zwar das lesen der Internetseite, aber die  Aufbereitung für WinCCflex wird nicht (korrekt)bearbeitet - die Datei  "wetter3tg.txt" wird nicht mit den Daten von der Internetseite gefüllt.  Und somit bleiben auch die Felder in der WinCCflex RT leer, bzw. es  erschein die o.g. Fehlermeldung.

Also alles auf einer VM mit XP Pro gemacht - geht auch nicht?!?!?!!? Gleiches Fehlerbild wie unter Win7.

ABER:
Auf dem (Windows)Panel wo ebenfalls die RT drauf läuft funktioniert es. 
Nun muss ich dann erstmal "blind" projektieren / programmieren und dann auf dem Panel mit der RT die Testläufe machen.

BESSER wäre natürlich wenn die Scripte auch unter Win7Pro laufen würden...

Letztendlich ist das Ziel, die Wetterdaten ins WinCCflex Projekt zu bekommen erreicht.

Gruß
DerMatze


----------



## B.S.84 (3 Mai 2018)

Deleted

Die Lösung ist für das TIA-Portal und nicht für Step 7


----------



## tababa (14 Mai 2018)

Hallo gibts denn nun eine Lösung für Win 7 oder 10 ?

Gruß HP


----------

