Stiskněte "Enter" pro přeskočení obsahu

Části kódů pro Siemens Logo!

0

Každý program pro Logo!, PLC, MCU, nebo počítač je jiný, musí řešit různé úkoly, musí spolupracovat s připojeným hardware. Existují ale části programů, které se notoricky opakují a tak je v podstatě zbytečné je stále dokola vymýšlet. Z podobného principu těží třeba Arduino, kde je programování zjednodušeno a obrovské množství knihoven nahrazuje spoustu kódu, který by uživatel musel „znovu vymýšlet“.

Tento článek navazuje na článek Kusy kódu k Arduinu (kde jsou části kódů použitelné při programování Arduina, nebo podobného MCU) a článek Reléové obvody, kde jsou řešeny funkční části strojů pouze za pomocí relé.

V článku níže bych chtěl předložit části programů (nejen) pro programovatelný modul Siemens Logo! Většinou se jedná o samostatně nefunkční celky, ale části programu, které je možné vložit do programu aniž by bylo nutné je znovu vymýšlet. Všechny použité příklady jdou určitě vytvořit i jiným způsobem. Tento článek slouží jako inspirace, jak by šly některé části programu řešit.

Rozběh hvězda-trojúhelník třífázového motoru

Pro rozběh motoru v konfiguraci hvězda-trojúhelník lze použít místo běžných časových relé, nebo specializovaných časových relé i modul Siemens Logo!, který může zároveň řídit i další části stroje. Tomuto problému se věnuje celý článek Rozběh hvězda-trojúhelník s modulem Siemens Logo!

Krokové řízení

Z pohledu programátora probíhají všechny příkazy v modulu Siemens Logo! zároveň. Program lze i řídit v jednotlivých krocích. Lze pak složitější řízení stroje rozložit do několika přehledných kroků a ty si samostatně odladit. Tomuto tématu se věnuje celý článek Krokové řízení se Siemens Logo!

 

Hlídání dojetí pístnice do koncové polohy

Kromě samotné funkčnosti programu je důležité i detekování chyby obsluhy, nebo hardware stroje. V případě že stroj ovládá několik ventilů, které jsou připojeny k pístnicím se nelze vždy na 100 % spolehnout že vše bude fungovat. Může být nízký tlak vzduchu (je možné detekovat tlakovým spínačem), může být poškozený ventil, poškozená pístnice, překážka zamezující pohybu pístnice, poškozené čidlo, atd. V každém z těchto případů by měl být program schopen detekovat poruchu, nahlásit to uživateli a případně zastavit další postup. Ne jenom nečině čekat až se porucha odstraní „sama“.

Jedním z možných řešení je osadit každou pístnici dvěma snímači koncových poloh, které kromě samotné funkce (funkčnost z pohledu stroje) budou hlídat  jestli válec pístnice dojel do své koncové polohy v požadovaném čase. Program ví v jaké poloze má být pístnice být, snímače dokáží říci programu kde se válec nachází. To lze jednoduše programově vyřešit.

V programu níže jsou čtyři vstupy:

  • I1 – Home position = senzor výchozí pozice pístnice
  • I2 – Request = požadavek v jaké poloze má pístnice být (bude spíše řešen částí kódu)
  • I3 – Operation position  = senzor pracovní pozice pístnice
  • I4 – Error Reset = reset chyby

Program samotný neřeší logiku spínání výstupu (nahrazeno vstupem I2). Tato část programu pouze hlídá jestli pozice pístnice odpovídá požadované pozici. Bloky B001 a B003 (XOR) porovnávají, jestli je sepnutý správný senzor podle požadované pozice. Blok B002 kontroluje, jestli nejsou oba senzory sepnuté/rozepnuté zároveň. Blok B004 „sečte“ všechny poruchové stavy a v bloku B005 dojde ke zpoždění vytvoření chyby. V reálu samozřejmě vše neprobíhá okamžitě, ale nějakou chvíli trvá než pístnice dojede do své koncové polohy. Pokud porucha/přechodový jev trvá déle, než je nastaveno v časovači B005 (zde 5 sekund) sepne se klopný obvod B006, který je nutné po odstranění poruchy resetovat vstupem I4.

V ideálním případě je možné tyto bloky vložit do UDF bloku a používat jako jeden blok s několika vstupy a výstupem. Je třeba myslet na to, že hodnota časovače by měla cca odpovídat době přechodu pístnice z jedné strany na druhou + nějaká časová rezerva. Tímto blokem by měly být ošetřeny všechny pístnice, nebo jiné dvoupolohové akční členy. Případně je možné provést modifikaci na konkrétní aplikaci.

 

Detekce polohy pístnice/pneumatického chapadla

Pneumatická chapadla mají většinou pouze malý zdvih a detekce více poloh je tedy velmi problematická. Navíc často ani není možné použít externí snímač, který by hlídal uchopení materiálu.
Pomocí pouhých dvou snímačů, které hlídají krajní polohy chapadla je možné detekovat čtyři stavy chapadla. Z toho je jedna poruchový stav – není možné, aby dva snímače s rozdílnou polohou byly sepnuté současně.

  • Chapadlo zcela otevřené
  • Chapadlo zcela uzavřené
  • Chapadlo v mezipoloze – upnutý materiál
  • Chapadlo v poruše – jsou sepnuty oba snímače
