Pokud potřebujeme do programu běžícího na PLC dostat nějaká data z internetu, typicky spotové ceny energií nebo předpověď počasí, můžeme využít nové funkce Text Parser. Pro tuto funkci je potřeba PLC s podporou .NET driverů, z aktuální nabídky to jsou modely markMXL, mark520, w751-9301 a Windows Runtime. Ukážeme si to s Windows Runtim, ten se instaluje automaticky s Domat IDE a je k dispozici na PC s vývojovým prostředím. Jde o nelicencovanou verzi zdarma, která běží 20 minut. Spustíme si tedy Domat Runtime a Domat IDE. Přiřadíme PLC v podobě Domat Runtime a stáhneme konfiguraci. Přidáme kanál s protokolem Text Parser a do něj dvě zařízení - první bude na předpověď počasí a druhé na spotovou cenu elektřiny.
Pro předpověď počasí můžeme najít zdroj dat např. na serveru api.met.no. To se vyplní jako adresa zařízení a parametr s konkrétní zeměpisnou lokaci se vyplní do políčka Cesta, v našem případě tedy /weatherapi/locationforecast/2.0/compact?lat=50.01&lon=15.68.
Na zkoušku si můžeme celou adresu dát do prohlížeče a měli bychom se dostat na stránku, kde jsou všechny údaje ve formátu XML. V nich musíme najít potřebnou hodnotu: zajímá nás například aktuální teplota, tu najdeme zanořenou v properties.timeseries[0].data.instant.details.air_temperature, takže ji zkopírujeme jako parametr skupiny. Dále http metoda je GET a typ je Jpath (další podporované jsou Xpath a regex).
Do této skupiny přidáme datový bod a nazveme ho teplota, datový typ je real.
Pro spotové ceny existuje API například na adrese spotovaelektrina.cz. Když klikneme dole na API, dostaneme se k cestě pro JSON API, takže podobně jako u teploty dáme od políčka zařízení adresu spotovaelektrina.cz a do cesty zadáme /api/v1/price/get-actual-price-json.
Dále opět vytvoříme skupinu a jpath je nyní jednoduše $.priceCZK,
přidáme datový bod a hotovo - můžeme sestavu nahrát do PLC, zapnout ladění a měli bychom vidět správné hodnoty.
Mějte prosím na paměti že tímto využíváte služby třetích stran, takže pokud poskytovatel něco změní nebo úplně zruší, vyčítání dat přestane fungovat i v PLC programu.