• No results found

Inicializace stroje

In document SOFTWARE PRO OVLÁDÁNÍ CNC STROJE (Page 30-35)

Řádná inicializace stroje je základním krokem k jeho dalšímu funkčnímu řízení. Bez přístupu proudu do pohonů a jejich referování (nalezení nulové polohy) není možné se strojem pracovat. Pokud nastane při řízení chyba obsluhy, je třeba stroj přivést zpět do funkčního stavu, aby mohl pokračovat v činnosti. Tato kapitola se zabývá výše zmíněnými úlohami a problémy, které vznikaly již od počátečního návrhu inicializace a řízení stoje. Programově je inicializace řešena v MC_Start.

4.1 Koncept inicializace stroje

Při návrhu programu pro inicializaci se vycházelo z konceptu, že stroj je funkční pro řízení, pokud jsou funkční všechny jeho pohony. Tento koncept vycházel z požadavku plnohodnotného CNC řízení, které vyžaduje kooperaci všech částí stroje, a pokud jedna část nefunguje, tak není možné stroj řídit jako CNC. Navržený koncept byl v některých ohledech kontraproduktivní a měl více nevýhod než výhod.

V původním konceptu nebylo možné ovládat zbylé osy, pokud byla jedna nefunkční. Již při samotném testování softwaru MACOS nešlo testovat osy, pokud jedna byla nefunkční. To značně komplikovalo a leckdy i zdržovalo testování a vývoj softwaru.

MACOS navíc umožňuje několik typů manuálního řízení, cyklování či vytváření vlastních programů. Pro tyto případy většinou nezáleží na tom, zda jeden pohon nefunguje, když je potřeba ovládat ostatní.

Na základě silných argumentů byl tento veliký nedostatek odstraněn v konečné fázi vývoje softwaru. Řešení vypadá tak, že pokud se některá z os do určitého času nezreferuje a nevytvoří vazbu s masterem (virtuální osou), pak se uživateli objeví na ovládacím panelu zpráva (viz Obr. 8). V ní mu software oznámí, která osa nefunguje a zda chce referování opakovat či pokračovat. Neaktivní osy a osy s chybou jsou na ovládacím panelu zašedlé a nelze je ovládat.

Úplná podoba principu inicializace stroje je podrobně popsána na stavovém diagramu v příloze A.3. Je to poměrně náročný proces postupného volání funkčních bloků v mnoha stavech. Pro přehlednost je na Obr. 9 znázorněn zjednodušený princip stavového diagramu, který vystihuje hlavní operace při inicializaci stroje.

Obr. 8: Hlášení chyby při inicializaci

Obr. 9: Zjednodušený princip inicializace

4.1.4 Vytváření vazeb mezi reálnými a virtuálními osami

Vytváření vazeb a řízení os spojených vazbou není triviální záležitost, je třeba dodržet mnoho podmínek, např. pohony spojené vazbou nemohou referovat, dokud nejsou odpojeny. Referování je při řízení stroje častá operace, a pokud by se osy řádně nespojily, pak stroj není řádně zinicializován a nemůže být použit pro CNC řízení.

Programové řešení v MC_Start je poměrně náročné. Pro představu, stavový automat pro MC_Start má 22 stavů. Bez vytváření a odpojování vazeb by počet stavů mohl klesnout až na polovinu. V počátku návrhu nebylo možné odhadnout, kde všude bude potřeba reálných a virtuálních os. Proto byla snaha mít je spojené neustále, a pokud nejsou spojené, tak stroj není připraven pro ovládání.

V konečné fázi vývoje softwaru se již vědělo, že virtuálních os bude zapotřebí jen pro CNC řízení a pro manuální řízení postačí pouze ovládání reálných os. Zde se nabízel koncept, ve kterém by osy vytvořily vazbu jen v případě CNC řízení. Tím by se stavový automat MC_Start zjednodušil, protože by nebylo třeba neustále spojovat a odpojovat reálné a virtuální osy.

Ke zjednodušení však nedošlo, protože vytvořený koncept již byl plně funkční a zaimplementován do složité struktury ostatních programů a stavových automatů.

Navíc by se i při vývoji zjednodušeného konceptu mohly vyskytnout problémy, které při návrhu nelze odhadnout.

4.2 Inicializace po chybách p ř i ř ízení

Software musí neustále hlídat, jestli jsou osy spojeny. Během řízení může dojít k několika situacím, kdy může dojít k jejich odpojení. Po některých chybách při obsluze může mít virtuální osa jinou polohu než reálná, což je vyjma CNC řízení nežádoucí.

V takových případech je třeba opět zinicializovat stroj a navrátit jeho parametry do funkčního stavu.

Po odstranění chyby při obsluze stroje není vždy vhodné inicializovat stroj jako při počátečním spuštění. Postačí identifikace os, které jsou odpojené a zreferovat virtuální osy se stejnou polohou jako má odpovídající reálná osa a spojit je.

4.3 Volba po č átku pro CNC ř ízení

NC programy jsou vytvářeny od určitého počátečního bodu, který se nemusí shodovat s počáteční polohou stroje (mechanickou nulou). Z tohoto důvodu je třeba umožnit, aby