Detekce více poloh kleštiny pomocí dvou snímačů

 

Detekce sepnutí přepínacího kontaktu

Pro zvýšení provozní spolehlivosti a bezpečnosti zařízení je možné místo spínacího, nebo rozpínacího kontaktu detekovat přepnutí přepínacího kontaktu. Časový rozdíl mezi rozepnutím jednoho a sepnutím druhého kontaktu lze nastavit. Principiálně obvod funguje podobně jako jeden kanál modulu dvouručního spouštění (viz i článek reléová logika). Samozřejmě, není možné jej použít pro spouštění nebezpečných pohybů – modul Logo! nezajišťuje zvýšenou provozní spolehlivost jako bezpečnostní moduly, nebo fail safe PLC.

Obvody níže detekují zda došlo k přepnutí přepínacího kontaktu v nastaveném čase (do B003 a B004 je nutné nastavit stejný čas). V případě nestandardní situace jako je sepnutí/rozepnutí obou kontaktů zároveň je po časovém intervalu 0,5 s (čas v B007) vyhodnocena chyba a obvod zablokován.

Vygenerování impulzu po přepnutí kontaktů

K modulu jsou připojeny dva kontakty – spínací na vstup I1 a rozpínací na vstup I2. Pokud dojde k jejich společnému přepnutí během 0,2 s (časové bloky off-delay B003 a B004) je vygenerován pomocí bloku B005 impulz, který mžikově sepne M1. Signál lze zpracovávat stejně jako detekci hrany od tlačítka.
Program je doplněn ještě o detekci poruchy kontaktů – pokud jsou oba kontakty zároveň sepnuté, nebo rozepnuté déle než 0,5 s (on-delay B007) je sepnut M2 a zároveň je zablokován logický obvod B005. Zpoždění je přidáno kvůli omezení chybovosti při přechodovém jevu.

Sepnutí výstupu po přepnutí kontaktů

Modifikací obvodu je možné upravit výstup M1, aby kopíroval stav přepínacího kontaktu. Sepnutí se provede podobně jako v příkladu výše – tedy po detekci přepnutí kontaktu (I1, I2) v nastaveném čase (B003 a B004). Vypnutí se provede v jakémkoliv jiném stavu kontaktů – B010 vyhodnocuje vypnutý přepínací kontakt, B011 vyhodnocuje nestandardní stav kontaktů – oba sepnuté/rozepnuté/přechodový stav.
Stejně jako v předchozím příkladu je hlídána porucha kontaktů pomocí bloku B006 a B007. Pokud nestandardní stav trvá déle než 0,5 sekundy je aktivován klopný obvod B005, zablokován výstup M1 a nastaven chybový marker M2 na log. 1. Pro resetování chybového stavu je nutné poruchu odstranit a sepnout vstup I3 – reset poruchy.

V tomto příkladu jde krásně vidět, že i poměrně triviální záležitost (hlídání přepnutí kontaktu) lze řešit o dost sofistikovaněji s vyšší mírou detekce možných chyb.

Řízení navíjecího/odvíjecího zařízení

U lisů, které lisují ze svitku se používá navíjecí zařízení na odpadní materiál. Plechový pás projde strojem, ten z něho vystřihne potřebné díly a zbylý materiál je buď střihán na drobné kousky, nebo navíjen na trn. Rychlost navíjení je závislá nejen na rychlosti lisování, ale i průměru svitku.
Rychlost navíjecího trnu je možné řídit stylem zapnuto/vypnuto, případně je možné řízení provést spojitě – regulovat rychlost motoru, aby smyčka za lisem byla stále stejná. Smyčku lze snímat např. laserovým snímačem s analogovým výstupem, nebo pomocí dvou snímačů (dotykové, kapacitní, …) jako v tomto případě.

Program níže má dva vstupy. Snímače jsou buď mechanické, indukční, nebo se jedná např. o izolované „antény“, které jsou připojeny přes pull-up rezistory na +24 V. Při dotyku s uzemněným kovovým plechem dojde ke snížení napětí a tím i sepnutí vstupu (signály je třeba invertovat). Dotykem s jedním snímačem (I2) se rychlost návinu zrychluje, dotykem s druhým snímačem (I1) se rychlost zpomaluje.

V programu jsou dva časovače B002 a B003, které generují přerušovaný signál. B002 vytváří „rychlý signál“, který v případe sepnutí některého ze snímačů zvyšuje/snižuje hodnotu v čítači B005. Druhý časovač (B003) generuje „pomalý signál“, který během návinu (když není aktivní ani jeden ze snímačů) postupně snižuje hodnotu v čítači B005. Analogový signál z čítače B005 je veden na analogový přepínač B006 – ten přenáší hodnotu na analogový výstup AQ1 pokud je sepnut vstup vstup I2 (zrychlování), nebo žádný snímač. Pokud je sepnutý spínač zpomalení (I1) je interně snižována hodnota čítače, ale analogový výstup je dočasně potlačen = nastaven na 0.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *