Nejmenší PLC Beckhoff řady CX7000. V předchozí části jsme si ukázali, co vše budeme potřebovat pro práci s tímto PLC, a teď už na to půjdeme prakticky.
Náš projekt máme založen, kromě tasků v něm zatím nic není, ale máme spojení s PLC. Takže si vložíme nové PLC, jako "standard PLC projekt", "empty" nepoužijeme, tam bychom neměli žádné funkce ani strukturu a organizaci projektu, vše bychom si museli vložit ručně. A nazveme si jej jakkoliv, což můžeme kdykoliv jednoduše změnit.
Všechny nabídky z levé stromové časti programu fungují přes pravé tlačítko myši, na to nezapomenout.
Klikněte na obrázek pro zvětšení
Celá tahle struktura s programovým blokem MAIN (ve složce POUs) se vytvoří po vložení nového PLC včetně PLC tasku a jeho přiřazení do programového bloku MAIN.
Programování je samostatná kapitola, my se koukneme jen na naprosto základní body, aby nám v PLC něco žilo a třeba blikalo a reagovalo na vstupy.
Abychom mohli používat nějakou proměnnou, musíme si ji nejprve deklarovat, jako v každém ST programování. Proměnné máme ve složce GVLs a vytvoříme si seznam globálních proměnných, tedy použitelných v celém programu.
Tak jeden ze seznamů proměnných, vstupy, výstupy a nějaké pomocné merkry.
Teď si konečně vytvoříme nějaký programový blok, opět přes pravé tlačítko myši.
Velmi důležitý krok při vytváření PLC programu je název programového bloku a dole v roletovém menu programový jazyk ve kterém budeme do bloku psát program. Možností na výběr je dost, pro všechny uživatele vybereme LADDER, tedy takový nejznámější pro jednodušší programování. Mezi jednotlivými jazyky v každém bloku nelze pak přepínat.
Klikněte na obrázek pro zvětšení
Musíme programový blok nějak zavolat, z bloku MAIN příkazem LAD1(); Dvojité lomítka oddělují komentáře od programu. Měli jsme volaný i blok CYKL, ale teď jej budeme volat z vytvořeného Timetasku, nastaveného na 100 ms. Uvidíme dále.
Kousíček programu v LADDER jazyku nějaký blikač a vstupy/výstupy. V každém programovém bloku si můžeme deklarovat další proměnné v horní části, a to buď v tabulce jako zde anebo v ST textu. Přepíná se vpravo nahoře, dvě ikony pod sebou.
Klikněte na obrázek pro zvětšení
Aby vše šlo vůbec do PLC nahrát, musíme program zkompilovat (Build Solution) a odstranit eventuální chyby, které nám kompilátor ukáže. Chyb uděláte ze začátku dost, ale kompilátor přesně ukáže, kde a co je špatně.
Ovšem stejně nám i po nahrání programu nebudou fungovat v programu vstupy/výstupy, neboť ...
... neboť nemáme přiřazeny deklarované proměnné na fyzické vstupy PLC. To je jeden z nejdůležitějších úkonů. Zase existují dvě možnosti. Na složce IO Devices v nabídce pravého tlačítka myši zvolíme vložit zařízení a bude to z hardwarového katalogu. Naše CX7000 se ukrývá pod Onboard I/O Device.
Nebo pokud máme PLC připojeno, vybereme z nabídky opět pravého tlačítka myši "najít" a počkáme chvilku, než nám TwinCAT najde na síti nějaké známé PLC. Našel jej včetně RAM paměti a sériových portů. Vše jsme odšrtli a nechali jen Device (CX7000).
Takto se nám načetly všechny vstupy a výstupy na PLC. Zatím ale nic není přiřazeno nějakému deklarovanému I/O, pokud ano, ikonka u "Input" by měla u sebe malou šipku.
Stačí na uvedený "Input" v kanálu 1 (nebo jiný I/O) kliknout a v tabulce vybereme ke které proměnné jej chceme přiřadit. Je to úplně libovolné a dá se to kdykoliv změnit. Je to vidět v řádku "Linked To" kde je fyzický vstup připojen.
Klikněte na obrázek pro zvětšení
Takovou malou šipkou u vstupu vidíme že je připojen k proměnné. Výstupy zatím nejsou.
Další důležitá věc. Na začátku minulého dílu jsme si řekli, že toto PLC má některé vstupy a výstupy konfigurovatelné, například jako analog. A právě tady si to můžeme změnit tedy z digitálních vstupů udělat analogové 0..10V a taky naopak.
Klikněte na obrázek pro zvětšení
"A je to", řečeno klasiky PAT a MAT. Nezapomeneme vše uložit, zkompilovat a použít zelenou ikonku pro nahrání všeho do PLC, tedy přejít do Run módu. Ty výrazy jsou trošku jiné, než bývá občas u jiných PLC, ale rychle si zvyknete.
Nyní jsme v Run módu a pokud chceme do online, tedy vidět online proměnné v programu, použijeme zelenou šipku vpravo "Login".
Klikněte na obrázek pro zvětšení
Asi takto to pak vypadá.
Klikněte na obrázek pro zvětšení
Všechno žije jak má.
Koukneme na náš Timetask a nastavíme si pro náš pokus jeho čas 100 ms (proměnná v další části programu tohoto tasku se pak bude měnit přesně každých 100 ms tedy změna o deset bude za jednu sekundu), nebo třeba delší? Nejmenší, nejrychlejší hodnota je i u tohoto malého PLC 250 μs.
Máme v něm přiřazen programový blok CYKL.
Jak je vidět online proměnná v bloku CYKL se mění od jedné do sta a rychlost je právě daná tím jak často se blok v Timetasku vyvolá.
Na úplný závěr si nezapomeneme v online systému aplikovat "Run Mode (Enable)" pro to, aby se nám PLC po připojení napájení rozběhlo a nebylo ve stopu.
Závěr:
Tak byl trochu delší test, ale opravdu je vidět, že Beckhoff řízení na bázi PC je trochu jiné než klasické PLC, na něž jste mnohdy zvyklí, ale během krátké doby si na něj ale snadno zvyknete. Technická podpora u Beckhoff funguje bezvadně jak telefonem, emailem v Brně, v Praze a na Slovensku v Trenčíně, takže pokud někde při skutečné aplikaci zakysnete, není to problém.
Vůbec jsme se zatím nevěnovali hotovým funkčním blokům v PLC, což se týká spíš programování, vzdálenému přístupu z mobilní aplikace Beckhoff a také hlavně SAFETY, což je funkční i u této nejmenší řady. Ještě bychom mohli připomenout možnost připojení za modul PLC pohonové moduly, jak pro servo, tak pro krokové motory a přímo řídit několik os. Výkon PLC na to bez potíží stačí. To vše si ještě zkusíme ukázat v dalších článcích.
Jaroslav Blažek
Doplňující odkazy k článku:
PLC řady CX7000, vše tady.
Všechny katalogy od Beckhoff najdete zde.
Beckhoff Česká Republika, hlavní stránka tady.