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

Siemens Simatic S7-1200 – Motion Control se servomotorem

1

PLC Simatic S7-1200 je široce použitelný automat pro průmyslovou automatizaci. Jeho cena je poměrně příznivá. Pro začátek je možné zakoupit některý z starter-kitů, které obsahují jak samotné PLC, tak i programovací prostředí TIA portal. S7-1200 je na rozdíl od Loga! již plnohodnotné PLC. Lze ho tedy téměř libovolně konfigurovat, lze používat vlastní proměnné, funkce a připravené knihovny. Další pomyslný level je v případě programovatelných automatů od Siemensu PLC S7-1500.

Jednou z vlastností, kterou tyto PLC mají je knihovna Motion Control, která (podle verze) umožňuje řízení krokového motoru pomocí signálů STEP/DIR, dále pomocí analogového signálu pohony s běžným 3f motorem s frekvenčním měničem a enkodérem, nebo drivery s komunikací PROFIdrive (připojení přes sběrnici ProfiNet). V tomto článku se budu zabývat připojením driveru Siemens Sinamics V90.

Knihovna Motion Control je poměrně rozsáhlá, doporučuji tedy její prostudování v oficiálním manuálu (PDF). Pozor je nutné dávat na používanou verzi – s některými PLC nelze použít některé verze! V dokumentaci je uvedeno, které typy PLC lze použít.

Použití pohonu se servomotorem

Asi hlavní rozdíl mezi krokovým motorem, klasickým asynchronním motorem a servopohonem je ve velké dynamice servomotoru. Většinou se jedná o synchronní motor s vestavěným odměřováním pomocí enkodéru, nebo resolveru. Provoz servomotoru samozřejmě vyžaduje použití specializovaného driveru, což je ale v podstatě pouze frekvenční měnič „šitý na míru“ pro konkrétní řadu servomotorů.

Díky servomotoru lze přesně polohovat části stroje, nástroje, podávat materiál apod. Zrychlení, zpomalení a pohyb mechanizmu se servomotorem může být velmi rychlý. Servomotor si i při nulových otáčkách drží příslušný kroutící moment (odolává silám, které ho chtějí otočit), umožňuje řídit směr a rychlost otáčení, ale hlavně umožňuje přesné a rychlé natočení do konkrétního úhlu. Dalo by se říci, že kombinuje výhody asynchronního motoru a krokového motoru.

Zapojení driveru

V první řadě je potřeba mít správný servo driver a příslušný servomotor. V mém případě použiji driver Siemens Sinamics V90 6SL3210-5FB10-1UF2 a servomotor Simotics 1FL6024-2AF21-1AG1. Obě části mám zapůjčené od firmy Siemens, za což velice děkuji… Driver i motor je součástí ucelené řady Siemens Sinamics.
Jedná se o malý, 100W servomotor s vestavěným odměřováním a jmenovitými otáčkami 3000 ot/min. Ten je spojen s driverem s napájecím napětím 230 V. Driver má několik digitálních vstupů a výstupů, kterým lze definovat různé funkce (driver ready, error, reset, apod.). Jinak je kompletně řízen přes datovou sběrnici PROFIdrive (ProfiNet). Nelze ho tedy provozovat samostatně např. pouze s tlačítky, ale je nutné použít nadřazený systém, který bude vysílat potřebné příkazy. To však většinou není na závadu, neboť i u jednodušších strojů je potřeba nějaká logika řízení pomocí PLC.

Servomotor se servodrivery Sinamics V90

Driver je samozřejmě nutné připojit na silové napájení 230 V, dále je nutné napájení 24 V pro řídící elektroniku (u servodriverů a některých frekvenčních měničů běžné). Dále disponuje vstupem STO (Safety Torque Output), který umožňuje bezpečné odpojení momentu motoru. Tím supluje, nebo spíše doplňuje funkci bezpečnostních modulů.
Motor se připojí dvěma kabely – silovým pro motor samotný a „datovým“ pro připojení enkodéru. U některých motorů je možné připojit ještě vestavěnou brzdu.
Propojení s nadřazeným systémem je zde pomocí USB (slouží ke konfiguraci a testování motoru) a přes sběrnici ProfiNet s PLC, které slouží ve finální aplikaci k řízení.

Zapojení driveru V90 (verze s rozhraním ProfiNet)

Pohon je nejprve potřeba konfigurovat a otestovat. To lze provést pomocí integrované klávesnice a displeje, nebo lépe pomocí software V-Assistant. Ten se nainstaluje do počítače, pohon se propojí s počítačem pomocí přes Mini USB konektor a aplikace se spustí.

Hlavní okno programu – výběr driveru, motoru, možnost otestování a výpis aktivních chyb

V programu je potřeba nastavit ProfiNet telegram* a název a IP adresu driveru. Tyto věci lze samozřejmě nastavit i přes TIA portal (Online access >  Příslušná síťová karta > Sinamics > Functions > Assign IP address).

