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 … 1 600 Ohm využívá větší rozlišení A/D převodníku, zatímco rozsah 0 … 5 000 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 … 5 000 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 = 4 000.
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.
Domat Control System s.r.o. patří k evropské špičce dodavatelů řídicích systémů a regulací pro inteligentní budovy, průmysl a energetiku. Cílem této ryze české společnosti je vyvíjet, vyrábět a dodávat řídící systémy v mezinárodním měřítku.