Jste zde

Připojení a funkce inkrementálního enkodéru na PLC Millenium3

I na PLC Millenium3 lze připojit inkrementální enkodér s rychlým pulsním výstupem. Má k tomu totiž dva rychlé čítací vstupy i speciální blokovou funkci, která udělá většinu věcí za uživatele. Její použití je totiž velmi snadné. Zde je krátká ukázka, co připojení inkrementálního enkodéru vše obnáší.

I já jsem donedávna netušil, že je možné snadno i k malému jednoduchému PLC Millenium3 připojit inkrementální rotační snímač = enkodér, který vyžaduje speciální k tomu určené vstupy. Ale to jsem Millenium3 podcenil, protože i toto umí, i když lze připojit jen jeden dvoukanálový enkodér.

Obecná problematika připojení inkrementálního enkodéru na PLC

Aby bylo možné inkrementální enkodér použít ve spojení s jakýmkoliv PLC, je nutné, aby PLC mělo k dispozici nějaký režim rychlých čítacích vstupů. V případě  provedení inkrementálních rotačních enkodérů s 100 a více pulsů na otáčku, tedy většina běžných enkodérů, již jejich výstup generuje tak vysoké frekvence (tak krátké časy mezi pulsy), že je nelze "pochytat" běžnými dvoustavovými vstupy PLC. To znamená, že na vyhrazených vstupech PLC jeho obslužný program (tedy firmware, který organizuje i chod uživatelského programu) nezávisle na chodu uživatelského programu velmi často a přednostně monitoruje stav těchto vstupů v porovnání se standardními vstupy a je tedy schopen zachytit i změny stavu v řádu i desetin milisekund. Prakticky tak dříve než se dokončí jeden cyklus oběhu vytvořeného uživatelského programu a tedy i jedno čtení stavu standardních vstupů, se mnohokrát (až 1000krát) provede interně čtení stavu na rychlých čítacích vstupech. Tuto funkci ve většině PLC najdete po výrazem "rychlé čítací vstupy". Dle výkonnosti vnitřního procesoru PLC (případně jeho řídicího CPU) pak jsou obvykle omezeny na 2 až 6 vstupů základní jednotky PLC zvládající frekvence pulsů 10 kHz (malá základní PLC), 100 kHz (střední PLC) až 1 MHz (velmi výkonná modulární PLC), přičemž u rozšířitelných a modulárních PLC lze obvykle dokoupit i speciální modul s dalšími rychlými čítacími vstupy. 

Protože rychlé čtení vstupů probíhá automaticky mimo běh uživatelského programu, je pro zjištění stavu vstupů, přesněji řečeno počet načtených pulsů za určitý čas či frekvenci, vždy k dispozici nějaká speciální funkce, která tento údaj programátorovi zpřístupňuje. V aplikačním uživatelském programu tak s její pomocí vždy v každém cyklu vykonávání programu lze zjistit kolik pulsů od minulého cyklu na vstup přišlo. U většiny PLC je pak k dispozici i přímo funkce měření frekvence, která neudává přímo počet nasčítaných pulsů, ale aktuální frekvenci pulsů (tedy počet pulsů za čas jednoho cyklu vykonávání programu či případně jinou uživatelem nastavenou periodu).

Rychlé čítací vstupy PLC Millenium3

V konkrétním případě PLC Millenium3 jsou u všech základních jednotek k dispozici standardně dva rychlé čítací vstupy I1 a I2, tedy hned první dva fyzické vstupy. Ty však umožňují připojit jen jeden zdroj rychlých pulsů, ať už jednokanálového či jako v případě inkrementálních rotačních enkodérů, dvoukanálového zdroje pulsů. V případě připojení jednokanálového zdroje, se tak sice využije jen jeden vstup I1, ale druhý nelze nijak jinak využít, protože programová bloková funkce rychlých čítacích vstupů s názvem "H-SPEED COUNT" automaticky využívá / blokuje oba vstupy, a ačkoliv se v ní nastaví použití jen prvního vstupu, stále nelze druhý vstup využít k jinému zdroji rychlých pulsů.

Poznámka k hardwaru: Rychlé čítací vstupy se samozřejmě nacházejí jen u provedení PLC Millenium3 s 24VDC napájením a jsou typu "Source" (je uvnitř PLC uzemněn), tedy vyžadují připojení enkodérů se spínanými výstupy PNP či přímo napěťovým pulsním výstupem (typ Push-Pull). Enkodéry s NPN výstupem však lze také využít, ale je nutné do vstupu PLC společně s NPN vývodem připojit i přes odpor cca 2 kOhmů napájecí napětí PLC (NPN výstup enkodéru je spínacím tranzistorem uzemňován, ale vstup PLC očekává 24V napětí). Toto řešení je sice funkční, ale není moc odolné proti rušení, takže by se mělo používat jen nouzově a jen pro krátké kabely připojení enkodérů.

