cz
en

Nastavení analogových vstupů

Podrobný popis nastavení analogových vstupů a výstupů a významy všech parametrů jsou v nápovědě k Merbon IDE, část Regulátor (PLC) – Transformace a konfigurace analogových vstupů. Zde si jen shrneme postup a časté chyby:

Výběr typu signálu v IDE

Podle typu vstupního signálu vybereme pro každý vstup jeho typ:

  • napětí – pro aktivní čidla s výstupem 0...10 V
  • proud – pro aktivní čidla s výstupem 0(4)...20 mA, vstup musí tento typ signálu podporovat a obvykle je nutné u vstupu přepnout DIP přepínač nebo aktivovat jumper, čímž se připne odpor, na kterém se měří úbytek napětí pro proud, který čidlo poskytuje
  • odpor – pro pasivní odporová čidla teploty, rozsah 0...1600 Ohm využívá větší rozlišení A/D převodníku, zatímco rozsah 0...5000 Ohm poskytuje větší rozsah měření (do 350 °C místo do cca. 100 °C); oba rozsahy se do PLC přenášejí v podobě „odpor (Ohm) * 10“. Pro běžné použití je vhodný rozsah 0...5000 Ohm.

Další rozsah „Teplota Pt1000 (-50...150 °C)“ znamená, že linearizace (převod odporu na teplotu) probíhá již v I/O modulu a po sběrnici je do PLC přenášena teplota * 100 (°C) – viz modbusová tabulka např. modulu RCIO. Tuto možnost můžeme využít, pokud I/O modul používáme pro sběr dat v cizích systémech, které linearizaci v PLC neumožňují – hodnotu ze sběrnice stačí vydělit 100. V Merbon IDE je ale výhodnější linearizovat až v PLC, protože tam můžeme zavést kompenzaci délky vedení a podobně.

Častá chyba: Modul nastaven na rozsah „Teplota Pt1000 (-50...150 °C)“, v IDE je dále nastavena transformace Resistance to temperature... Hodnota, která teplotu již numericky představuje, je zpracována linarizační křivkou „odpor → teplota“ podruhé a tedy poskytuje nesmyslný výsledek, -247 °C.

Nastavení transformace a koeficientů pro pasivní čidlo teploty

Koeficienty Pre_K a Pre_Q jsou použity před transformací, Post_K a Post_Q po transformaci:

Transformace Pre... se používá jednak pro přepočet Modbusové hodnoty na odpor, jednak ji lze využít pro kompenzaci odporu vedení mezi čidlem a I/O modulem. Transformace Post... se používá pro kompenzaci chyby měření samotného čidla a zadává se v K.

Tip pro diagnostiku: Hodnotu, která vstupuje po sběrnici Modbus do PLC, lze přečíst v módu Debug ve jmenném prostoru hw_hidden:

Pro AI01 je to zde 1110,6 Ω, což je korektní měřená hodnota (odpovídá teplotě 28,4 °C). Podle této hodnoty poznáme, zda problém je v nastavení I/O modulu, nebo v kódu v PLC.

Správné nastavení pro pasivní čidlo Pt1000 tedy vypadá takto:

Druh transformace, zde Pt1000, vybírá linearizační křivku – ta je specifická pro každý typ čidla (Pt100, Pt1000, Ni1000-5000 atd.).

Častá chyba: Koeficient Pre_K je nastaven na hodnotu 1. Musí být 0.1, protože hodnota odporu se na Modbusu přenáší „Ohm * 10“, aby bylo zachováno rozumné rozlišení:

Nastavení v I/O modulu

Dále je nutné nakonfigurovat rozsahy měření v I/O modulu. To lze provést buď v programu ModComTool už při adresování a oživování I/O modulů, nebo – výhodněji – v Merbon IDE pravým kliknutím na I/O modul a výběrem Konfigurace modulů Domat.

Merbon IDE postupuje při konfiguraci takto:

  • Přepne PLC do módu oživování (v něm je runtime zastaven a PLC funguje jako převodník mezi sériovou linkou a PC, takže IDE může do modulu vyslat příslušné konfigurační příkazy). 
  • Následně zapisuje do registrů požadované měřicí rozsahy a toto nastavení uloží do EEPROM a restartuje I/O modul, aby se změny projevily.
  • Nakonec přepne PLC zpět do běžného módu.

Nyní tedy I/O modul posílá na sběrnici

  • u pasivního čidla hodnotu měřeného odporu v ohmech vynásobenou deseti (0...50 000 = 0...5 000 Ω)
  • u napětí hodnotu v mV (0...10 000 mV)
  • u proudu hodnotu v uA (0...20 000 = 0...20 mA).

Tyto rozsahy jsou uvedeny v nápovědě Merbon IDE pro jednotlivé I/O moduly a v Modbusové mapě příslušného modulu.

Častá chyba: Toto nastavení modulu není provedeno, modul pak měří s výchozím nebo starým rozsahem vstupu a vypočtené hodnoty v PLC pak nedávají smysl.

Nastavení pro čidlo s proudovým výstupem

Asi nejlepší transformací pro rozsah 0(4)...20 mA je lineární dvoubodová transformace.


Na obrázku je příklad nastavení pro čidlo tlaku 0...20 mA = 0...600 kPa. Na první pohled je vidět vstupní i výstupní rozsah. U čidla 4...20 mA = 0...600 kPa by se jen změnila hodnota X1 = 4000.

Nastavení pro čidlo s napěťovým výstupem

Podobně jako v předchozím případě, lze samozřejmě použít i prostou lineární transformaci Kx+Q:

Obě transformace poskytují stejné výsledky, koeficient K = 60 = 0,001 * 600 (přepočet mV na kPa) je ale na první pohled méně srozumitelný než dvoubodová transformace (X1...Y2) vlevo.

Studený restart po nahrání!

Veškeré hodnoty týkající se nastavení vstupů, transformací a jejich koeficientů se uplatní až po nahrání a studeném restartu programu.
V průběhu oživování není studený restart (při němž se ztratí aktuální hodnoty z runtime a všechny proměnné se nastaví na výchozí hodnoty ze zdrojového kódu) problémem. Později při provozu ale chceme aktuální hodnoty zachovat, tedy studenému restartu se vyhnout. Pak lze postupovat takto:

  • Typ transformace u vstupu nastavit na Identity
  • nahrát program a provést teplý restart
  • typ transformace nastavit opět na Resistance to temperature (nebo jinou požadovanou transformaci)
  • nahrát program a provést teplý restart.

S transformací Identity se totiž při kompilaci smažou pomocné proměnné s typem linearizace, koeficienty atd. Jejich opětovné založení už aplikuje nové hodnoty. Kdybychom jen změnili např. typ linearizační křivky nebo hodnoty Pre_K, Pre_Q, X1, X2 atd., transformace by vždy zůstala v kódu a po přehrání programu a teplém restartu by se u ní použily aktuální (staré) hodnoty v PLC.

Častá chyba: Po změně koeficientů transformace není u PLC proveden studený restart. Platí tedy stále transformace stará a PLC zobrazuje nesmyslné hodnoty.