si uživatel mohl určit počátek v pracovní oblasti stroje, od kterého se bude CNC program spouštět.

Virtuální osy jsou typu master a reálné kopírují jejich pohyb. Což znamená, že nemusí mít nutně stejnou polohu. Pokud virtuální osa popojede o 10 centimetrů, pak reálná také, ale každá z nich může nabývat jinou polohu dle svého souřadnicového systému.

Vykonávání CNC programu se řídí souřadnicemi virtuální osy. Před spuštěním CNC řízení je třeba si najet na počáteční polohu a označit ji. Tím se vynulují souřadnice virtuálních os, reálné osy však stále ukazují přesnou polohu vzhledem k počátku stroje.

Programově se tato úloha řešila odpojením reálných a virtuálních os, zareferování virtuálních os s nulovou polohou a zpětné vytvoření vazby mezi osami. Po zvolení počátku je stroj připraven spustit CNC program.

Tato část softwaru MACOS slouží jako přípravná část pro řízení CNC řízení, ale CNC není tématem této diplomové práce, na jeho vývoji se podílel František Mejdr ve své diplomové práci [1].

4.4 Datová struktura MC_Start

Ačkoliv program MC_Start patří v softwaru k náročnějším z hlediska programování a implementace, má jednoduchou datovou strukturu ltStart, která je popsána v Tab. 15.

V části CMD jsou dva hlavní příkazy, Power (zapnutí proudu) a Home (referování na koncové spínače), které slouží k počáteční inicializaci stroje. Dále tam jsou příkazy pro určení počátku v jednotlivých virtuálních osách. Nic jiného uživatel nemůže ovládat.

Signals upozorňují, které osy jsou funkční a které nejsou. V části Limits jsou všechny limitní hodnoty a parametry pohonů. Mezi tyto parametry patří např. vzdálenost softwarových koncových spínačů a maximální rychlost pohonů.

Tab. 15: Tabulka datové struktury ltStart

ltStart Popis

CMD příkazy pro zapnutí a referování os Signal signalizace stavu stroje a pohonů Limits limitní parametry os

4.5 Stavový automat MC_Start

MC_Start slouží především k řízení MC_Basis tak, že posílá cílené příkazy pro ovládání proudu, referování a synchronizaci a zpátky si od MC_Basis bere informace o jejich

ukončení. Inicializace stroje je důležitá a poměrně náročná činnost. Skládá se z mnoha operací, které musí být spuštěny ve správném pořadí a správný čas. Pro jejich řádné řízení je ve stavovém automatu MC_Start více stavů. V každém stavu se vykonává pouze jedna operace a po jejím dokončení se automat přesune do dalšího stavu.

Stavový automat MC_Start se skládá ze tří hlavních větví. Větev s počáteční inicializací stroje je označena zkratkou LS (limit switch, koncový spínač) v názvu stavu. Označení počátku pro CNC řízení obsahuje v názvu CNC a inicializace stroje po chybě systému či obsluhy je označena ERR. Stavy automatu jsou blíže popsány v Tab. 16 a stavový automat MC_Start je zobrazen v příloze A.3.

Tab. 16: Stavy automatu MC_Start

Stav Popis stavu

MCS_WAIT_CMD klidový stav, čekání na příkaz

MCS_POWER přivedení proudu k osám, zapnutí stroje MCS_HOME referování na současné poloze

MCS_CONNECT konečná fáze vytváření vazeb mezi osami MCS_LS_START počáteční fáze referování na koncové spínače MCS_LS_DIS rozpojení os pro referování na koncové spínače MCS_LS_EXE referování na koncové spínače

MCS_LS_ZERO referování s nulovou polohou (odstranění odchylek mezi reálnou a virtuální osou)

MCS_LS_CON vytváření vazeb po referování na koncové spínače MCS_LS_ERRHOMEACK

jedna čí více os nejsou zreferovány do určitého času, nebo nastala chyba při referování. Čeká se na potvrzení od uživatele, zda pokračovat v referování, nebo ho ukončit

MCS_LS_ERRHOME pokračování v referování na koncové spínače po chybě MCS_LS_ERRSTOP ukončení referování po chybě (žádná osa není zreferována) MCS_CNC_DIS rozpojení os pro referování virtuální osy pro CNC řízení MCS_CNC_EXE referování virtuálních os pro CNC řízení

MCS_CNC_CON spojení os po referování virtuální osy pro CNC řízení

MCS_ERROR nastala chyba v systému, do její odstranění setrvá v tomto stavu MCS_ERR_EXE vykonání referování po chybě systému, virtuálním osám jsou

přiřazeny hodnoty reálných os

MCS_ERR_CON vytvoření vazeb po referování po chybě systému

MCS_INIT inicializační stav, rozhoduje se, zda je třeba zinicializovat osy, nebo zda je systém v pořádku

MCS_POWER_OFF vypínání proudu od pohonů

MCS_TOTAL_STOP totalstop je neaktivní, v tomto stavu setrvá, dokud se nezapne MCS_NO_ERROR informační stav pro stavový automat Error handling

In document SOFTWARE PRO OVLÁDÁNÍ CNC STROJE (Page 30-35)

Related documents