X
GO
en-UScs-CZ

Logika a kód

Většina SCADA/HMI systémů podporují nějakou formu skriptování nebo kód pro matematiku a výpočty, ale pokud se používají jazyky vyšší úrovně, jako Visual Basic nebo vlastní jazyky, musí mít uživatel potřebné programovací znalosti. I když tyto dovednosti uživatel má, je kód dobře dokumentován a snadno udržovatelný pro ostatní? ClearSCADA má jedinečnou možnost v této oblasti a nabízí integrovanou IEC 61131-3 logiku. Tento programovací jazyk je primárně zaveden v PLC/RTU kontrolerech a jde o průmyslový standard, proto by měl být známý mnoha inženýrům. ClearSCADA má implementovány 4 z 5 programovacích stylů:

  • Ladder diagram (LD)
  • Diagram funkčních bloků (FBD)
  • Sekvenční funkční schéma (SFC)
  • Strukturovaný text (ST)

Programy vytvořené touto logikou mohou přistupovat na data bodů v reálném čase, historian, události a dokonce i na konfigurační databázi. Použití je tedy velmi silné. Výpočet může být součásti šablony, například kompresoru nebo čerpací stanice. Každá instance této šablony bude mít naprosto stejný kód, takže se vytvoří jednou, je otestován a poté nasazen kolikrát je potřeba.

Strukturovaný text je procedurální jazyk s podporou SQL dotazů na ClearSCADA databázi. Tato vlastnost je užitečná pro analýzu alarmů, jako je počítání počtu alarmů denně na operátora kvůli dodržování předpisů. Dalším příkladem může být suma průtoků čerpadel v konkrétní oblasti, nezáleží na tom, jestli se přidá nebo odebere čerpadlo, SQL dotaz projde kompletní databázi (nebo hierarchickou část databáze) a vypočte výsledky.

Příklady programů v IEC 61131-3 logice

   TYPE
  Records : STRUCT
    Total : LREAL;
  END_STRUCT;
END_TYPE
PROGRAM VMeter
  VAR_INPUT A : STRING ; END_VAR
 
  VAR
    Query AT %S(SELECT SUM(CurrentValueAsReal) AS "Total" FROM CDBPoint
      WHERE Name = 'PDay Volume')  : RESULTSET OF Records WITH_PARAMS A;
  END_VAR
 
  VAR Result AT %M(.Total Volume.CurrentValue) : LREAL; END_VAR
  Result := Query.Value.Total;
END_PROGRAM
 Tento FBD program vyčte 7-mi denní průměrnou výrobu a nastaví dolní mez alarmu na 10% pod touto hodnotou a nastaví dolní dolní mez pod 20%. Toto kompenzuje pomalu snižující se produkci plynových čerpadel a neustále upravuje nastavení alarmních mezí. Můžete si všimnout, že FBD může zobrazovat hodnoty bodů v reálném čase i vypočtené výsledky.  Tento ST program pomocí SQL dotazu sčítá hodnoty všech bodů v databázi, které mají v názvu „Pday Volume“