Nejmenší PLC typ CX7080. Ta osmdesátka udává že PLC má na sobě sériový port, CX7000 znamená bez sériového portu.
Tohle PLC má na sobě osm DI z nichž některé konfigurovatelné jako rychlé čítače a analogové vstupy, dále čtyři výstupy z nich dva můžou být nastaveny jako PWM výstupy. Více zde.
PLC je možné rozšířit o DI, DO a další a další moduly včetně Safety. Omezení co do počtu kusů modulů za PLC prakticky není žádné, můžete si tam nacvakat tolik modulů, kolik je potřeba.
Pod posuvným krytem se ukrývá paměťová MicroSD karta, na které je jak firmware a OS PLC tak i vytvořená aplikace. karta má 512 MB což je tolik, že ji běžnými aplikacemi nemáte šanci zaplnit. Což je sdělení podpory Beckhoff, my jsme to nijak nezkoušeli ani neřešili. Karta může být běžná, ale co nejlepší provedení, aby vydržela velké množství zápisů a čtení. Ideální přímo od Beckhoff. Ovšem v balení PLC je paměťová karta 512 MB součástí PLC, takže pokud stačí, tak není nutné ji pořizovat větší.
Tak si to nějak zapojíme a uvidíme, jak to půjde. Ovšem, než nám to bude fungovat bude to chvilku trvat, ale nebojte se.
Něco na úvod poměrně důležité. Beckhoff vyrábí hodně druhů PLC od malých na DIN lištu jako to naše, až po velké jako průmyslové PC. Všechny jsou vlastně softwarové PLC, které běží pod operačním systémem, toto naše nejmenší má ale RTOS operační systém.Kromě upravených operačních systémů si Beckhoff dodává svoje základní desky a další hardware, aby byla a tím i je zajištěna stabilita celého systému.
Pro programování potřebujeme nějaký SW nástroj, u Beckhoff je to TwinCAT nyní ve verzi 3. Tohle je verze 3.1.4024 a je to poslední verze, která funguje i pod Windows7 profi, avšak nově dodávané CX70xx mají standardně nahraný Runtime s Buildem 3.1.4026 proto je doporučené používat pro tento Windows10 nebo 11. My jsme to chtěli vyzkoušet právě na "sedmičkách", které jsou nenáročné na hardware a pořád běží svižně i na starších strojích.
Je vhodné připomenout, že Beckhoff má trochu jinou politiku licencí, software pro programování všeho, tedy PLC, HMI pohonů je k dispozici zdarma, platí se následně jen licence na funkcionality podle výkonu hardware, na kterém běží.
Stažení 1,3 GB instalace bylo téměř ihned a instalovat můžete obě varianty které jsou stejné, pokud nebudete něco měnit.
Tohle se nám nainstaluje na naše PC. Instalovali jsme do VMware čistých Win7 profi.
Za necelých dvacet minut hotovo bez jakéhokoliv přerušení a nutnosti doinstalovat nějaké aktualizace, frameworky a podobně.
A TwinCAT se spustil na první dobrou bez problémů. Tak to má být, žádné otravné hlášky doinstalujte tohle a tohle a toto či ono.
Tak se na to vrhneme, ať se s tím PLC spojíme, něco do něj napíšeme a uvidíme, jak nám nějaký jednoduchý program funguje.
Vytvoříme si nový projekt - solution. Vše se dá přejmenovávat a vytvářet nové, takže někdy se to na obrázku bude jmenovat "testlocal", jindy "CX7000_v1" a tak podobně dále.
Ve TwinCAT můžeme pracovat se dvěma variantami spojení na PLC. První je "local" a tím začínáme. Znamená to, že nemáme fyzicky žádné PLC a budeme používat lokální - místní PLC na našem PC. To je výhodné pro vytváření a testování aplikace, když nemáte hardware.
Druhá varianta bude s připojením na naše skutečné PLC CX7080.
Pokud budeme používat lokální PLC je vhodné v "Real-Time" nastavení přiřadit našemu PLC jedno jádro procesoru, což ale platí pro simulační mód jen notebooku, nebo PC třetích stran. My jsme mu dali čtvrté, fialový řádek.
Klikněte na obrázek pro zvětšení
Pro běh softwarového PLC na našem PC je ještě nutné si vygenerovat trial licenci. A můžeme pracovat s lokálním PLC téměř jako se skutečným.
Klikněte na obrázek pro zvětšení
My ale máme skutečné PLC CX7080, které již má v nákupní ceně tyto licence: TC1200 PLC, TF4100 Controller Toolbox, TF4110 Temperature Controller, TF6255 Modbus RTU, TF6340 Serial Communication, TF6701 IOT Communication (MQTT), TF6730 IOT Comunicator. Díky tomu není nutné řešit aktivaci dočasných licencí, ale máme k dispozici plnohodnotné licence.
Tak se vrátíme kousek zpět a použijeme tlačítko "Choose Target". Známe IP adresu, buď již nastavenou nebo z výroby, a pokud je PLC opravdu na síti, nástroj nám jej najde. Pod tímto zajímavým názvem, ale ten se dá změnit na cokoliv, např. PLC_vzduch1 a tak podobně, uvidíme dále.
Jakmile se připojíme k PLC objeví se nám záložka CX Settings a systém, tedy webový server v PLC bude po nás chtít přihlašovací údaje, my jsme si je nechali defaultní.
Pokud je přihlášení OK dostaneme se do webového severu v PLC - Device manager, kde se dá hodně věcí zjistit a i nastavit. Například zmíněná IP adresa PLC, nyní je 192.168.10.10 a změnit se zde dá velmi jednoduše.
Pro úplnost IP adresa se dá změnit i přímo na paměťové kartě, jen je nutné ji vytáhnout a přečíst v nějakém PC.
Tady na webovém serveru najdeme kromě dalšího i informace o PLC, operačním systému (RTOS) a další. Právě zde je vidět ten "divoký" název PLC, můžeme si jej změnit podle libosti. My jsme si jej nechali, neboť PLC bylo jen půjčené z větší sestavy.
Protože se jedná o webový server v PLC, je také možné vše potřebné nastavit přímo z internetového prohlížeče, což je mnohdy rychlejší a pohodlnější.
Tak a základ bychom měli, nyní zkusíme něco k dalšímu nastavení. V roletových menu vidíme připojené PLC (BNT-00...) a projekt (CX7000_v1).
Důležité dvě ikony vlevo, modrá a zelená s ozubeným kolem. Modrá ikona přepíná TwinCAT do konfiguračního módu, ve kterém je možný scan HW konfigurace, ale PLC v tomto módu neběží. Zelená pak přepne mód Run tedy potřebný pro běh projektu a PLC. Taky nahraje data do PLC. Ostatní ikonky jsou jasné nebo na to přijdete sami raz dva.
Třetí důležitá ikona (vedle zelené) pro aktivaci hotové konfigurace a také po změně v HW konfiguraci, přiřazení I/O a v nastavení tasků.
Než začneme později vytvářet nějaký programový blok, zkusíme si udělat nějaký "Task", tedy úlohu, která běží vždy po přesně nastaveném čase. Udělali jsme si PLCTask (automaticky s novým PLC) a Timetask (I/O Idle Task je systémový). Tasky jsou vidět v okně priorit a dají se nastavovat podle priorit a času. PLCTask máme 10ms, Timetask 100ms. Do těchto tasků vložíme pak naše části programu.
Klikněte na obrázek pro zvětšení
Pro každý task nastavíme jeho čas a prioritu, jde to nastavit i automaticky přes Automatic Priority Manager, zašrtnout políčko dole na předchozím obrázku. Tasky s delším časem musí být s menší prioritou podle seznamu z předchozího obrázku.
A tady pozor, čas tasku NENÍ doba jak se bude dlouho vykonávat, ale doba za jak dlouho se začne vždy vykonávat, tedy po jaké době.
Další poznámka, zkušenější programátory napadne ihned otázka, co když se v tasku něco odehraje a on neskončí do doby než se má znovu začít vykonávat? To je velká chyba a dá se nastavit zatržením varování na "exceeding". Pak třeba natáhnete čas v tasku. Proto pozor v programu na použití funkce WHILE-DO ať se nikde nezacyklíte. To ale platí pro všechna PLC.
My s naší ukázkou tohle ovšem nemusíme řešit, PLC v podstatě o ničem ani neví, jede takříkajíc na prázdno. :)
A teď konečně jdeme na nějaký PLC program, aby nám to PLC něco dělalo.
Závěr:
Tohle byl takový opravdu nezbytný úvod jak na to s PLC Beckhoff, abychom mohli vůbec něco naprogramovat a oživit. Ve druhé části už nám to pojede bude to něco dělat.
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.