*Telegram udává jaká data se mezi driverem a nadřazeným systémem předávají. Většinou se jedná o několik bitů (digitální stavy jako „aktivní porucha“, „driver OK“, „napájení OK“, „nulový bod enkodéru“ a podobně) a několik čísel. V případě telegramu 3 jde pouze o aktuální otáčky a aktuální pozici. Nelze tedy z driveru přenášet informaci o teplotě, momentu, proudu atd. Některé další telegramy umožňují přenos více informací.

Přiřazení názvu a IP adresy driveru v programu V-Assistant

Dále je možné nastavit mód řízení rychlosti, nebo pozice, nastavit různé rampy, rychlostní i poziční limity. Driver umožňuje provést tzv. autotuning, kdy si „očuchá“ systém s motorem a nastaví příslušné parametry měniče, aby nedocházelo k nežádoucím rezonancím. Správné parametry motoru jsou nastaveny díky spárování konkrétního motoru s driverem.

Driver je možné otestovat v tzv. jog módu, kde se dá s motorem otáčet na strany zadanou rychlostí. Přitom se vykreslují aktuální naměřené otáčky, aktuální moment motoru, odebíraný proud a zatížení.

Propojení a konfigurace PLC

Propojení driveru a PLC je díky použití ProfiNetu velice jednoduché. V podstatě se jedná pouze o propojení ethernetovým kabelem buď přímo s PLC, nebo přes nějaké aktivní prvky jako je ethernet switch a podobně.

V konfiguraci PLC je samozřejmě nutné přidat použitý hardware – tedy samotné PLC, displej a další komponenty, pokud nějaké existují. Dále je potřeba přidat do projektu měnič Sinamics V90. Ten v základu v TIA Portalu není. Je nutné si stáhnout příslušný GSD soubor a ten nainstalovat pomocí Options > Manage GSD.

Poté je potřeba přidat samotný měnič do projektu. Kliknutím na „Devices & Network“ se zobrazí seznam zařízení v projektu a jejich vzájemné propojení. Zde je potřeba přidat měnič. Ten se do Network View přetáhne z katalogu v pravé části (Other Field Devices > PROFINET IO > Drivers > SIEMENS AG > SINAMICS > SINAMICS V90). Driver se propojí s nadřazeným PLC buď jednoduchým přetažení síťové zásuvky na jiné zařízení, nebo kliknutím na „no assigned“ a zvolením příslušného PLC.

Propojení PLC s driverem (v tomto případě ještě s HMI)

Dvojkliknutím na zařízení se zobrazí detail. Nejdříve se přidá komunikační protokol z pravé části (Submodules > Standard telegram 3). V programu je poté možné vidět vstupní a výstupní adresy měniče (tyto lze poté najít v PLC tags).

Přiřazení komunikačního telegramu (včetně rozsahu vstupních a výstupních adres).

U driveru se musí nastavit IP adresa a název zařízení. Oboje musí být stejné jako v modulu, jinak není možné driver s PLC propojit.

Nastavení jména a IP adresy zařízení

V nastavení driveru je samozřejmě mnohem více voleb. Je možné je snadno proklikat a vyzkoušet.

TIA Portal má pro ovládání měniče připraveny knihovny, tzv. technologické objekty. Stačí do projektu přidat komponentu Motion Control verze alespoň 4.0 – v projektu kliknout na Technology objects > Add new object > TO_PositioningAxis.

Přidání technologického objektu do projektu

Technologický objekt je samozřejmě nutné nastavit. Je zde možné zvolit typ pohonu, jednotky, limity a podobně. Nastavení je poměrně rozsáhlé a liší se podle použitého driveru, použití odměřování atd.

Nejprve je nutné nastavit typ pohonu. V tomto případě se použije PROFIdrive. Další možnosti jsou PTO (vhodné k řízení pohonů s krokovým motorem) a Analog drive connection (lze tak řídit běžný motor s frekvenčním měničem v kombinaci s odměřováním).

Nastavení připojeného driveru a použité jednotky
Volba příslušného driveru a použitého telegramu

Dále je potřeba nastavit enkodér, z kterého se načítá pozice motoru. Protože má tento motor již enkodér vestavěný, je možné jej použít. Jinak lze stroj osadit externím odměřováním.

Volba enkodéru pohonu.

Technologický objekt má spousty možnosti nastavení, což by bylo nad rámec tohoto článku. Návod samotný má cca 300 stran a doporučuji jeho prostudování. Některé volby tedy budou popsány jenom pro přehled.

Nastavení rychlosti, zrychlení a ryvu (jerk). Ten umožňuje plynulejší chod mechaniky.
Nastavení snímače výchozí polohy. Výchozí polohu je nutné znát kvůli absolutnímu pozicování.

Pokud má pohon zpětnou vazbu od enkodéru, probíhá v řízení jakoby simulace skutečné polohy. Ta je neustále porovnávána se skutečnou naměřenou hodnotou. Pokud pohon překročí určitou toleranci, okamžitě se zastaví a vyhlásí chybu „following error„. Tímto lze detekovat např. přetížení mechaniky pohonu.

Monitorování odchylky skutečné polohy od vypočítané – v případě překročení maximální odchylky pohon vyhlásí chybu.

Po nastavení pohonu je možné přikročit k jeho testování. Nejjednodušší je to provést v Axis > Commisionning. Zde to funguje bez nutnosti cokoliv programovat v programu samotném.

