Dokumentace

Transformace a konfigurace analogových vstupů

Na každý HW datový bod může být uplatněna transformace jeho měřené/zapisované hodnoty. Transformace obecně slouží k přepočtu „čísla“, které je načteno po sběrnici, na hodnotu, která odpovídá měřené fyzikální veličině. Stejným způsobem můžeme transformovat hodnotu, kterou chceme zapsat na nějaký HW výstup.

Pokud chceme na straně klienta například lineární transformací získat z vyčtené hodnoty 1236 hodnotu 12,36, musíme hodnotu vydělit stem. Koeficient K tedy bude 0,01. Pokud ale chceme hodnotu zapisovat a ze SW nám přijde hodnota 12,36 a my ji chceme zbavit desetinných míst, tak nastavení bude totožné jako při čtení hodnoty. Pro posun desetinné čárky v tomto případě směrem vpravo, je nutno hodnoty dělit. Na straně serveru se pro posun desetinné čárky vpravo naopak hodnota bude násobit bez ohledu na to, zda se hodnota na server zapisuje nebo se z něj čte.

Například teplota měřená pomocí pasivního čidla předávána v podobě odporu měřicího elementu, navíc násobená deseti pro vyšší rozlišení při přenosu pomocí typu integer: pro čidlo Pt1000 a teplotu 22 °C je nakomunikovaná hodnota 10857, což odpovídá odporu 1085.7 Ohm. Tato hodnota odporu je dále linearizována v tabulce „resistancetotemperature“, výstupem je teplota ve °C.

Základní definované transformace jsou tyto:

  • Identity - hodnota není transformována, přenáší se beze změny
  • Resistance to temperature - linearizační křivka pro čidla Pt100, Pt500, Pt1000, Ni1000-5000, Ni1000-6180. Transformace má tyto parametry:
    • Kind - typ čidla, podle něhož je zvolena linearizační křivka
    • Pre_K - koeficient první lineární transformace y = Kx + Q, k níž dochází před linearizací
    • Pre_Q - koeficient první lineární transformace y = Kx + Q, k níž dochází před linearizací (umožňuje kompenzovat odpor kabelu mezi čidlem a analogovým vstupem)
    • Post_K - koeficient druhé lineární transformace y = Kx + Q, k níž dochází po linearizaci
    • Post_Q - koeficient druhé lineární transformace y = Kx + Q, k níž dochází po linearizaci (umožňuje kompenzovat absolutní chybu měření čidla ve °C)
  • Threshold - prahový detektor pro převod mezi analogovou a binární hodnotou (pro případ, že AI je využit ve funkci DI). Transformace má tyto parametry:
    • Threshold - práh, při němž nastává přechod mezi True a False a zpět
    • Invert - změna smyslu funkce: pokud je Invert = True, výstup transformace při hodnotě větší než Threshold je False.

  • Window - pokud je hodnota v nastavených mezích, výstup je True, jinak je False. Příklad: detekce utržení nebo zkratu čidla: když je měřená hodnota menší než -40 °C nebo větší než 150 °C, čidlo je poškozeno a výstup transformace je True (za použití funkce Invert)
    • Low - spodní mez
    • High - horní mez
    • Invert - obrací smysl funkce: je-li Invert = True, pak pokud je hodnota v nastavených mezích, výstup je False, jinak je True.

  • LinearByTable - linearizační křivka s max. 8 body. Křivka se definuje pomocí dvojic - souřadnic ve vektorech X a Y.
    • XValues - vektor s X-ovými souřadnicemi bodů linearizační křivky
    • YValues - vektor s Y-ovými souřadnicemi bodů linearizační křivky
    • Active points - počet bodů křivky, max. 8, berou se zleva
    • Pre_K - koeficient první lineární transformace y = Kx + Q, k níž dochází před linearizací
    • Pre_Q - koeficient první lineární transformace y = Kx + Q, k níž dochází před linearizací
    • Post_K - koeficient druhé lineární transformace y = Kx + Q, k níž dochází po linearizaci
    • Post_Q - koeficient druhé lineární transformace y = Kx + Q, k níž dochází po linearizaci

  • Negate - pro hodnoty typu bool, neguje hodnotu na vstupu

  • LinearByTwoPoints - jednoduchá lineární transformace, definovaná dvěma body
    • X1 - X-ová souřadnice prvního bodu
    • Y1 - Y-ová souřadnice prvního bodu
    • X2 - X-ová souřadnice druhého bodu
    • Y2 - Y-ová souřadnice druhého bodu

  •  Linear - jednoduchá lineární transformace, definovaná rovnicí y = Kx + Q
    • K - koeficient násobení
    • Q - koeficient přičítání