Možnosti a použití blokové funkce "HSCOUNT"

K využívání rychlých čítacích vstupů slouží jediná bloková funkce s názvem "HSCOUNT" (tj. H-SPEED COUNT). Když se otevřou její vlastnosti, zobrazí se okno poměrně velkého množství voleb. Ty lze však ze základního pohledu rozdělit na funkce:

  • Čítání pulsů - umožňuje různé režimy čítání či odčítání rychlých pulsů na jednom či obou vstupech I1 a I2

  • Tachometer - umožňuje přímé měření frekvence na vstupu I1

První funkce čítání pulsů  se obvykle hodí hlavně pro potřeby polohování, kdy je potřeba přesně měřit změny pozice pohybu, tedy v případě rotačních snímačů natočení. K dispozici jsou pak režimy "UP" nekonečného jednorázového či opakovaného cyklického čítání pulsů pouze na vstupu I1 do max. rozlišení nebo přičítání do nastavené hodnoty počtu pulsů, nebo "DOWN" pro odečítání do nuly. Nastavení s režimem "IND" provádí pak přičítání pulsů ze vstupu I1 a odčítání pulsů na vstupu I2, tedy tato funkce není určena pro rotační dvoukanálové enkodéry, ale pro dva nezávislé zdroje pulsů, např. monitorování polohy realizované například dvěma indukčními snímači. Naopak režim "CUMUL" provádí společné přičítání pulsů obou kanálů a režim "DIR" provádí čítání a odčítání pulsů ze vstupu I1 podle logického stavu na vstupu I2.

Nakonec je tu jeden režim "PHASE" přímo určený pro dvoukanálové inkrementální rotační enkodéry, který čítá či odčítá pulsy přicházející na vstup I1 podle toho, jaká je fáze vstupu I1 vzhledem k pulsům na vstupu I2. Automaticky se tak podle směru otáčení jeho hřídele přičítá a odečítá stav počítadla. Při různých směrech otáčení se tak v konečných polohovacích systémech stále budeme pohybovat "kolem nuly" a tedy lze využít inkrementální enkodér i na místo absolutního enkodéru.

Příklad z nápovědy funkce H-SPEED COUNT v programovacím software M3 pro režimy DIR a PHASE umožňující čítání pulsů na vstupu I1 nahoru i dolů, podle různých stavů vstupu I2: v prvním případě dle trvalého signálu, v druhém případě dle fáze pulsů.

Druhá funkce "Tachometer",  která má méně nastavení, pak umožňuje velmi snadno vytvořit poměrně přesné měření rychlosti pomocí inkrementálního enkodéru v podobě počtu pulsů nasčítaných za nastavenou dobu 1 až 8 sekund ("Measurement time"). Jednotlivé měřící doby pak jsou vždy proloženy 1 až 8 sekundami tzv. obnovovacího času "Refresh Time". Čím delší měřící čas se nastaví, tím přesnější měření se provádí. Na druhé straně jsme však limitováni maximálním počtem nasčítaných pulsů v zadaném měřícím čase, který může být max. 43 000. Podle maximální rychlosti otáčení (počet otáček za sekundu) a rozlišení enkodéru (počtu pulsů na otáčku) je tedy nutné zvolit vyhovující měřící čas. 

Změřenou hodnotu počtu otáček za sekundu lze ještě "naškálovat" do jiného rozsahu prostřednictvím koeficientu "Scale factor" a na výstupu bloku tak například dostávat přímo hodnoty aktuální úhlové rychlosti otáčení nebo přeneseně i např. rychlost pohybu v metrech za sekundu. 

 

Jednoduchý prográmek, který vyhodnocuje rychlost otáčení inkrementálního rotačního endéru na rychlost v m/s. Například pro aplikace, kde se pomocí enkodéru měří rychlost pohybu pásového dopravníku. Konkrétně v mé aplikaci jsem měl dopravním pásem unášené snímací kolo s obvodem přesně 500 mm a na něj připojený enkodér 500 pulsů na otáčku. Ve výsledku tak počet pulsů za sekundu odpovídal proběhlé vzdálenosti v milimetrech a tedy i rychlosti v mm/s.

Závěr

Použití inkrementálního enkodéru s PLC Millenium3 je prakticky velmi jednoduché, když uživatel ví, že je to možné a jaká bloková funkce k tomu slouží. Na druhou stranu moderní i malá PLC jsou již dále a nabízejí větší rozlišení i větší počet vstupů (např. cca za podobné ceny PLC IDEC FT1A).

Odkazy:

Odkazy na předchozí články o PLC Millenium 3:

Hodnocení článku: