Andy Programování Mosaic 25. 10. 2022 10:57 1. 11. 2022 10:45

Pri nacitani pocasi z OpenWeather pouzivam nasledujici kod:

VAR
    getWeatherInfo   : BOOL;
    WeatherInfo      : fbOpenWeatherMap;
    WeatherData         : T_OPEN_WEATHER_MAP_DATA;

getWeatherInfo := System_S.R_EDGE_10MIN;
IF (getWeatherInfo) THEN
     WeatherInfo( getWeather  := getWeatherInfo,       
              city        := 'Rudna',
              country     := 'cz',
              period      := hour_6,
              utcOff      := 60,
              apiKey      := '##################################';
              ethCode     := ETH1_uni3,            
              weatherData := WeatherData        
              );
END_IF;

Komunikacni kanal je nastaven nasledovne:

Pri nacitani, ale konci volani chybou.

weatherInfo.errorTxt = "HTTP request error : 1"

PLC je nastaveno s pevnou IP adresou, gateway na router i DNS, kterou mam od IP providera.

Poradi mi prosim nekdo, co dana hlaska v errotTxt znamena a pripadne kde muze byt chyba?  

Odpovědi 5

M.B. 25. 10. 2022 10:57

Chyba "HTTP request error : 1" znamená, že se funkční blok nedočkal odpovědi ve stanoveném časovém intervalu. Problém je způsoben tím, že blok fbOpenWeatherMap není volán trvale, ale jen na náběžnou hranu. Problém by mělo vyřešit odstranění podmínky "IF (getWeatherInfo) THEN".

Andy 25. 10. 2022 11:03

Ale nechci aby se pocasi nacitalo permanente. Nabehova hrana je nastavena na interval 10min

getWeatherInfo := System_S.R_EDGE_10MIN;
Andy 25. 10. 2022 11:09

Odstraneni podminky nepomohlo, volani stale konci stejnou chybou "HTTP request error : 1"

M.B. 26. 10. 2022 14:55

Interval vyčítání deset minut je zajištěn přiřazením System_S.R_EDGE_10MIN do vstupu getWeather. Tento vstup reaguje na náběžnou hranu signálu, tím že zahájí komunikaci se serverem poskytujícím počasí. Blok musí být volán v každé otočce PLC, aby byl schopen vyslat výzvy a zachytit odpovědi. Pokud jej voláte v programu, který se vykonává každý cyklus nemělo by, za předpokladu správného nastavení sítě, docházek k chybě, kterou popisujete.

V přiloženém souboru je projektová skupina s funkčním příkladem pro Foxtrot 1 a 2. (Příklad pro Foxtrot 2 je možné zkusit v simulátoru).

SIGGI 1. 11. 2022 10:45

Ja mam komunikacny ETH port takto a funguje mi to. Pocitam, ze tam bude chyba preco to nekomunikuje

Vaše odpověď

Pro vložení odpovědi je nezbytné být přihlášený. Pokračujte na přihlášení.