Transformace je definována ve směru „od vstupů do programu“, IO->ST (pro čtení). Jestliže tedy máte globální proměnnou namapovanou na hw proměnnou pro zápis a chcete zapisovat např. stonásobnou hodnotu (typicky HVAC Integer), zadáváte v lineární transformaci konstantu převrácenou, k=0,01. Toto pravidlo platí i pro další typy transformací. Pro transformace LinearByTable a LinearByTwoPoints platí, že souřadnice X odpovídají hodnotám, které se reálně zapisují do HW výstupu a souřadnice Y jsou hodnoty, které jsou viditelné v programu.

Skryté proměnné (jmenný prostor - HW hidden)

Pokud máte na datovém bodě zařízení použitou transformaci např. Lib.Core.v1_0.ResistanceToTemperature, po zkompilování sestavy se v prohlížeči proměnných zobrazí proměnné s jmenným prostorem "hw_hidden". Tyto proměnné se v sestavě zobrazí až po zkompilování sestavy.

Po rozbalení proměnné v prohlížeči proměnných s označením "HW hidden" se v označení "Název kanálu", "Název zařízení"."Datový bod"."transformation" (např. channel.MCIO2.AI1.transformation) zobrazí parametry použité transformace. Po připojení k regulátoru ("Start ladění") sloupec "PLC hodnota" zobrazuje vyčtenou hodnotu a ve sloupci "Počáteční hodnota" je možné vyčíst nastavenou hodnotu v regulátoru.

Doporučený postup při servisování I/O modulů


1) Změna analogového typu

Pokud měníte analogový typ na datovém bodu, je pro změnu je nutné provést konfiguraci modulů (pravý klik na zařízení – Konfigurace modulů Domat). Pro aplikování konfigurace není nutné přehrávat sestavu.

 Úspěšné provedení konfigurace je možné ověřit textovou hláškou "Konfigurace byla úspěšná" v levém dolním statusu.

2) Změna transformace datového bodu

Pokud měníte pouze transformaci na datovém bodu, modul není nutné konfigurovat. Po aplikování změny transformace stačí nahrát sestavu do PLC a spustit PLC jako po teplém restartu. V prohlížeči proměnných je možné si provedenou změnu transformace ověřit u datového bodu s jmenným prostorem HW_hidden.

a) Změňte transformaci např. z ResistanceToTemperature na jinou transformaci např. Linear, přehrajte sestavu a spusťte PLC jako po teplém restartu. Následně proveďte na datovém bodu změnu transformace na původní v našem případě by to bylo z Linear na ResistanceToTemperature a nastavte si druh teplotního čidla a parametry Pre a Post. Po přehrání sestavy a spuštěním projektu jako po teplém restartu dojde k aplikaci změněných parametrů. Tato možnost nevyžaduje spuštění projektu jako po studeném restartu.
b) V případě, že můžete projekt spustit jako po studeném restartu, proveďte změnu parametru, nahrajte sestavu do PLC a spusťte PLC jako po studeném restartu.

Upozornění a tipy na konfiguraci datových bodů
1. Pro konfiguraci datového bodu není nikdy potřeba spouštět sestavu jako po studeném restartu.
2. Konfigurovat datový bod je nutný pouze při změně analogového typu.
3. Po změně transformace postačí pouze přehrání sestavy a spuštění projektu jako po teplém restartu.
4. V případě, že nemůžete projekt spustit jako po studeném restartu a potřebujete provést změnu parametru aplikujte postup „Změna parametru“ odrážka a).