Optimalizace aplikace

Každý výpočet vyžaduje určitou dobu výpočtu. To může vést k problémům, pokud jsou realizovány velmi velké projekty nebo větší operace. Celková doba cyklu lze zobrazit přepnutím systémového monitoru nahoře vpravo.

Zvažte frontu nosičů dat. Fronta se používá pouze tehdy, když data již nelze současně číst a zapisovat. To je zvláště patrné u velkých projektů nebo nesprávného hardwaru. Fronta by v normálním provozu nikdy neměla překročit 1 %.

Funkce aplikace

Aby bylo možné pochopit test výkonnosti, musí být nejprve vysvětlena funkce aplikace. Kromě základů o doba cyklu, existují další pokročilé metody, které byly implementovány pouze v SPS od Antcas:

  • Pokud nejsou zjištěny žádné změny v jednom prvku, je celý prvek zaparkován a již nebude vypočítáván.
  • Při změně globálních hodnot se provede dvojitý cyklus. SPS pak čeká pouze jednu milisekundu.
  • Pro výpočet časově kritických hodnot jsou nastaveny timeouty.
  • Vycházející komunikace (odesílání hodnot nebo ukládání) probíhá asynchronně a ne až po dokončení výpočtu.
  • Každá proměnná je remanentní a je uložena před zaparkováním nebo nejpozději po dvou sekundách.

Analýza projektu

Aby bylo možné zjistit, které prvky aplikace vyžadují velmi vysokou výpočetní výkonnost, lze použít test výkonnosti.

Tipy pro optimalizaci

  • Nepoužívejte výstup ET časovače TON, TOF, TP. Místo toho lze pracovat s UPTIME.
  • Vstup SET z VISUSET a VISUDTSET by nikdy neměl zůstávat současně aktivní na více funkcích.
  • Větší nebo složitější výpočty, pokud je to možné, vypočítat v samostatném prvku.
  • Matematické operace vypočítat pomocí CALCULATE.
  • Používejte loggery s co největším intervalem. Deset minut pro teplotu stačí zcela dostatečně. Interval lze také nastavit dynamicky.
  • Používejte vyšší intervaly PT u funkcí CTRL_PID, SHUTTER, DIMMER atd.
  • Při změně dynamických časových vstupů dbajte na to, aby se neustále neměnily. To může být například případ při RGB sekvencích s funkcí FADE.
  • Zjednodušujte složitější úlohy. Zvláště hledání v řetězcích je velmi náročné na výpočet. Místo FIND a SUBSTR použijte funkci EXPLODE nebo PREG_SPLIT. Hodnoty se pak uloží do mezipaměti.
  • Zpracování HTTP dotazů může vyžadovat hodně paměti.
  • Snižte přijatá telegramata. Například při stmívání hodnoty může být v závislosti na sběrnici zpětná vazba zpožděna.
  • Zvýšete doby cyklů SPS.