Standardní softwarová obsluha binárních vstupů a výstupů PLC je vždy celkem dost pomalá. Totiž jejich stav se skenuje pouze 1x během každého cyklu periodického vykonávání programu, což v praxi taky může znamenat jen cca jednou za 10 ms, tedy dokáže rozpoznat pulsy o frekvenci maximálně jen cca 50 Hz. To může dostačovat pro relativně dlouho trvající stavy. Ale pro připojení rychlého pulsního zdroje nebo pro rychlou reakci na změnu stavu signálu se již použít nedá.
Takovým zdrojem vysokofrekvenčního pulsního signálu může například být rotační enkodér, který generuje i mnoho stovek pulsů na jednu otáčku a při rychlejším otáčení tak může jít i o tisíce pulsů za sekundu. Pro tyto účely a aplikace pak výrobci svá PLC doplňují o speciální rychle čítající režim, který takto vysokofrekvenční pulsní signál bez problémů odsleduje a vyhodnotí. Obvykle je koncipován jako speciální režim předem daných vstupů, který je nutný „spustit“ v rámci vytváření programu pro PLC a následně je možné ho ovládat pro tento účel definovanými speciálními příkazy.
Připojení enkodéru k rychlým vstupům
Obě výše uvedené funkce samozřejmě obsahují i PLC Omron řady CP1L. Konkrétně 14vývodová základní jednotka CP1L-L14 poskytuje hned čtyři takové rychlé čítací vstupy pod označením „High Speed Counter“, umožňující registrovat a zachytit pulsní signály o frekvenci až 10 kHz. Navíc umí nejen vyhodnotit tzv. jednokanálové signály, ale i dvoukanálové (diferenční) signály obvykle generované právě inkrementálními rotačními enkodéry (ty však jen do poloviční frekvence 50 kHz).
Připojení a zprovoznění měření otáčení rotačního inkrementálního enkodéru generujícího 500 pulsů na otáčku, v mém případě typ Kuebler T8.9000.116R.0500 (bližší popis viz článek "Inkrementální rotační senzory firmy Kubler"), je následující: Nejdříve výstupy enkodéru připojíte k binárním vstupům základní jednotky PLC. V případě dnes běžného dvoukanálového provedení s kvadraturním výstupem, kdy v jednotlivých kanálech jsou proti sobě vzájemně posunuty o 90°, připojíte jeden kanál na vstup 0.00 a druhý kanál hned na následující vstup 0.01. Tím si určíme, že musíme využít „High Speed Counter 0“. Jednotlivé rychlé čítače 0 až 3 mají totiž pevně přiřazené vstupy. Pokud chceme využívat tzv. Z-kanál umožňující rozlišovat jednotlivé otáčky, musíme jej zde připojit na vstup 0.04. Napájení enkodéru je dobré provádět ze stejného zdroje 24 V, z jakého jsou napájeny i vstupy PLC.
Připojení 3 kanálů rotačního enkodéru (A, B a Z) na vstupy 0.00, 0.01 a 0.04 (rychlý čítací vstup 0) a tzv. nulový stav, kdy ve všech třech kanálech se nachází puls.
Nastavení rychlých vstupů
Následně musíte ve vývojovém softwaru „CX-Programmer“ v programu pro dané PLC povolit funkci rychlého čítacího režimu 0 (High Speed Counter 0), který je aplikován právě na vstupy 0.00 a 0.01. V případě napojení enkodéru na jiné vstupy, musíte zvolit i jiné číslo rychle čítajícího režimu. Nastavení parametrů pak je možné provést buď složitěji samotným nastavením bitů v příslušných řídících registrech PLC , nebo snadněji pomocí klikacího menu. To je přítomné v okně konfigurace parametrů PLC (po kliknutí na položku „Settings“ ve stromu projektu a záložku „Built-In Input“). Tím, že povolíte tento rychlý čítací režim si však nijak neomezujete použití stejných vstupů v programu i samostatně. I když v praxi to asi moc nevyužijete, protože jak již bylo zmíněno na začátku, rychlé pulsy stejně program jen obtížně zaznamená. Něco jiného je to pak v případě například zachytávání tzv. nulovacího pulsu v Z-kanále připojeného na vstup 0.04. Ten se dá nastavit na speciální „rychlý“ režim („Quick“). Díky tomu bude program pulsy registrovat i v případě, že jsou kratší než je jeden cyklus vykonání programu. V záložce „Built-In Input“ pak musíme nastavit v jeho spodní části položku IN0 z pozice „Normal“ do pozice „Quick“. V ladder programu již jej pak normálně využíváte jako klasický binární vstup. V případě Z-kanálu enkodéru lze pak tohoto režimu dobře využít například pro čítání počtu provedených otáček.
Obrazovka nastavení rychlých čítacích vstupů (High Speed Counter) - nastavení principu resetování stavu rychlého počítadla (vlevo) a nastavení způsobu vyhodnocení připojených kanálů.
Ale vraťme se k nastavení rychlého čítače „High Speed Counter 0“. Po jeho uvolnění se pak zpřístupní i několik dalších nabídek pro definování jeho funkce. Nejdříve je zde možné zvolit, zda se má využívat běžný inkrementální režim („Linear mode“), či tzv. cyklický („Circular mode“), kdy po překročení nastaveného nasčítaného počtu dojde k vynulování čítače a začíná se opět od znova. Dalším nastavením je možné vybrat, jakým způsobem se bude provádět případný reset (vynulování) stavu čítače. Buď to může být jen na základě softwarově nastaveného bitu v řídícím registru, nebo i v kombinaci s pulsem ze Z-kanálu.
A nakonec je tu možnost výběru metody snímání vstupů, tedy zda se využívá plný dvoukanálový diferenční (kvadraturní) vstup (zde tedy můj případ), jeden kanál jako vstup signálu, zatímco druhý udává směr otáčení, jeden kanál čítající nahoru a druhý dolů či pouze režim jednokanálového vstupu.
Nastavení vstupu 0.04 do rychlého snímacího režimu "Quick" pro situace, kdy je délka pulsů kratší než cyklus zpracování programu.
Využití v programu PLC
To je z nutného nastavení vše a je možné přejít na programové vyhodnocení rychlého čítače. Proto jsou k dispozici prostředky v podobě speciálních příkazů umožňující přímo přečíst aktuální stav rychlého čítacího registru, aktuální rychlost otáčení, vyhodnocení směru otáčení, zda je rychlost v zadaném limitu apod. Konkrétně jde hlavně o příkaz „PRV(881)“, který na základě zapsané řídící hodnoty již do přiřazeného datového registru ukládá požadované informace.
V uvedené ukázce ladder programu PLC například čtu aktuální hodnotu rychlosti otáčení a pokud je její hodnota nižší než zadaná úroveň, sepne se spínaný výstup 100.00. Dále se také čte aktuální stav čítače a pokud je menší než stav 1000, sepne se výstup 100.01.
Ukázkový program pro vyhodnocení stavů rotačního enkodéru při běhu.
Díky dvoukanálovému připojení kvadraturního výstupu enkodéru se pak správně registruje i směr otáčení, takže například stav rychlého čítače se správně navyšuje nebo naopak snižuje podle směru otáčení a to i do záporných hodnot, takže nula čítače není žádný „fixní“ bod.
Zajímavá je pak i funkce PRV2(883) umožňující přepočítávat frekvenci pulsů na rychlost otáčení v jednotách otáček/min.
Zápis programu PLC pro vyhodnocení signálů připojeného rotačního enkodéru.
Závěr
Z výše uvedeného je patrné, že připojení a použití rotačního enkodéru ve spojení s PLC Omron není vůbec složité a nemusíte mít žádné předchozí zkušenosti, abyste to snadno realizovali.
Autor článku i fotografií: Antonín Vojáček
DOWNLOAD & Odkazy
- Stránky společnosti OMRON - www.omron.com
- Přímý odkaz na stránky s informacemi a datasheety o PLC Omron CP1L - www.ia.omron.com/product/family/1916/index_fea.html
- Společnost OMRON má přímé zastoupené v ČR - http://industrial.omron.cz
- 1. díl seriálu o PLC Omron řady CP1L - http://automatizace.hw.cz/plc-a-prumyslova-pc/test-kompaktni-plc-omron-cp1l-1-dil-zakladni-jednotka.html
- 2. díl seriálu o PLC Omron řady CP1L - http://automatizace.hw.cz/plc-a-prumyslova-pc/test-kompaktni-plc-omron-cp1l-2-dil-jednotka-mad11.html
- 3.díl seriálu o PLC Omron řady CP1L - http://automatizace.hw.cz/plc-a-prumyslova-pc/test-kompaktni-plc-omron-cp1l-3-dil-maly-hmi-lcd-panel.html
- Článek o rotačních enkodérech Kubler "Inkrementální rotační senzory firmy Kubler"
- Další články o PLC (Siemens, Fatek, Crouzet, IDEC, Panasonic a dalších) najdete na stránkách serveru automatizace.HW.cz v sekci plc-automaty