YAHOO_WEATHER - neue Location codes erforderlich

Yahoo hat pünktlich zu unserer release auch bei den location-codes für die Wettervorhersage etwas geändert

die alten codes funktionieren nach wie vor parallel, jedoch kann man nur mehr nach dem neuen prinzip die location-codes auf der Homepage feststellen

http://weather.yahooapis.com/forecastrss?p=AUXX0025 (altes prinzip)
http://weather.yahooapis.com/forecastrss?w=551801 (neues prinzip mit WOEID-Codes)

änderung ist hier nachzulesen: Ihre Datenschutzeinstellungen

Vorgangsweise nach dem neuen Prinzip

So wie in Doku beschrieben , die location-id feststellen

Beispiel für Aachen

dann ist die neue location-id (jetzt WOEID) = 633175

damit das nun auch nach dem neuen Prinzip funktioniert muss man leider am YAHOO_WEATHER Baustein eine kleinigkeit anpassen


20: (* URL for DNS UND HTTP-GET )
(
Example: http://weather.yahooapis.com/forecastrss?p=94089&u=c *)
URL_DATA:=STRING_TO_URL(STR:=‘http://weather.yahooapis.com/forecastrss’,
DEFAULT_PROTOCOL:=‘’,
DEFAULT_PATH:=‘’
);
URL_DATA.QUERY := CONCAT(‘w=’,LOCATION);

man muss nur bei der roten markierung den buchstaben ‘p’ auf eine ‘w’ ändern

wir werden bei der nächsten release dem Baustein auf die neuen WOEID-Codes umstellen.

alle die solange nicht warten wollen, können sich den baustein wie oben beschrieben selber anpassen !

mfg peewit

Geniale Lib.

Nach Modifikation läuft der Baustein korrekt mit den neuen Location-Codes.

Supercool, wenn man Klimaanwendungen hat.

Es scheint sich aber ein Fehler in der Doku der network.lib eingeschlichen zu haben.

Der Eingang Units muss “False” b leiben um °C anzuzeigen.

Ich hoffe, ich sehe das richtig.

Gruss

McNugget

Hallo McNugget

es freut uns wenn es bei dir nun auch läuft

Der Eingang Units muss "False" b leiben um °C anzuzeigen. Ich hoffe, ich sehe das richtig.

du hast recht , hier ist ein fehler in der doku !

Yes!

Zweite Kerbe für gefunde Fehler.. ;D

Ich nenne mich bald errorbuster.. :wink:

Habe mir gerade mal die lib direkt geöffnet.

Die DEMOS sind genial.

So was sollte es auch in der OSCAT.LIB geben, oder in der Doku dazu.
(Ich fürchte, das würde den Rahmen sprengen, oder??)

Oft genug weiss man als einsteiger nicht, wie die Bausteine genau gemeint sind.
Speziell dann, wenn man Strukturen an Eingänge legen muss.

Ohne die Demo-Sektion hätte ich wesentlich länger gebraucht, es einzusetzen.

Gruss

McNugget

Hi,

die DEMOS sind genial.
So was sollte es auch in der OSCAT.LIB geben, oder in der Doku dazu.
(Ich fürchte, das würde den Rahmen sprengen, oder??)

Mir geht es genauso. Ohne die Dems hätte ich lange gebastelt.

Fang doch einfach mal mit einer oscat_demo.lib an.
Für jeden Baustein wir man keine Demos brauchen, aber da wo DU z.B. getüftelt hast :wink:

Im Forum hat es einen Abschnitt Anwendungsbeispiele / Application Examples.
Da kannst Du Deine Demo-Lib posten…

Grüße
Martin

Ist doch mal ein guter Vorschlag .

P.S: Dafür ist diese Rubrik “gut”

Hi,

ich habe noch ein Problem mit den Wetterdaten:
Für die Sichtweite lese ich auf http://weather.yahoo.com… für meine Location derzeit “Unlimited”.
Als Daten werden per RSS übertragen “1607,69 km”.
Na ja. Unbegrenz bzw. 1600 km das ist ja wohl Quatsch.
Entweder “unbekannt” oder vielleicht “sehr weit”. Wobei bei der aktuellen Wetterlage (Regen, grauer Himmel) es wohl besser “unwichtig” heissen müsste…

Wie sind Eure Erfahrungen zur Sichtweite?
Vielleicht sollte man hier noch was programmieren…
Grüße Martin

leider müssen wir uns mit den daten begnügen, die wir über yahoo (indirekt von weather.com) beziehen
sollte jemand konkrete ideen haben, wie wir die daten besser aufbereiten können…bitte her damit

noch ein kleiner tip !

wetter-datenstruktur

forcast_today_code
cur_conditions_code

hier wird die wetterlage als zahl 0-47 dargestellt

so mancher fragt sich was soll ich damit machen
ich habe zu diesen codes die passenden Wetter-Grafiken (sonne, nebel usw…)

wer interesse hat an den grafiken für eine visualisierung, soll mir bitte eine private nachricht schicken

Wetter-icon übersicht im Anhang

[gelöscht durch Administrator]

Hi,

man müsste mal wissen was mit wirklich mit Unlimited gemeint ist. Dann könnte man vielleicht sagen IF Visibility > 500km THEN STRING unbekannt oder “nicht verfügbar”…

Das mit den Grafiken ist so eine Sache… meine waren für die Steuerung zu viel Volumen. Da habe ich einfach ein paar rausgenommen. Nun sieht es wie folgt aus:

FUNCTION_BLOCK wcc_de (* Weather Condition Code als Text und Icons*) VAR_INPUT CCode : INT; END_VAR VAR_OUTPUT text_out : STRING(20); icon:STRING(6); END_VAR

IF CCode = 0 THEN text_out := 'Tornado'; ELSIF CCode = 1 THEN text_out := 'Tropensturm'; icon:='5.JPG'; ELSIF CCode = 2 THEN text_out := 'Hurrican'; icon:='5.JPG'; ELSIF CCode = 3 THEN text_out := 'schwere Gewitter'; icon:='5.JPG'; ELSIF CCode = 4 THEN text_out := 'Gewitter'; icon:='5.JPG'; ELSIF CCode = 5 THEN text_out := 'Schneeregen'; icon:='5.JPG'; ELSIF CCode = 6 THEN text_out := 'Graupelschauer'; icon:='6.JPG'; ELSIF CCode = 7 THEN text_out := 'Schnee-Graupel'; icon:='7.JPG'; ELSIF CCode = 8 THEN text_out := 'gefrierender Nebel'; icon:='8.JPG'; ELSIF CCode = 9 THEN text_out := 'Niesel'; icon:='9.JPG'; ELSIF CCode = 10 THEN text_out := 'gefrierender Nebel'; icon:='10.JPG'; ELSIF CCode = 11 THEN text_out := 'Schauer'; icon:='12.JPG'; ELSIF CCode = 12 THEN text_out := 'Schauer'; icon:='12.JPG'; ELSIF CCode = 13 THEN text_out := 'Schneegestöber'; icon:='13.JPG'; ELSIF CCode = 14 THEN text_out := 'leichter Schneefall'; icon:='14.JPG'; ELSIF CCode = 15 THEN text_out := 'Schneesturm'; icon:='16.JPG'; ELSIF CCode = 16 THEN text_out := 'Schneefall'; icon:='16.JPG'; ELSIF CCode = 17 THEN text_out := 'Hagel'; icon:='18.JPG'; ELSIF CCode = 18 THEN text_out := 'Graupel'; icon:='18.JPG'; ELSIF CCode = 19 THEN text_out := 'Dunst'; icon:='19.JPG'; ELSIF CCode = 20 THEN text_out := 'Nebel'; icon:='20.JPG'; ELSIF CCode = 21 THEN text_out := 'trübe'; icon:='21.JPG'; ELSIF CCode = 22 THEN text_out := 'rauchig'; icon:='21.JPG'; ELSIF CCode = 23 THEN text_out := 'stürmisch'; icon:='23.JPG'; ELSIF CCode = 24 THEN text_out := 'windig'; icon:='23.JPG'; ELSIF CCode = 25 THEN text_out := 'kalt'; icon:='26.JPG'; ELSIF CCode = 26 THEN text_out := 'wolkig'; icon:='26.JPG'; ELSIF CCode = 27 THEN text_out := 'bewölkt (Nacht)'; icon:='27.JPG'; ELSIF CCode = 28 THEN text_out := 'bewölkt (Tag)'; icon:='28.JPG'; ELSIF CCode = 29 THEN text_out := 'teilweise bewölkt (Nacht)'; icon:='29.JPG'; ELSIF CCode = 30 THEN text_out := 'teilweise bewölkt (Tag)'; icon:='30.JPG'; ELSIF CCode = 31 THEN text_out := 'klar (Nacht)'; icon:='31.JPG'; ELSIF CCode = 32 THEN text_out := 'sonnig'; icon:='32.JPG'; ELSIF CCode = 33 THEN text_out := 'heiter (Nacht)'; icon:='33.JPG'; ELSIF CCode = 34 THEN text_out := 'heiter (Tag)'; icon:='34.JPG'; ELSIF CCode = 35 THEN text_out := 'Regen und Hagel'; icon:='35.JPG'; ELSIF CCode = 36 THEN text_out := 'heiß'; icon:='36.JPG'; ELSIF CCode = 37 THEN text_out := 'gelegentliche Gewitter'; icon:='37.JPG'; ELSIF CCode = 38 THEN text_out := 'einzelne Gewitter'; icon:='39.JPG'; ELSIF CCode = 39 THEN text_out := 'einzelne Gewitter'; icon:='39.JPG'; ELSIF CCode = 40 THEN text_out := 'teilweise Regen'; icon:='40.JPG'; ELSIF CCode = 41 THEN text_out := 'starker Schneefall'; icon:='41.JPG'; ELSIF CCode = 42 THEN text_out := 'einzelne Schneeschauer'; icon:='42.JPG'; ELSIF CCode = 43 THEN text_out := 'starker Schneefall'; icon:='43.JPG'; ELSIF CCode = 44 THEN text_out := 'teilweise wolkig'; icon:='26.JPG'; ELSIF CCode = 45 THEN text_out := 'Gewitter'; icon:='45.JPG'; ELSIF CCode = 46 THEN text_out := 'Schneeschauer'; icon:='46.JPG'; ELSIF CCode = 47 THEN text_out := 'gelegentliche Gewitter'; icon:='47.JPG'; ELSIF CCode = 3200 THEN text_out := 'FEHLER'; END_IF

Ich habe mir die Icons von Yahoo runtergeladen.
In der Visu wird in Abhängigkeit der Variable ICON dann das entsprechende File aus der definierten Bitmapliste angezeigt.

Viele Grüße und viel Spass…
Martin

unlimited sichtweite mit > 1600km geht leider nur wenn man im weltraum sich befindet
eine augenhöhe von 100m ergibt eine sichtweite vom ca 35km

Hallo zusammen

Bin vor kurzem auf die Oscat Bib gestoßen

Echt genial das ganze.

Ich versuche jetzt einige Bausteine zu nutzen. Leider schaffe ich es nicht den YAHOO_WEATHER Baustein zum laufen zu bringen. Habe mir das DEMO Beispiel angesehen und die Änderungen für die URL durchgeführt.

Leider habe ich anscheinend Problem mit der Namensauflösung.

Ich habe eine Beckhoff Steuerung CX1020 mit Windows CE.
Kann das ganze mit der Hardware und Windows CE Problem bereiten?

Oder gibt es eventuell ander Probleme, vielleicht verwende ich den DEMO Baustein auch falsch.

Ich habe ein internes Netzwerk und über eine Router gelange ich ins Internet.

Mein Router ist der, der bei der Netzwerkkarte die DNS beim CX eingetragen ist.
Ich habe beim CX den IE geöffnet und den Request http:… eingetragen. Dort funktioniert es.

Kann mir jemand helfen?

hallo GA_Home

Die Network.lib ist für Beckhoff-Systeme nicht getestet und freigegeben !

Die Bibliothek benutzt die SysLibSockets.lib von CoDeSys , und diese wirst du wahrscheinlich auch nicht für dein System haben , oder ?

mfg peewit

Hallo!

Ich probiere mich auch gerade an dem Wetterbaustein, habe allerdings noch Probleme.
Bei Einsatz des Demoaufbaus und anschließendem ändern der DNS Server Adresse erhalte ich zwei Fehlermeldungen, die ich auch nach studieren der Anleitungen nicht ganz zuordnen kann.
error_c: 4278190080
error_t: 2

Ich bin etwas ratlos und es wäre schön, wenn mir eventuell jemand einen Hinweis geben könnte.

Viele Grüße und vielen Dank!

hallo
error_c: 4278190080
error_t: 2

du musst error_c als hex-zahl betrachten dann ergibt dies 0xFF000000 und das bedeutet das der connect über timeout fehlgeschlagen ist
(kein verbindungsaufbau möglich)
diese fehlercode stammt vom IP_CONTROL (siehe baustein doku vom ip_control)
und error_t = 2 bedeutet das die HTTP_GET Funktion dieses problem hatte.
siehe dokumenation des baustein “yahoo_weather”

so wie es aussieht kann deine applikation sich nicht mit dem yahoo_weather server verbinden.

das kann eine falsche oder fehlerhafte gateway-adresse an deiner sps sein !
oder irgendwelche firewall/router probleme…

welche plattform verwendest du den ?

solltest du nicht weiterkommen , dann stelle dein projekt online und ich schau es mir an !
schreibe bitte aber auch dazu
welche ip hat deine sps
welche ip hat dein internetrouter
was hast du bei der gateway-adresse eingestellt !

Hallo peewit,

vielen Dank für deine Rückmeldung!
Ich habe alles nochmal ausgiebig getestet, doch leider bleibt die Meldung. Vielleicht findest du ja meinen Fehler. Das Programm habe ich angehängt und hier sind meine Daten:

WAGO I/O IPC G2 758-870/000-111
IP der SPS: 172.31.37.47
IP DNS Server: 193.174.90.66
IP Gateway: 172.31.37.1

Danke schonmal im voraus!

Viele Grüße,

Daniel

[gelöscht durch Administrator]

Hallo DanielW

die networb.lib 1.00 ist aus jedenfall auf deinem system nicht getestet, somit ist es leicht möglich das halt nicht läuft
im anhang findest du eine neue version des ip_control bausteins

du musst die networt.lib direkt als projekt öffnen und dann den ip_control importieren
dann nochmals testen

die neue version des bausteins ist speziell für pc basierenden plattformen die einen tcp_client nutzen

probiere es vielleicht hast du glück !

[gelöscht durch Administrator]

Hallo,

danke erstmal für die Hilfe. Leider funktioniert der Baustein immernoch nicht.
Ich werde es weiter probieren. Falls allerdings jemand eine Idee hat oder es bereits auf einem anderen IPC funktionieren sollte, so würde ich mich über eine Meldung freuen.

Viele Grüße,

Daniel

leider kann ich dir so nicht weiterhelfen, da ich von der ferne nicht erkennen kann, was denn überhaupt bei dir nicht funktioniert

laut fehlermeldung ist das grundproblem ist das keine aktive TCP-Verbindung zu einen Teilnehmer im Internet hergestellt werden kann.

hast du irgendein projekt oder eine bibliothek die eine funktionierende Ethernet-Kommunikation nutzt ?
denn dann könnte ich dort nachsehen, was hier anders gemacht wird, bzw. kannst du feststellen ob vielleicht ganz andere ursachen zu den problem führen ?

hast du die möglichkeit den ethernet-datenverkehr aufzuzeichnen ?

switch mit port-mirroring oder einen einfachen hub nach dem IPC anschliessen
und dann mittels eines anderen pc (notebook) mit wireshark bzw. etherreal den datenverkehr aufzeichnen

Moin,

ich habe ein Problem mit dem Baustein. Er steht immer auf Busy aber es kommen keine Daten…

Im Buffer seht nur was bei send.

Ich habe auch schon mal mein Gateway von der Steuerung angeping es geht…

Ahja ich hab ne 841. hat jemand evt ne Idee?

MfG

Lars

die network.lib läuft auf jeden fall auf der 750-841
das heisst wahrscheinlich du machst etwas falsch

stelle bitte dein projekt online, dann werde ich es mir ansehen !

bitte schreibe dazu

ip-adresse der sps
ip-adresse des dsl-router
ip-adresse des gateway

über was für komponenten bist du mit dem internet verbunden