VYSOKÁ ŠKOLA POLYTECHNICKÁ JIHLAVA Katedra elektrotechniky a informatiky Obor Počítačové systémy
S o u ř a d n i c o vý z a pi s o va č bakalářská práce
Autor: Miroslav Vomela Vedoucí práce: Ing. Michal Bílek Jihlava 2013
Anotace Bakalářská práce se zabývá zprovozněním modelu X/Y souřadnicového zapisovače vybaveného krokovými motory Schneider Electric z řady ILS2E, které jsou ovládány průmyslovým počítačem Beckhoff. Komunikace probíhá přes protokol EtherCAT. Zprovoznění se skládá z hardwarové a softwarové části. Do hardwarové části spadá zapojení komunikačních a napájecích vodičů, upevnění dílů modelu a realizace mechanismu pro samotné zapisovaní. Softwarová část se skládá z navázání komunikace s motory, pohybu zapisovače a návrhu úloh pro budoucí studenty.
Klíčová slova IPC, průmyslový počítač, souřadnicový zapisovač, krokový motor, EtherCAT, TwinCAT
Abstract Bachelor's
thesis
deals
with
commissioning
model
of
X/Y
coordinate
recorder. Recorder is equipped with stepper motors of Schneider Electric series ILS2E.
These
motors
are
controlled
by
industrial
computer
Beckhoff.
Communication runs via protokol EtherCAT. Commissioning is divided into two parts. These are hardware part and software part. Hardware part contains communication and power cables connection, mouting parts of model and construction recording mechanism. Software part consists of connection with motors,
coordinate
recorder's
motion
and
design
of
exercises
for
future
students.
Key words IPC, industrial personal computer, coordinate recorder, stepper motor, EtherCAT, TwinCAT
Prohlašuji, že předložená bakalářská práce je původní a zpracoval/a jsem ji samostatně. Prohlašuji, že citace použitých pramenů je úplná, že jsem v práci neporušil/a autorská práva (ve smyslu zákona č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů, v platném znění, dále též „AZ“). Souhlasím s umístěním bakalářské práce v knihovně VŠPJ a s jejím užitím k výuce nebo k vlastní vnitřní potřebě VŠPJ. Byl/a jsem seznámen s tím, že na mou bakalářskou práci se plně vztahuje AZ, zejména § 60 (školní dílo). Beru na vědomí, že VŠPJ má právo na uzavření licenční smlouvy o užití mé bakalářské práce a prohlašuji, že s o u h l a s í m s případným užitím mé bakalářské práce (prodej, zapůjčení apod.). Jsem si vědom/a toho, že užít své bakalářské práce či poskytnout licenci k jejímu využití mohu jen se souhlasem VŠPJ, která má právo ode mne požadovat přiměřený příspěvek na úhradu nákladů, vynaložených vysokou školou na vytvoření díla (až do jejich skutečné výše), z výdělku dosaženého v souvislosti s užitím díla či poskytnutí licence. V Jihlavě dne 27. 5. 2013
............................................. Podpis
Poděkování Na tomto místě bych rád poděkoval svému vedoucímu práce Ing. Michalu Bílkovi za odborné vedení a Vysoké škole polytechnické Jihlava za poskytnutí zapisovače. Dále bych rád poděkoval firmě Dyger spol. s r.o. za odborné poradenství.
Obsah 1
Úvod .....................................................................................................................8
2
Fyzický popis zapisovače ......................................................................................9
3
Rozebrání zapisovače na základní technologie ..................................................... 10 3.1
Motory Schneider Electric ILS2E .................................................................. 10
3.1.1
Krokový motor ....................................................................................... 10
3.1.2
Motor ILS2E .......................................................................................... 12
3.2
Induktivní snímače polohy ............................................................................ 14
3.3
Průmyslový počítač Beckhoff C6915 ............................................................ 15
3.3.1
Průmyslový počítač ................................................................................ 15
3.3.2
Beckhoff C6915 ..................................................................................... 17
3.3.3
Windows Embedded CE 6.0 ................................................................... 19
3.4
Coupler EK1100 a terminály ......................................................................... 19
3.5
Lineární osa s ozubeným řemenem ................................................................ 21
3.6
Zapisovací mechanismus ............................................................................... 21
3.7
Napájecí a komunikační vodiče ..................................................................... 23
3.8
TwinCAT ...................................................................................................... 23
3.8.1
System Manager ..................................................................................... 23
3.8.2
PLC Control ........................................................................................... 25
3.9
Norma IEC 61131, část 3 .............................................................................. 26
3.9.1
Společné elementy ................................................................................. 26
3.9.2
Průmyslové programovací jazyky ........................................................... 27
3.10 4
Praktická část....................................................................................................... 30 4.1
Připojení motorů ........................................................................................... 30
4.2
Instalace indukčních referenčních snímačů .................................................... 31
4.3
Instalace zapisovacího mechanismu............................................................... 31
4.4
Spojení s IPC a motory.................................................................................. 32
4.5
Konfigurace Systém Manageru...................................................................... 33
4.6
Testování pohybu motorů .............................................................................. 35
4.6.1
Online ovládání ...................................................................................... 35
4.6.2
Testovací funkce .................................................................................... 36
4.6.3
Coupling ................................................................................................ 36
4.7 5
EtherCAT .................................................................................................. 28
Projekt v PLC Control ................................................................................... 36
Popis základních funkčních bloku z knihovny TcMC2.lib .................................... 39 5.1
MC_Power .................................................................................................... 39
6
7
5.2
MC_MoveAbsolute ....................................................................................... 39
5.3
MC_MoveRelative ........................................................................................ 40
5.4
MC_MoveVelocity ....................................................................................... 41
5.5
MC_Reset ..................................................................................................... 41
5.6
MC_Stop/MC_Halt ....................................................................................... 42
5.7
MC_Home .................................................................................................... 42
Popis knihoven TcNcCfg.lib, TcNci.lib a G-kódu ................................................ 43 6.1
CfgBuild3DGroup ......................................................................................... 43
6.2
CfgReconfigGroup ........................................................................................ 44
6.3
ItpSetOverridePercent ................................................................................... 44
6.4
ItpLoadProgEx .............................................................................................. 45
6.5
ItpStartStopEx ............................................................................................... 45
6.6
G-kód ............................................................................................................ 45
6.7
M-funkce ...................................................................................................... 47
6.7.1
ItpGetHskMFunc ................................................................................... 48
6.7.2
ItpIsHskMFunc ...................................................................................... 48
6.7.3
ItpConfirmHsk ....................................................................................... 49
Závěr ................................................................................................................... 50
Seznam použité literatury ............................................................................................ 51 Seznam obrázků .......................................................................................................... 53 Seznam tabulek ........................................................................................................... 54 Seznam použitých zkratek ........................................................................................... 55
1 Úvod Bakalářská práce se zabývá modelem X/Y souřadnicového zapisovače, který se blíží reálnému provedení v průmyslu. Jedná se o pohybové ústrojí skládající se z krokových motorů popř. servo motorů, koncových spínačů, převodových skříní, trapézových závitových tyčí, hliníkové profilové konstrukce a kabelových žlabů. Model je řízen pomocí průmyslového počítače Beckhoff, na kterém je provozován operační systém Windows Embedded 6. V tomto systému je integrováno real-time jádro, které umožňuje komunikaci s motory v reálném čase. Programy pro ovládání motorů jsou napsány ve vývojovém prostředí TwinCAT verze 2. firmy Beckhoff. V tomto prostředí je možno programovat pomocí normy IEC EN 61131-3. Pro model je použit jazyk ST neboli strukturovaný text. Tento model má v praxi představovat široké zastoupení převážně ve strojírenském průmyslu. Zde může sloužit k řezání vodním paprskem, vypalování plazmovým paprskem, 3D tisku či ke kreslení technické dokumentace. Bakalářská práce má budoucím studentům Vysoké školy polytechnické přiblížit praxi v automatizaci, která je dnes nepostradatelnou součástí života. Studentů se bude týkat softwarová část, kde si budou moci bezpečně, bez kolize modelu, vyzkoušet simulaci jednoduchých, posléze i složitějších úloh.
8
2 Fyzický popis zapisovače
Obrázek 2.1 Pohled na zapisovač.
Zapisovač se skládá z obdélníkového rámu, který je tvořený hliníkovými profily a lineárními polohovacími osami z řady PAS. Osami pohybují krokové motory Schneider Electric. Do portů krokových motorů jsou připojeny indukční snímače polohy, které jsou umístěny v krajních polohách podélného a příčného suportu. Dále je před krajní polohou obou suportů umístěn ještě další pár snímačů polohy, který udává referenční pozici souřadnicového systému. Dále je k rámu připevněn kabelový žlab, ve kterém jsou umístěny napájecí a komunikační vodiče.
9
3 Rozebrání zapisovače na základní technologie V této kapitole jsou popsány základní technologie a součásti, s kterými se u zapisovače setkáme. Jedná se o části hardwaru, jako jsou motory, průmyslový počítač, komunikační a napájecí kabely a konstrukce. Dále kapitola rozebere použitý software, programovací jazyk a normu, pod kterou spadá a knihovny využívané k pohybu motorů.
3.1 Motory Schneider Electric ILS2E Model obsahuje dva krokové motory Schneider Electric z řady ILS2E.
3.1.1 Krokový motor Krokový motor je elektro-mechanické zařízení, které přeměňuje elektrické pulzy na diskrétní pohyb. S každým pulzem dochází k pootočení hřídele o jeden krok. Seskupení pulzů může udávat směr rotace hřídele (rotoru). Frekvence pulzů přímo souvisí s rychlostí otáčení hřídele. [1] Krokové motory se dělí do hlavních čtyř kategorií:
Aktivní motory s permanentními magnety (PM).
Hybridní synchronní motory.
Pasivní motory reluktanční (VR).
Lineární motory. [2]
Obrázek 3.1 Obecný výkres krokového motoru. [1]
10
Výhody:
Úhel natočení motoru je úměrný vstupnímu signálu.
Motor má plný točivý moment v klidovém stavu (v případě, že vinutí jsou napájeny).
Přesné polohování a opakovatelnost pohybu. Dobré krokové motory mají přesnost 3 - 5% z kroku.
Vynikající odezva na spuštění /zastavení / reverzní chod.
Velmi spolehlivé, protože nejsou k dispozici žádné kontaktní kartáče v motoru. Proto je životnost motoru jednoduše závislá na životnosti ložiska.
Reakce motorů na digitální vstupní impulsy poskytuje otevřenou smyčku pro ovládání, takže je finančně méně nákladné motor řídit.
Široká škála otáček. Rychlost je úměrná frekvenci vstupních impulsů.
Nevýhody:
Při špatném ovládání impulsy může dojít k rozkmitání.
Nehodí se pro provoz s velmi vysokými otáčkami. [1]
11
3.1.2 Motor ILS2E Na modelu jsou použity dva krokové tří-fázové motory Schneider Electric. Motor, který má na starost hýbat s podélným posuvem má název SM1 (stepper motor 1) a jeho typ je ILS2E851PB1A0. Druhý motor s názvem SM2 (stepper motor 2) je typu ILS2E573PB1A0.
Obrázek 3.2 Typový klíč k motorům Schneider Electric. [3]
Schneider Electric ILS2E851PB1A0 a ILS2E573PB1A0 jsou třífázové krokové motory. Napájet je lze 24 nebo 48 volty. Maximální odběr je 3,5 A. Při napájení 48V mají maximálně 600 otáček za minutu a při 24V mají poloviční otáčky. Krouticí moment je konstantní 1,5 N/m. Splňují normy EN 50347, EN 61800-3:2001, EN 61800-3 : 200102, EN/IEC 50178, EN/IEC 61800-3, IEC 60072-1 a IEC 61800-3, Ed 2 a také mají certifikaci CUL, TÜV a UL. Pracovní teplota okolí může dosahovat až 55°C. Krytí je IP54/41. Tyto motory podporují komunikaci pomocí EtherCAT protokolu. Chyba! Nenalezen zdroj odkazů. napovídá, že motor ILS2E851PB1A0 má šířku 85mm a délku i s převodovkou 102mm a motor ILS2E573PB1A0 má šířku 57mm a délku 140,5mm. [3] 12
Obrázek 3.3 Výkres s rozměry motoru ILS2E573PB1A0. [3]
Motory mají uvnitř krytu na řídící desce plošných spojů celkem šest konektorů. CN1 slouží pro připojení napájecího napětí, CN2 umožňuje komunikaci s EtherCATem, CN3 je RS458, CN4 jsou vstupně výstupní porty s 24V logikou a CN5 s CN6 mají za úkol bezpečnostní funkce (např. vnější příkaz pro zastavení).
Obrázek 3.4 Pohled na pozice konektorů uvnitř motoru. [3]
13
3.2 Induktivní snímače polohy Důležitou částí konstrukce jsou indukční snímače polohy, které zde zastupují funkci koncového spínače a také referenčního spínače. Úkol koncových spínačů je omezovat pracovní prostor na předem daný obdélník a samozřejmě zajistit bezpečný provoz. Spínače zajišťují ochranu před nabouráním posuvu do konstrukce, před přetížením motorů a případně zraněním obsluhy. Úkol referenčních spínačů je určit počátek souřadnicového systému.
Obrázek 3.5 Sepnutý a rozepnutý indukční koncový spínač.
V zapisovači jsou použity konkrétně indukční koncové snímače. Snímače jsou typu NC neboli rozpínací kontakt. Je využito závitové pouzdro a to z důvodu jednoduché montáže a snadného nastavení správné pracovní polohy. Tyto spínače mají také větší odolnost vůči okolním vlivům, jako jsou např. teploty, vlhkost a prach, takže je lze instalovat přímo do blízkosti snímaného předmětu (posuvu) a nemusí se využívat nástavce. Spínače jsou napájeny 24V stejnosměrného napětí a jsou připojeny na vstupně výstupní konfigurovatelné porty CN4 motoru na příslušném posuvu. Spínač obsahuje také indikační LED, která upřesňuje aktuální logickou hodnotu na výstupu, respektive 14
na vstupně výstupním portu CN4 motoru. Spínače jsou instalovány v páru pro motor SM1 levý a pravý a pro SM2 horní a dolní. Obdobně jsou řešeny referenční spínače. Spínač je tvořen induktivním snímačem polohy. Tentokrát je, ale použit typ NO, neboli se spínacím kontaktem. Vývody ze snímače jsou připojeny do karty digitálního vstupu na coupleru (jednotka, která sdružuje modulární karty, např. digitální výstup).
3.3 Průmyslový počítač Beckhoff C6915 Zapisovač je řízen průmyslovým počítačem od výrobce Beckhoff typ C6915.
3.3.1 Průmyslový počítač Průmyslový počítač nebo také IPC, z anglického industrial personal computer, je ve své podstatě klasický personální počítač, který je ovšem vybaven několika specifickými částmi, aby mohl bezpečně, dlouhodobě a bezchybně fungovat v průmyslových aplikacích či jiné řídící činnosti. Berme průmyslový počítač (IPC) jako by šlo o běžný personální počítač, jak ho všichni znají. Velká část komponent je v podstatě stejná. Například procesor, paměti RAM, porty rozhraní, výkon. Nicméně průmyslový počítač je robustní systém, který je vhodný pro použití v průmyslu. S pravděpodobně prvním průmyslovým počítačem typ 5531 přišla firma IBM v roce 1984. Dalším model IBM 7531 a jeho průmyslová verze IBM AT PC byla uvedena na trh 21. května 1985. Společnost Industrial Computer Source vydala v roce 1985 proprietální průmyslový počítač, který byl založený na základní desce PC od IBM. [12] Průmyslové počítače jsou speciálně navrženy tak, aby vydržely náročné průmyslové prostředí (extrémní teploty, prach, vlhkost, vibrace, přepětí), do kterého nejsou klasické PC určeny. Teplota okolí vhodná pro provoz IPC může dosahovat hodnot 45°C zatímco klasické PC má tuto hodnotu hluboko pod 35°C.
15
Na teplotu navazuje i způsob chlazení. IPC může mít pasivní čí aktivní chlazení. Dle potřeby jsou ventilátory nebo vstupní a výstupní ventilační otvory překryty filtrační hmotou, která zabraňuje vstupu nežádoucího prachu a částic. Tyto částice by mohly ucpat a zanést chladící žebra a cesty a hrozilo by nevratné poškození. Již při výrobě je implementována ochrana proti vlhkosti nebo chemikáliím. U osobního PC taková ochrana neexistuje. Ochrana úložného zařízení spočívá ve využití disku bez pohyblivých částí, SSD - solidstate drive nebo paměťových karet. V případě potřeby větší kapacity připadá v úvahu klasický harddisk, ale uložený např. v tlumícím boxu. Ten pak izoluje harddisk od mechanických vlivů a vibrací. Samozřejmě disk samotný má integrovanou svou vlastní ochranu, např. odpojení při detekci nárazu. Další způsob je připojení úložného zařízení na datovou sběrnici, takže samotný IPC a úložiště dat nejsou v přímém fyzickém kontaktu. Napájení IPC je zajištěno proti přepětí, podpětí, přechodovým šumům v napájecím napětí. Neustálý chod je často pojištěn zařazením záložního napájecího zdroje v případě výpadku primárního. Napájecí obvody IPC téměř vždy obsahují odolné DC měniče a stabilizátory napětí. Osobní PC je proti zmiňovaným vlivům standardně nechráněno, tudíž je nevhodné do provozu, kde je vyžadována spolehlivost na určité úrovni. [14] IPC také dle potřeby splňuje normu IEC 60529, která udává stupeň krytí elektrického zařízení proti doteku či vstupu kapalných látek. Stupeň krytí IP, ingress protection, je udán dvěma čísly IPXY. [13]
16
Obrázek 3.6 Příklad provedení IPC. [5]
IPC z pohledu hardwaru musí být navržen s ohledem na robustnost tak, aby obstál v prostředí průmyslu. Dle potřeby musí být odolný vůči otřesům, chemikáliím, vlhkosti a také musí splňovat požadovaný stupeň krytí IP definovaný mezinárodním standardem IEC 60529. Nezapomeňme na speciálně uzpůsobené konektory na větší namáhání nebo způsob napájení. Jak bylo zmíněno, IPC je ve své podstatě klasický stolní počítač. Na jeho hardwaru běží převážně operační systém na Microsoft nebo Linux / Unix platformě. V takovém operačním systému je integrováno tzv. real-time či RT jádro neboli jádro reálného času. Samozřejmě jde jen o pojem, protože ke zpoždění dochází vždy. Na rozdíl od klasického systému, kdy se řadí procesy ke zpracování do fronty a procesor je zpracuje ve chvíli, kdy má dostatek prostředků. Zde u systému s real-time jádrem dochází k upřednostnění procesů souvisejících s během dané řídící aplikace (např. programu, který řídí termoregulaci budovy). Průmyslový počítač lze programovat dle normy IEC 61131-3, také lze využít vyšší programovací jazyk jako například C nebo C++.
3.3.2 Beckhoff C6915 Průmyslový počítač Beckhoff C6915 je konstruovaný pro montáž do rozvaděčů a slouží k řízení strojů a zařízení. Počítač je vybaven 3,5 palcovou základní deskou osazenou procesorem Intel Atom. Konektory jsou prakticky umístěny na předním panelu. Dobré chlazení zajišťuje hliníkový kryt, který umožňuje provoz až do vysokých teplot. 17
Na předním panelu je počítač vybaven také indikačními LED, které zobrazují aktuální stav počítače, jeho komunikace po sběrnici Fieldbus a stav pevného disku, či jiného paměťového zařízení. Přední panel obsahuje napájecí konektor X101 pro připojení napájecího napětí +24VDC a uzemnění. Dále konektory X102 a X103 typu RJ-45 pro připojení IPC do sítě LAN. Tyto konektory respektive síťové karty umožňují provoz rychlostí až 1Gbit za sekundu. Na panelu se nachází také čtyři USB a to X104 - X107 podporující standard USB2.0 a výstup X108 DVI digitální vizuální rozhraní.
Obrázek 3.7 IPC Beckhoff c6915. [6]
Provedení IPC v případě zapisovače obsahuje procesor Intel Atom taktovaný na 1,1GHz, 1024MB operační paměti typu DDR2 na 667MHz a úložné zařízení, které je reprezentováno paměťovou kartou typu Compact Flash s kapacitou 2GB. V IPC je předinstalovaný operační systém Windows Embedded CE, který se využívá pro řídící, komunikační, zábavní či přenosné zařízení. Obsahuje integrované real-time jádro (jádro reálného času). V tomto systému je nainstalovaná verze TwinCAT software. [4]
18
Počítač má rozměr 47 x 157 x 116 mm a váží 1,25 kilogramu. Umožňuje stabilní provoz v 95% vzdušné vlhkosti a při teplotě dosahujících 55°C. IPC odolá také poměrně silným vibracím a přetížení až 5G. Splňuje krytí IP20. Napájecí napětí se může pohybovat mezi 22 až 30 volty stejnosměrného napětí. Spotřeba základní verze je 32 wattů. [5]
3.3.3 Windows Embedded CE 6.0 Je operační systém společnosti Microsoft pro počítače s omezenými hardwarovými možnostmi. Nejčastěji jde o omezenou velikost paměti. Tento operační systém je systém s jádrem reálného času. Jde tedy o odlišný druh systému, než který se používá na běžných počítačích. Z tohoto operačního systému vychází řada operačních systémů pro mobilní
zařízení.
Dnes
se
tento
operační
systém
využívá
často
k řízení
automatizovaných procesů. [15]
3.4 Coupler EK1100 a terminály Coupler EK1100 propojuje tzv. terminály se sběrnicí EtherCAT. Jedno zařízení se skládá z jednoho coupleru, libovolného počtu terminálů a koncového modulu, který uzavírá sběrnici. Toho rozhraní převádí datagramy ze sítě 100BASE-TX na signál, který může zpracovat zařízení respektive terminál na EtherCATové sběrnici. [5]
Obrázek 3.8 Coupler EK1100. [5]
Pravý port RJ45 na obrázku 3.8 propojuje EK1100 se sítí Ethernet. Levý port umožňuje připojit další zařízení s podporou EtherCAT. [5]
19
Coupler je napájený 24 volty stejnosměrného napětí. Má krytí IP20/x, z toho x je volitelné dle použití. Coupler odebírá maximálně 70mA. Přes jeho napájecí svorky lze vést proud až do 2000mA. Jako komunikační medium lze použít kabel STP minimálně však kategorie 5. Maximální délka takového přenosového media je 100 metrů. Do coupleru EK1100 lze připojit libovolný terminál, jehož označení začíná na písmena EL. [5]
Obrázek 3.9 Příklad DI karty, 8 krát digitální vstup. [5]
Terminál je modulové zařízení popř. karta, která se vkládá za coupler. Coupler s ním pak komunikuje po sběrnici EtherCAT. Tyto karty existují v nejrůznějších provedeních. V praxi se nejčastěji používají karty typu DI – digitální výstup, DO – digitální vstup, AI – analogový vstup, AO – analogový výstup, dále pak například karty pro ovládání krokových motorů, či karty pro komunikaci s nejrůznějšími sběrnicemi.
20
3.5 Lineární osa s ozubeným řemenem Pro pohyb zapisovače v jednotlivých směrech se využívá tzv. lineárních os s ozubeným řemenem. Tyto osy mají relativně dobrou přesnost +/- 0,05 milimetru. Tato přesnost by v praxi postačila např. pro výrobu vypalováním plasmou. Další důležitá vlastnost je tzv. zdvih, který činí přesně 84 milimetrů na jednu otáčku hřídele. Maximální přípustná rychlost pojezdu je 8 metrů za sekundu. Maximální zatížení je potom 300-450 Newtonů. [7]
Obrázek 3.10 Dvě osy na jedné hřídeli. [7]
3.6 Zapisovací mechanismus Původní návrh zapisovacího mechanismu obsahoval modelářský servomotor řízený pomocí pulzně šířkové modulace nebo krokový motor řízený pomocí terminálu Beckhoff. Tyto návrhy byly složité na realizaci. Protože je v plánu model vylepšit např. na 3D tiskárnu, bylo by zbytečné investovat nemalý obnos do zařízení, které by se v blízkém časovém horizontu měnilo za jiné. Poté se naskytla možnost demontovat elektromagnetický mechanismus z nefunkčního přístroje Grafická jednotka XY4140. Po demontáži byla vyzkoušena funkčnost na zdroji s proudovým omezením. Elektromagnetický mechanismus se správně spínal při 24 voltů stejnosměrného napětí.
21
Obrázek 3.11 Zapisovací mechanismus.
Proudový odběr je maximálně 80mA. Elektromagnet je spínaný z terminálu EL2008. To je terminál digitálního výstupu. Přesto, že terminál vydrží dle manuálu jmenovitý proud 500mA, bylo mezi elektromagnet a terminál vřazeno relé. Toto relé spíná napětí přímo ze zdroje, tudíž při poruše elektromagnetického mechanismu nedojde ke zničení terminálu. Při přiložení napětí na svorky elektromagnetu je do cívky vtáhnuto jádro. Jádro je připevněno k páce, na které je současně připevněno pero. V důsledku pohybu páky dolů je pero přitlačeno k desce. Při odpojení napětí dochází vlivem direkční síly vyvinuté pružinou k vytáhnutí mechanismu do výchozí polohy. Dále se objevil problém se spínáním indukční zátěže. Při vypnutí elektromagnetického mechanismu došlo k indukci špičkového záporného napětí na cívce. Toto napětí zapříčinilo výpadek komunikace na sběrnici EtherCAT. Problém byl vyřešen paralelním vřazením usměrňovací diody 1N4007 v závěrném směru k cívce elektromagnetu.
22
3.7 Napájecí a komunikační vodiče Pro napájecí část a část 24 voltové logiky byl využit měděný slaněný vodič typu H05VK s PVC izolací o průřezu 0,5 milimetru. Pro část komunikační, která vychází z klasického Ethernetu byl využit kabel STP kategorie 5e. Kabel obsahuje čtyři kroucené páry vodičů v PE izolaci. Vše je dále stíněno vodivým opletením.
3.8 TwinCAT TwinCAT - The Windows Control and Automation Technology. “TwinCAT je základní softwarový prvek integrující celý řídicí systém Beckhoff. Jde o vývojový software pro programovatelné automaty (PLC) i číslicové řízení (NC, CNC) výrobních strojů a linek. Pro programování všech řad řídicích systémů Beckhoff je tak k dispozici jednotné vývojové prostředí. Lze tedy říci, že až po napsání aplikace si podle náročnosti úlohy uživatel zvolí příslušný hardware“ [9] S pomocí vývojového prostředí TwinCAT lze tedy jednoduše zajistit řízení či sběr dat daného systému v reálném čase. TwinCAT je v podstatě závislý na hostitelském počítači, na jeho výkonu a na jeho hardwarovém vybavení. Je schopen komunikovat přes široký výběr sběrnic. Výsledné nastavení a projekty jsou snadno přenositelné na jiné počítače. TwinCAT verze 2 se skládá ze dvou částí a to System Manageru a PLC Control.
3.8.1 System Manager System Manager je část TwinCAT software. System Manager je konfigurační centrum celého systému. Systém definuje vztahy mezi připojenými PLC (programovatelný průmyslový automat), IPC a mezi programy. Dále definuje řízené osy u různých typů motorů a to např. u krokových motorů nebo servo motorů. Systém také definuje vstupně-výstupní kanály. [5]
23
Obrázek 3.12 System manager.
Systém Manager propojuje úlohy (programy) se vstupně-výstupními zařízeními. V podstatě propojuje proměnné z programu s fyzickými vstupy či výstupy. Systém manager podporuje synchronní či asynchronní vztahy (mezi dvěma motory apod.). Systém Manager umožňuje bitově založenou komunikaci mezi serverovými procesy a vstupy/výstupy, dále umožňuje softwarovou komunikaci mezi dvěma a více úlohami. System manager je online systém, kde přímo v jeho okně můžeme sledovat stavy vstupů a výstupů v čase a také můžeme měnit jejich hodnoty. [5] Systém Manager podporuje většinu současných sběrnic, jako jsou: EtherCAT, Beckhoff Lightbus, PROFIBUS DP (master and slave), PROFIBUS MC (motion control), ProfiNET, Interbus, CANopen, SERCOS interface, DeviceNet, Ethernet I/P, Ethernet, PC printer port (8 vstupů a 8 výstupů na TTL bázi), USB, Serial bus coupler BK8100 na COM portech, Memory interface (DP RAM) pro PC karty a SMB (System Management Bus). [5]
24
3.8.2 PLC Control Další součást softwarového balíčků je TwinCAT PLC Control, který je vývojovým prostředím programů pro PLC popř. IPC. Prostředí dává jednoduchý přístup k výkonným programovacím jazykům, které jsou definovány v normě IEC. Editory a debugger jsou zde založeny na zkušenostech a poznatcích z programovacího prostředí pokročilých programovacích jazyků.
Obrázek 3.13 PLC Control.
Velkou výhodou je možná konverze jazyků mezi sebou. Při odlaďování programů je možné využít simulace. V simulaci lze programovým proměnným přiřazovat hodnoty a tím získat vizuální informace o funkčnosti programu. Také je možno nastavit určitým proměnným tzv. zarážky nebo také body přerušení zvané breakpointy, které program zastaví při náhodném překročení dané zarážky. Potom může programátor sledovat krok po kroku chod programu a zjistit čím je daná chyba zapříčiněná. V případě potřeby lze programy (projekty) exportovat do textového souboru. [5]
25
3.9 Norma IEC 61131, část 3 Standard IEC 61131-3 je třetí část mezinárodní normy IËC 61131. Tato část jasně definuje programovací jazyky pro průmyslovou automatizaci. Výrobci a společnosti, pohybující se v oblasti automatizace, tento standard ve velké míře přijali. Standard je rozdělen na dvě části a to na definici společných elementů a na část definující jednotlivé programovací jazyky. [8] [9]
3.9.1 Společné elementy Programovací jazyky mají určité společné elementy. První společný element je definice datových typů proměnných. Datové typy jsou přesně dány a to jejich rozsah, velikost, délka. Mezi standardní datové typy se řadí INTEGER, BOOLEAN, REAL, BYTE a WORD. Dále také např. STRING, DATE, TIME_OF_DAY. Na základě těchto datových typů může programátor vytvářet další své datové typy dle potřeby. [9] Druhý důležitý element je deklarace proměnných. Ta má jasnou syntaxi. Jako u jiných programovacích jazyků můžeme využívat lokální, ale i globální deklarace proměnných (VAR_GLOBAL). Nesmíme zapomínat na inicializaci proměnných na určitou počáteční hodnotu. To se využije hlavně při pádu systému. [9] Třetí definovaná část je tzv. Program Organization Units zkráceně POUs. Každý program má alespoň jeden Program Organization Unit. Ten se většinou nazývá MAIN, neboli hlavní program. POU může být program, funkce nebo funkční blok. Funkce jsou přesně definovány. Mezi ně patří např. funkce ADD, ABS, SQRT, SIN a COS. Funkční bloky, FB – function blocs, jsou části kódů, které mají své vstupní proměnné a své výstupní proměnné. S hodnotami proměnných pak FB nezávisle pracují. V programu se pak takový funkční blok chová jako část, do které nevidíme, ale s určitostí víme co bude následovat na výstupu po nastavení hodnot na vstupu.
26
3.9.2 Průmyslové programovací jazyky Tabulka 3.1 Jazyky definované standardem IEC 61131-3. [8]
Kodifikované označení v angličtině zkratka LD
název
Označení obvyklé v němčině zkratka
název
Vhodný název v češtině
KOP
Kontaktplan
reléové schéma
FBD
Ladder Diagram Function Block Diagram
FUP
Funktionplan
jazyk funkčních bloků
IL
Instruction List
AWL
jazyk mnemokódů
ST
Structured Text Sequential Function Chart
ST
Anweisungsliste Strukturierter Text
AS
Ablaufsprache
SFC
strukturovaný text jazyk sekvenčního programování
V rámci standardu IEC 61131-3 je definováno pět jazyků. Tyto jazyky jsou jednoznačně dány, takže nemůže dojít k jejich změnám či úpravám. Jednotlivé jazyky mají mezi sebou souvislost, dá se říct, že jsou částečně záměnné. Mezi grafické jazyky patří LD Ladder Diagram, FBD – Function Block Diagram, SFC – Sequential Function Chart a dále mezi textové ST – Structured Text a poslední IL – Instruction List. Ladder Diagram je jazyk s kořeny v USA. Je založen na grafickém základu Relay Ladder Logic. Jeho evropský protějšek se jmenuje Instruction List. Ten je podobný svou syntaxí assembleru. Function Block Diagram je grafické ztvárnění funkcí nebo funkčních bloků. Je to podobné jako v elektronice, kdy se nahrazuje podrobné schéma jednoduchým blokovým schématem. Bloky jsou potom dle potřeby provázány a je utvořen program. Sequential Function Chart popisuje graficky sekvenční chování programu krok za krokem. Structured Text je z jazyků nejvýkonnější. Jeho základ je převzat z jazyků jako Ada, Pascal nebo také C. Obsahuje všechny prvky moderního programování, jako jsou podmínky či cykly. V náročných aplikacích se využívá výhradně právě strukturovaný text pro jeho jednoduchý zápis a přehlednost. V ST jsou z velké části psány také funkční bloky, které se následně mohou použít zpětně ve FBD. [8] [9]
27
Obrázek 3.14 Ukázka syntaxe čtveřice jazyků. [9]
3.10 EtherCAT EtherCAT – Ethernet for Control Automation Technology EtherCAT byl vyvinut v roce 2003 skupinou EtherCAT Technology Group (ETG). EtherCAT je výkonný flexibilní ethernetový síťový protokol navržený pro průmysl. Díky jeho podobnosti s klasickým ethernetem je možné použít stejná komunikační media, kabeláž, konektory a síťové prvky jako síťové karty, přepínače či směrovače. Z toho vyplývá maximální komunikační rychlost 100Mbit za sekundu. Pro komunikaci EtherCAT využívá schéma Master – Slave neboli nadřízený (pán) – podřízený (sluha). Rámce vysílá pouze nadřízené zařízení. Tyto rámce putují po sběrnici ke všem podřízeným zařízením, které je zpracovávají za běhu. To je tzv. režim „On the fly“.
Obrázek 3.15 Komunikace v sítí EtherCAT, topologie: logický kruh, fyzický strom.
28
Díky tomu je dosaženo času jednoho cyklu (rámec projde každým zařízením) u systému s 1000 vstupně/výstupními zařízeními v řádech desítek mikrosekund. V případě řízení 100 os (akční členy, motory) je čas přibližně 100 mikrosekund. V systému může být připojeno až 65535 zařízení. Nakonec poslední podřízené zařízení odesílá rámce zpět k zařízení nadřazenému. To znamená, že se vždy jedná o topologii logický kruh. U fyzické topologie je na výběr ze sběrnicové, stromové, hvězdicové a dokonce i kruhové topologie. Kruhová topologie je v podstatě jen záloha v případě jedné poruchy na přenosovém mediu. Taková porucha pak nemá vliv na funkci systému.
Obrázek 3.16 Cesta rámce přes podřízené zařízení. [10]
Zařízení, které podporuje EtherCAT obsahuje vždy protokol pro komunikaci CANopen (CoE) a dále dle potřeby TCP/IP (EoE) pro komunikaci v Ethernetu (zařízení se chová jako prvek sítě ethernet), Servodrive (SoE)pro komunikaci s motory a File Access (FoE) pro komunikaci se souborovými systémy. [10] [11]
29
4 Praktická část V této kapitole je popsán postup praktické části bakalářské práce. Je zde popsán postup připojení motorů, snímačů a zapisovacího mechanismu. Dále zprovoznění motorů, chod v ručním ovládání, následně ovládání pomocí funkcí a ovládání pomocí knihoven Beckhoff.
4.1 Připojení motorů Krokové motory ILS2E mají ve svém šasi ukrytou základní desku s šesticí konektorů. Pro potřebu modelu jsou využity tři. Konektor pro napájení, konektor pro komunikaci a konektor konfigurovatelných vstupně-výstupních portů. Konektor napájení na plošném spoji motoru je označen CN1. Jeho protikus respektive zástrčka je typu Tyco Electronics Positive Lock 1-926 522-1. Konektor se osazuje lisovacími piny 160773-6 341001-6. Pro napájení je použit měděný vodič s průřezem 0,5 milimetru, jehož dovolený jmenovitý proud kryje maximální požadavky motoru. Vodiče jsou připojeny na zdroj stejnosměrného napětí a jsou barevně odlišeny. Kladná polarita nebo také +24V je značena rudým vodičem a záporná polarita GND je značena modrým vodičem. Konektor pro komunikaci v motoru má název CN2. Je to dvanácti pinový konektor typu Molex Micro-Fit 3.0 43025-1200 a osazuje se piny 43030-0007. Komunikace motorů se propojuje do fyzické topologie sběrnice. Konektor má tedy vstupní a výstupní piny. Tabulka 4.1 Zapojení komunikace. [3]
30
Jako medium pro přenos signálu byl zvolen kabel STP s čtyřmi kroucenými páry vodičů. Z kabelu jsou pracovně využity jen dva páry. Kabel je na straně coupleru připojen do portu konektorem RJ45, dále jde vodič do prvního motoru do vstupní části konektoru CN2. Z prvního motoru z výstupní části pokračuje kabel do druhého motoru do vstupní části. Druhý motor má na konektoru CN2 výstupní piny nezapojené, protože sběrnice nevyžaduje speciální ukončení. Konfigurovatelné vstupně-výstupní porty, které jsou přítomny na konektoru CN4 jsou nastaveny tak, aby přijímali hlášení od indukčních koncových snímačů polohy pojezdu. Konektor CN4 je typu Molex Micro-Fit 3.0 43025-0600, vyžívá lisovací piny 430300007 a obsahuje čtveřici portů. Z toho jsou využity pouze dva.
4.2 Instalace indukčních referenčních snímačů Indukční referenční snímače jsou umístěny po jednom kusu na příčném a podélném pojezdu. Pomocí těchto snímačů se určuje výchozí bod souřadnicového systému. Snímače jsou nastaveny přibližně 5 centimetrů před koncovými spínači, protože při zastavení osy musí dojít k postupnému zpomalení a tím pádem překročení polohy referenčního snímače. Jako referenční snímače jsou využity indukční snímače polohy v provedení NO v závitovém pouzdru M8 s tří vodičovým připojením. Pracovní napětí je mezi 10 až 30 volty a maximální proud je 150mA. Snímač má barevně odlišené vodiče. Modrý vodič je připojen do GND svorkovnice zdroje, hnědý vodič je připojen do +24V svorkovnice zdroje a černý signálový vodič je připojen do terminálu EL1008 digitální vstup. Sepnutý snímač značí v terminálu logickou hodnotu pravda, naopak nesepnutý snímač značí logickou nulu.
4.3 Instalace zapisovacího mechanismu Zapisovací mechanismus byl vymontován z přístroje Grafická jednotka XY4140. K elektromagnetu s držákem pera byl vyroben držák s proměnným nastavením výšky. Elektromagnet je připojen párem vodičů. K cívce elektromagnetu je připojena usměrňovací dioda v závěrném směru jako ochrana před naindukovaným napětím. Dále je jeden vodič připojen přímo ke svorkovnici GND napájecího zdroje. Druhý vodič je připojen přes kontakt přídavného relé ke svorkovnici +24V. Relé je dále spínáno 31
z terminálu EL2008 - digitální výstup. Relé je použito za účelem ochrany terminálu. V případě poruchy cívky elektromagnetu nebude okruh uzavřen přes kontakt terminálu. Dále lze také jednoduše v případě potřeby záměny zapisovacího mechanismu za jiný mechanismus spínat pomocí relé jiná napětí.
Obrázek 4.1 Schéma zapojení zapisovacího mechanismu.
4.4 Spojení s IPC a motory S IPC a krokovými motory se lze spojit pomocí TwinCAT System Manageru. Nejdříve je, ale třeba nastavit síť a to tak, aby byla síťová karta počítače a síťový karta IPC v jedné síti. IP adresa počítače se nastaví například na 192.168.0.1 a IP adresa IPC se nastaví na 192.168.0.2. Před zahájením spojení s IPC je třeba ještě vypnout firewall systému či podobné aktivní síťové ochrany. System manager ve Windows otevřeme pomocí ikony na hlavním panelu. Na ikonu klikneme levým tlačítkem a z kontextové nabídky vybereme položku System Manager. Poté se spustí hlavní okno. V okně vlevo je vidět strom položek a vpravo obsah vybrané položky. V položce SYSTEM - Configuration klikneme na tlačítko Choose Target. Otevře se dialogové okno, ve kterém zvolíme Search (Ethernet). Poté se otevře další dialogové okno, zde zvolíme Broadcast Search. V tuto chvíli se prohledají okolní sítě a v případě nalezení IPC se v okně zobrazí nový řádek popsaný např. CP_0DE44C. Tento řádek označíme a klikneme na Add Route. System Manager se začne spojovat s IPC a budeme vyzváni k zadaní přístupových údajů. Přihlásíme se na účet „Administrator“ s heslem „1“.
32
Po dokončení spojení se objeví znak X ve sloupci Connected. Poté můžeme dialogy uzavřít a vrátit se do hlavního okna System Manageru. Dole ve stavovém řádku Systém manager indikuje stav připojení. Určuje zda je v online, offline či config režimu.
Obrázek 4.2 Náhled okna s hledáním IPC.
4.5 Konfigurace Systém Manageru Konfiguraci System Manageru je možné uložit a tudíž je přenosná. Konfigurace se ukládá ve formátu „.tsm“. Jako první krok je třeba stáhnout z webu výrobce motorů Schneider electric XML soubory, které popisují ILS2E motory tak, aby si s nimi TwinCAT poradil a nepovažoval je jako neznámá zařízení. Soubor „Schneider Electric ILS PLCopen V101.xml„ a „Schneider Electric ILS CiA402 V101.xml“ je třeba vložit do adresáře C:\TwinCAT\Io\EtherCAT. Pokud je TwinCAT nainstalovaný do jiného umístění je třeba se přizpůsobit. Na obrázku 4.4 jsou vyznačeny tlačítka. První z nich slouží k aktivaci nastavení. Toho se využívá v případě, že provedeme změny v nastavení Systém Manageru a potřebujeme je poslat do IPC. Druhé tlačítko označené jako „Set/Reset TwinCAT to Run mode“ slouží pro přepnutí IPC do online režimu. Třetí tlačítko „Set/Reset TwinCAT to Config mode“ slouží pro přepnutí IPC do konfiguračního režimu.
33
Obrázek 4.3 Tlačítko aktivovat configuraci, Run mode a Config mode.
Vyhledání nových zařízení na sběrnici probíhá tak, že je třeba kliknout pravým tlačítkem na položku I/O Devices a zvolit Scan Devices. Systém Manager musí být v config módu. V tuto chvíli se prohledá sběrnice a všechny dostupné terminály a motory se přidají do TwinCAT. Do položky I/O Devices se přidá sběrnice v tomto případě EtherCAT v ní jsou vidět všechna zařízení. V položce NC-Configuration a NC-Task je položka Axes. V Axes jsou potom viditelné dostupné osy respektive motory. Při kliknutí na osu se v pravě části okna objeví záložky. Zde se zvolí záložka Settings a z roletkového výběru Unit vybereme jednotky milimetry. Tím se nastaví milimetry, jako jednotky souřadnic. Teď je třeba nastavit každé ose takzvaný scaling factor. Scaling factor či česky faktor přiblížení je číslo, které udává vztah mezi otáčkou motoru a vzdáleností, jakou za ní posuv ujede. Motor má na jednu otáčku rozlišení 32768 kroků a za jednu otáčku motoru dojde k posunutí posuvu o 84 milimetrů. Toto nastavení je důležité provést u obou os zvlášť. Výpočet scaling factoru: scaling factor = 1/(position scaling in the product / mechanical system) position scaling = 32768 kroků na otáčku mechanical systém = 84 milimetrů na otáčku scaling factor = 1/(32768/84) scaling faktor = 0,0025634765625
34
Obrázek 4.4 Scaling factor.
Vypočtenou hodnotu vyplníme do pole Scaling Factor. To se nachází v NC – Configuration, NC – Task, Axes a dále vybereme u každé osy Enc. Po rozkliknutí Enc se v pravě části okna objeví několik záložek. V záložce Parametr a oddílu Encoder Evaluation se konečně nachází zmíněné pole Scaling Factor.
4.6
Testování pohybu motorů
Motory lze ovládat z prostředí Systém Manageru za účelem otestování funkčnosti nebo testování chování modelu. Po kliknutí na příslušnou osu se v pravé části obrazovky objeví několik záložek.
4.6.1 Online ovládání Záložka Online obsahuje rozhraní pro ruční ovládání motorů. System Manager musí být samozřejmě v online režimu respektive run módu. Nejprve je třeba povolit motory. To se provádí tak, že klikneme na tlačítko Set v části pojmenované Enabling. Otevře se dialogové okno a zde je třeba zaškrtnout Controller, Feed Fw, Feed Bw a vyplnit hodnotu Override. Override je procento z celkové rychlosti. To znamená, že pokud má osa rychlost 2200 mm.s2, tak při override 50% se osa bude pohybovat maximálně polovinou dovolené rychlosti. Pokud je poté pole Error prázdné a zaškrtnuté pole Ready je osa připravena k pohybu. Poté se může pomocí tlačítek „--, -, + a ++“ povolená osa pohybovat. Tlačítka „+ a -“ slouží k pomalému pohybu a tlačítka „++ a --“ slouží k rychlému pohybu. Pokud dojde k chybě, její kód se objeví v poli Error. Chybu je pak možno odstranit pomocí restartu osy. Na restart osy složí tlačítko „R“. 35
Obrázek 4.5 Rozhraní ručního ovládání.
4.6.2 Testovací funkce V záložce Functions je možný výběr z několika testovacích funkcí. Je třeba mít System Manager v Run módu a povolené motory v záložce Online. Z funkcí je na výběr například pohyb na absolutní souřadnice, pohyb o relativní vzdálenost a oscilace. U většiny funkcí lze zvolit akcelerace, zpomalení a rychlost.
4.6.3 Coupling V záložce Coupling se nachází rozhraní pro spárování os. Je třeba nastavit osu master, ta potom udává údaje pro pohyb. Dále se nastaví osa slave, ta využívá údaje o pohybu osy master a kopíruje je. Mezi osou master a slave lze nastavit mód. Tento mód potom určuje závislost mezi pohybem osy master a pohybem osy slave. Na výběr je například lineární závislost nebo poměr mezi master a slave osou.
4.7 Projekt v PLC Control PLC Control se spustí kliknutím pravým tlačítkem na ikonu TwinCAT a výběrem volby PLC Control z kontextové nabídky. Poté je třeba vytvořit nový projekt. Po kliknutí na New se PLC Control zeptá, pro jakou architekturu bude projekt vytvořen. Protože program poběží na hardwaru s Intel Atom procesorem, zvolí se z nabídky PC or CX (x86). Dále se průvodce ptá na název hlavního POU. Poté na typ POU a v jakém jazyce bude POU programovaný. 36
V záložce Resource a položce Library Manager přidáme do projektu knihovnu TcMC2.lib, TcNcCfg.lib a TcNci.lib. To je základní knihovna definující pohyby os. Přidaní se provádí pomocí kliknutí pravým tlačítkem do pole s výpisem knihoven. Z kontextové nabídky, která se následně objeví, vybereme „Additional Library …“. Dále je třeba do sekce pro definování globálních proměnných nadefinovat osy. Osy jsou datového typu Axis_ref. Poté se nadefinují boolovské proměnné pro ovládání zapisovacího mechanismu a dvojice referenčních snímačů. Poté se zapíše dle potřeby zdrojový kód, přidají se funkce nebo funkční bloky a následně je třeba program uložit a zkompilovat. Zkompilování se provede pomocí nabídky Project a položky Build či Rebuild All. Po zkompilování se musí program přidat do System Manageru. Přidání se provede pomocí kliknutí pravým tlačítkem na PLC – Configuration. Z nabídky se pak vybere „Append PLC Project“. Pak se vybere cesta k uloženému projektu a potvrdí se. V tuto chvíli je třeba takzvaně prolinkovat nebo také propojit fyzické vstupy a výstupy s proměnnými z PLC Control projektu. V nabídce PLC – Configuration je nyní přidaný projekt. V tomto projektu jsou vstupní a výstupní proměnné. Po kliknutí pravým tlačítkem na proměnnou se objeví kontextová nabídka, tam se vybere položka „Change Link…“. Poté se objeví nabídka s volnými vstupy či výstupy. V nabídce se vybere dle potřeby vstup či výstup a potvrdí se. Tento postup se opakuje, dokud nejsou všechny proměnné z PLC projektu propojené.
Obrázek 4.6 Linkování proměnných.
37
Do IPC se program nahrává pomocí PLC Control. V PLC Control se vybere z hlavní nabídky položka Online a zde se klikne na Login. V případě, že v IPC už nějaký program je, PLC Control se zeptá, zda se může obsah přepsat. V nabídce Online může být pak program uveden do běhu pomocí položky Run. Pomocí Stop je program zastaven a pomocí Reset se resetují hodnoty proměnných.
Obrázek 4.7 Nabídka Online v PLC Control.
38
5 Popis základních funkčních bloku z knihovny TcMC2.lib Knihovna TcMC2.lib je druhou verzí knihovny obsahující funkční bloky pro ovládání pohyblivých os. TcMC2.lib vychází z PLCopen specifikace pro funkční bloky řídící pohyb. Knihovna obsahuje funkční bloky například pro pohyb v absolutních nebo relativních souřadnicích, blok pro povolení os nebo blok pro resetování os. [16]
5.1 MC_Power Funkční blok MC_Power slouží k povolení osy respektive motoru. Povolit lze jednotlivě pohyb v záporném i kladném směru. Blok také indikuje aktuální stav os. Indikuje, zda je osa připravená, zaneprázdněná nebo nastala určitá chyba. Vlastnost Override je hodnota, která procentuálně udává, jakou maximální rychlostí se může osa pohybovat. Dále vlastnost BufferMode udává jak se má blok chovat, pokud je osa používána jiným blokem a chceme osu deaktivovat. Do vlastnosti Axis se přiřazuje osa. Příznak Status určuje, zda je osa připravená k používání. [16]
Obrázek 5.1 Blok MC_Power. [16]
5.2 MC_MoveAbsolute Funkční blok MC_MoveAbsolute slouží k pohybu osy v absolutních souřadnicích. Funkční blok se spouští hodnotou TRUE přivedenou na vstup Execute. Do vstupu Position se zadává požadovaná pozice, na kterou má osa najet. Dále je možné nastavit rychlost a zrychlení a zpomalení pomocí vstupů Velocity, Acceleration a Deceleration. U těchto vstupů musí být zadáno celé číslo a to v rozsahu, který dovoluje motor, popřípadě osa. Důležité je nastavit BufferMode na hodnotu MC_Aborting nebo na hodnotu MC_Buffered. Při nastavení MC_Aborting dojde při spuštění funkčního bloku ke zrušení ostatních příkazů. Při MC_Buffered nejdříve osa dokončí pohyby spuštěné 39
dříve a až potom spustí tento funkční blok. Do proměnné Axis se přiřadí osa. Funkční blok také indikuje stavy. Výstup Done indikuje hodnotou TRUE, že funkční blok byl úspěšně vykonán. Hodnotou Busy indikuje zaneprázdnění osy, to je většinou při nekorektním ukončení či přerušení činnosti bloku. Dále výstupy Error a ErrorID oznamují chybu respektive kód chyby. [16]
Obrázek 5.2 Blok MC_MoveAbsolute. [16]
5.3 MC_MoveRelative Tento funkční blok je podobný funkčnímu bloku MC_MoveAbsolute. Liší se, ale tím, že pohyb osy probíhá v relativních souřadnicích. Funkční blok může být spouštěn opakovaně, protože se osa vždy posouvá o vzdálenost zadanou do vstupu Distance. Pokud bude osa na absolutní souřadnici rovnající se hodnotě 10 a blok MC_MoveRelative bude spuštěn dvakrát s hodnotou Distance 10. Dojde k posunu osy na souřadnici 30 respektive dojde k posunu o hodnotu 10 a následně o dalších 10. [16]
Obrázek 5.3 Blok MC_MoveRelative. [16]
40
5.4 MC_MoveVelocity Funkční blok MC_MoveVelocity se přímo nabízí k použití tam, kde není předem dána souřadnice, na kterou se má osa přesunout. Blok slouží k negativnímu nebo positivnímu pohybu osy. Blok se opět podobá MC_MoveAbsolute, ale neobsahuje žádný vstup, do kterého lze zapsat požadovaná pozice. Namísto toho obsahuje vstup Direction, do něhož jdou zapsat hodnoty MC_Positive_Direction a MC_Negative_Direction. Hodnota MC_Positive_Direction
umožňuje
ose
pohyb
do
positivního
směru
a
MC_Negative_Direction do záporného směru. MC_MoveVelocity se využívá v kombinaci například s blokem MC_Halt, který zastaví osu při najetí na koncový spínač. [16]
Obrázek 5.4 Blok MC_MoveVelocity. [16]
5.5 MC_Reset Blok MC_Reset slouží k resetování osy. Indikuje-li osa nějakou určitou chybu, je třeba ji následně resetovat. Blok se spouští pomocí vstupu Execute. Na výstupu blok indikuje úspěšné provedení pomocí Done, zaneprázdnění pomocí Busy a případné chyby, které v průběhu nastaly pomocí Error a ErrorID. [16]
Obrázek 5.5 Blok MC_Reset. [16]
41
5.6 MC_Stop/MC_Halt Funkční blok MC_Stop slouží k zastavení úkonů osy. Blok se spouští pomocí vstupu Execute. Důležitou vstupní proměnnou je zde Deceleration. Deceleration je hodnota zpomalení. Pokud nebude hodnota zpomalení zadána, funkční blok převezme přednastavené hodnoty ze System Manageru. Na výstupu blok opět indikuje stavy. [16]
Obrázek 5.6 Blok MC_Stop. [16]
5.7 MC_Home Tento funkční blok slouží pro kalibraci domovské referenční pozice. Blok se spouští pomocí vstupu Execute. Do vstupu Position se zapíše hodnota souřadnice, která bude nastavena jako domovská pozice. Většinou se používá výchozí souřadnice s hodnotou 0. Na výstupu jsou opět stavové proměnné. Proměnné indikují úspěšné provedení bloku, zaneprázdnění bloku a případné chyby. [16]
Obrázek 5.7 Blok MC_Home. [16]
42
6 Popis knihoven TcNcCfg.lib, TcNci.lib a G-kódu Knihovna TcNcCfg.lib poskytuje funkční bloky pro konfiguraci os a jejich skupin. Knihovna může být použita v souvislosti s interpolaci os. Knihovna obsahuje funkční bloky na vytvoření skupiny os, konfiguraci skupiny os, čtení stavu skupiny os a smazání skupiny os. [17] Knihovna TcNci.lib obsahuje funkční bloky a funkce pro použití G-kódu, M-funkcí a pro přístup k údajům skupiny os. Knihovna obsahuje funkční bloky jako jsou načtení programu s G-kódem a zapnutí programu s G-kódem. Dále obsahuje funkce, pro vyčtení probíhajících M-funkcí. [17]
6.1 CfgBuild3DGroup Pomocí tohoto funkčního bloku lze vytvořit interpolační skupina os. Pomocí hodnoty TRUE přivedené na vstup bExecute se skupina vytvoří. Do nGroup je třeba zadat identifikátor skupiny, ten lze zjistit pomocí funkce ItpGetGroupId a nebo lze jednoduše vyčíst v System Manageru. [17]
Obrázek 6.1 Blok CfgBuild3DGroup. [17]
43
6.2 CfgReconfigGroup Tento funkční blok vymaže vytvořenou interpolační skupinu dle zadaného identifikátoru. Blok se aktivuje po přivedení logické hodnoty TRUE na vstup bExecute. Do vstupu bGroup je třeba zapsat identifikátor interpolační skupiny. [17]
Obrázek 6.2 Blok CfgReconfigGroup. [17]
6.3 ItpSetOverridePercent Tato funkce nastavuje hodnotu Override interpolační skupiny. Hodnota se zapisuje v procentech. Tato hodnota pak určuje, jakým podílem z maximální rychlosti motorů se bude interpolační skupina pohybovat. [17]
Obrázek 6.3 Funkce ItpSetOverridePercent. [17]
44
6.4 ItpLoadProgEx Pomocí tohoto funkčního bloku se načte program napsaný v G-kódu. TwinCAT podporuje G-kód s normou Siemens. Soubor s G-kódem má formát „.nc“. Výchozí místo odkud PLC Control načítá nc soubory je „C:\\TwinCAT\CNC\..“. Do vstupu sPrg se zapisuje název nc souboru, například „program_v_gkodu.nc“. Do vstupu nLength je třeba zapsat délku nc souboru, k tomu lze využít funkci LEN. [17]
Obrázek 6.4 Blok ItpLoadProgEx. [17]
6.5 ItpStartStopEx Pomocí tohoto funkčního bloku lze zapnout nebo vypnout provádění programu v Gkódu načteného funkčním blokem ItpLoadProgEx. Hodnota TRUE přivedená na vstup bStart spouští program, současně však musí být vstup bStop v hodnotě FALSE a naopak. [17]
Obrázek 6.5 Blok ItpStartStopEx. [17]
6.6 G-kód Je jazyk používaný k číslicovému řízení obráběcích strojů. G-kód byl normalizován, ale výrobci CNC strojů si ho upravili. TwinCAT používá upravenou normu původně vyvinutou firmou Siemens.
45
G kód je instrukční jazyk. Existuje několik typů instrukcí, z nich jsou nejvíce využívané instrukce typu G a M. G-kód obsahuje také registry, do kterých lze zapisovat a to například registr X, který představuje absolutní souřadnici v ose x nebo registr Y, který představuje absolutní souřadnici v ose y. [18] Tabulka 6.1 Příklad základních instrukcí G-kódu. [18]
G00 G01 G02 G03
rychlé pozicování lineární interpolace kruhová interpolace ve směru hodinových ručiček kruhová interpolace proti směru hodinových ručiček
Tabulka 6.2 Výpis M-funkcí [18]
0..159 2 17 30
volné M-funkce (mimo 2, 17, 30) konec programu konec podprogramu konec programu se smazáním rychlých M-funkcí
Příklad programu v G-kódu. Program provede vypnutí nástroje M-funkcí, přesun os na souřadnice x 100 a y 100, zapnutí nástroje, přesun os na souřadnic x 200, y 100, vypnutí nástroje a následný přesun os na souřadnice x 0, y 0. Nakonec se program ukončí Mfunkcí. V případě zapisovače by program nakreslil 100 milimetrů dlouhou čáru, která je rovnoběžná s osou x. Tabulka 6.3 Okomentovaný příklad programu.
M3 G00 X100 Y100 M4 G01 X200 Y100 M3 G00 X0 Y0 M2
nástroj vypnout rychlý přesun na souřadnice 100,100 nástroj zapnout přesun na souřadnice 200,100 nástroj vypnout rychlý přesun na souřadnice 0,0 ukončit program
Pro potřeby Vysoké školy se může G-kód vytvářet ručně nebo pomocí editoru vektorové grafiky a CAM softwaru. V případě ručního vytváření musí tvůrce zapisovat jednotlivé souřadnice do textového souboru, který uloží ve formátu nc. Pokud se tvůrce rozhodne pro editor vektorové grafiky, je třeba grafiku nejprve převést na křivky. Poté se musí křivky exportovat do formátu plt, který je určený pro plottery. Tento formát 46
jako jediný zachová při exportování poměr 1:1, takže nedojde ke zmenšení či zvětšení grafiky. Následně je zapotřebí importovat plt soubor do CAM softwaru. V CAM softwaru si tvůrce G-kódu nastaví nástroj a vrstvy, které chce exportovat do G-kódu a spustí export do formátu nc.
6.7 M-funkce M-funkce jsou doprovodné funkce, které ovládají přídavná zařízení nebo speciální funkce programu. [18] [19] V TwinCATu se musí nejdříve M-funkce definovat a to v Systém Manageru. Definují se do tabulky v záložce M-function. Tam je třeba zapsat číslo M-funkce a zda se Mfunkce vykoná před pohybem BM a nebo po pohybu osy AM. Funkce může mít číslo od 1 do 159 mimo 2, 17 a 30. Konfiguraci je nutné zapsat do IPC pomocí tlačítka „Activate Configuration“, které je v horním panelu.
Obrázek 6.6 Tabulka pro definování M-funkcí v System Manageru.
Po nadefinování funkcí v System Manageru program v PLC Control musí za běhu programu s G-kódem vyčítat M-funkce. Když se při vykonávání programu narazí na řádek s M-funkcí, dojde k pozastavení G-kódu a podle čísla vyčtené M-funkce se provede naprogramovaný kód programu. Po provedení kódu se potvrdí IPC, že může pokračovat ve vykonávání G-kódu. V programu v PLC Control se toto děje pomocí funkcí.
47
6.7.1 ItpGetHskMFunc Tato funkce slouží k indikaci M-funkce, kterou vykonává IPC. Funkce vrací číslo prováděné M-funkce. V programu je díky tomu možno rozeznat, která M-funkce se vykonává, a která část kódu v PLC Control se má vykonat. Například, když se v IPC narazí na M-funkci M3, funkce ItpGetHskMFunc vrátí hodnotu 3.
Obrázek 6.7 Funkce ItpGetHskMFunc. [19]
6.7.2 ItpIsHskMFunc Tato funkce slouží k indikaci, zda je na řadě v IPC některá z M-funkcí. Pokud na řadě M-funkce je vrací logickou hodnotu TRUE, pokud na řadě není, vrací FALSE. Funkce se využívá k tomu, aby program věděl, kdy přišla M-funkce v G-kódu na řadu. Pokud by spouštěla M-funkce operaci, která by trvala například 10 sekund, program v PLC Control může pomocí časovače zmíněných 10 sekund čekat. Poté dá časovač impulz funkčnímu bloku, který řekne IPC, že má pokračovat dál v provádění G-kódu.
Obrázek 6.8 Funkce ItpIsHskMFunc. [19]
48
6.7.3 ItpConfirmHsk Funkční blok ItpConfirmHsk potvrzuje IPC, který dočasně čeká s prováděním G-kódu, že může pokračovat dál. Provádění G-kódu se v případě vyčtení M-funkce pozastaví, provede se kód v PLC Control a funkční blok ItpConfirmHsk nakonec potvrdí, že může IPC provádět další příkazy v G-kódu. Funkční blok se provede pokud na vstup bExecute byla přiřazena logická hodnota TRUE.
Obrázek 6.9 Blok ItpConfirmHsk. [19]
49
7 Závěr Cílem této bakalářské práce bylo zprovoznění modelu souřadnicového zapisovače vybaveného krokovými motory Schneider Electric z řady ILS2E, které jsou ovládány průmyslovým počítačem Beckhoff. Řízení motorů probíhalo přes průmyslový komunikační protokol EtherCAT. V bakalářské práci jsou teoreticky rozebrány použité technologie a software. Jsou zde obecně popsané krokové motory a přímo použitý typ ILS2E. Též je zde popsaný průmyslový počítač a užitý typ Beckhoff C6915. V práci je popsán software TwinCAT a práce s ním. Také je zde definován protokol EtherCAT a jeho vlastnosti. Po prostudování dostupných materiálů, byl model zapisovače úspěšně zapojen. Následně byla navázána komunikace přes průmyslovou sběrnici mezi IPC a krokovými motory modelu. Po úspěšném zvládnutí komunikace byla nastudována dokumentace k řídícím knihovnám Beckhoff. Pro budoucí studenty byla vytvořena řada vzorových programů a úloh. Okomentované programy a zadání úloh jsou uložené na přiloženém CD. Studenti se tedy pomocí programů a úloh setkají se současnou praxí v automatizaci. Model souřadnicového zapisovače by mohl být v budoucnu rozšířen o plnohodnotnou třetí osu Z. Jako akční zařízení by mohl být instalován injektor plastu. Celý model by potom tvořil 3D tiskárnu. Úspěšným zprovozněním celého modelu a vytvořením úloh a programů pro budoucí studenty byl splněn cíl bakalářské práce.
50
Seznam použité literatury [1]
Stepper Motor Basics. Solarbotics [online]. [cit. 2012-12-21]. Dostupné z:
http://www.solarbotics.net/library/pdflib/pdf/motorbas.pdf [2]
Krokový motor - Wikipedie. In: Wikipedia: the free encyclopedia [online]. San
Francisco (CA): Wikimedia Foundation, 2012 [cit. 2012-12-21]. Dostupné z: http://cs.wikipedia.org/wiki/Krokov%C3%BD_motor [3]
Schneider Electric Česká republika - Specialista v ovládání energie [online].
2012 [cit. 2013-01-10]. Dostupné z: http://www.schneiderelectric.com/site/home/index.cfm/cz/ [4]
Microsoft Česká republika | Zařízení a služby [online]. 2013 [cit. 2013-01-10].
Dostupné z: http://www.microsoft.com/cs-cz/default.aspx [5]
BECKHOFF New Automation Technology [online]. 2012 [cit. 2012-22-12].
Dostupné z: http://www.beckhoff.com/english.asp [6]
Atom Alliance. The Silica Alliance for Intel Atom based Systems [online]. 2013
[cit. 2013-01-10]. Dostupné z: http://dev.bgmhosting.de/atomalliance/solutions/details/?tx_bgmkbshopfrontend_pi1[uid]=4&cHash= 0dca0f84b7 [7]
Regulační pohony [online]. 2013 [cit. 2013-05-19]. Dostupné z:
http://www.regulacni-pohony.cz [8]
URBAN, Luboš. Programování PLC podle normy IEC EN 61131-3 – víc než
jednotné jazyky. Programování PLC podle normy IEC EN 61131-3 – víc než jednotné jazyky [online]. 2005, č. 2 [cit. 2012-12-21]. Dostupné z: http://www.odbornecasopisy.cz/index.php?id_document=30310 [9]
IEC 61131-3: a standard programming resource. Open Automation and Control
Group (OACG) [online]. [cit. 2012-22-12]. Dostupné z: http://www.oacg.co.uk/plcopen.pdf [10]
ZEZULKA, František a Ondřej HYNČICA. Průmyslový Ethernet IX:
EtherNet/IP, EtherCAT. [online]. 2008, roč. 2008, č. 10 [cit. 2012-12-23]. Dostupné z: http://www.odbornecasopisy.cz/index.php?id_document=37910 51
[11]
EtherCAT Industrial Ethernet Protocol. HMS Industrial Networks [online]. 2012
[cit. 2012-12-23]. Dostupné z: http://www.hms.se/technologies/ethercat.shtml [12]
Industrial PC - Wikipedia, the free encyclopedia. In: Wikipedia: the free
encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 2012 [cit. 2012-1221]. Dostupné z: http://en.wikipedia.org/wiki/Industrial_PC [13]
Stupně krytí. Trasfor [online]. [cit. 2012-12-21]. Dostupné z:
http://www.trasfor.cz/documents/Kryti.pdf [14]
Industrial Computer: Frequently Asked Questions. Http://www.marposs.com
[online]. [cit. 2012-12-21]. Dostupné z: http://www.marposs.com/ftp/files/faq_indpc_115_en.pdf [15]
Windows Embedded [online]. 2013 [cit. 2013-05-19]. Dostupné z:
http://www.microsoft.com/windowsembedded/en-us/windows-embedded.aspx [16]
TwinCAT PLC Library: MC Library 2. Beckhoff Information System [online].
2013 [cit. 2013-05-26]. Dostupné z: http://infosys.beckhoff.com/english.php?content=../content/1033/tcplclibmc2/html/bloc ks/tcplclibmc_power.htm&id= [17]
TwinCAT NCI. Beckhoff Information System [online]. 2013 [cit. 2013-05-26].
Dostupné z: http://infosys.beckhoff.com/english.php?content=../content/1033/tcnci/sysmgrinterfaceit p/html/tcncncippggroupitem.htm&id= [18]
MOZDŘEŇ, Karel. G-kód (G-code). Technická univerzita Ostrava [online].
2013 [cit. 2013-05-26]. Dostupné z: http://homel.vsb.cz/~moz017/G-code/ [19]
M-function. Beckhoff Information System English [online]. 2013 [cit. 2013-05-
26]. Dostupné z: http://infosys.beckhoff.com/english.php?content=../content/1033/tcnci/interpreter/html/t cncnciitpmfunctions.htm&id=
52
Seznam obrázků Obrázek 2.1 Pohled na zapisovač. ..................................................................................9 Obrázek 3.1 Obecný výkres krokového motoru. [1] ..................................................... 10 Obrázek 3.2 Typový klíč k motorům Schneider Electric. [3] ........................................ 12 Obrázek 3.3 Výkres s rozměry motoru ILS2E573PB1A0. [3] ...................................... 13 Obrázek 3.4 Pohled na pozice konektorů uvnitř motoru. [3] ........................................ 13 Obrázek 3.5 Sepnutý a rozepnutý indukční koncový spínač. ........................................ 14 Obrázek 3.6 Příklad provedení IPC. [5] ....................................................................... 17 Obrázek 3.7 IPC Beckhoff c6915. [6] .......................................................................... 18 Obrázek 3.8 Coupler EK1100. [5] ............................................................................... 19 Obrázek 3.9 Příklad DI karty, 8 krát digitální vstup. [5] ............................................... 20 Obrázek 3.10 Dvě osy na jedné hřídeli. [7] .................................................................. 21 Obrázek 3.11 Zapisovací mechanismus. ...................................................................... 22 Obrázek 3.12 System manager..................................................................................... 24 Obrázek 3.13 PLC Control. ......................................................................................... 25 Obrázek 3.14 Ukázka syntaxe čtveřice jazyků. [9] ....................................................... 28 Obrázek 3.15 Komunikace v sítí EtherCAT, topologie: logický kruh, fyzický strom. ... 28 Obrázek 3.16 Cesta rámce přes podřízené zařízení. [10] .............................................. 29 Obrázek 4.2 Schéma zapojení zapisovacího mechanismu. ........................................... 32 Obrázek 4.3 Náhled okna s hledáním IPC. ................................................................... 33 Obrázek 4.4 Tlačítko aktivovat configuraci, Run mode a Config mode. ....................... 34 Obrázek 4.5 Scaling factor........................................................................................... 35 Obrázek 4.6 Rozhraní ručního ovládání. ...................................................................... 36 Obrázek 4.7 Linkování proměnných. ........................................................................... 37 Obrázek 4.8 Nabídka Online v PLC Control. ............................................................... 38 Obrázek 5.1 Blok MC_Power. [16] ............................................................................. 39 Obrázek 5.2 Blok MC_MoveAbsolute. [16] ................................................................ 40 Obrázek 5.3 Blok MC_MoveRelative. [16] ................................................................. 40 Obrázek 5.4 Blok MC_MoveVelocity. [16] ................................................................. 41 Obrázek 5.5 Blok MC_Reset. [16] ............................................................................... 41 Obrázek 5.6 Blok MC_Stop. [16] ................................................................................ 42 Obrázek 5.7 Blok MC_Home. [16] .............................................................................. 42 Obrázek 6.1 Blok CfgBuild3DGroup. [17] .................................................................. 43 Obrázek 6.2 Blok CfgReconfigGroup. [17] ................................................................. 44 Obrázek 6.3 Funkce ItpSetOverridePercent. [17] ......................................................... 44 Obrázek 6.4 Blok ItpLoadProgEx. [17] ....................................................................... 45 Obrázek 6.5 Blok ItpStartStopEx. [17] ........................................................................ 45 Obrázek 6.6 Tabulka pro definování M-funkcí v System Manageru. ............................ 47 Obrázek 6.7 Funkce ItpGetHskMFunc. [19] ................................................................ 48 Obrázek 6.8 Funkce ItpIsHskMFunc. [19] ................................................................... 48 Obrázek 6.9 Blok ItpConfirmHsk. [19]........................................................................ 49
53
Seznam tabulek Tabulka 3.1 Jazyky definované standardem IEC 61131-3. [8]...................................... 27 Tabulka 4.1 Zapojení komunikace. [3]......................................................................... 30 Tabulka 6.1 Příklad základních instrukcí G-kódu. [18] ................................................ 46 Tabulka 6.2 Výpis M-funkcí [18] ................................................................................ 46 Tabulka 6.3 Okomentovaný příklad programu. ............................................................ 46
54
Seznam použitých zkratek AM – After move BM – Before move CAM - Computer Aided Manufacturing CoE – CANopen over EtherCAT EoE – Ethernet over EtherCAT FBD – Function Block Diagram FoE – File Access over EtherCAT IL – Instruction List IP – Ingress Protection IPC – Industrial personal computer LD – Ladder Diagram NC – Normaly Closed NO – Normaly Open POU – Program Organisation Unit RT – Real-time RTOS – Real-time operation system SFC – Sequential Function Chart SoE – Servo drive over EtherCAT ST – Structured Text
55