Testování pohonu (volí se typ řízení (zde Jog), rychlost, akcelerace a směr).

Tvorba programu v PLC

Po alespoň částečném nastavení pohonu (technologického objektu) je možné vytvořit program, kterým lze pohon řídit. Vše je samozřejmě závislé přímo na konkrétní aplikaci. Ale většina prvků se v programu pří řízení osy opakuje.

Do nově vytvořeného funkčního bloku je potřeba přidat bloky ze seznamu instrukcí Technology > Motion_Control. Ke každému bloku existuje samozřejmě kromě manuálu i nápověda z které rozhodně doporučuji vycházet.

Aby bylo možné s osou pohybovat je nutné ji mít povolenou/napájenou. To se provede blokem „MC_Power„. Pokud není osa povolena, není možné s ní pohybovat. Příkaz k pohybu může vyhlásit chybovou hlášku. Zakázání osy není bezpečné zastavení – k tomu spíše slouží vstup měniče STO. Tímto příkazem lze osu např. „disablovat“, pokud není používána.

S osou lze pohybovat v několika módech. Asi nejjednodušší je tzv. „Jogování“, což by se mohlo přeložit do češtiny jako tipování, nebo seřizování. Během aktivního vstupu „JogForward„, nebo „JogBackward“ se osa pohybuje rychlostí nastavenou parametrem „Velocity„. Je použita rampa zrychlení/zpomalení a osa samozřejmě nesmí být v chybě. Tímto je možné třeba pomalu najíždět nástrojem v manuálním režimu.

Další možnosti jsou jsou např. spuštění pohybu podle zadané rychlosti (MC_MoveVelocity), nalezení výchozí pozice (MC_Home), relativní (MC_MoveRelative), nebo absolutní pozicování (MC_MoveAbsolute) – u tohoto příkazu je nutné mít osu referovanou. To znamená, že musí proběhnout příkaz pro najetí osy do výchozí pozice příkazem pomocí bloku MC_Home. Osa si pak buď najede na snímač, signál enkodéru, nebo je možné osu referovat manuálně kdekoliv (viz Home Possition v manuálu). Poté lze s osou najet na libovolné místo – řízení si již rozhodně jakým směrem začne s motorem točit.

Dale lze pomocí bloku „MC_ChangeDynamic“ lze měnit dynamiku pohonu (akcelerace, decelerace, ryv, …). MC_Halt umožňuje zastavení pohybu, blokem MC_Reset je možné resetovat chybu pohonu, pokud nějaká nastane.

Z pohonu je možné vyčítat hodnoty a naopak je zapisovat pomocí bloku MC_Read a MC_Write. K parametrům lze přistupovat i přímo přes parametry osy. V návodu jsou podrobně rozepsány hodnoty v kapitole 10 – Status and error bits. Lze tak vyčíst např. aktuální pozici osy z proměnné <axis name>.ActualVelocity a s tou dále pracovat.

Tento článek měl sloužit jako jednoduché seznámení s polohováním pomocí PLC. Samotné PLC umožňuje více druhů řízení, která jsou velice jednoduchá na konfiguraci a ovládání. Lze tak i s levným PLCčkem a běžným motorem, krokovým motorem, nebo servem řešit základní polohovací funkce v různých strojích bez nutnosti složitých systémů.

  1. Radek Radek

    Ahoj,
    chtel jsem se zeptat, navod je perfektni. Nedari se mi ale jedna vec. jeste nez zacnu popisovat problem tak jsem nyni vybaven pouze aplikaci TIA Portal v16. Nemam u sebe zadny hardware. Zkousim pouze nanecisto v projektu veskerou pripravu dle tveho navodu, Je tu jedno, ale.
    Postupuji dle tveho navodu pouziji stejne komponenty v katalogu. to znamena mam vytvorenou topologii pripojeni nakonfigurovany menic pouze v TIA Portalu. Kdyz, ale kliknu na volbu Technology objects – Add new object – vyskoci mi hlaska No technologicall object installed. Tím padem jsem skoncil a nemuzu pokracovat. Muzes mi prosim poradit? Je to kvuli tomu ze nemam hardware a pracuji jakoby „nanecisto“?
    Díky moc
    Radek

    Peťan: Zda máš, nebo nemáš přímo HW je jedno. Pravděpodobně nejsou funkce Motion Control nainstalované. Abych řekl pravdu, doteď jsem nevěděl, že se dá TIA nainstalovat i bez toho… V aplikaci klikněte na Help > Instaled Software > Detailed information… > Instalation of support packages. Já tam mám Motion control. Je tam položka „Download from internet„. Tak by to snad mělo jít stáhnout někde tam.
    Bohužel, toto je smutná ukázka uživatelské „přívětivosti“ TIA Portalu. To co je třeba ve Visual Studiu otázka několika kliknutí a vybrání „funkcí k doinstalování“ ze seznamu, je zde nahrazeno procházením nepřehledných stránek Siemensu. Z dnešního hlediska je to jako návrat asi 15 let nazpět.

Napsat komentář

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