ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

Fakulta strojní


ÚSTAV PŘÍSTROJOVÉ A ŘÍDÍCÍ TECHNIKY


DIPLOMOVÁ PRÁCE





NELINEÁRNÍ ŘÍZENÍ MODELU KYVADLA











































1998 Vlastimil Mareš

Prohlášení



Prohlašuji, že jsem diplomovou práci na zadané téma zpracoval samostatně s použitím uvedené literatury. Souhlasím, že s výsledky mé diplomové práce může být naloženo dle uvážení vedoucího diplomové práce jako jejího spoluautora. V případě publikování výsledků mé diplomové nebo její významné části budu uveden jako její spoluautor.



V Praze dne 18. prosince 2000







Vlastimil Mareš

Obsah



1. Úvod 6

1.1. Historie kyvadla 6

2. Měření polohy a vzdálenosti 15

2.1. Analogové snímače polohy 15

2.1.1. Potenciometrické snímače 15

2.1.2. Selsyny 16

2.1.3. Polohový transformátor 17

2.2. Číslicové snímače polohy 18

2.2.1. Inkrementální snímače polohy 18

2.2.2. Absolutní snímače polohy 19

2.3. Fotodetektory 20

2.3.1. Vakuové fotonky 20

2.3.2. Fotonásobičové fotonky 20

2.3.3. Fotoodpory 21

2.3.4. Fotodiody 21

2.3.4.1 Lavinová fotodioda 22

2.3.4.2. Schottkyho fotodioda 22

2.3.5. Fototranzistor 22

2.3.6. Fototyristor 22

2.3.7. Obvody s fotonkami 23



3. Hardware programovatelných automatů 24

3.1. Provedení PLC - jednotlivé komponenty 24

3.1.1. Pouzdro, základní moduly, napájení 24

3.1.2. Centrální procesorová jednotka (CPU) 25

3.1.3. Paměťový prostor 25

3.1.4. Binární vstupní jednotky 25

3.1.5. Binární výstupní jednotky 26

3.1.6. Kombinované jednotky binárních vstupů a výstupů 26

3.1.7. Analogové vstupní jednotky 26

3.1.8. Analogové výstupní jednotky 26

3.1.9. Čítačové jednotky 26

3.1.10. Polohovací jednotky 27

3.1.11. Komunikační jednotky 27

3.1.12. Speciální jednotky 27

3.2. Programovatelné automaty firmy TECO 27

3.2.1. TECOMAT NS 946 27

3.2.2. TECOMAT TC500 28

3.2.3. TECOMAT TC600 28

3.2.4. NS 950 RAPID 29

3.2.5. NS 950 MINI 30

3.2.6. NS -950 PRIMA 30



4. Software 32

4.1. Prostředí pro tvorbu uživatelských programů 32

4.2. Typy jazyků 32

4.3. Systémové programové vybavení PLC firmy TECO 33

4.3.1. Systémové služby 33

4.3.2. Program xPRO 34

5. Měření úlohy kyvadlo 35

5.1. Popis úlohy kyvadlo 35

5.2. Měření průběhu (t) kyvadla 37

5.3. Měření výchylky = f ( Timpulzu , počáteční ) kyvadla na akční zásah ve směru pohybu - rozkmit 38

5.4. Měření výchylky = f ( Timpulzu , počáteční ) kyvadla na akční zásah proti směru pohybu - útlum 38



6. Model úlohy kyvadlo 40

6.1. Matematický popis kyvadla 40

6.2. Model volného kyvadla 41

6.2.1 Model kyvadla = f(t) v úseku 25 , ) 42

6.2.2. Model kyvadla = f(t) v úseku 0 , 25) 50

6.3. Aproximace křivky pro = f() 52

6.3.1. Aproximace křivky pro = f() v intervalu 25 , ) 52

6.3.2. Aproximace křivky pro = f() v intervalu 0, 25 58

6.4. Závislost Timpulzu = f ( požadované , počáteční ) pro akční zásah ve směru pohybu - rozkmit 68

6.5. Závislost Timpulzu = f ( požadované , počáteční ) pro akční zásah proti směru pohybu - utlum 71

6.6. Model kyvadla s motorem 74

6.6.1. Výsledky simulace modelu kyvadla s motorem 80



7. Řízení pohybu kyvadla pomocí PLC TECOMAT 600 82

7.1. Elektrické zapojení úlohy kyvadlo 82

7.2. Program pro PLC TECOMAT pro rozkmitání a utlumení kyvadla 82

7.2.1 Projekt 82

7.2.2. Popis programu kyvadlo.600 82

7.2.3. Proměnné programu kyvadlo.600 87

7.2.4. Srovnání výsledků simulace a výsledků řízení kyvadla 88



8. Vizualizace 90

8.1. Účel vizualizace 90

8.2. Software Reliance 90

8.2.1. Základní funkce programu 90

8.2.2. Požadavky na HW a SW 90

8.3. Vytvoření projektu 91

8.4. Spojení PLC - Relianc 91

8.4.1. Vložení PLC a proměnných do projektu 91

8.4.2. Vložení proměnných do projektu 91

8.4.3. Vytvoření funkčního celku 91

8.4.4. Definice PC projektu a připojení PLC k PC 92

8.4.5. Vyčítané zóny 92

8.4.6. Proměnné 92

8.4.6.1. Označení proměnných 92

8.4.6.2. Parametry proměnných 93

8.4.7. Alarmy a meze 93

8.5. Vytvoření Vizualizace 93

8.5.1. Objekt inspektor 93

8.5.1.1 Vlastnosti 93

8.5.1.2. Události 94

8.5.2. Objekty 94

8.5.2.1. Displej 94

8.5.2.2. Tlačítko 94

8.5.2.3. Text 94

8.5.2.4. Bitmapa 94

8.5.2.5. Orámování 94

8.5.2.6. Aktivní text 94

8.5.2.7. Aktivní bitmapa 95

8.5.2.8. Animace 95

8.5.2.9. Multimediální přehrávač 95

8.5.2.10. Indikátor průběhu 95

8.5.2.11. Plovoucí graf 95

8.5.2.12. On-Line diagram 95

8.5.2.13. Potrubí 96

8.5.2.14. Rádiová tlačítka 96

8.6. Vizualizace kyvadla 96

8.6.1. Návrh vizualizace 97

8.6.2. Řízení kyvadla pomocí vizualizace 97



9. Závěr 100



10. Přílohy 101

10.1. Výsledky měření výchylky volného kyvadla v čase t 101

10.2. Výsledky měření výchylky kyvadla na akční zásah při počáteční = 0 108

10.3. Výsledky měření výchylky kyvadla na akční zásah ve směru pohybu - rozkmit při různých počáteční 111

10.4. Výsledky měření výchylky kyvadla na akční zásah proti pohybu - útlum při různých počáteční 118

10.5. Výpis programu pro PLC Tecomat - měření průběhu výchylky volného

kyvadla 122

10.6. Výpis programu pro PLC Tecomat naměření výchylky kyvadla při počáteční = 0 na akční zásah 124

10.7. Výpis programu pro PLC Tecomat naměření výchylky kyvadla při počáteční 0 na souhlasný akční zásah 125

10.8. Výpis programu pro PLC Tecomat řízení výchylky kyvadla pomocí

stejnosměrného 126

10.9. Instrukční soubor PLC TECOMAT 131

10.10. Výpis simulace kyvadla pro Matlab, včetně používaných vlastních funkcí. 137



11. Seznam literatury 141

1. Úvod

V diplomové práci se zabývám řízením kyvadla pomocí PLC. Diplomová práce vychází z bakalářské diplomové práce Petra Štrupla : „Model a řízení kyvadla".

V úvodní části se nachází historie kyvadla, jeho význam a použití v životě.

První části se zaměřuje na teorii. Jsou zde popsány možnosti odměřování polohy, zaměřené spíše na číslicové odměřování. Je zde popsáno vyhodnocování polohy snímače pomocí PLC. Dále funkce a princip PLC a jeho spojení s PC pomocí vizualizačního programu Reliance.

Druhá část se zabývá měřením. Měří se výchylka kyvadla v čase t, maximální výchylka kyvadla + v závislosti na počáteční výchylce počáteční a doby trvání impulzu motoru Timpulz ve směru kývání - rozkmit, maximální výchylka kyvadla + v závislosti na počáteční výchylce počáteční a doby trvání impulzu motoru Timpulz proti směru kývání - útlum.

Ve třetí části vyhodnocuji změřené závislosti a modeluji model fyzikálního kyvadla. Pro další použití spojuji model kyvadla a dobu trvání impulzu motoru Timpulz. Vše modeluji pomocí programu Matlab.

Ve čtvrté části je konečná realizace, což představuje řízení výchylky kyvadla pomocí PLC TECOMAT 600. Na konec je přistoupeno k vizualizaci celého projektu.



1.1. Historie kyvadla



Kyvadlo se nachází všude kolem nás, aniž si to uvědomujeme a vnímáme ho. Pomocí kyvadla se v technice a fyzice měří dvě velmi důležité veličiny čas a gravitační zrychlení. Snad nejdůležitější fyzikální veličinou, která existuje je čas.

Čas plyne od počátku dějin a k jeho měření se používalo vždy slunce. Sluneční hodiny jsou k vidění na mnoha domech, jejich velkou nevýhodou je, že pracují jen pokud svítí slunce. Sluneční hodiny byly značně nepřesné a záviselo na místě kde se hodiny nacházely. Kyvadlo se začalo používat v době Keplera, Galilea, Newtona, Huygense.

Huygense do vývoje kyvadlových hodin přispěl nejvíce. Huygens se narodil v roce 1629 v Haagu a zemřel v roce 1695 po dlouhé nemoci v Haagu. V letech 1645 ÷ 1647 studoval práva a matematiku na Leydonské univerzitě. Ve studiu pokračoval na kolegiu Arausiacum v Bredě do roku 1649. Do roku 1666 žil se svým otcem v Haagu a dopracoval se k několika objevům : teorii pravděpodobnosti, zákonu elastického otřesu, zákonu odstředivé síly, geometrické optiky kyvadlových hodin, Saturnových prstenců a satelitu Titan. V roce 1666 přijal Huygens pozvání města Paříže jako člena nově založené vědecké akademie. V roce 1673 zde publikoval své nejvýznamnější dílo „Horologium oscillatorium sive motu pendolorum ad horologia aptato", kde shrnul teoretické vlastnosti kyvadla a objev svých kyvadlových hodin. V roce 1681 se vrátil do Haagu, kde žil až do své smrti. Několikrát navštívil Londýn a při jeho poslední návštěvě roku 1689 se často potkával s Newtonem. Huygens své kyvadlové hodiny zkonstruoval bez znalosti Galileovy myšlenky o regulaci hodin pomocí kyvadla.

Fyzické kyvadlo, používané v kyvadlových hodinách, je sestrojeno ze závěsu, čočky, tyče.

Jako první se používal závěs pomocí vláknové smyčky, který vynalezl Huygens. U přesných kyvadel se používán konstrukce Galilea zavěšení na břitech, později se používá pérový závěs, který zkonstruoval Clement roku 1676.

Nejlepší a také na výrobu nejobtížnější je břitový závěs, kde je osa kyvadla naprosto pevně uložena a kyvadlo se kývá v jedné rovině a rušivé účinky jako lidská a seismická činnost, rotace Země jsou méně rušivé.

Pérový závěs se v přesných kyvadlových hodinách začal používat asi v druhé polovině 19. století. Přesný pérový závěs není tak obtížné vyrobit jako břitoví a pro namáhání na tah jej lze zhotovit v malém rozměru.

Pro stálost kyvů kyvadla se používá závaží na konci kyvadla zvaná čočka, pro svůj tvar jak lze vidět na starých kyvadlových hodinách.

Přesný chod kyvadlových hodin nejvíce ovlivňuje tyč kyvadla, vlivem teploty se mění její délka a tím pádem umístění těžiště a čehož vyplývá změna doby kyvu kyvadla. Graham (1675 - 1751) proto použil jako první tyčí dřevěných místo kovových pro jejich nízkou tepelnou roztažnost. Dále byli pokusy s tyčemi z břidlice a ze skla. Roku 1726 vynalezl Harrison roštové kyvadlo, kde čočka byla zavěšena na systému tyčí ze dvou kovů s vhodně se různícími koeficienty tepelné roztažnosti tak, aby se jejich vzájemná tepelná roztažnost kompenzovala. Naproti tomu Jürgensen naopak měnil polohu těžiště pomocí posouvajícího se závažíčka, nazvaného dle Huygense „běžcem Huygensovým". Později byl vynalezen talíř, na který se kladou závažíčka. Roku 1727 sestrojil Graham rtuťové kyvadlo, což byla ocelová trubice naplněná rtutí do určité výšky, jako náhrada čočky. Toto kyvadlo bylo zdokonaleno a propracováno roku 1891 Z. Rieflerem. Poslední překotné období vývoje kyvadlových hodin nastalo roku 1891, kdy Guillaume zhotovil invarové kyvadlo. Tyč byla zhotovena z materiálu s nepatrnou tepelnou roztažností oproti materiálu čočky. Čočka byla opřena o stavěcí matku a roztahovala se pouze horním směrem, tím se vykompenzovala nepatrná tepelná roztažnost tyče. Roku 1910 se podařilo vyrobit tyč z taveného křemene. Toto kyvadlo mělo výborné výsledky, ale bylo velmi drahé a snadno se rozbilo, kvůli křehkosti křemene.

Nejúčinnějším opatřením používajícím se od druhé poloviny 18. století, je uzavření hodin do vzduchotěsného uzávěru. Vyřešil se tím problém vlivu hustoty měnící se tlakem vzduchu.

Před zavedením kyvadla do časomíry byla nepřesnost při stanovení času okolo 1 minuty, po zavedení kyvadlo okolo roku 1700 je stanovena nepřesnost na 1 ÷ 2 sekundy. Kolem roku 1800 už je nepřesnost na 1 sekundě. V období 1800 ÷ 1850 nastává pokrok v konstrukcích kyvadla a přesnost je už 0,1 sekundy a pozvolna se zvětšuje. Na začátku 20. století je přesnost hodin na 0,02 sekundy, ale přesnost kyvadlových časoměrů je podstatně lepší. Vynálezem fotografického zenitteleskopu lze docílit za příznivých slunečních podmínek přesnosti 0,002 sekundy, která se rovná výkonu mimořádně přesných kyvadlových časoměrů. Po tomto období ustupuje kyvadlo do pozadí jako prvořadý normál časový a časoměrný. Další vývoj přesných časoměrů spočívá na zcela jiných fyzikálních principech, umožňujících větší přesnosti, nepostradatelné pro některé obory moderních věd.

Příklady kyvadel pro hodiny :



Další velmi důležitou fyzikální veličinou, se kterou se každý z nás setkává, je gravitační zrychlení. Zvykli jsme si používat je jako konstantu, to ale není pravda a gravitační zrychlení se mění jak s místem na Zemi, tak s časem, protože závisí i na vzdálenosti Měsíce od Země. Gravitační zrychlení se měří jednak absolutní a jednak relativní vůči jedné stanovené stanici. K měření se používají dva typy kyvadla. Prvním typem je matematické kyvadlo, kde hmota je uložena na konci tyče a druhý konec tyče pevně uložen a platí pro ně. Druhý typ používá nehmotnou tyč a kyvadlo je zkonstruováno jako reverzní kyvadlo, poprvé bylo použito v letech 1817 ÷ 1818 M.Karterem.

Teorii o gravitačním poli země popsal Isaac Newton v díle „Philosophia naturalis principia mathematica" (Londýn 1687), kde uveřejnil také gravitační zákon a pohybové zákony. Již v této teorii zformuloval myšlenku rozdělení gravitačního pole Země po povrchu.

Pokud víme, že gravitační pole Země je rozděleno po jejím povrchu, musíme si položit otázku „Jaký tvar má Země ?". Již staří řekové věděli, že Země má tvar sferoidu. Zjistili to z experimentálního měření úhlů mezi přímkami město - obzor, Slunce - město. Jedním z experimentátorů byl Erotosthenes, který měřil v Alexandrii a v Syene v Egyptě. Vzdálenost mezi těmito městy určil z délky pochodu karavany velbloudů. Poté se dlouhou dobu věřilo, že Země je placka. Tuto teorii popřel Magellan obeplutím Země, z toho lidé usoudili, že Země je koule. Teprve v letech 1684 ÷ 1718 Giovanni - Domenoco zjistil tvar Země pomocí změření délky oblouku severně a jižně od Paříže. Bohužel, jak se ukázalo chybně, neboť tvrdil, že Země je rotační sferoid. V roce 1672 Richer provedl měření délky periody kyvadla v Caynu v Jižní Americe a v Paříži. Zjistil, že jeho kyvadlové hodiny se oproti Paříži opožďují o 2 minuty a 28 sekund za den. Postavil matematické kyvadlo a měřil jeho dobu periody kyvu každý týden po dobu 10 měsíců a tím si potvrdil své zjištění. Tohoto měření využil Newton a zformuloval teorii v díle Principia a určil tvar Země na zploštělí sferoid, kde poměr os Země je v poměru 230 : 229. Tuto teorii potvrdil z měření Nichers. Nicméně mezi Newtonovou teorii a Giovanni - Domenicovou teorii vznikl ostrý spor, neboť Giovanni - Domenico se své teorie nechtěl vzdát. Teprve roku 1735 je Newtonova teorie potvrzena definitivně.

Významným experimentátorem s teoretickým kyvadlem byl Bouquer. Ten v roce 1737 objevil závislost délky tyče kyvadla na teplotě a doby periody na odporu vzduchu. Určil vztah , kde T1, T2 jsou doby kyvu v různých místech a g1, g2 jsou gravitační zrychlení v různých místech. Pomocí tohoto vztahu lze zjistit gravitační zrychlení pouze z poměru kvadrátu doby kyvu a jednoho známého gravitačního zrychlení. Další pokusy prováděli Picard a LaGondamine. Pokusy kulminovali prací Borda a Cassiniho v roce 1792 na observatoři v Paříži. Dalším pokračovatelem zjišťování gravitace na povrchu Země byl Bessel, který určil gravitaci v Berlíně. Systematicky mapovat povrch Země začal až Henry Karter, v roce 1817 postavil fyzické kyvadlo s proměnnou délkou tyče pro měření gravitačního zrychlení. Vletech 1820 ÷ 1825 postavil kyvadla od Londýna k západní Indii a odtud až k Spitzberkám. Pomocí jeho kyvadla byla mapována celá Země. Jedním z mnoha badatelů byl Lütke z Ruska, který zkoumal gravitační zrychlení po celé Zemi v období 1826 ÷ 1829. Dalšími badateli byli De Freyument z Francie, Duperry 1822 ÷1825, Francis Baily 1827 ÷ 1840, který experimentoval s více než 40 odlišnými kyvadly a určoval jejich charakteristické vlastnosti. Charles Wilkes z USA 1838 ÷ 1842.

Významným experimentátorem byl Bessel, který měřil gravitační zrychlení pomocí matematického kyvadla v letech 1825 ÷ 1827 a v roce 1835 v Königsbergu a

Berlíně. Vypracoval teorii symetrického fyzického kyvadla s vyměnitelnými nožovýmí břity místo čoček.. Bessel dokázal, že pokud nožové břity jsou cylindrické, jejich efekt lze kompenzovat reverzním kyvadlem. Pokud nejsou stejně cylindrické jejich rozdíl lze odstranit jejich vyměnitelností. Podle Besselovy teorie postavila firma A.Repsold & Syn z Hamburku kyvadlo, které se používalo na observatoři v Ženevě. Toto kyvadlo se použilo pro změření gravitačního zrychlení ve Švýcarsku v letech 1866 ÷ 1872.

Roku 1864 začal měřit gravitační zrychlení profesor Sawitsch z univerzity St.Petersburg. Výsledky z Ruska byly publikovány v Carské akademii věd a v roce 1872 pro západní Evropu v díle „Les variations de la pesanteur dans les provices occidntales de l'Empire russe". Dalším badatelem, který využil Repsold - Besselova kyvadla, byl J.J.Baeger, ředitel Pruské geodetické společnosti. Repsold - Besselova kyvadlo bylo přijato pro měření gravitačního zrychlení v celé Evropě roku 1874.

Repsold - Besselova kyvadla se používal pro měření absolutní gravitace. Stálé kyvadlo s jedním nožovým břitem se používalo k měření relativní gravitace. Stálé kyvadlo používal Bouguer a Karter. Po experimentech s Repsold - Besselovým kyvadlem je Baeger použil pro měření gravitačního zrychlení. Pierce postavil stálé kyvadlo s principy reverzního kyvadla. Prezentoval ho v roce 1880. V období 1881 ÷ 1882 postavil čtyři stálá reverzní kyvadla, které používala geodetická společnost ve Washingtonu. Stálé reverzní kyvadlo popsal jeho asistent E.D. Preston v díle „Determinations of gravity and the magnetic elements in connection with United States scientific expedition to the west coast of Africa 1889 - 90". Pierce dále studoval efekt vizkózního odporu na pohyb Repsold -Besselova kyvadla, pro necylindrické břity. Defforges vymyslel teorii pro dvě matematická kyvadla stejné hmotnosti, ale s rozdílnou délkou tyče. Tato teorie eliminovala ohyb závěsu a zakřivení nožových břitů. Kyvadla dlouhá 1 metr a 0,5 metru postavil podle Defforgesova návrhu firma Brunner Brothers.





























Maj. Robert von Sternech vyvinul výborný přístroj pro měření relativní gravitace. Jednalo se o reverzní kyvadlo 0,25 metru dlouhé a s dobou kyvu 0,5 sekundy.

Kyvadlo mělo jeden nožový břit a bylo uloženo do vzduchoprázdné skříně. Tento přístroj použil Sternech roku 1887 v Saxonu a v Čechách. Roku 1890 postavil inovovaný přístroj podle Sternecha Mendenhalla. Mendelhallovo kyvadlo bylo z bronzu, v roce 1920 jej nahradilo kyvadlo z invaru pro jeho nízkou tepelnou roztažnost. Roku 1930 postavil Lt. E.J. Brown vylepšený Mendenhallův aparát nazvaný Brownův kyvadlový přístroj.

Kyvadlo posloužilo také jako přímí důkaz Země kolem své osy. V roce 1851 v pařížském Pantheonu předvedl B.J. Foucault (1819 - 1886) kyvadlo s parametry : délka závěsu 67 m, hmotnost 30 kg a doba kmitu 16,4 s. Na tomto kyvadle bylo poprvé pozorováno otáčení Země, protože kyvadlo se postupně samovolně stáčelo, tak jak se Země otáčela viz obr.1.15. Toto tvz. Foucaultovo kyvadlo, což je vlastně matematické kyvadlo s nehmotným závěsem a hmotným bodem na konci kyvadla, bylo v červenci 1994 postaveno v aule budovy ČVÚT fakulty strojní a elektrotechnické na Karlově náměstí ve spolupráci katedry mechaniky strojní fakulty a Planetária Praha. Jeho parametry jsou :

délka kyvadla l = 21 m

hmotnost m = 34 kg

doba kmitu T = 9,2 s

Pro další hodnoty je nutné znát polohu kyvadla :

severní šířka f = 50440,2

východní délka = 14149



Pomocí tohoto kyvadla je možné zjistit tyto hodnoty :

místní tíhové zrychlení g = 9,8040 m·s-2

úhlová rychlost stáčení kyvadla

[1.1]

počáteční délková amplituda x0 = 0,6 m

počáteční úhlová amplituda = 13824

převýšení těžiště v krajní poloze h = 0,009 m

Kyvadlo je pro lidi tak samozřejmé, že ani nepozorujeme, kde všude v životě jej můžeme nalézt. Z historie kyvadla jsem vybral dva důležité obory, kde je vliv kyvadla zřejmý a kyvadlo je zde v jeho klasické podobě. Existuje, ale mnoho lidských oborů, kde kyvadlo ani nehledáme, a přesto tam je, a tak tomu bude vždy, protože kývající se věci se vždy budou řídit zákony kyvadla.



2. Měření polohy a vzdálenosti



K měření polohy a vzdálenosti se používají snímače, sloužící k indikaci okamžité polohy měřeného objektu. Jde o měření délek nebo úhlů s využitím fyzikálních principů.

Snímače dělíme dle výstupního signálu na :

Podle způsobu odměřování :

2.1. Analogové snímače polohy



2.1.1. Potenciometrické snímače



Nejjednodušší analogový snímač polohy. U otočného snímače se pro rozsahy vetší než 270 používá aripot, odporová dráha je tvořena spirálou (5 až 10 závitů).

Tyto snímače se dělí v závislosti na poloze jezdce na :



Kde :

R0 odpor potenciometru

Rz vstupní odpor vyhodnocovacího obvodu

R1, R2 odpor potenciometru, rozdělený jezdcem

U napájecí napětí

U2 výstupní napětí

[2.1]

Po vyjádření odporů R1 a R2 pomocí odporu R0 a posunutí jezdce x :

[2.2]

[2.3]

[2.4]

dosadíme do vytahu 2.1 a po úpravě dostaneme :

[2.5]

Ze vztahu 2.5 vyplývá, že závislost U2 = f(x) je nelineární. Pro dosažení lineárního průběhu musí být K . Pro dodržení linearity nesmí být Rz menší než uvádí výrobce. Při střídavém napájení se přesnost potenciometrických snímačů zhoršuje vlivem parazitních kapacit a indukčnosti vinutí. Výhodou těchto snímačů je jednoduchost. Nevýhodou je nespolehlivost daná mechanickým opotřebením. Potenciometrické snímače se vyrábějí s chybou linearity 0,05 ÷ 0,1 %.



2.1.2. Selsyny



Jedná se v podstatě o střídavý indukční stroj skládající se ze statoru se souměrným třífázovým vinutím a jednofázového rotoru, který je napájen střídavým napětím. Pro vyhodnocení úhlové odchylky se používá zapojení na obr. 2.2. Selsyn S1 slouží jako snímač polohy, selsyn S2 jako indikátor





polohy. Poloha je zobrazena pomocí indikačního přístroje IP, ručka IP je spojena s rotorem selsynu S2. Statory selsynu S1 a S2 jsou vzájemně propojeny, stejně jako rotory. Jsou-li tedy rotory vysílače a přijímače natočeny souhlasně (1 = 2), neprotéká synchronizačním vedením žádný proud. Pootočí-li se rotorem selsynu S1, jsou napětí indukované ve vinutí obou statorů různá a začne procházet proud. Proud vyvolá magnetický tok,, v jehož důsledku se rotor selsynu S2 natočí tak, aby synchronizačním vedením neprotékal žádný proud (1 = 2). Rotor selsynu S2 sleduje rotor selsynu S1 s chybou, která je dána zatěžovacím momentem hřídele selsynu S2, pasivními odpory a rychlostí změn úhlu. Závislost chybového momentu na úhlu natočení je na obr. 2.3. Průběh lze nahradit přímkou a její směrnice



je daná poměrem přeneseného momentu a momentu odpovídajícího vzájemnému úhlovému natočení rotorů. Tento poměr je měrným synchronizačním momentem. Při zatížení maximálním momentem, tvz. momentem zvratu, dojde k nestabilnímu chování soustavy a ta se snaží zaujmout nulovou polohu.

Výhodou snímače je schopnost přenášet úhlové výchylky i při rovnoměrném otáčení. Rozlišovací schopnost selsynu se pohybuje v rozmezí 3 ÷ 10 úhlových minut.



2.1.3. Polohový transformátor



Zde jsou propojeny pouze statory. Rotor selsynu S1 je napájen střídavým napětím :

[2.6]

V rotoru selsynu S2 se indukuje napětí a je maximální pokud souhlasí magnetické osy rotorů obou selsynů :

[2.7]

kde :

vzájemné natočení obou rotorů

Po usměrnění a filtraci dostaneme výstupní napětí :

[2.8]



Snímač respektuje obě polarity odchylky polohy, nevýhoda tohoto snímače je, že natočení os může být pouze v rozmezí a je nelineární. Pokud je uspořádání statoru a rotoru jednofázové získáme lineární otočný polohový transformátor. Magnetický obvod selsynu je upraven tak, že indukované napětí je v oblasti ± 85 přímo úměrné úhlu natočení. Přesnost je v rozmezí 0,1 ÷ 0,5 %.



2.2. Číslicové snímače polohy



Tyto snímače lze rozdělit podle způsobu získávání číslicového údaje :

2.2.1. Inkrementální snímače polohy



Jedná se o snímače založená na principu fotosnímače. Hlavními prvky senzoru jsou zdroj světla - vysílač, kondenzor, rotor o velkém počtu rysek, clona (stator) a fotocitlivý prvek - přijímač. Světlo prochází ze zdroje přes rotor, na kterém je soustava rysek o stejné šířce a rozteči viz. obr. 2.4. Otáčením rotoru dochází k aktivaci fotosnímačů., které jsou vzájemně posunuty a na výstupu přijímače vzniká kvazisinusový elektrický signál Ten je v komparačním obvodu převáděn na obdélníkové impulsy, nejčastěji s úrovní TTL. Fotosnímače jsou posunuty tak, aby na výstupu byli signály posunuty o . Ty jsou dále zpracovávány vnějšími elektronickými obvody, např. kvadraturním čítačem, který vyhodnocuje náběžné i sestupné hrany obou signálů, čímž se získá čtyřnásobné rozlišení. Kromě toho umožňuje rozpoznat i směr pohybu.







Některé snímače se používají negované signály pro detekování chyby. Normální signály jsou doplněné negovanými a vyhodnocovací systém kontroluje, zda jsou signály na vstupu skutečně doplňkem.Rušivé signály pak systém vyloučí.

Některé modely snímačů pracují ještě se třetím, tzv. referenčním signálem, který slouží k nastavení nuly. Používá se aby se předešlo chybám při výpadku napájení.Stator a rotor je doplněn obrazem z rysek a štěrbin v určitém kódu tak, aby byli pouze v jedné poloze maximálně průsvitné a mohl tak být vyhodnocen nulový impuls. Snímače se dělají v mnoha provedeních od 80 po 6000 impulsů na otáčku. Rozlišení snímačů je tedy od 54 do 1730.





2.2.2. Absolutní snímače polohy



Nevýhodou inkrementálních snímačů je neznalost přesné polohy, ale polohy od nulového místa. Tuto nevýhodu nemají absolutní snímače polohy. Místo rotoru je mají kódovaný kotouč s ryskami. Kódový kotouč má po obvodu vzorek v několika řadách viz. obr. 2.6. Každé řadě je přiřazen jeden



fotosnímač a informace obsažená v jedné řadě je 1 bit. U snímačů se používá tvz. Grayova kódu, kde dochází při přechodu z jedné polohy do druhé ke změně pouze jednoho bitu, tím se minimalizuje pravděpodobnost chyby.



2.3. Fotodetektory



Číslicové snímače používají fotodetektory, jsou to v podstatě kvantové detektory využívající přímé interakce mezi elektrony materiálu detektoru a fotony dopadajícího záření.

2.3.1. Vakuové fotonky

Konstrukčně řešená jako vakuovaná (nebo s inertním plynem - např. argonem) skleněná elektronka a rozsahem pracovních napětí od 40 do 300 V a proudy desítek µA podle plochy fotokatody, která snáší max.. 15 µA/cm2. Spektrální citlivost je mezi 0,45 ÷ 0,8 µm, integrální citlivost mezi 70 až 100 µA/lm, proud.za tmy řádově 10-8 ÷ 10-12 A, velký dynamický rozsah signálu 2 ÷ 6 řádů např. mezi 0,01 m·lm ÷ 1000 m·lm, mezní frekvence podle konstrukce stovky kHz. Vakuové fotonky vykazují maximální stálost parametrů, ale pro větší napájecí napětí a rozměry jsou nahrazovány fotonkami polovodičovými (fotodiodami, fototranzistory).



2.3.2. Fotonásobičové fotonky



Fotonásobič je elektronka, ve které se využívá sekundární emise k zesíleni citlivosti vakuové elektronky při minimálním šumu Průsvitná fotokatoda 1 na obr. 2.7 emituje po dopadu záření elektrony, které urychlovány el. polem dopadají na první dynodu 2. Dynoda je elektroda s vrstvou materiálu, který vykazuje velkou sekundární emisi, tzn. že dopadem jednoho elektronu se z.dynody vyráží několik dalších elektronů. Tyto elektrony jsou opět urychlovány elektrickým polem a postupně dopadají na druhou dynodu 3 atd. až na anodu 5. Každý přechod na další dynodu znamená zvětšeni fotoproudu (elektronů) např. 4,5 krát, takže při devíti dynodách dojde k zesíleni



cca 106x..Vzhledem k max. dovolenému zatíženi anody 5 nemůže proud překročit cca 1 mA, ale integrální citlivost dosahuje hodnot až 2000 A/lm. Napětím fokusačni (zaostřovací) elektrody 6 se dosáhne max. využití fotoemise na katodě a pomoci více kolíkové patice.7 se přivedou postupně kladnější potenciály asi po 100 V na jednotlivé dynody. Celkové napětí je 1100 ÷ 1800 V a vyžaduje stabilizaci k zajištění stálé citlivosti. Spektrální citlivost určuje. materiál fotokatody (viz vakuová fotonka),mezní frekvence je řádové stovky kHz.

Fotonásobiče ae užívají např. ve scintilační technice (snímače energií záření) a u zařízeni, kde se měří minimální světelné toky.



2.3.3. Fotoodpory



Na podkladové sklíčko je napařena postupně vrstva ( polykrystalického ) polovodiče a elektrody různého tvaru. Voltampérové charakteristiky: jsou přímky procházející počátkem. Odpor závisí na osvětlení E podle vztahu

[2.9]

kde :

R činný odpor fotoodporu,

r konstanta určená odporem při E = 1 l x

součinitel v mezích 0,5 až 2 podle materiálu fotoodporu.

Integrální citlivost vychází např. 10 mA/lm v oblasti = 0,9 µm a někdy se určuje tzv. specifická citlivost udávající elektrickou vodivost na světelný tok či osvětlení. Proud za tmy je řádově stejný jako za osvětlení. Fotoodpory mají mezní frekvenci 10 Hz až kHz, doby náběhu jsou řádové stovky ms a přechod do tmy vykazuje změny odporu v rozsahu 30 minut. Fotoodpor je vhodný pro reléový (dvoustavový) provoz v soustavách automatické kontroly, měřeni počtu kusů.ve výrobě a podobně.



2.3.4. Fotodiody



Hradlový jev ovlivní voltampérové charakteristiky přechodu PN. VI. kvadrantu (propustný směr) není vhodný. pro optické účel a v bodě průsečíku charakteristik na světlo nereaguje. Ve III. kvadrantu (závěrný směr) jsou v závislosti na osvětlení charakteristiky prakticky ekvidistantní a označujeme jako pasivní (odporový) provoz fotodiody. Ve IV. kvadrantu se chová přechod jako zdroj a hovoříme o aktivním (generátorickém, hradlovém) provozu.

Spektrální citlivost germaniových fotodiod je max. v okolí 1,7 µm

a u křemíkových pro 0,8 µm. Integrální citlivost má stálou hodnotu, udává se s ohledem na malé rozměry okénka na osvětlení a hodnotou se blíží vakuovým fotonkám. Křemíkové jsou výrazně citlivější oproti germaniovým (až o dva řády).

Proud za tmy (odporový provoz) u Ce až.50 µA, u Si zlomky µA. Na každý 10°C otepleni se proud za tmy cca zdvojnásobí.

Mezní frekvence jsou shodné jako pro normální diody a dosahuji cca 100 kHz.

Na zlepšení citlivosti a dynamických vlastnosti fotodiod byly vyvinuty specielní typy: Fotodioda PIN používá strukturu a intrisitní vrstvu polovodiče, čímž se dosáhne urychlování generovaných nositelů elektrickým polem v této mezi vrstvě. Získá se větši citlivost s větší mezní frekvencí.



2.3.4.1 Lavinová fotodioda



Využívá vnitřního zesílení optického signálu nárazovou ionizací při urychlování neutrálních atomů elektrickým polem. Pracovní napětí musí být proto v oblasti Zenerova napětí (pro normální konstrukci přechodu zakázaná oblast), kde dochází k lavinovému jevu, který výrazně zvětšuje citlivost.

V oblasti vlnových délek 1,6 µm převyšuje citlivostí fotonásobiče. Je vhodná pro optická pojítka a pulzním provozem pro dobré dynamické vlastnosti (doba náběhu okolo 0, 25 µs).



2.3.4.2. Schottkyho fotodioda



Pracuje s přechodem kov - polovodič, který má za určitých podmínek vlastnosti přechodu PN. Při určité hladině záření (nízké) vykazuje malý závěrný proud a šum. Doby náběhu jsou řádově

10-4 µs. Na obdobném principu je řešena hrotová fotodioda, kde se zmenšením aktivní oblasti v prostoru dotyku.hrotového kontaktu dociluje velmi krátkých přechodových stavů při osvětlováni.



2.3.5. Fototranzistor



Konstrukčně je řešen tak, aby přes okénko dopadalo světlo na oblast přechodů. Báze obvykle není vyvedena, takže fototranziator je elektricky dvoupólový prvek. Voltampérové charakteristiky jsou obdobné jako u tranzistoru a funkci proudu báze převzalo osvětlení. Spektrální citlivost je dána materiálem (Si, Ge). Integrálni citlivost je 20 až 50 větší než u fotodiod, ale je výrazně závislá na osvětlení. Šum je větší než u fotodiod 5 ÷ 10x a světelný ekvivalent šumu je cca 0,1 lx. Mezní frekvence je 20 ÷ 50 kHz.

K docílení max. citlivosti se do jednoho pouzdra umísťují dva fototranzistory (v Darlingtonově zapojeni) a dosahuje se integrální citlivosti 300 µA/lx, max. proud 500 mA, ztrátový výkon 1,6W, což jsou parametry umožňující přímé užití v obvodech elektromagnetických ventilů, motorků apod. bez zesilovače.



2.3.6. Fototyristor



Struktura prvku je obdobná jako u tyristoru a obdobně jako u tranzistoru zde světelný tok resp. osvětlení přebírá funkci proudu v řídící elektrodě. Voltampérové charakteristiky jsou obdobné jako u normálního tyristoru. Optimální spínací osvětlení je cca 400 lx podle typu. Řídící elektroda bývá vyvedena a propojuje se přes odpor řádově desítky k na katodu k docílení lepší teplotní stability. Spínací doba 0,1 ÷ 50 µs podle typu a osvětleni. Parametry tyristoru jsou např. závěrné a blokovací napětí 200 V, elektivní proud 1,6 A, stabilizační odpor 56 k , spínací ozáření 10 mW/cm2.



2.3.7. Obvody s fotonkami



Fotonka v obvodech je vždy prvkem děliče s činným odporem, obdobně jako tranzistor. Také se zapojuje do můstků, kde se ve druhé větvi užívá zatemněné fotonky k teplotní kompenzaci. Dělič fotonka - odpor se řeší s výhodou grafickými metodami jako u tranzistoru. Optimalizace (přizpůsobení) fotonek v pasivním provozu musí respektovat především vliv vstupního odporu zesilovače, který pracuje paralelně s odporem řízeného děliče (fotonka - odpor).



3. Hardware programovatelných automatů



Programovatelný automat (PLC) je uživatelsky programovatelný řídicí systém přizpůsobený pro řízení průmyslových a technologických procesů, mnohdy specializovaný na úlohy převážně logického typu.

Existuje několik způsobů řízení :

PLC obecně obsahuje centrální jednotku (CPU), vstupy (analogové a binární), výstupy (analogové a binární), čítače, speciální moduly, systémovou paměť, uživatelskou paměť a nadřazený systém. Schéma vnitřní struktury programového automatu je na obrázku 3. Skutečné provedení může být odlišné. U modulárního PLC jsou počty a kombinace vstupních, výstupních a speciálních modulů volitelné v širokém rozsahu, podle potřeby aplikace. U nejjednodušších systémů bývá kombinace vstupů a výstupů neměnná nebo variabilní ve velmi omezeném rozsahu.





PLC se dělí do několika kategorii :

3.1. Provedení PLC - jednotlivé komponenty



3.1.1. Pouzdro, základní moduly, napájení



Kompaktní PLC jsou umístěny bud' v jednom pouzdře (kazetě, vaně) nebo dovolují v malé míře rozšíření pomocí tzv. rozšiřovacích modulů. Většinou se montují přímo na lištu DIN do rozvaděče.

V základním modulu modulárních PLC (rám, nosná deska, lišta) bývá umístěna : centrální procesorová jednotka (CPU), napájecí jednotka, systémová a napájecí sběrnice a několik volných pozic pro zásuvné periferní jednotky. Místo pro zasunutí určité periferní jednotky nebývá pevně určeno, umístěním periferní jednotky na určitou pozici je většinou dána adresa této jednotky v rámci celého systému. Pokud počet volných pozic v základním modulu nepostačuje, bývají k dispozici rozšiřující moduly, jejichž počet je omezen adresovatelným prostorem procesoru, zatížením sběrnice a výkonem napájecího zdroje. Rozšiřující moduly se připojují pomocí tzv. expanzní jednotky. Zdroj provozních napětí pro procesor a periferní jednotky bývá někdy integrován přímo na CPU, ale častěji je umístěn v samostatné napájecí jednotce.



3.1.2. Centrální procesorová jednotka (CPU)



CPU je jádrem celého PLC a určuje jeho výkonnost. Bývá jednoprocesorová, ale i víceprocesorová. U víceprocesorových systémů bývají někdy použity matematické koprocesory, vstupně výstupní procesory a někdy též komunikační procesory. Důležitým charakteristickým parametrem CPU je operační rychlost posuzovaná podle tzv. doby cyklu, což je doba zpracovávání 1000 logických instrukcí. Podle typu jednotky se pohybuje řádově od desítek milisekund až k desetinám milisekund u nejrychlejších CPU.



3.1.3. Paměťový prostor



Dělí se na paměť uživatelskou, paměť systémovou, a paměť dat. Do uživatelské paměti se ukládá uživatelský program. Tato paměť bývá typu EPROM nebo EEPROM a mívá kapacitu řádově od desítek kB až po jednotky MB u modulárních programovatelných automatů, u kompaktních programovatelných automatů spíše v desítkách kB. V systémové paměti je umístěn systémový program. Tato paměť bývá rovněž typu EPROM. V paměti dat, která musí být typu RAM (RWM), jsou umístěny uživateli dostupné uživatelské registry, zápisníkové registry (merkery, flagy), čítače, časovače a většinou i vyrovnávací registry pro obrazy vstupů a výstupů. Počet těchto registrů výrazně ovlivňuje možnosti programovatelného automatu. Adresovatelný prostor vymezený pro vstupy/výstupy omezuje počet připojitelných periferních jednotek. Důležitým parametrem jsou i rozsahy čítačů a časovačů.



3.1.4. Binární vstupní jednotky



Binární vstupní jednotky slouží k připojování prvků pro tvorbu vstupů s dvouhodnotovým charakterem výstupního signálu, což mohou být např. tlačítka, přepínače, koncové spínače v nejrůznějším provedení, senzory doteku nebo přiblížení, dvouhodnotové senzory tlaku, hladiny, teploty apod. Vstupní binární modul zajišťuje většinou tyto funkce:

Nejčastěji bývají k dispozici jednotky pro vstupy stejnosměrné - v rozsazích 6V, 12V, 24V, 48V, střídavé v rozsazích 24V, 48V, 1 15V a 230V. Jednotlivé vstupy bývají uspořádány do skupin po 4, 8, 16 nebo i 32. Tyto skupiny mohou mít společný vodič pro napětí kladné nebo záporné polarity. Kladná polarita se používá pro senzory typu PNP (jejich výstupní tranzistor je typu PNP), záporná polarita naopak pro senzory typu NPN.



3.1.5. Binární výstupní jednotky



Binární (někdy též digitální) výstupní jednotky slouží k připojování nejrůznějších akčních členů s dvouhodnotovým charakterem vstupního signálu. Mohou to být např. různá optická i akustická signalizační zařízení nebo cívky relé, stykačů, solenoidových ventilů, elektromagneticky ovládaných pneumatických či hydraulických rozvaděčů, elektromagnetických spojek apod. Dvouhodnotové výstupy se dají používat i ke stupňovému řízení pohonů a frekvenčních měničů nebo k ovládání zobrazovačů. Binární výstupní jednotka většinou plní tyto funkce:

Podobně jako jednotky binárních vstupů se i tyto jednotky dodávají v různých variantách.



3.1.6. Kombinované jednotky binárních vstupů a výstupů



V sortimentu binárních jednotek bývá i kombinovaný modul binárních vstupů a výstupů. Např. pro TBCOMAT NS-950 je označen XH-04, obsahuje 8/8 stejnosměrných binárních vstupů/výstupů pro 24 V. Pro vstupy má společnou svorku minus, pro výstupy společnou svorku plus. Může být využit na optimální doladění sestavy, ale především je určen k multiplexovanému buzení a snímání matice tlačítek do rozsahu 8 x 8 nebo až 16 pater plochých zadávacích přepínačů (tzv. „contravesů").



3.1.7. Analogové vstupní jednotky



Tyto jednotky zprostředkují kontakt programovatelného automatu se spojitým prostředím. K vstupům lze připojit například snímače teploty (obvykle odporové, polovodičové nebo termočlánky), snímače vlhkosti, tlaku, síly, hladiny, rychlosti, ale i většinu inteligentních přístrojů s analogovými výstupy, nebo třeba měřené napětí či výstup z potenciometru. Důležitou součástí analogové vstupní jednotky je A/D převodník, který převádí analogové napěťové nebo proudové signály na číselné hodnoty. A/D převodník mívá rozsah 8 nebo 12 bitů.



3.1.8. Analogové výstupní jednotky



Slouží pro ovládání různých akčních členů či zařízení se spojitým charakterem vstupního signálu, jako jsou např. spojité servopohony, frekvenční měniče, ale třeba i ručkové měřicí přístroje apod. Nezbytnou součástí analogové výstupní jednotky je D/A převodník, který většinou mívá rozsah 8 nebo 12 bitů.Analogové výstupy jsou buď napěťové nebo proudové. Proudové výstupy mohou být aktivní nebo pasivní. U aktivních proudových výstupů nemusí mít připojený akční člen svůj zdroj proudu a je napájen přímo z analogového proudového výstupu automatu. Připojený akční člen (včetně vedení) má v tomto případě omezený maximální odpor.



3.1.9. Čítačové jednotky



Rychlé čítače, odměřovací a polohovací jednotky jsou určeny k měření a řízení polohy, k řízení dráhy a rychlosti pohyblivých částí strojů, dopravních a manipulačních mechanismů. Čítačové jednotky jsou určeny k čítání pulsů, jejichž perioda je srovnatelná nebo kratší, než je smyčka programu programovatelného automatu. Bývají k dispozici v provedení pro připojení universálních signálů, inkrementálních snímačů nebo absolutních snímačů.







3.1.10. Polohovací jednotky



Jsou určeny pro snímání polohy a řízení jedné nebo dvou souvislých os, případně pro řízení pohybu po naprogramované dráze. Parametry pohybu (dráha, koncová poloha, rychlost, zrychlení aj.) jsou zadávány programově z programovatelného automatu.



3.1.11. Komunikační jednotky



Rozšiřují počet asynchronních sériových komunikačních kanálů. U některých systémů (např. TECOMAT) jsou k dispozici i jednotky dálkových přenosů umožňující dálkové přenosy dat přes modem a JTS (jednotná telefonní sít') nebo přes radiomodem. Jednotlivé jednotky asynchronních přenosů se liší podle počtu poskytovaných kanálů, podle použitého rozhraní (nejčastěji je k dispozici RS 232 bez galvanického oddělení - připojení do 15 m/ max. přenosová rychlost 38,4 kBaudů, RS 422 bez galvanického oddělení, RS 422 s galvanickým oddělením, RS 485 bez galvanického oddělení, RS 485 s galvanickým oddělením - připojení do 1,2 km/ max. přenosová rychlost 38,4 kBaudů, nebo 20mA proudová smyčka).Spojení modemem - připojení do 8 km/ max. přenosová rychlost 19,2 kBaudů. Spojení radiomodemem - připojení do 40 km/ max. přenosová rychlost 1,2 kBaudů, možnost pohybu.



3.1.12. Speciální jednotky



U některých výrobců PLC je možně se setkat i se specializovanými moduly pro řešení regulačních úloh (např. regulátor PID) nebo pro řešení úloh s využitím fuzzy logiky a fuzzy regulace (např. OMRON). Někteří výrobci dodávají i poněkud kuriózní moduly, např. Klöckner - Moeller dodává pro svůj kompaktní programovatelný automat i modul pneumatických výstupů, z něhož místo vodičů, vedou hadičky přímo připojitelné např. na pneumatické rozvaděče. Pneumatické ovládání má velký význam pro řadu technologii. Firma Allen Bradley má ve svém sortimentu jednotku pro vstup z CCD kamery. Tato jednotka je schopna zprostředkovat obrazovou informaci z technologického procesu, např. z míst, kam není vstup obsluhy z bezpečnostních či jiných důvodů dovolen.



3.2. Programovatelné automaty firmy TECO



Firma TECO vyrábý programovatelné automaty TECOMAT®. Tyto automaty lze považovat za typické představitele PLC. Jejich řešení je obdobné jako u ostatních výrobců PLC a analogické jsou i programové možnosti. Programové vybavení u automatů TECOMAT® je xPRO, nebo EPOS. Vizualizační nástrojem je program RELIANCE.



3.2.1. TECOMAT NS 946



Jedná se o kompaktní programovatelný automat s možností rozšíření pomocí rozšiřovacích modulů, lze použít dvě odlišné CPU řady M nebo S viz. tabulka č.4.1. Maximální počet binárních vstupů pro vanu se třemi pozicemi je 48+4, maximální počet binárních výstupů je 48, maximální počet volitelných jednotek je 3.

Volitelné jednotky základního modulu:

Charakterické hardwarové vlastnost CPU řada M řada S
doba cyklu na 1000 logických instrukcí 30 ms 20 ms
maximální počet časovačů 128 256
maximální počet čítačů 128 256
počet uživatelských registrů 256 512
rozhraní sériových kanálů volitelné RS-232C,

RS-422, RS-485, 20mA loop

Tab 3.1. Tabulka vlastností CPU řady M a S



3.2.2. TECOMAT TC500



Integrovaný operátorský panel poskytuje možnost jednodušší a pohodlnější realizace menších aplikací vyžadujících komunikaci s obsluhou a zároveň vzhledem k výbornému poměru. cena/výkon umožňuje použít systém s operátorským panelem v aplikacích, kde to dříve nebylo možné. Varianty osazení vstupy a výstupy umožňují vybrat PLC dle požadavku uživatele. Vstupy a výstupy jsou realizovány s ohledem na minimalizaci vnějších obvodů (např. výstupní relé mohou spínat napětí 230 V~). Podle typu automatu této třídy (TC 501 ÷ TC 506, TC 511 ÷ TC 516 ) je možno vystavět systém až se 16 binárními vstupy, 4 analogovými vstupy, 4 tranzistorovými vstupy, l0 reléovými vstupy a 4 analogovými výstupy. Automat je vybaven centrální jednotkou řady D, jejíž vlastnosti jsou patrné z tabulky č.4.2.



Charakterické hardwarové vlastnost CPU řady D
doba cyklu na 1000 logických instrukcí 13 ms
maximální počet časovačů 4095
maximální počet čítačů 4095
počet uživatelských registrů 8192
rozhraní sériových kanálů volitelné RS-232C,

RS-422, RS-485, 20mA loop

Tab 3.2. Tabulka vlastností CPU řady D



3.2.3. TECOMAT TC600



Nejmenší kompaktní CPU s možností rozšíření pomocí rozšiřovacích modulů.Maximální sestava vstupů a výstupů je tvořena 32 binárními vstupy, l6 analogovými vstupy, 8 analogovými výstupy a 20 reléovými výstupy.CPU je řady D. Všechny základní moduly jsou standardně vybaveny 2 sériovými kanály, třetí kanál je volitelný. První a druhý kanál má rozhraní RS 232 , RS 485 (nebo i RS 422 nebo RS 485 galvanicky oddělené), třetí. kanál je vyveden přes rozhraní RS 232 nebo RS 485. Pomocí služeb sítě EPSNET je umožněno distribuované řízení, dálkové ovládání, vizualizace a obsluha řízené technologie z počítače PC včetně přenosů telefonním a radiovým modemem.



3.2.4. NS 950 RAPID



Modulární automat :

Volitelné jednotky :



Charakterické hardwarové vlastnost CPU řady 1D a řady 1B
řada 1D řada 1B
doba cyklu na 1000 logických instrukcí 13 ms 3 ms
paměť uživatelského programu - CMOS RWM, EEPROM 32 KB 64 KB
maximální počet časovačů 4096 4096
maximální počet čítačů 4096 4096
počet uživatelských registrů 8192 8192
rozhraní sériových kanálů volitelné RS-232C,

RS-422, RS-485, 20mA loop

Tab 3.3. Tabulka vlastností CPU řady 1B a 1D



3.2.5. NS 950 MINI



Modulární výstavba na jednom rámu , kde může být osazeno až 11 jednotek, typický počet binárních vstupů a výstupů 128/128 není limitující, centrální jednotky řad E, M s odstupňovaným výkonem a vybavením.Volitelné jednotky lze vybírat ze stejného sortimentu jako u TECOMAT NS 950 RAPID.



3.2.6. NS -950 PRIMA



Celý automat je uložen ve společném kompaktním ochranném pouzdře s pozicemi pro 2 periferní jednotky. Typický počet binárních vstupů a výstupů 128/128 je omezen počtem periferních jednotek, CPU řad E, M a S s odstupňovaným výkonem a vybavením (viz NS - 950 MIM), možnost spojení s nadřazenými systémy (RS - 232 spojení s PC, RS - 485 - spojení s adaptérem sériového rozhraní). Pro tvorbu a ladění uživatelských programů používá stejné technické a programové prostředky jako systémy TECOMAT NS 950 ALFA,MIM a PRIMA. Vysoce výkonný soubor instrukcí a systémových služeb je též shodný se systémy TECOMAT NS - 950, což umožňuje přenositelnost uživatelských programů mezi systémy TECOMAT.



























Charakterické hardwarové vlastnost CPU řady 2S, řady 1M a řady 1E
řada 2S řada 1M řada 1E
doba cyklu na 1000 logických instrukcí 13 ms 60 ms 60 ms
paměť uživatelského programu - CMOS RWM, EEPROM 20 KB 16 KB 16 KB
maximální počet časovačů 256 128 128
maximální počet čítačů 256 128 128
počet uživatelských registrů 512 256 256
rozhraní sériových kanálů volitelné RS-232C,

RS-422, RS-485, 20mA loop

Tab 3.4. Tabulka vlastností CPU řady 1B a 1D





































































4. Software



PLC TECOMAT při provádění programu "zmrazí" vstupní proměnné a teprve po provedení programu CPU aktualizuje výstupní proměnné do výstupních jednotek a aktualizuje stav vstupních jednotek, které umístí do zápisníkové paměti viz. obr. 4.1. Naproti tomu třeba systémy firmy FESTO vstupy "nezmrazují" a reagují neustále na aktuální stav vstupů.





Systémový program (operační systém) programovatelných automatů je řešen pro každý automat poněkud odlišně a je závislý na technickém vybavení automatu. Je schopen zpracovávat instrukce příslušné danému typu automatu.Každý operační systém poskytuje pro použití v uživatelských programech určitý soubor tzv. systémových služeb (např. čas systému, datum, různé typy časovačů, interní kód chyby apod.).



4.1. Prostředí pro tvorbu uživatelských programů



Uživatelské programy lze vytvářet bud' pomocí samostatných přístrojů, tzv. programátorů, nebo pomocí PC. Pro většinu PLC je k dispozici speciální programové vybavení pro tvorbu uživatelských programů na PC. V něm je možno konfigurovat celý systém, provádět vlastní zápis a editaci programu (většinou bývá možnost programovat ve více programovacích jazycích), editovat alokační tabulky proměnných. Bývá nabízena. syntaktická kontrola programu po překladu do jazyka strojových instrukcí. Vyspělejší systémy poskytují možnost odlaďování programu bez přímé účasti PLC v simulačním režimu, někdy je dokonce možno ladit program např. pomocí změn v registrech i v režimu on-line. Prostředí pro programování PLC firmy SIEMENS se nazývá STEPS (pro SIMATIC SS) nebo STEP7(pro SIMATIC S7). Automaty firmy FESTO je možno programovat v prostředí s názvem FST (Festo Software Tools), automaty firmy TECO pak v prostředí xPRO nebo v prostředí EPOS.



4.2. Typy jazyků



K programování nabízejí PLC systémy specializované jazyky, původně navržené pro snadnou, názornou a účinnou realizaci logických funkcí. Jazyky systémů různých výrobců jsou podobné, nikoliv však stejné.



Ustálilo se několik tříd jazyků pro programování PLC :

4.3. Systémové programové vybavení PLC firmy TECO



Multitasking je u automatů TECO umožněn speciální konstrukcí uživatelského programu. Uživatelský program se skládá z řady uživatelských procesů P, jejichž vykonání v dané smyčce programu je podmíněno určitou logikou. Aktivaci jednotlivých programů řídí operační systém. Využití všech procesů není podmínkou. Pokud použijeme jen proces P0; jde o klasické jednosmyčkové řízení (jednoúlohový systém).



4.3.1. Systémové služby



PLC TECOMAT mají vestavěné různé systémové služby, které zvyšují komfort programování a obsluhy a zkracují dobu nutnou pro nasazení systému do technologie. Výhodným prostředkem usnadňujícím programování je soubor systémových registrů S v zápisníkové paměti, ve kterých jsou realizovány následující služby :



Důležitou službou je ochrana dat a programu při vypnutí napájení PLC. Zálohované registry R (remanentní zóna) mají hodnotu dosaženou po poslední ukončené smyčce uživatelského programu (zásada konzistence dat).



4.3.2. Program xPRO



XPRO je vývojové prostředí pro PLC TECOMAT. Lze v něm zadávat program jak v jazyku mnemokódů, tak i v jazyku kontaktních schémat. Program je možné konvertovat na jakýkoliv z jazyků xPRO. Tento program má i jisté vizualizační schopnosti. Tuto schopnost použijeme spíše pro návrh a ladění programu. V programu vytvoříme ovládací panel a v něm lze pohodlně a za běhu programu měnit, sledovat proměnné. V kapitole 10.9 je uveden instrukční soubor mnemokódu pro TECOMAT TC 600.



5. Měření úlohy kyvadlo



5.1. Popis úlohy kyvadlo



Úloha se skládá z kyvadla, v podobě plné ocelové tyče, které je upevněno na stejnosměrném motoru č.C3637427. Polohu kyvadla snímá IRC snímač IRC 202/3600. Kyvadlo bude řízeno stejnosměrným motorem pomocí PLC Tecomat TC 600.



Motor :

rok výroby 1975, výrobce Mez Náchod

otáčky motoru 3000 ot/min

jmenovité napětí a proud Um = 24 V Im = 0,5 A



IRC :

IRC 202/3600 výroba Larm a.s. Netolice

rok výroby 2000

otáčky 10000 min-1

úhlové zrychlení 40000 rad·s-2

kmitočet výstupního signálu max. 100 kHz

napájecí napětí pracovních obvodů +10 ÷ 30 V

proudová spotřeba max. 200 mA

moment setrvačnosti rotujících částí 20 g·cm-2 +10%

zatížení hřídele

axiální max 20 N

radiální max 50 N

hmotnost 0,25 kg

výstupní napětí

log "0" Iz·Rz

log "1" Ucc = 0,75 V

pracovní podmínky

vibrace dle FCČSN 345791 10 gn (10 ÷ 2000 Hz)

rázový impulz 50 gn (100 ms)

pracovní teplota

standardní 0 ÷ 60C

nestandardní -40 ÷ 60C

vlhkost

relativní max 95%

absolutní max 40 g·m-3



Spojka vlnovcová :

výroba Larm a.s. Netolice

rok výroby 1999

maximální otáčky 10000 ot/min

radiální přesazení os max. ±0,2 mm

úhlová odchylka os max. ±0,5

axiální posun os max. ±0,3 mm



tyč kyvadla :





podstavec :





5.2. Měření průběhu (t) kyvadla



Pro zjištění parametrů rovnice 6.2 jsem odměřil průběh výchylky kyvadla v čase (t).

Měřeny byly maximální kladné + a minimální záporné výchylky - kyvadla a zároveň byl měřen čas t+ a t-. Měření probíhalo z několika počátečních výchylek počáteční od 0 do 90 rozdělených po 15.

Výsledky měření jsou uvedeny v kapitole 10.1. Pro měření jsem použil PLC Tecomat 600 a IRC 202, program pro měření výchylek a času je uveden v kapitole 10.5. Nastavování počáteční výchylky kyvadla bylo pouze orientační, pouze jsem se snažil dodržet dané rozdělení. Kyvadlo bylo vychýleno a poté puštěno. Proto nejsou počáteční výchylky dvou měřeních stejné. Pro můj případ to není podstatné.











5.3. Měření výchylky = f ( Timpulzu , počáteční ) kyvadla na akční zásah ve směru pohybu - rozkmit



Pro popis chování akčního členu - motoru není nutné znát jeho charakteristiku, protože silový zásah do soustavy je vždy maximální a mění se pouze doba trvání tohoto zásahu. Toto bylo zohledněno při měření. Měřil jsem pouze, jak se kyvadlo chová při dané počáteční výchylce a dané době impulzu, to jest závislost = f ( Timpulzu, počáteční ).



Měřena byla počáteční kladná výchylka počáteční, záporná výchylka - a kladná výchylka + kyvadla po pulzu motoru T. Měření proběhlo z několika počátečních výchylek počáteční od 0 do 90 rozdělených po 7,5, doba pulzu T byla od 50 do 700 ms a vždy po celé sérii počátečních výchylek změnila o 50 ms.. Výsledky měření jsou uvedeny v kapitole 10.2 a 10.3. Pro měření jsem použil PLC Tecomat 600 a IRC 202, program pro měření výchylek je uveden v kapitole 10.6 a 10.7.



5.4. Měření výchylky = f ( Timpulzu , počáteční ) kyvadla na akční zásah proti směru pohybu - útlum



Měřil jsem jak se kyvadlo chová při dané počáteční výchylce a dané době impulzu, to jest závislost = f ( Timpulzu , počáteční ).



Měřena byla počáteční kladná výchylka počáteční, záporná výchylka - a kladná výchylka + kyvadla po pulzu motoru T. Měření proběhlo z několika počátečních výchylek počáteční od 0 do 90 rozdělených po 7,5, doba pulzu T byla od 50 do 400 ms a vždy po celé sérii počátečních výchylek změnila o 50 ms.. Výsledky měření jsou uvedeny v kapitole 10.4. Pro měření jsem použil PLC Tecomat 600 a IRC 202, program pro měření výchylek zde uveden není, je ale velmi podobný programu, který je uveden v kapitole 10.7.



6. Model úlohy kyvadlo



6.1. Matematický popis kyvadla

Při řešení jsem vyšel z rovnice fyzikálního kyvadla :

[6.1]

Kde :

m hmotnost kyvadla [kg]

g tíhové zrychlení [m·s-2]

l délka kyvadla [m]

Io moment setrvačnosti [m2·kg]



Rovnici 2.1 lze pro malé výchylky linearizovat. Pro můj případ linearizaci nelze použít, neboť

-120, +120 . Rovnice 6.1 je rovnice pro netlumené kmity, proto do ní přidám tlumení :

[6.2]

Kde :

bp poměrný útlum

vlastní úhlová frekvence netlumené soustavy



pro případ podkritického tlumení bp < 1 platí :

[6.3]

Kde :

A,B integrační konstanty

t vlastní úhlová frekvence tlumené soustavy



pro t platí :

[6.4]

Pro periodu kmitu T platí :

[6.5]

Pro průměrnou periodu kmitu T = 1,43 s stanovíme z rovnice 5.1 vlastní frekvenci netlumené soustavy :

[6.6]



6.2. Model volného kyvadla



V této kapitole se budu zabývat popisem kyvadla jednak v čase = f(t) a také závislostí útlumu na výchylce = f().Útlum vypočítám dle vzorce :

[6.7]

Pro odlišné chování kyvadla v intervalu 1 25 , ) a 2 0 , 25) musíme tyto intervaly řešit každý zvlášť. Názorný pohled o různém chování je vidět na obr. 6.3.



Z toho grafu vidíme, že útlum soustavy je podstatně rychlejší pro < 25. Proto úlohu rozdělíme na dvě části 1 => 25 a 2 < 25.



6.2.1 Model kyvadla = f(t) v úseku 25 , )



Hledáme rovnici exponenciely ve tvaru :

[6.8]

Při stanovení těhto koeficientů vyjdeme ze změřených dat. Pro vyřešení rovnice 6.8 potřebujeme

2 body. Rovnici 6.8 upravím do tvaru :

[6.9]

[6.10]

Optimální dvojici bodů nalezneme pomocí programu Matlab tak, že pro všechny kombinace bodů nalézajících se nad > 25 vypočteme koeficienty a kvadratickou odchylku aproximované křivky a skutečnosti. Z dané množiny řešení vybereme minimální kvadratickou odchylku pro interval   22,5 , ). Při tomto hledání vynecháme změřená data 1 ÷ 4, protože data 1 a 2 jsou pouze pro 0 , 15 a data 3 a 4, která byla změřena pro 0 , 30 nedávají dostatečný počet bodů kde > 25.

Výchylka uvádím v jednotkách IRC 202/3600, kde 1 = 0,025.

Vzorec pro kvadratickou odchylku :

[6.11]



t1 [s] 1 [-] t2 [s] 2 [-]
data 5 153 1652 900 1035
data 6 152 1656 898 1034
data 7 314 1999 1217 1152
data 8 311 2001 766 1516
data 9 632 2031 1536 1169
data 10 632 2020 1536 1153
data 11 962 1967 1865 1125
data 12 963 1966 1864 1122

Tab. 6.1 Tabulka bodů, pro které se počítají koeficienty C1 a C2



koeficient C1 koeficient C2
data 5 1818,03664 0,0626
data 6 1822,78733 0,06313
data 7 2421,28274 0,06104
data 8 2419,04282 0,061
data 9 2988,30152 0,0611
data 10 2989,51892 0,06203
data 11 3567,06091 0,06187
data 12 3580,43864 0,06225

Tab. 6.2 Tabulka výsledných koeficientů C1 a C2



Podstatný je koeficient C2, který je parametrem exponenciely. Koeficient C1 exponencielu pouze posouvá po ose y.



E [-] E [-]
data 5 576,035 data 9 995,259
data 6 507,739 data 10 1166,27
data 7 1307,52 data 11 4628,87
data 8 791,975 data 12 3896,11

Tab. 6.3 Tabulka kvadratických odchylek E pro koeficienty uvedené v tabulce 6.2



Výsledné koeficienty můžu získat jednak aritmetickým průměrem nebo váhovým průměrem jednotlivých koeficientů, kde váha bude dána vzorcem 6.12. Pro vypočtené koeficienty podle vzorců 6.9. a 6.10. vypočteme kvadratické odchylky podle 6.11 a jejich porovnáním určím lepší variantu.

Vzorec pro výpočet váhy :

[6.12]

Váhový koeficient vychází z idei, že čím vyšší počáteční výchylka, tím je váha vyšší, ale zároveň musím brát ohled i na odchylku. Proto čím vyšší odchylka, tím menší váha. Mocnina u počáteční byla určena pomocí několika experimentů, při dalším zvyšování mocniny se dosahuje horší aproximace, proto nemá smysl zvyšovat dále mocninu. Při snižování mocniny je aproximace také horší.

Vzorec pro aritmetický průměr :

[6.13]



Vzorec pro váhový průměr :

[6.14]

Vyřešením dostanu koeficient C2 :

výpočet proběhl dle aritmetického průměru :

[6.15]

výpočet proběhl dle váženého průměru :

[6.16]



Eminimální Evahový průměr Earitmetický průměr
data 5 576,035 533,378 525,604
data 6 507,739 827,402 800,124
data 7 1307,515 2348,563 2437,785
data 8 791,975 1547,302 1623,334
data 9 995,259 2266,696 2407,36
data 10 1166,266 1254,014 1221,731
data 11 4628,87 4668,071 4625,171
data 12 3896,112 5057,6 4886,69
13869,771 18503,026 18527,799

Tab. 6.4 Tabulka kvadratických odchylek pro koeficienty dle 6.14. a 6.15



Z tabulky 6.4 je vidět, že aproximace pomocí váhového průměru je lepší než aritmetický průměr. Není to, ale nikterak výrazné, přesto za správný koeficient C2 vezmu řešení rovnice 6.16.

Grafy pro jednotlivá změřená data a aproximace :

legenda :

naměřená data se zvýrazněnými body

aproximace s C2 z rovnice 6.16

aproximace s optimálním C2 pro dané měření

















Koeficient C2 je ve skutečnosti :

[6.17]

Úpravou rovnice 6.4 dostaneme kvadratickou rovnici :

[6.18]

Kde neznámá je poměrný útlum bp a člen t2·bp2 je absolutní člen C22, hodnota je uvedena ve vztahu č.6.6

Po vyřešení rovnice 4.18 dostaneme :

[6.19]

Protože řešíme úlohu pro podkritické tlumení nebudeme uvažovat kořen bp2 a bp položíme rovno bp1 viz. rovnice 6.19.

Vyřešením rovnice 6.17 dostaneme t = 4,3934.

Rovnici 6.1 převedeme do stavových proměnných :

[6.20]

[6.21]

[6.22]

Simulinkovský model volného kyvadla s podkritickým tlumením dle rovnic 6.20, 6.21, 6.22 :





























Výsledný graf pro průběh výchylky =f (t) :



6.2.2. Model kyvadla = f(t) v úseku 0 , 25)



Závislost kyvadla = f(t) v úseku 0 , 25) se nechová jako soustava s podkritickým tlumením, ale jedná se o soustavu s tlumením Coulobovým třením, pro které platí rovnice :

[6.23]

pro konstantu p platí :

[6.24]

Kde :

N normálová síla

f součinitel tření

pohybová rovnice :

[6.25]

Kde :

C,0 integrační konstanty

konstantu p určíme ze známého průběhu maximálních a minimálních výchylek jako :

[6.26]

kde číslo 42 bylo určeno podle počtu dvojnásobku kyvů v intervalu 0 , 25).

Rovnice 6.23 převedená do stavových proměnných :

[6.27]

[6.28]

[6.29]



Simulinkovský model volného kyvadla s podkritickým tlumením dle rovnic 6.27, 6.28, 6.29 :



Výsledný graf pro průběh výchylky =f (t) :







6.3. Aproximace křivky pro = f()



Pro řízení kyvadla pomocí PLC Tecomat, se jeví vhodnější použít k výpočtu následující maximální výchylky opačného znaménka velikost útlumu pro danou výchylku. A poté prostým odečtením zjistit budoucí výchylku. Křivku opět rozložíme na dvě části 1 => 25 a 2 < 25.



6.3.1. Aproximace křivky pro = f() v intervalu 25 , )



Pro 1 => 25 budeme hledat kvadratickou rovnici :

[6.30]

kde :

útlum

výchylka

a,b,c koeficienty kvadratické rovnice



Při stanovení těchto koeficientů vyjdeme ze změřených dat. Pro vyřešení rovnice 6.30 potřebujeme 3 body. Optimální trojici bodů nalezneme pomocí programu Matlab tak, že pro všechny kombinace bodů nalézajících se nad > 25 vypočteme koeficienty a kvadratickou odchylku aproximované křivky a skutečnosti. Z dané množiny řešení vybereme minimální kvadratickou odchylku pro interval 22,5 , ). Při tomto hledání vynechám změřená data 1 ÷ 4, protože data 1 a 2 jsou pouze pro 0 , 15 a data 3 a 4, která byla změřena pro 0 , 30 nedávají dostatečný počet bodů kde > 25.

1 [-] 1 [-] 2 [-] 2 [-] 3 [-] 3 [-]
data 5 1812 87 1258 63 1035 56
data 6 1513 72 1381 67 1256 63
data 7 2409 117 1395 67 940 53
data 8 2193 108 1394 69 943 55
data 9 2031 95 1287 63 953 53
data 10 3002 164 1397 67 1041 57
data 11 2156 102 1795 63 1015 55
data 12 2369 115 1363 66 1011 56

Tab 6.5 Tabulka bodů, pro které se počítají koeficienty a,b,c

















koeficient a koeficient b koeficient c
data 5 1,53554·10-5 -0,0038 43,50443
data 6 2,28747·10-5 -0,02832 62,48492
data 7 1,26211·10-5 0,0013 40,62701
data 8 1,42151·10-5 -0,0022 44,41363
data 9 1,21249 ·10-5 0,00278 39,33838
data 10 1,64948·10-5 -0,01212 51,7464
data 11 1,46662·10-5 -0,0053 45,28483
data 12 1,49475·10-5 -0,0071 47,87592

Tab 6.6 Tabulka výsledných koeficientů a,b,c



E [-] E [-]
data 5 13,74 data 9 2,792
data 6 15,09 data 10 17,76
data 7 6,434 data 11 23,26
data 8 95,34 data 12 10,98

Tab. 6.7 Tabulka kvadratických odchylek E



Vzorec pro výpočet váhy :

[6.31]

Váhový koeficient vychází z idei, že čím vyšší počáteční výchylka, tím je váha vyšší, ale zároveň musím brát ohled i na odchylku. Proto čím vyšší odchylka, tím menší váha. Mocnina u počáteční byla určena pomocí několika experimentů, při dalším zvyšování mocniny dosahujeme lepší aproximace, ale tak řádově o desetiny, proto nemá smysl zvyšovat dále mocninu. Naopak při snižování mocniny je aproximace horší v řádu jednotek nebo dokonce desítek.

Výsledné koeficienty mocninné rovnice :

výpočet proběhl dle aritmetického průměru vzorce 6.12:

[6.32]



výpočet proběhl dle váhového průměru vzorce 6.13 pro váhu dle vzorce 6.31 :

[6.33]



Z tabulky 6.8 je vidět, že aproximace pomocí váhového průměru je lepší než aritmetický průměr, a to velmi výrazně, asi 2x. Za správné koeficienty a,b,c volím řešení rovnice 6.33.



Eminimální Evahový průměr Earitmetický průměr
data 5 13,743 14,227 9,882
data 6 15,085 29,79 18,796
data 7 6,434 9,501 30,087
data 8 95,338 123,638 95,164
data 9 2,792 34,058 138,1
data 10 17,762 25,832 38,25
data 11 23,256 27,93 118,121
data 12 10,98 10,672 97,406
185,39 275,648 545,806

Tab. 6.8 Tabulka kvadratických odchylek



Grafy pro jednotlivá změřená data a aproximace :

legenda :

naměřená data se zvýrazněnými body

aproximace s koeficienty z rovnice 6.33

aproximace s optimálními koeficienty pro dané měření

















6.3.2. Aproximace křivky pro = f() v intervalu 0, 25



Pro 2 < 25 budeme hledat mocninnou rovnici :

[6.34]

Postupovat budu stejně jako v předcházejícím případě. Budu hledat koeficienty pro < 27,5. Kvadratická odchylku budu počítat pro interval 0 , 27,5.







































1 [-] 1 [-] 2 [-] 2 [-] 3 [-] 3 [-]
data 1 396 40 331 38 7 4
data 2 315 35 149 26 4 1
data 3 402 39 270 33 24 9
data 4 933 52 180 28 8 3
data 5 838 51 660 47 44 14
data 6 930 53 571 45 72 19
data 7 348 38 280 35 42 14
data 8 943 55 352 40 45 16
data 9 953 53 353 38 5 2
data 10 744 51 568 47 96 24
data 11 628 47 376 40 70 20
data 12 627 49 541 47 120 27

Tab. 6.9 Tabulka bodů, pro které se počítají koeficienty a,b,c



koeficient a koeficient b koeficient c
data 1 -5,79281 48,76686 -45,47055
data 2 -3,90538 37,61694 -35,99344
data 3 -2,1752 27,73507 -27,26418
data 4 -3,39777 35,74355 -35,00833
data 5 -2,75416 30,84345 -29,74911
data 6 -2,65566 29,47717 -27,83981
data 7 -3,96853 39,2863 -38,04064
data 8 -3,67811 36,84975 -34,90211
data 9 -3,42409 35,22142 -33,81906
data 10 -3,62131 35,548 -32,99752
data 11 -4,29595 40,41968 -38,25005
data 12 -5,3206 48,36856 -46,31466

Tab. 6.10 Tabulka výsledných koeficientů a,b,c









E [-] E [-] E [-]
data 1 22,92 data 5 17,62 data 9 21,77
data 2 29,53 data 6 31,19 data 10 21,03
data 3 35,34 data 7 19,13 data 11 16,56
data 4 18,87 data 8 13,46 data 12 20,09

Tab. 6.11 Tabulka kvadratických odchylek E



Výsledné koeficienty mocninné rovnice :

výpočet proběhl dle aritmetického průměru vzorce 6.12 :

[6.35]

Vzorec pro výpočet váhy :

[6.36]

V tomto případě zohledňuji do váhového koeficientu pouze odchylky od skutečnosti a to proto, že maximální výchylka je stanovena na = 27,5, tuto maximální výchylku nesplňují pouze data 1 a 2, ale jak je vidět z následující tabulky, výsledky to neovlivní.

Výpočet proběhl dle váhového průměru dle vzorce 6.13 pro váhu dle vzorce 6.36 :

[6.37]

Z tabulky 6.12 je vidět, že aproximace pomocí váhového průměru je lepší než aritmetický průměr. Není to, ale nikterak výrazné, přesto za správné koeficienty a,b,c volím řešení rovnice 6.37.







































Eminimální Evahový průměr Earitmetický průměr
data 1 22,915 42,921 45,021
data 2 29,53 71,441 64,674
data 3 35,34 72,001 67,611
data 4 18,873 50,896 44,47
data 5 17,618 39,058 34,84
data 6 31,189 37,582 36,279
data 7 19,134 24,45 22,245
data 8 13,461 54,5 62,441
data 9 21,771 26,562 24,728
data 10 21,028 62,778 70,527
data 11 16,562 18,595 19,785
data 12 20,091 69,044 77,632
267,512 569,828 570,253

Tab. 6.12 Tabulka kvadratických odchylek

Grafy pro jednotlivá změřená data a aproximace :

legenda :

naměřená data se zvýrazněnými body

aproximace s koeficienty z rovnice 6.37

aproximace s optimálním koeficienty pro dané měření





















Graf aproximované křivky pro = f () s přepnutím pro = 1000 = 25:



6.4. Závislost Timpulzu = f ( požadované , počáteční ) pro akční zásah ve směru pohybu - rozkmit



Hledaná závislost vychází z potřeby řízení kyvadla motorem. Pro dobu trvání pulzu motoru T byla stanovena maximální délka na 700 ms, která vychází z poloviny doby kyvu.

legenda :

měření s Timpulz = 50 ms

měření s Timpulz = 100 ms

měření s Timpulz = 150 ms

měření s Timpulz = 200 ms

měření s Timpulz = 250 ms

měření s Timpulz = 300 ms

měření s Timpulz = 350 ms

měření s Timpulz = 400 ms

měření s Timpulz = 450 ms

měření s Timpulz = 500 ms

měření s Timpulz = 550 ms

měření s Timpulz = 600 ms

měření s Timpulz = 650 ms

měření s Timpulz = 700 ms



Nejprve nalezneme závislost :

[6.38]

Závislost 6.38 hledáme pro všechny změřené Timpulz metodou nejmenších čtverců.

koeficient A koeficient B koeficient A koeficient B
Timpulz = 5 0,906447 24,3892 Timpulz = 40 0,896774 436,658
Timpulz = 10 0,902509 49,4428 Timpulz = 45 0,917536 462,106
Timpulz = 15 0,897886 108,805 Timpulz = 50 0,925333 533,444
Timpulz = 20 0,894176 167,829 Timpulz = 55 0,943769 546,168
Timpulz = 25 0,891739 237,406 Timpulz = 60 0,952043 571,41
Timpulz = 30 0,896652 295,76 Timpulz = 65 0,967616 571,803
Timpulz = 35 0,896842 367,551 Timpulz = 70 0,974867 577,792

Tab. 6.13. Tabulka výsledných koeficientů A, B



Z grafů je vidět, že koeficient A lze aproximovat kvadratickou křivkou :

[6.39]

a koeficient B lze aproximovat přímkou :

[6.40]

Po dosazení rovnic 6.39 a 6..40 do rovnice 6.38 dostaneme :

[6.41]



Vyřešení kvadratické rovnice pro Timpulz :

[6.42]



Po vyhodnocení výsledku řešení kvadratické rovnice je zřejmé, že nelze diskriminant odečítat, neboť by Timpulz byl záporný, což nemá fyzikální význam. Proto rovnice 6.42 platí.

.

6.5. Závislost Timpulzu = f ( požadované , počáteční ) pro akční zásah proti směru pohybu - utlum



Hledaná závislost vychází z potřeby řízení kyvadla motorem. Pro dobu trvání impulzu motoru byla stanovena maximální délka na 400 ms, která vychází z poloviny doby kmitu. Při delším pulzu motoru, utlumení není menší, ale naopak dochází k zvětšování výchylky kyvadla.

legenda :

měření s Timpulz = 50 ms

měření s Timpulz = 100 ms

měření s Timpulz = 150 ms

měření s Timpulz = 200 ms

měření s Timpulz = 250 ms

měření s Timpulz = 300 ms

měření s Timpulz = 350 ms

měření s Timpulz = 400 ms





Nejprve nalezneme závislost :

[6.43]

Závislost 6.43 hledáme pro všechny změřené Timpulzu metodou nejmenších čtverců.



koeficient A koeficient B
Timpulz = 5 0,913023 -69,1026
Timpulz = 10 0,902558 -102,503
Timpulz = 15 0,888364 -142,623
Timpulz = 20 0,883081 -194,783
Timpulz = 25 0,862352 -161,624
Timpulz = 30 0,85339 -150,316
Timpulz = 35 0,82081 -68,3835
Timpulz = 40 0,826141 -56,0916

Tab.6.14. Tabulka výsledných koeficientů A, B







Z grafů je vidět, že koeficient A lze aproximovat kvadratickou křivkou :

[6.44]





a koeficient B lze aproximovat přímkou :

[6.45]

Po dosazení rovnic 6.44 a 6.45 do rovnice 6.43 dostaneme :

[6.47]

Vyřešení kvadratické rovnice pro Timpulz :

[6.48]



Po vyhodnocení výsledku řešení kvadratické rovnice Timpulz - je blíže skutečné naměřené hodnotě než Timpulz +, a proto platí rovnice 6.48.



6.6. Model kyvadla s motorem



Model kyvadla s pohonem vychází z řízení kyvadla motorem pomocí PLC. Program Matlabu je rozdělen na několik nezávislých funkcí, pro lepší orientaci.

V programu jsou použity funkce :

function [plus,minus] = prubeh_rozkmit(T,max_plus)

- počítá maximální kladné a minimální záporné výchylky po impulzu motoru T u rozkmitu

function plus = prubeh_utlum1(max_minus)

- počítá maximální kladnou výchylku pro volný kmit u útlumu

function minus = prubeh_utlum2(T,max_plus)

- počítá minimální zápornou výchylku po impulzu motoru T u útlumu

function T = rozkmit(fi_poz,fi_max)

- počítá velikost impulzu motoru T z požadované výchylky a maximální kladné výchylky pro rozkmit

function T = utlum(fi_poz,fi_max)

- počítá velikost impulzu motoru T z požadované výchylky a maximální kladné výchylky pro útlum

význam jednotlivých proměnných :

rozkmitF - požadovaná hodnota rozkmitání zadávaná ve stupních, poté převedená do jednotek IRC

utlumF - požadovaná hodnota útlumu zadávaná ve stupních, poté převedená do jednotek IRC

delat - určuje co se bude dělat, zda rozkmitávat nebo tlumit

i - počet kroku v cyklu while

t - vektor času v sekundách, za který se simuluje

prep - určuje jestli při útlumu impulz T < 0

fi_plus - vektor maximálních kladných výchylek v jednotkách IRC

fi_minus - vektor minimálních záporných výchylek v jednotkách IRC

T - doba impulzu motoru v 10 ms

prubT - vektor průběhu pulzů motoru T

t_T - vektor času pro zobrazení průběhu T v sekundách

j - čítač cyklu for

prub - vektor průběhu kladných a záporných výchylek ve stupních

roz - vektor požadované hodnoty rozkmitání ve stupních

utl - vektor požadované hodnoty utlumení ve stupních

Výpis programu je uveden i s výpisem jednotlivých funkcí uveden v kapitole 10.10.







6.6.1. Výsledky simulace modelu kyvadla s motorem



Po spuštění simulace s parametry :

rozkmitF = 60

utlumF = 30

Obrázek č. X.. Y grafu průběhu výchylek (t)



legenda :

Průběh výchylek v čase t

Požadovaná hodnota rozkmitF

Požadovaná hodnota utlumF



Obrázek č. X.. Y grafu průběhu pulzu motoru T (t)



legenda :

Pulz motoru o proměnlivé délce T





7. Řízení pohybu kyvadla pomocí PLC TECOMAT 600



7.1. Elektrické zapojení úlohy kyvadlo





7.2. Program pro PLC TECOMAT pro rozkmitání a utlumení kyvadla



7.2.1 Projekt



Projekt pro řízení kyvadla se skládá ze souborů :

kyvadlo.600 - zdrojový soubor programu pro xPRO

kyvadlo.pan - soubor ovládacího panelu pro xPRO



7.2.2. Popis programu kyvadlo.600



Program řídí maximální kladnou výchylku na požadovaných hodnotách pro rozkmit a utlumení. Pro řízení kyvadla z programu xPro je výhodné použít panel xPRO kyvadlo.pan. Po spuštění je nutné zadat hodnoty pro rozkmit a útlum, poté změnit tlačítko start a program začne rozkmitávat kyvadlo, v případě že chceme tlumut stačí přepnout tlačítko delat na tlumení a naopak. Toto lze udělet kdykoliv během chodu programu. V případě změn hodnot rozkmitu nebo útlumu je nutné změnit hodnotu tlačítka start, až poté budou změněné hodnoty akceptovány.

Program má dle obr. 7.3 čtyři vzájemně propojené bloky.

Prvním blokem je inicializace viz obr. 7.4, jedná se o blok kde se nastaví hodnoty bitových proměnných a ustaví nulová poloha kyvadla.Přepínací proměnná Ini se mění mimo program a to buď v ovládacím panelu xPRO, nebo ve vizualizaci pro Reliance. Než se tato proměnná změní, je nutné zadat hodnoty rozkmitu a útlumu.

Druhým blokem je blok rozkmitu, kde je řízení kyvadla pro rozkmit dle obr. 7.5.

Třetím blokem je blok útlumu, kde je řízení kyvadla pro utlumení kyvadla dle obr. 7.6.

Čtvrtý blok je blok pulzu motoru viz. obr. 7.7, jedná se vlastně o časovač IMP, je ho průběh je na obr.7.2, který je aktivní po dobu T od první náběžné hrany a jeho výstupem je proměnná motor.











7.2.3. Proměnné programu kyvadlo.600



Vstupy :



STAT - stavové slovo IRC

STAT.0 = 1 - přetečení maximálního rozsahu odměřování v tomto cyklu

STAT.1 = 1 - podtečení minimálního rozsahu odměřování v tomto cyklu

STAT.2 = 1 - dosažení předvolby pro směr nahoru v tomto cyklu

STAT.3 = 1 - dosažení předvolby pro směr dolů v tomto cyklu

STAT.4 - okamžitý směr pohybu

0 = nahoru (od nižších hodnot k vyšším)

1 = dolů (od vyšších hodnot k nižším)

STAT.5 - příznak režimu vyhledávání referenčního bodu

0 = režim pasivní

1 = režim aktivní

STAT.6 - dosažení předvolby pro směr nahoru

0 = odměřená hodnota pod předvolbou

1 = odměřená hodnota nad předvolbou

Bit se nuluje při přetečení maximálního rozsahu odměřování

STAT.7 - dosažení předvolby pro směr dolů

0 = odměřená hodnota nad předvolbou

1 = odměřená hodnota pod předvolbou

Bit se nuluje při přetečení maximálního rozsahu odměřování



Výstupy :

vychylka -hodnot čítače IRC, okamžitá výchylka kyvadla

CONT -řídící slovo IRC

CONT.0 - režim vyhledávání referenčního bodu.

CONT.1 - reset odměřování

CONT.6 - povolení přerušení od přetečení nebo podtečení rozsahu odměřování

CONT.7 - povolení přerušení od dosažení jedné z předvoleb

predvolba - předvolená hodnota výchylky kyvadla pro směr nahoru

predvolba2 - předvolená hodnota výchylky kyvadla pro směr dolů

motor - zapnutí a vypnutí motoru

rozkmit - hodnota zadávaná uživatelem pro požadovaný rozkmit kyvadla, hodnota se zadává v intervalu 0,90 ve stupních

utlum - hodnota zadávaná uživatelem pro požadovaný útlum kyvadla, hodnota se zadává v intervalu 0,90 ve stupních

casovac - proměnná potřebná pro chod instrukce IMP

prub - počet cyklu po spuštění programu

T - délka pulzu motoru v desítkách milisekund

FI0 - maximální hodnota výchylky kyvadla jako reálná hodnota

delat - určuje zda se má tlumit nebo rozkmitávat

ini - spouští samotný program, dokud je bit 0 kyvadlo stojí

ini2 - inicializační proměnná pro rozkmit

ini3 - inicializační proměnná pro útlum

reset - inicializace resetování výchylky kyvadla

zmena - okamžitá změna pohybu kyvadla na konci kyvu



7.2.4. Srovnání výsledků simulace a výsledků řízení kyvadla



Po spuštění simulace s parametry :

rozkmitF = 60

utlumF = 30

Obrázek č. X.. Y grafu průběhu výchylek (t)



legenda :

Průběh výchylek simulace v čase t

Průběh maximálních a minimálních výchylek v čase t

Požadovaná hodnota rozkmitF

Požadovaná hodnota utlumF







Obrázek č. X.. Y grafu průběhu pulzu motoru T (t)

legenda :

Simulovaný pulz motoru o proměnlivé délce T

Skutečný pulz motoru o proměnlivé délce T





8. Vizualizace



8.1. Účel vizualizace

Důvodem vizualizace technologického procesu je lepší přehled o procesu a to i z nepřístupných míst. Vizualizace umožňuje simulaci procesu a to jak v reálném čase, tak v čase zrychleném nebo naopak zpomalené. Dále lze zacvičit nové pracovníky při simulacích a nebo připravit lidi na kritické situace pomocí jejich simulace, což by v reálu šlo velmi obtížně. Při vizualizaci technologického procesu se dají nastavit různé druhy alarmů a zrušit je může pouze oprávněná osoba. Vizualizace umožňuje také sledovat proces v čase, což v případě havárie může být důležité, protože tím se umožní najít klíčový okamžik havárie.



8.2. Software Reliance



Software Reliance je vizualizačním nástrojem firmy Teco. Je možné budování jednoduchých nebo složitých, komunikačně různorodých celků s možností napojení na další informační systémy. Jednotlivé lokality, které si navzájem vyměňují data i povely, mohou být od se vzdáleny i několik desítek kilometrů. Počítače jsou mezi sebou většinou propojeny počítačovou sítí..



8.2.1. Základní funkce programu



Reliance obsahuje všechny základní funkce obvyklé u systémů

8.2.2. Požadavky na HW a SW



Reliance pracuje pod operačním systémem Windows 95, Windows 98, Windows NT 4.0.

Hardwarové nároky nejsou vysoké, minimální konfigurace je PC 486DX 100MHz s 16 MB RAM. Pro práci na středně velkých projektech, asi 2000 proměných, se doporučuje PC Pentium II 266 Mhz s 64 MB RAM, HD 2 GB, videokarta VGA - AGP. Kompletní instalace zabera asi 30 MB volného místa na disku včetně Runtime.

Dostupné verze Reliance jsou :

Tyto verze dále dělíme na:



8.3. Vytvoření projektu



Nejprve musíme založit nový projekt nebo otevřít již stávající. Pokud chceme vytvořit nový projekt vybereme v menu Soubor položku Nový projekt. V okně zadáme název projektu, případný komentář a vybereme adresář kde se má nový projekt vytvořit. Po inicializaci nového projektu se na obrazovce objeví prázdné okno s názvem "Okno 1". Zde je možné tvořit.



8.4. Spojení PLC - Relianc



Pro další použití je nutné nakonfigurovat Reliance tak, aby spolupracovala s PLC.



8.4.1. Vložení PLC a proměnných do projektu



V Menu Projekt vyberte položku Editor proměnných. Zobrazí se okno, ve kterém

nadefinujte všechny PLC, které budou ve Vašem projektu komunikovány. Nový PLC vložíte

do projektu tak, ze kliknete pravým tlačítkem myši na seznam PLC (nyní je prázdný) v pravé

části okna. V popup menu vyberte volbu Přidat PLC. V seznamu se zobrazí nový objekt

PLC. V levé části okna se objeví parametry.

Vyplňte Název, Adresu a Typ PLC. Ve vyčítaných zónách volbou Přidej nadefinujte zóny,

které budou z PLC automaticky vyčítány. U každé zóny se definuje typ registrů , počáteční

adresa, počet bytů a perioda, se kterou se má zóna z PLC vyčítat. Po vyplnění těchto parametrů stiskněte tlačítko Ulož změny, kterým parametry PLC uložíte do databáze.



8.4.2. Vložení proměnných do projektu



Dvakrát klikněte myší na PLC, pro které chcete definovat proměnné. Zobrazí se seznam všech definovaných proměnných daného PLC (nyní je seznam prázdný). Klikněte pravým tlačítkem a seznam a v zobrazeném popup menu vyberte volbu Přidat proměnnou. V seznamu se zobrazí nová proměnná. Vykřičník před ikonou signalizuje, že její parametry nebyly zatím uloženy do databáze. V levé části okna vyplňte parametry proměnné.

Zadejte Název, Datovou zónu, Typ proměnné a Adresu registru. Důležité je, aby proměnná ležela ve vyčítané zóně PLC. Pokud by tomu tak nebylo, pak by se hodnota této proměnné nevyčítala z PLC a nebyla by tedy aktualizována. Po vyplnění parametrů uložte změny. Parametry se uloží do databáze proměnných a vykřičník vedle ikony proměnné zmizí. Tímto postupem nadefinujte všechny proměnné, se kterými chcete pracovat ve Vašem projektu.



8.4.3. Vytvoření funkčního celku



Pod pojmem funkční celek je myšleno jedno dispečerské stanoviště, které může obsahovat i větší počet PC. Při jednoduchých aplikacích typu jedno PC - několik PLC vytvořte pouze jeden funkční celek.

Funkční celky se definují v okně Editor funkčních celků , které vyvolávají z menu Projekt / Editor funkčních celků. Nový funkční celek vytvoříme tak, že pravým tlačítkem myši kliknete nad ikonou projektu ve "stromu projektu". V popup menu vyberte volbu Přidat Funkční celek. Ve stromu projektu se objeví nový funkční celek. Název a komentář k funkčnímu celku lze editovat v levé části okna.







8.4.4. Definice PC projektu a připojení PLC k PC



Poté co jsme si vytvořili funkční celek, je třeba nadefinovat všechny PC, které do tohoto celku patří a připojit pod ně příslušná PLC.



8.4.4.1. Definice PC



Klikněte pravým tlačítkem myši nad ikonou funkčního celku ve stromu projektu. V popup menu vyberte volbu Přidat PC. Do stromu projektu přibyla ikona Nový počítač spolu se složkami databáze, grafy, tabulkové sestavy a tiskárny. Parametry PC je možné editovat v levé části okna. Zadejte název počítače. Také je možné vybrat, které okno se má po startu runtime objevit na obrazovce jako první.



8.4.4.2. Připojení PLC k PC



Klikněte pravým tlačítkem myši nad ikonou počítače ve stromu projektu. V popup menu vyberte volbu Připojit PLC. Do stromu projektu přibyla pod příslušné PC ikona PLC. Vyberte Název PLC, který je pod tímto PC připojen. Nabízeny jsou PLC, které byly již dříve nadefinovány. Zde se pouze zadá číslo COM portu, komunikační rychlost, kanál PLC a způsob připojení k PC. U každého PLC je možné synchronizovat čas s PC.



8.4.5. Vyčítané zóny



Tyto zóny jsou v runtime režimu vyčítány driverem. Je třeba vyplnit typ registrů, počáteční adresu, délku a interval vyčítání jednotlivých zón. Maximální počet bytů , který je možné zadat v jednom bloku je 200.

Pokud by definované proměnné neležely uvnitř vyčítané zóny, pak by nebyly z PLC aktualizovány.

Offset PLC v souboru MEM udává pozici v souboru, od které jsou uložené obsahy registrů.

Typy registrů :

X vstupy

Y výstupy

S systémové registry

R uživatelské registry



8.4.6. Proměnné



Řídicí program PLC pracuje s binárními a analogovými hodnotami. Používané hodnoty v PLC je možné zobrazovat na PC pomocí vizualizačního programu Reliance. Zobrazované hodnoty na PC se definují jako proměnné, které se vkládají do stromu příslušného PLC



8.4.6.1. Označení proměnných



Nejprve se vyplní název proměnné. Bližší specifikace proměnné se uvede v komentáři. U složitého technologického procesu je možné danou proměnnou technologicky označit. Toto označení pak usnadňuje orientaci dispečera a vazbu na čidlo. Jedná li se o proměnnou fyzikální veličiny, pak je možné této veličině přiřadit jednotky.Tyto jednotky se zobrazí v displeji vpravo od čísla proměnné.







8.4.6.2. Parametry proměnných



Datová zóna např. X ,Y, R, S při komunikaci s PLC typu Tecomat

Typ proměnné :

Adresa registru - kde se daná proměnná bude v PLC nacházet.

Parametry proměnných dále jsou :

8.4.7. Alarmy a meze



Pokud proměnná bude sloužit pro měření důležité veličiny v technologickém procesu, pak je možné vyplnit jednotlivé meze, mezi kterými se má hodnota proměnné pohybovat. Jedná se o horní a dolní varovnou mez a dále o horní a dolní mez kritickou. Výjimku mezi proměnnými jsou binární proměnné, kde hláška může reagovat pouze na náběžnou nebo sestupnou hranu.



8.5. Vytvoření Vizualizace



Program Reliance je objektový program. Na plochu okna se v době návrhu vkládají objekty podle potřeby a nastavují se parametry podle jejich funkce. Objekty se nacházejí na paletě komponent.



8.5.1. Objekt inspektor



Objekt inspektor slouží jako informační pomůcka, ve které se nachází seznam parametrů týkajících

se aktivní komponenty. Skládá se ze tří částí.



8.5.1.1 Vlastnosti



Zde je možné upravovat základní parametry aktivní komponenty, jako jsou poloha na ploše aktivního okna, velikost aktivní komponenty, její výška, šířka, průhlednost, popř . barva podkladu a písma. Dále nabízí informace na jakou proměnnou je tato komponenta přivázána, název komponenty a popř. text, který se v komponentě zobrazuje.



8.5.1.2. Události



Zde se po kliknutí na objekt objeví seznam operací , které se mají po stisknutí tlačítka vykonat. Tato vlastnost však není dosud dostupná.



8.5.2. Objekty



V této části objektu inspektoru se nachází seznam jmen všech komponent, které jsou umístěny v aktuálním okně. Při označení názvu komponenty se tato komponenta v okně aktivuje a tak získáme její základní parametry.



8.5.2.1. Displej



Na displeji se zobrazuje aktuální hodnota proměnné, na kterou je tento displej navázán. Je zde možnost nastavení velikosti displeje, zarovnání, barvy podkladu nebo hodnoty, zobrazení jednotek, povolení zadávání hodnoty, kterou je možné vázat na heslo uživatele.



8.5.2.2. Tlačítko



Tlačítko je velmi často používaným objektem jako ovládací prvek pro binární a analogové hodnoty, ale má i jiné funkce jako např. přepínač oken, spuštění skriptu či aplikace. Dokonce lze tlačítko přeměnit na ikonu, jejíž funkcí může být např. otevření nebo zavření okna, připojení nebo odpojení uživatele, zobrazování grafů atd. Dále lze nastavit: hloubku a barvu orámování, viditelnost tlačítka, stínový text, bitmapová textura, krátká nápověda.

Tlačítko může být definováno ve dvou stavech stav 0 a stav 1. V obou těchto stavech se dá nastavit popis tlačítka, barva tlačítka v daném stavu, druh i barva písma a zarovnání. Dále je možné zvolit bitmapu, která se na tlačítku zobrazí. Zadávání hodnoty je možné vázat heslem a současně hlídat překročení mezí při zadávání.



8.5.2.3. Text



Text je komponenta, která nemá vazbu na proměnnou. Zde se nastavuje pouze druh a barva textu a barva podkladu. Tato komponenta se používá pro tvorbu popisů dalších prvků.



8.5.2.4. Bitmapa



V daném okně zobrazí bitmapu, nezávislou na jakékoliv proměnné. U bitmapy je třeba zvolit zda se objekt přizpůsobí velikosti bitmapy nebo bitmapa velikosti objektu či zda má být zachována původní velikost bitmapy. Dále je možné nastavit transparentní barvu, která zprůhlední barvu v této bitmapě.



8.5.2.5. Orámování



Orámování se využívá hlavně pro oddělení jednotlivých objektů od sebe nebo na tvorbu tabulek.Má pouze estetický charakter.



8.5.2.6. Aktivní text



Používá se pro zobrazení textů v závislosti na hodnotě proměnné. V parametrech se stanoví pouze vazba na proměnnou, popřípadě se dá navolit testovací hodnota pro vyzkoušení jednotlivých stavů aktivního textu. Dynamicky lze volit např. viditelnost, posun ve směru osy X, Y v závislosti na proměnné. Dále je možné nastavovat vlastnosti statické např. černé orámování, šířka rámu, barva rámu, vnější a vnitřní okraj nebo krátká nápověda. V poslední části nastavení aktivního textu se definují jednotlivé texty a hodnoty, při kterých se bude daný text na obrazovce objevovat po spuštění Runtime modulu.



8.5.2.7. Aktivní bitmapa



Aktivní bitmapa patří mezi nejčastěji používané objekty. Slouží k dynamickému zobrazení bitových map v závislosti na hodnotě proměnné. Využívá se pro zobrazení stavu zařízení (klid, chod, otevřeno, zavřeno, atd.) . Ve vazbě na analogové proměnné je možné tento objekt použít i pro zobrazení více stavů (plnění, vyprazdňování, otevírání, zavírání, atd.). Takto lze vytvořit animační efekt - sérii bitových map, které se budou vykreslovat např. v závislosti na procentu otevření klapky. Každá bitmapa může mít nastaveno blikání. Celý objekt může dynamicky měnit svou polohu X a Y v závislosti na hodnotě vybrané proměnné.Další dynamickou vlastností je viditelnost. Lze stanovit i vazbu na poruchovou proměnnou.



8.5.2.8. Animace



Slouží k periodickému zobrazení bitových map. Spouštění animace závisí na hodnotě nastavené proměnné a číselném nastavení spouštěcí hodnoty. Dále lze nastavit rychlost animace milisekundách. Rychlost může být konstantní, nebo závislá na hodnotě proměnné. Nastavuje se zda animace se má přehrávat cyklicky nebo pouze jednou. V dynamických vlastnostech jsou vazby na proměnnou pro viditelnost animace nebo posun v ose X a Y. Lze zvolit jestli se má objekt přizpůsobit velikosti mapy nebo nikoliv.



8.5.2.9. Multimediální přehrávač



Slouží pro přehrávání AVI video sekvencí. Nejprve je třeba nastavit, který soubor se bude přehrávat. Viditelnost může být vázána na proměnnou.



8.5.2.10. Indikátor průběhu

Jedná se o vizualizační prvek, který umožňuje grafické zobrazení aktuální hodnoty proměnné, na kterou je tento indikátor navázán. Vedle obvyklých vlastností barva rámu, podkladu a zobrazované hodnoty se zde nachází nabídka na nastavení technologické a havarijní meze a jejich barevné rozlišení. Indikátor průběhu může zobrazovat hodnotu v horizontální nebo vertikální poloze.



8.5.2.11. Plovoucí graf



Slouží k zobrazování trendů vybraných veličin. Všechny plovoucí grafy se definují globálně v manažeru plovoucích grafů . V parametrech objektu plovoucího grafu se již pouze přiřadí příslušný graf ze seznamu, doplní se některé statické vlastnosti a tím je proces nastavení parametrů kompletní.



8.5.2.12. On-Line diagram



Slouží k diagramovému zobrazení hodnot libovolných proměnných. Pro diagram lze nastavit interval aktualizace hodnot, definovat průběhy a parametry průběhu (typy a barvy průběhu, definice os, definice zdrojů dat atd.).



8.5.2.13. Potrubí



Komponenta pro snadnou tvorbu statického nebo dynamického zobrazení potrubí v závislosti na hodnotě proměnné. Pro komponentu lze definovat základní parametry (tvar, šířka, počet segmentů, okraje, oblé zakončení pro kreslení nádrží, atd.). V závislosti na hodnotě proměnné, lze dynamicky měnit barvu potrubí.



8.5.2.14. Rádiová tlačítka



Komponenta pro indikaci a nastavení jedinečné hodnoty z více možných hodnot. Komponenta může být navázána na jednu proměnnou (typu Byte nebo Word), pro kterou se nastavují hodnoty jednotlivých rádiových tlačítek, nebo každému rádiovému tlačítku může být přiřazena samostatná řídící proměnná (typu Bool).



8.6. Vizualizace kyvadla



Pro vizualizaci jsem použil pouze tyto proměnné :

stat.4 směr pohybu kyvadla - část stavového slova IRC

start v programu Kyvadlo.600 je nazvána jako ini, slouží k inicializaci vstupních hodnot

delat co se má dělat, zda tlumit či rozkmitat

vychylka výchylka kyvadla, výstup z IRC

predvolba požadovaná výchylka, vstup IRC

tlumit zadávaná požadovaná výchylka pro útlum

rozkmit zadávaná požadovaná výchylka pro rozkmit

T délka pulzu motoru















































8.6.1. Návrh vizualizace





8.6.2. Řízení kyvadla pomocí vizualizace













9. Závěr



Cílem mé diplomové práce bylo nelineární řízení kyvadla pomocí stejnosměrného motoru. Při řešení daného problému bylo nutné nejprve změřit chování dané soustavy a poté sestavit model řízení.

Při měření jsem použi dostupné prostředky, to jest IRC 202/3600 a PLC a soustavu. Mým cílem bylo změřit chování kyvadla při volném kývání, chování kyvadla na pulz motoru proměnné délky ve směru a proti směru kývání z různých počátečních výchylek. Toto je detailně popsáno v kapitole č.

Pro stanovení a simulaci modelu jsem použil program Matlab. Matematický model samotného volného kyvadla je v mém případě složen ze dvou systémů a to systému s podkritickým tlumením a systému s tlumením Coulombovým třením. Tyto systémy jsou odděleny hranicí = 25. Parametry systému s podkritickým tlumením jsem dostal z průběhu maximálních výchylek v čase (t), což je exponenciela. Pro systém s tlumením Coulombovým třením jsem vyšel z předpokladu, že systém se musí utlumit při konstantním počtu kyvu, které jsem znal z měření a pro počáteční výchylku počáteční = 25. Jeho neshody se skutečným průběhem jsou dány matematickým řešením, protože systém je považován za utlumený pokud jeho maximální výchylka + je blízká nule. Což v našem případě činí potíže.

Pro aplikaci řízení, jsem šel cestou hledání závislosti délky pulzu motoru na počáteční a žádané výchylce T = f (počáteční, žádané), jak pro utlumení tak pro rozkmit. Vyšel jsme z toho, že akční zásah motoru bude vždy maximální a tím se bude měnit jenom jeho doba trvání. Tato závislost mohla být pouze kvadratická jak vyplívá z kapitoly 6.3 a 6.4.

Při sestavování řízení kyvadla vznikly určité potíže s IRC 202/3600, které byli odstraněny až v prosinci. Z toho důvodu není program pro řízení kyvadla optimální, ale je funkční. Je řešen ze samostatných bloku, aby bylo jednoduché je měnit, či jinak propojit. Při řízení systému kyvadla jsem se zaměřil na řízení maximální kladné výchylky pro rozkmitání na žádanou veličinu a udržení této hodnoty po libovolně dlouhou dobu. Po té je zde možnost přejít z rozkmitání na utlumení maximální kladné výchylky kyvadla n a požadovanou hodnotu. Kyvadlo je na ní utlumeno a poté přejde na režim rozkmitání a udrženo na požadované hodnotě pro utlumení po libovolně dlouhou dobu. Pro simulaci bylo nejprve počítáno s větším maximálním pulzem motoru T pro rozkmit, ale v praxi se tak velké pulzy ukázaly jako nevhodné z důvodů nesprávné funkce programu. Vše se vyřešilo snížením maximálních hodnot pulzu motoru. Na další aplikace bohužel již nezbyl pro výše zmíněné důvody

Doufám, že v na moji práci bude v budoucnu navázáno dalšími aplikacemi..





10. Přílohy



10.1. Výsledky měření výchylky volného kyvadla v čase t



měřená data 1



+ [1] - [1] t+ [ms] t- [ms] [1]
614 -570 0,00 0,73 44
540 -496 1,46 2,20 44
466 -423 2,93 3,66 43
396 -356 4,39 5,11 40
331 -293 5,84 6,58 38
271 -236 7,30 8,03 35
216 -184 8,75 9,47 32
166 -133 10,19 10,91 33
121 -94 11,62 12,35 27
81 -58 13,05 13,76 23
48 -31 14,47 15,13 17
26 -15 15,83 16,49 11
13 -7 17,16 17,76 6
7 -3 18,39 19,01 4
3 0 19,66 20,24 3










měřená data 2



+ [1] - [1] t+ [ms] t- [ms] [1]
674 -631 0,00 0,74 43
598 -554 1,47 2,20 44
522 -480 2,93 3,66 42
449 -409 4,39 5,12 40
380 -342 5,84 6,58 38
315 -280 7,31 8,03 35
255 -220 8,75 9,49 35
199 -170 10,21 10,93 29
149 -123 11,65 12,36 26
104 -82 13,09 13,80 22
66 -47 14,51 15,21 19
37 -25 15,89 16,55 12
20 -12 17,24 17,91 8
10 -7 18,50 19,14 3
4 -3 19,79 20,39 1
1 0 21,00 21,70 1
0 -1 22,28 22,53 -1


















měřená data 3



+ [1] - [1] t+ [ms] t- [ms] [1]
1214 -1148 0,00 0,93 66
1098 -1039 1,67 2,42 59
993 -936 3,15 3,89 57
894 -842 4,63 5,37 52
802 -753 6,11 6,84 49
715 -668 7,58 8,31 47
632 -587 9,04 9,77 45
552 -509 10,51 11,24 43
475 -434 11,97 12,70 41
402 -363 13,43 14,16 39
333 -298 14,89 15,61 35
270 -237 16,34 17,06 33
212 -182 17,79 18,51 30
161 -133 19,22 19,95 28
114 -90 20,68 21,39 24
74 -55 22,10 22,77 19
43 -29 23,49 24,16 14
24 -15 24,82 25,51 9
12 -8 26,13 26,78 4
5 -4 27,44 28,01 1
2 -1 28,62 29,24 1


měřená data 4



+ [1] - [1] t+ [ms] t- [ms] [1]
1260 -1195 0,00 0,74 65
1142 -1083 1,49 2,23 59
1035 -979 2,97 3,71 56
933 -881 4,45 5,18 52
839 -789 5,92 6,65 50
749 -702 7,39 8,12 47
665 -619 8,86 9,59 46
583 -539 10,33 11,06 44
505 -463 11,79 12,52 42
430 -390 13,25 13,98 40
360 -323 14,70 15,43 37
294 -261 16,16 16,88 33
235 -203 17,60 18,34 32
180 -152 19,06 19,77 28
132 -106 20,48 21,22 26
89 -68 21,92 22,61 21
54 -38 23,34 24,01 16
30 -20 24,68 25,34 10
15 -10 26,05 26,63 5
8 -5 27,27 27,90 3
3 -2 28,51 29,07 1
0 0 29,78 30,22 0














měřená data 5



+ [1] - [1] t+ [ms] t- [ms] [1]
1812 -1725 0,00 0,78 87
1652 -1576 1,53 2,28 76
1511 -1440 3,04 3,79 71
1381 -1313 4,54 5,29 68
1258 -1195 6,03 6,78 63
1144 -1084 7,52 8,26 60
1035 -979 9,00 9,74 56
933 -880 10,48 11,21 53
838 -787 11,94 12,68 51
746 -698 13,42 14,16 48
660 -613 14,88 15,63 47
576 -532 16,35 17,08 44
495 -453 17,82 18,55 42
418 -379 19,28 20,01 39
346 -310 20,73 21,45 36
280 -245 22,18 22,91 35
218 -187 23,64 24,36 31
164 -136 25,07 25,80 28
116 -92 26,51 27,23 24
75 -56 27,94 28,63 19
44 -30 29,32 30,00 14
24 -16 30,68 31,32 8
12 -8 31,97 32,63 4
5 -4 33,27 33,87 1
1 -1 34,54 35,09 0










měřená data 6



+ [1] - [1] t+ [ms] t- [ms] [1]
1816 -1728 0,00 0,76 88
1656 -1578 1,52 2,27 78
1513 -1441 3,03 3,78 72
1381 -1314 4,52 5,27 67
1256 -1193 6,02 6,76 63
1143 -1081 7,50 8,25 62
1034 -976 8,98 9,72 58
930 -877 10,46 11,20 53
832 -783 11,93 12,67 49
741 -693 13,41 14,14 48
654 -608 14,88 15,61 46
571 -526 16,34 17,07 45
490 -447 17,80 18,53 43
413 -373 19,26 19,98 40
340 -302 20,71 21,45 38
273 -238 22,17 22,90 35
213 -181 23,61 24,34 32
159 -131 25,05 25,77 28
112 -88 26,49 27,20 24
72 -53 27,92 28,60 19
42 -28 29,30 29,97 14
23 -14 30,64 31,32 9
11 -7 31,96 32,61 4
5 -3 33,22 33,84 2
1 0 34,49 35,13 1

měřená data 7



+ [1] - [1] t+ [ms] t- [ms] [1]
2409 -2292 0 0,82 117
2191 -2088 1,59 2,37 103
1999 -1906 3,14 3,90 93
1825 -1741 4,67 5,43 84
1669 -1591 6,18 6,94 78
1528 -1455 7,69 8,44 73
1395 -1328 9,19 9,93 67
1272 -1208 10,68 11,43 64
1152 -1094 12,17 12,91 58
1043 -988 13,65 14,39 55
940 -887 15,13 15,87 53
843 -793 16,60 17,34 50
751 -703 18,08 18,81 48
664 -617 19,54 20,28 47
580 -535 21,01 21,74 45
499 -456 22,47 23,20 43
421 -381 23,93 24,65 40
348 -310 25,39 26,11 38
280 -245 26,84 27,56 35
218 -186 28,29 29,01 32
163 -134 29,72 30,45 29
114 -90 31,17 31,88 24
74 -54 32,57 33,27 20
42 -28 33,98 34,66 14
23 -15 35,33 35,96 8
11 -8 36,65 37,24 3
5 -4 37,90 38,45 1

měřená data 8



+ [1] - [1] t+ [ms] t- [ms] [1]
2409 -2291 0,00 0,79 118
2193 -2085 1,60 2,34 108
2001 -1902 3,11 3,87 99
1826 -1738 4,63 5,39 88
1669 -1588 6,15 6,91 81
1516 -1451 7,66 8,41 65
1394 -1325 9,16 9,90 69
1270 -1205 10,65 11,4 65
1154 -1093 12,14 12,88 61
1046 -988 13,62 14,36 58
943 -888 15,09 15,83 55
847 -794 16,57 17,31 53
756 -705 18,04 18,78 51
669 -620 19,51 20,24 49
585 -538 20,94 21,70 47
503 -458 22,44 23,17 45
426 -383 23,89 24,62 43
352 -312 25,35 26,08 40
284 -247 26,81 27,53 37
222 -188 28,25 28,98 34
166 -136 29,70 30,42 30
117 -91 31,14 31,85 26
77 -55 32,54 33,25 22
45 -29 33,94 34,61 16
25 -14 35,29 35,98 11
12 -7 36,64 37,25 5
6 -3 37,89 38,46 3
1 -1 39,18 39,67 0
-1 0 40,46 40,66 -1


2 0 39,15 39,69 2
0 -1 40,43 40,66 -1

měřená data 9



+ [1] - [1] t+ [ms] t- [ms] [1]
2997 -2841 0 0,82 156
2702 -2567 1,62 2,42 135
2451 -2331 3,21 3,99 120
2229 -2123 4,77 5,55 106
2031 -1936 6,32 7,08 95
1853 -1767 7,85 8,61 86
1692 -1614 9,37 10,12 78
1547 -1475 10,87 11,62 72
1412 -1345 12,37 13,12 67
1287 -1224 13,87 14,61 63
1169 -1110 15,36 16,10 59
1058 -1002 16,84 17,58 56
953 -900 18,32 19,05 53
854 -803 19,79 20,53 51
761 -713 21,27 21,99 48
673 -626 22,73 23,47 47
588 -543 24,19 24,92 45
506 -462 25,66 26,39 44
427 -386 27,12 27,85 41
353 -315 28,57 29,30 38
284 -250 30,02 30,74 34
221 -189 31,48 32,19 32
165 -136 32,91 33,64 29


měřená data 10



+ [1] - [1] t+ [ms] t- [ms] [1]
3002 -2838 0 0,84 164
2698 -2561 1,65 2,44 137
2442 -2321 3,23 4,02 121
2219 -2111 4,79 5,57 108
2020 -1925 6,32 7,10 95
1839 -1755 7,87 8,63 84
1677 -1601 9,39 10,14 76
1532 -1462 10,89 11,64 70
1397 -1330 12,39 13,14 67
1271 -1208 13,88 14,63 63
1153 -1093 15,36 16,12 60
1041 -984 16,85 17,59 57
936 -882 18,33 19,07 54
838 -785 19,80 20,54 53
744 -693 21,27 22,01 51
654 -606 22,75 23,48 48
568 -521 24,21 24,94 47
485 -440 25,67 26,40 45
404 -364 27,13 27,85 40
332 -293 28,58 29,30 39
264 -226 30,02 30,76 38
201 -167 31,47 32,20 34
145 -116 32,91 33,62 29


116 -91 34,34 35,07 25
75 -55 35,76 36,46 20
43 -29 37,16 37,83 14
23 -15 38,53 39,17 8
11 -8 39,84 40,45 3
5 -3 41,10 41,75 2
1 -1 42,36 42,87 0


96 -72 34,35 35,05 24
58 -39 35,75 36,43 19
31 -19 37,09 37,76 12
16 -8 38,41 39,07 8
8 -4 39,65 40,24 4
3 0 40,88 41,50 3


měřená data 11



+ [1] - [1] t+ [ms] t- [ms] [1]
3612 -3392 0,00 0,86 220
3206 -3030 1,71 2,53 176
2882 -2731 3,34 4,15 151
2605 -2475 4,95 5,74 130
2367 -2252 6,53 7,31 115
2156 -2054 8,08 8,85 102
1967 -1874 9,62 10,39 93
1795 -1712 11,15 11,91 83
1641 -1565 12,66 13,42 76
1498 -1428 14,17 14,92 70
1367 -1301 15,67 16,42 66
1243 -1181 17,16 17,91 62
1125 -1068 18,65 19,38 57
1015 -960 20,12 20,87 55
910 -859 21,60 22,33 51
812 -762 23,07 23,81 50
718 -670 24,54 25,27 48
628 -581 26,01 26,75 47


měřená data 12

+ [1] - [1] t+ [ms] t- [ms] [1]
3618 -3401 0,00 0,87 217
3218 -3037 1,71 2,53 181
2889 -2736 3,35 4,15 153
2610 -2478 4,96 5,75 132
2369 -2254 6,53 7,31 115
2156 -2055 8,09 8,86 101
1966 -1875 9,63 10,39 91
1794 -1712 11,16 11,91 82
1639 -1563 12,67 13,42

76

1496

-1425 14,17 14,92 71
1363 -1297 15,67 16,42 66
1239 -1176 17,16 17,91 63
1122 -1063 18,64 19,39 59
1011 -955 20,13 20,87 56
906 -854 21,60 22,34 52
809 -758 23,08 23,81 51
716 -667 24,55 25,28 49
627 -578 26,01 26,75 49
540 -496 27,48 28,20 44
456 -414 28,94 29,66 42
376 -336 30,40 31,12 40
302 -265 31,84 32,57 37
233 -199 33,30 34,02 34
171 -140 34,73 35,45 31
116 -90 36,17 36,88 26
70 -50 37,59 38,26 20
36 -23 38,96 39,64 13
17 -10 40,29 40,92 7
7 -5 41,52 42,08 2
2 -1 42,67 43,30 1
0 0 43,99 44,19 0





















































541 -494 27,48 28,20 47
458 -413 28,94 29,67 45
379 -337 30,39 31,12 42
305 -266 31,84 32,57 39
237 -200 33,30 34,02 37
174 -142 34,74 35,46 32
120 -93 36,18 36,88 27
74 -52 37,60 38,29 22
39 -25 38,97 39,63 14
19 -11 40,29 40,93 8
8 -5 41,56 42,17 3
3 -1 42,75 43,38 2
0 0 43,94 44,31 0

10.2. Výsledky měření výchylky kyvadla na akční zásah při počáteční = 0



měření pro Tinpulz = 5 ms

pokus č. + [1] - [1]
1 50 -36
2 46 -33
3 47 -33
4 55 -40
5 43 -30
48 -34


měření pro Tinpulz = 10 ms



pokus č. + [1] - [1]
1 127 -103
2 119 -95
3 123 -104
4 116 -97
5 123 -102
122 -100

měření pro Tinpulz = 15 ms



pokus č. + [1] - [1]
1 202 -175
2 192 -165
3 198 -171
4 202 -176
5 199 -173
199 -172


měření pro Tinpulz = 20 ms



pokus č. + [1] - [1]
1 269 -242
2 264 -239
3 259 -234
4 266 -241
5 268 -242
265 -240


měření pro Tinpulz = 25 ms



pokus č. + [1] - [1]
1 330 -300
2 332 -303
3 328 -299
4 325 -296
5 328 -297
329 -299


měření pro Tinpulz = 30 ms



pokus č. + [1] - [1]
1 383 -351
2 388 -359
3 383 -352
4 382 -351
5 384 -356
384 -354

měření pro Tinpulz = 35 ms



pokus č. + [1] - [1]
1 406 -380
2 405 -378
3 405 -379
4 406 -380
5 403 -377
405 -379


měření pro Tinpulz = 40 ms



pokus č. + [1] - [1]
1 481 -455
2 488 -454
3 493 -457
4 491 -458
5 492 457
489 -273


měření pro Tinpulz = 45 ms

pokus č. + [1] - [1]
1 493 -462
2 492 -454
3 489 -459
4 494 -464
5 492 -463
492 -460


měření pro Tinpulz = 50 ms



pokus č. + [1] - [1]
1 575 -537
2 571 -532
3 572 -534
4 567 -529
5 572 -534
571 -533






měření pro Tinpulz = 55 ms



pokus č. + [1] - [1]
1 554 -523
2 556 -526
3 558 -518
4 557 -526
5 560 -529
557 -524


měření pro Tinpulz = 60 ms



pokus č. + [1] - [1]
1 619 -580
2 619 -580
3 619 -580
4 619 -580
5 620 -582
619 -580

měření pro Tinpulz = 65 ms



pokus č. + [1] - [1]
1 634 -595
2 637 -600
3 638 -598
4 638 -598
5 635 -595
636 -597




měření pro Tinpulz = 70 ms



pokus č. + [1] - [1]
1 646 -606
2 648 -608
3 646 -605
4 649 -604
5 644 -603
647 -605


10.3. Výsledky měření výchylky kyvadla na akční zásah ve směru pohybu - rozkmit při různých počáteční



měření pro Timpulz = 5 ms



počáteční [1] + [1] - [1]
0 48 -34
343 315 -315
644 594 -609
967 898 -924
1170 1088 -1121
1573 1465 -1510
1795 1673 -1724
2136 1984 -2049
2441 2234 -2310
2722 2506 -2603
3061 2799 -2918
3260 2971 -3113
3561 3224 -3356


měření pro Timpulz = 10 ms



počáteční [1] + [1] - [1]
0 122 -100
357 358 -329
563 541 -524
867 829 -820
904 863 -855
1235 1167 -1178
1417 1336 -1353
1785 1671 -1705
2146 2005 -2051
2303 2144 -2203
2619 2430 -2502
2967 2731 -2827
3386 3095 -3177
3625 3290 -3403




měření pro Timpulz = 15 ms



počáteční [1] + [1] - [1]
0 199 -172
358 409 -329
571 607 -537
907 920 -864
1236 1219 -1184
1502 1463 -1439
1846 1782 -1771
2073 1992 -1988
2403 2290 -2302
2665 2524 -2552
3062 2857 -2920
3271 3038 -3092
3645 3340 -3546


měření pro Timpulz = 20 ms



počáteční [1] + [1] - [1]
0 265 -240
352 474 -324
479 574 -449
953 1019 -912
1356 1378 -1301
1536 1544 -1474
1778 1773 -1705
2081 2050 -1994
2371 2310 -2276
2678 2575 -2558
2981 2836 -2841
3320 3124 -3150
3663 3413 -3477


měření pro Timpulz = 25 ms



počáteční [1] + [1] - [1]
0 329 -299
350 538 -323
557 716 -523
921 1056 -878
1243 1349 -1191
1490 1569 -1431
1840 1893 -1756
2166 2187 -2078
2386 2385 -2285
2731 2683 -2611
2991 2905 -2855
3311 3188 -3149
3641 3449 -3439


měření pro Timpulz = 30 ms



počáteční [1] + [1] - [1]
0 384 -354
362 612 -323
488 715 -457
674 900 -637
756 982 -695
802 1012 -760
900 1090 -856
1167 1343 -1101
1453 1609 -1385
1587 1726 -1522
1714 1837 -1633
2137 2231 -2049
2405 2467 -2304
2628 2663 -2500
2965 2954 -2826
3299 3251 -3034
3622 3513 -3409




měření pro Timpulz = 35 ms



počáteční [1] + [1] - [1]
0 405 -379
358 677 -331
599 889 -565
884 1152 -843
1134 1385 -1086
1477 1704 -1417
1835 2022 -1769
2163 2313 -2075
2415 2557 -2316
2651 2767 -2537
3032 3103 -2889
3259 3283 -3100
3658 3603 -3447


měření pro Timpulz = 40 ms



počáteční [1] + [1] - [1]
0 489 -273
316 701 -289
656 1011 -621
990 1310 -945
1237 1542 -1186
1433 1728 -1376
1895 2154 -1821
2105 2348 -2020
2406 2623 -2308
2718 2887 -2600
2967 3118 -2831
3326 3427 -3159
3765 3747 -3506




měření pro Timpulz = 45 ms



počáteční [1] + [1] - [1]
0 492 -460
321 767 -293
672 1060 -630
860 1244 -818
1224 1581 -1174
1318 1661 -1264
1546 1883 -1474
1721 2045 -1652
2179 2472 -2077
2352 2640 -2253
2759 3007 -2640
2954 3190 -2820
3236 3428 -3090
3625 3754 3348


měření pro Timpulz = 50 ms



počáteční [1] + [1] - [1]
0 571 -533
322 806 -576
621 1096 -872
926 1393 -1195
1257 1697 -1400
1469 1904 -1792
1875 2289 -2053
2145 2529 -2263
2367 2741 -2263
2740 3076 -2614
2963 3284 -2822
3373 3658 -3199
3537 3796 -3283
3683 3907 -3450


měření pro Timpulz = 55 ms



počáteční [1] + [1] - [1]
0 557 -524
314 840 -287
616 1116 -573
931 1423 -887
1256 1729 -1201
1547 1998 -1483
1783 2232 -1711
2196 2618 -2107
2440 2909 -2401
2624 3023 -2412
3084 3451 -2938
3264 3624 -3104
3580 3897 -3344


měření pro Timpulz = 60 ms



počáteční [1] + [1] - [1]
0 619 -580
313 855 -284
606 1138 -569
941 1473 -896
1249 1766 -1193
1440 1939 -1380
1799 2287 -1726
2187 2661 -2097
2341 2814 -2243
2634 3099 -2520
2929 3371 -2796
3402 3799 -3215
3595 3967 -3331


měření pro Timpulz = 65 ms



počáteční [1] + [1] - [1]
0 636 -597
329 870 -305
562 1111 -531
934 1483 -892
1244 1779 -1192
1588 2117 -1526
1821 2337 -1750
2125 2629 -2041
2402 2911 -2304
2718 3203 -2594
2949 3436 -2815
3340 3809 -3182
3600 4024 -3410


měření pro Timpulz = 70 ms



počáteční [1] + [1] - [1]
0 647 -605
911 1462 -856
1182 1720 -1124
1485 2023 -1427
1775 2307 -2707
2083 2615 -2001
2350 2876 -2255
2729 3254 -2612
3053 3562 -2912
3281 3786 -3120
3668 4124 -3459




10.4. Výsledky měření výchylky kyvadla na akční zásah proti pohybu - útlum při různých počáteční



měření pro Timpulz = 5 ms



počáteční [1] + [1] - [1]
303 185 -212
555 427 -461
859 703 -745
1149 981 -1028
1517 1345 -1394
1782 1563 -1640
2080 1854 -1919
2455 2197 -2280
2626 2344 -2447
3023 2690 -2815
3352 2960 -3107
3429 3040 -3176


měření pro Timpulz = 10 ms



počáteční [1] + [1] - [1]
296 144 -167
573 400 -432
899 708 -746
1283 1064 -1114
1555 1305 -1361
1730 1477 -1537
2183 1883 -2960
2497 2170 -2216
2667 2316 -2411
2998 2609 -2725
3219 2798 -2909
3570 3079 -3220


měření pro Timpulz = 15 ms



počáteční [1] + [1] - [1]
375 162 -193
653 418 -452
949 695 -734
1223 937 -982
1588 1283 -1339
1861 1536 -1600
2129 1778 -1852
2387 2013 -2076
2644 2223 -2284
2998 2521 -2633
3274 2753 -2848
3769 3157 -3226




měření pro Timpulz = 20 ms



počáteční [1] + [1] - [1]
288 96 -102
418 160 -191
659 355 -388
912 590 -627
1200 849 -890
1541 1169 -1224
1829 1441 -1502
2078 1656 -1726
2335 1886 -1966
2626 2141 -2234
3080 2537 -2651
3352 2755 -2883
3604 2957 -3082




měření pro Timpulz = 25 ms



počáteční [1] + [1] - [1]
278 146 -73
579 304 -327
911 585 -616
1253 890 -929
1494 1115 -1160
1817 1405 -1459
2065 1626 -1689
2386 1924 -1998
2661 2152 -2237
3064 2496 -2601
3235 2631 -2745
3690 2994 -3135

měření pro Timpulz = 30 ms



počáteční [1] + [1] - [1]
345 204 -145
694 413 -424
876 559 -574
1215 851 -889
1468 1084 -1127
1807 1382 -435
2158 1700 -1762
2346 1869 -1941
2740 2207 -2298
3075 2478 -2582
3250 2624 -2736
3575 2896 -3008


měření pro Timpulz = 35 ms



počáteční [1] + [1] - [1]
336 263 -141
607 383 -357
920 628 -635
1211 861 -889
1476 1096 -1136
1781 1372 -1409
2136 1680 -1743
2422 1929 -2002
2709 2176 -2262
3033 2437 -2540
3368 2714 -2833
3687 2969 -3064

měření pro Timpulz = 40 ms



počáteční [1] + [1] - [1]
344 325 -149
568 415 -324
907 674 -621
1142 836 -831
1486 1135 -1151
1811 1415 -1448
2080 1646 -1692
2486 2007 -2069
2774 2315 -2396
2955 2387 -2478
3334 2700 -2810
3528 2843 -2951


10.5. Výpis programu pro PLC Tecomat - měření průběhu výchylky volného kyvadla



#program zmer



;mereni prubehu krajnich vychelek v case pri pocatecni vychylce

;panel ZMER4.PAN



#unit 0,0,IRC_600,X2,Y2,On

#unit 0, 0, Digit_500, 2, 2, X0, Y0, On



;*****defnice jmen vstupu a vystupu****

#def STAT X2 ;stavove slovo IRC

#def CONT Y2 ;ridici slovo IRC

#def vychylka Xw3 ;hodnota citace kyvadla

#def predvolba Yw3 ;predvolba pro smer nahoru

#def predvolba2 Yw7 ;predvolba pro smer dolu

#def motor Y0.4 ;1 - zapina motor 0 - stop motoru

#def cas_m S5

#def cas_s S6

#def limit 100

#reg bit ini2,ini,stop,zvys,tlac

#table byte tab_casps=0,1,2,3,4, 5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36 ,37,38,39,40

#table byte tab_caspm=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,37,38,39,40

#table byte tab_casks=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,3 0,31,32,33,34,35,36,37,38,39,40

#table byte tab_caskm=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27 ,28,29,30,31,32,33,34,35,36,37,38,39,40

#table word tab_vychp=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,37,38,39,40

#table word tab_vychk=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27 ,28,29,30,31,32,33,34,35,36,37,38,39,40

#reg word index,index2,index3,index4,index5,index6

#reg word vysledek3,vysledek6,casovac,konst

#reg byte vysledek,vysledek2,vysledek4,vysledek5













P 0

LD ini2

JMD dal

LD 1

WR CONT.1

WR ini2

dal:

LD stop

JMD cti

LD STAT.4

ANC ini

JMD pocatek

LDC STAT.4

AND ini

JMD koncov

JMP konec

cti:

LD index

LTB tab_caspm

WR vysledek

LD index2

LTB tab_casps

WR vysledek2

LD index3

LTB tab_vychp

WR vysledek3

LD index4

LTB tab_caskm

WR vysledek4

LD index5

LTB tab_casks

WR vysledek5

LD index6

LTB tab_vychk

WR vysledek6 LD zvys

JMC konec

LD index

sub 1

WR index

LD index2

sub 1

WR index2

LD index3

sub 1

WR index3

LD index4

sub 1

WR index4

LD index5

sub 1

WR index5

LD index6

sub 1

WR index6

LD 0

WR zvys

JMP konec

pocatek:

LD index

LD cas_m

WTB tab_caspm

LD index2

LD cas_s

WTB tab_casps

LD index3

LD vychylka

WTB tab_vychp

LD index

ADD 1

WR index

LD index2

ADD 1

WR index2

LD index3

ADD 1

WR index3

LD 1

WR ini

JMP konec

koncov:

LD index4

LD cas_m

WTB tab_caskm

LD index5

LD cas_s

WTB tab_casks

LD index6

LD vychylka

WTB tab_vychk LD index4

ADD 1

WR index4

LD index5

ADD 1

WR index5

LD index6

ADD 1

WR index6

LD 0

WR ini

konec:

E 0

10.6. Výpis programu pro PLC Tecomat naměření výchylky kyvadla při počáteční = 0 na akční zásah



#program mereni



;mereni dvou krajnich vychylek pri pocatecnim impulzu motoru panel ZMER.PAN



#unit 0,0,IRC_600,X2,Y2,On

#unit 0, 0, Digit_500, 2, 2, X0, Y0, On



;*****defnice jmen vstupu a vystupu****

#def STAT X2 ;stavove slovo IRC

#def CONT Y2 ;ridici slovo IRC

#def vychylka Xw3 ;hodnota citace kyvadla

#def predvolba Yw3 ;predvolba pro smer nahoru

#def predvolba2 Yw7 ;predvolba pro smer dolu

#def motor Y0.4 ;1 - zapina motor 0 - stop motoru

#def cas_m S5

#def cas_s S6

#reg bit ini,tlac,zmen,reset,ini2,prid

#reg byte cas_ps,cas_pm,cas_ks,cas_km,cas_ppm,cas_pps

#reg word casovac,vychp,vychm,konst



P 0

LD reset

JMD res

LD prid

JMD zvys

LD ini

JMD start

LD 1

WR CONT.1

WR ini

start:

LD tlac

LD konst

IMP casovac.0

WR motor

LD tlac

JMC konec

LD cas_ppm

EQ 0

JMC pok

LD cas_m

WR cas_ppm

LD cas_s

WR cas_pps

pok:

LD STAT.4

ANC zmen

JMD odec

LDC STAT.4

AND zmen

JMD odec2

JMP konec

odec:

LD vychylka

WR vychp

LD cas_m

WR cas_pm

LD cas_s

WR cas_ps

LD 1

WR zmen

JMP konec

odec2:

LD vychylka

WR vychm

LD cas_m

WR cas_km

LD cas_s

WR cas_ks

LD 0

WR zmen

JMP konec

res:

LD 0

WR CONT.1

WR tlac

WR ini

WR reset

WR cas_ppm

WR cas_pps

WR cas_pm

WR cas_ps

WR cas_km

WR cas_ks

WR vychp

WR vychm

JMP konec

zvys:

LD konst

ADD 1

WR konst

LD 0

WR prid

konec:

E 0



10.7. Výpis programu pro PLC Tecomat naměření výchylky kyvadla při počáteční 0 na souhlasný akční zásah



#program mereni

;mereni dvou krajnich vychylek pri pocatecni vychylce a pote v krajni poloze impulzu ;motoru panel ZMER2.PAN



#unit 0,0,IRC_600,X2,Y2,On

#unit 0, 0, Digit_500, 2, 2, X0, Y0, On

;*****defnice jmen vstupu a vystupu****

#def STAT X2 ;stavove slovo IRC

#def CONT Y2 ;ridici slovo IRC

#def vychylka Xw3 ;hodnota citace kyvadla

#def predvolba Yw3 ;predvolba pro smer nahoru

#def predvolba2 Yw7 ;predvolba pro smer dolu

#def motor Y0.4 ;1 - zapina motor 0 - stop motoru

#def cas_m S5

#def cas_s S6

#reg bit ini,tlac,prac,byl,reset,zmen

#reg byte cas_ppm,cas_pps,cas_pm,cas_ps,cas_km,cas_ks

#reg word casovac,konst

#reg word vych_k,vych_p,vych_poc



P 0

LD reset

JMD res

LD ini

JMD start

WRC CONT.1

WRC ini

start:

LD tlac

WR motor

LD prac

JMC konec LD STAT.4

ANC zmen

JMD odec

LD byl

JMC konec

LDC STAT.4

LD konst

IMP casovac

WR motor

LDC STAT.4

AND zmen

JMD odec3

JMP konec

odec:

LD byl

JMD odec2

LD vychylka

WR vych_poc

LD cas_s

WR cas_pps

LD cas_m

WR cas_ppm

LD 1

WR zmen

WR byl

JMP konec

odec2:

LD vychylka

WR vych_p

LD cas_s

WR cas_ps

LD cas_m

WR cas_pm

LD 1

WR zmen

JMP konec

odec3:

LD vychylka

WR vych_k

LD cas_s

WR cas_ks

LD cas_m

WR cas_km

LD 0

WR zmen

JMP konec

res:

LD 0

WR vych_k

WR vych_p

WR vych_poc

WR cas_ppm

WR cas_pps

WR cas_pm

WR cas_ps

WR cas_km

WR cas_ks

WR ini

WR zmen

WR byl

WR reset

WR CONT.1;

konec :

EO







10.8. Výpis programu pro PLC Tecomat řízení výchylky kyvadla pomocí stejnosměrného motoru



#program kyvadlo



#unit 0,0,IRC_600,X2,Y2,On

#unit 0, 0, Digit_500, 2, 2, X0, Y0, On



;*****defnice jmen vstupu a vystupu****

#def STAT X2 ;stavove slovo IRC

#def CONT Y2 ;ridici slovo IRC

#def vychylka Xw3 ;hodnota citace kyvadla

#def predvolba Yw3 ;predvolba pro smer nahoru

#def predvolba2 Yw7 ;predvolba pro smer dolu

#def motor Y0.4 ;1 - zapina motor 0 - stop motoru



;****definice konstatnt****

#reg word rozkmit ;pozadovana hodnota pro kmitani

#reg word utlum ;pozadovan hodnota pro utlumeni

#reg word casovac

#reg bit delat ;0 - rozkmitat 1 - utlumit

#reg bit ini ;0 - inicializace 1 - vynecha inicializaci L10

#reg bit reset ;0 - reset polohy kyvadla 1 - nic

#reg bit ini2 ;0 - inicializace 1 - nepocitat

#reg bit ini3 ;0 - inicializace 1 - nepocitat

#reg bit zmena ;okamzita zmena pohybu kyvadla

#reg bit prep ;prepnuti z utlumu do rozkmitani 0 - utlumit 1 - rozkmitat

#reg word prub ;pocet prubehu cyklu

#reg word T ;delka impulzu motoru v 10 ms

#reg float FI0 ;vypocteny dalsi kladna maximalni vychylka



;*****konstanty pro vypocet pulzu rozkmitani*****

#def AR 10^-5*4.6112 ;konstanta kvadratickeho impulzu

#def BR 0.0022976 ;konstanta kvadratickeho impulzu

#def CR 0.9193 ;konstanta kvadratickeho impulzu

#def DR 9.52252 ;konstanta linearniho impulzu

#def ER 5.73216 ;konstanta linearniho impulzu



;*****konstanty pro vypocet pulzu utlumeni*****

#def AT 0.384192 ;konstanta kvadratickeho impulzu

#def BT 16.6416 ;konstanta kvadratickeho impulzu

#def CT 11.3354 ;konstanta kvadratickeho impulzu

#def DT 0.0027204 ;konstanta linearniho impulzu

#def ET 0.92992 ;konstanta linearniho impulzu



;*****konec deklaraci*****







P 0



;****inicializace****



LD ini

JMD L 10 ;if ini = 1 then skok else

LD reset

JMD konec

LD 0

WR ini2

WR ini3

WR prep

LD 1

WR CONT.1 ;reset odmerovane polohy

WR reset

JMP konec

L 10

LD delat

JMD L 15 ;if delat = 1 then skok tlumit else rozkmitat



;****blok pro rozkmitani****

;****inicializace rozkmitani***



LD ini2

JMD L 12 ;if ini2 = 1 then skok else

LD rozkmit ;rozkmit ve stupmich

MUD 40

WR predvolba ;zadani predvolby v jednotkach IRC

LD 1

WR motor ;spusteni motoru

LD prub

ADD 1

WR prub ;prub = prub + 1

LT 4

JMD konec ;if prub < 4 then konec esle

LD 1

WR ini2 ;ini2 = 1

WRC ini3 ;nastaveni inicializace utlumu ini3 = 0

WRC zmena ;nastaveni zmeny = 0

WRC prep ;nastaveni prep = 0

JMP konec



;*****konec inicializace rozkmitani****



L 11

LD 0

WR zmena

LDC STAT.4

JMP L 20 ;if STAT.4 = 0 then skok else

L 12

LD STAT.4

ANC zmena ;STAT.4 * negace zmena

JMD pocitat ;if vysledek = 1 then skok else

LDC STAT.4

AND zmena ;negace STAT.4 * zmena

JMD L 11 ;if vysledek = 1 then skok else konec

JMP L 20



;***konec bloku rozkmitani****





;****blok utlumeni****

;****inicializace tlumeni****



L 15

LD prep

JMD L 12 ;if prep = 1 then skok else

LD ini3

JMD L 18 ;if ini3 = 1 then skok else

LD utlum

MUD 40

WR predvolba ;zadani predvolby v jednotkach IRC

LD 0

WR ini2 ;nastaveni inicializace rozkmitani

WR zmena ;nastaveni zmeny = 0

WRC ini3 ;ini3 = 1

JMP konec

;*****konec inicializace utlumeni****

L 18

LD STAT.4

ANC zmena ;STAT.4*(negace Zmena)

JMD L 17 ;if vysledek = 1 then skok else

LDC STAT.4 ;cteni negace pohybu

RES zmena ;pohyb = 1 nastaveni zmena = 0

LD STAT.7 ;if predvolby dolů = 1 then pulz else

JMP L 20

L 17

LD 1

WR zmena

JMP pocitatut



;****konec tlumeni****



;****blok pocitani impulzu pro rozkmit****



pocitat:

LD 1

WR zmena ;zmena = 1

LD vychylka ;precte vychylku

UWF ;prevede na FLOAT

WR FI0 ;zapise do FI0

LDL AR

MUF FI0 ;AR * FI0

WR RF240 ;zapise do registru 240 (jmenovatel)

LD 0

SUB predvolba ; -FIPOZ

IWF ;prevede na FLOAT

LDL CR

MUF FI0 ;CR * FI0

ADF ;CR * FI - FIPOZ

SUF ER ;CR * FI - FIPOZ - ER

MUF 4.0 ;(CR * FI - FIPOZ - ER)*4

MUF RF240 ;(CR * FI - FIPOZ - ER)*4*(AR * FI)

WR RF230 ;zapise do registru 230

LDL -1.0

MUF BR

MUF FI0 ;-BR * FI0

ADF DR ;-BR * FI + DR

WR RF220 ;zapise do registru 220

MUF RF220 ;(-BR * FI + DR)*(-BR * FI + DR) = (-BR * FI+ +DR)^2

SUF RF230 ;(-BR * FI + DR)^2 - (CR * FI - FIPOZ - ER)*4*(AR* *FI) = diskriminant

SQR ;odmocnina diskriminantu

SUF RF220 ;SQRT( D ) - (-BR * FI + DR)

DIF RF240 ;SQRT( D ) - (-BR * FR + DR) / jmenovatel

DIF 2.0 ;vysle / 2

UFW ;prevede na WORD

WR T ;zapise do T

GT 50 ;if impulz > 70 then

JMC konec ;skok else

LD 50

WR T ;T = 70

JMP konec

;****konec pocitani impulzu pro rozkmit****

;****blok pocitani impulzu pro utlum****



pocitatut:

LD vychylka ;precte vychylku

LD predvolba

LT ;porovna predvolba < vychylka

JMC prepnout ;vysledek = 0 then skok else

LD 1

WR prep ;prep = 1

JMP konec

prepnout:

LD vychylka

UWF ;prevede na FLOAT

WR FI0 ;zapise do FI0

LD 0

SUB predvolba ; -FIPOZ

IWF ;prevede na FLOAT

LDL ET

MUF FI0 ;ET * FI

ADF ;ET * FI - FIPOZ

ADF CT ;ET * FI - FIPOZ + CT

MUF 4.0 ;(ET * FI - FIPOZ + CT)*4

MUF AT ;(ER * FI - FIPOZ + CT)*4*AT

WR RF240 ;zapise do registru 230

LDL DT

MUF FI0 ;DT * FI0

ADF BT ;DT * FI + BT

WR RF230 ;zapise do registru 220

MUF RF230 ;(DT * FI + BR)*(DT * FI + BT) = (DT * FI + BT)^2

SUF RF240 ;(DT * FI + BT)^2 - (ET * FI - FIPOZ - CT)*4*AT = diskriminant

LT 0

JMD zap

SQR ;odmocnina diskriminantu

SUF RF230 ;SQRT( D ) - (DT * FI + BT)

DIF AT ;SQRT( D ) - (DT * FI + BT) / jmenovatel

DIF 2.0 ;vysle / 2

MUF -1 ;-1*vysle

IFW ;prevede na WORD

WR T ;zapise do T

GT 40 ;if impulz > 40 then

JMC konec ;skok else

zap:

LD 40

WR T ;T = 40

JMP konec



;****konec pocitani impulzu pro utlum****

;****spusteni motor***



L 20

LD T

IMP casovac.0 ;impuls do motoru v delce x 10 milisekund

WR motor



;***konec programu***



konec:

E 0



10.9. Instrukční soubor PLC TECOMAT



použité symboly operandů :

Z zápisník X, Y, S, R

D data

# konstanta

U fyzická adresa periferní jednotky

T tabulka

A bez operandu (pracuje pouze na zásobníku)

Ln návěští číslo n

n číselný parametr

m písemný parametr Instrukce pro čtení a zápis dat :

Mnemokód bit byte word long float význam instrukce
LD ZD ZD U ZD#U ZD ZD čtení přímých dat
LDL # # čtení přímých dat
LDC ZD ZD ZD# ZD čtení negovaných dat
WR Z Z U Z U Z Z zápis přímých dat
WRC Z Z Z Z zápis negovaných dat
WRA Z Z Z zápis přímých dat s alternací
PUT Z Z Z Z Z podmíněný zápis dat


Logické instrukce :

Mnemokód bit byte word long význam instrukce
AND ZD ZD ZD#A AND s přímým operandem
ANL #A AND s přímým operandem
ANC ZD ZD ZD AND s negovaným operandem
OR ZD ZD ZD#A OR s přímým operandem
ORL #A OR s přímým operandem
ORC ZD ZD ZD OR s negovaným operandem
XOR ZD ZD ZD#A XOR s přímým operandem
XOL #A XOR s přímým operandem
XOC ZD ZD ZD XOR s negovaným operandem
SET Z Z Z podmíněné nastavení
RES Z Z Z podmíněné nulování
LET Z Z Z impulz od náběžné hrany
BET Z Z Z impulz od sestupné hrany
NEG A negace vrcholu zásobníku
NGL A negace vrcholu zásobníku


čítače, posuvné registry, časovače, krokový řadič :

Mnemokód operand význam instrukce
CTU RW dopředný čítač
CTD RW zpětný čítač
CNT RW obousměrný čítač
SFL RW posuvný registr vlevo
SFR RW posuvný registr vpravo
TON RW časovač zpožděný přítah
TOF RW časovač zpožděný odtah
RTO RW integrující časovač, měřič času
IMP RW časovač generátor impulzu zadané délky
STE RW krokový radič


aritmetické instrukce :

Mnemokód byte word long význam instrukce
ADD ZD#A sčítání s přenosem
ADX ZD ZD ZD sčítání
ADL #A sčítání
SUB ZD#A odčítání s přenosem
SUX ZD ZD ZD odčítání
SUL #A odčítání
MUL ZD#A násobení (byte x byte = word)
MUD ZD#A násobení (word x word = long)
DIV ZD#A dělení (byte / byte = bzte)
DID ZD#A dělení (long / word = long)
INR Z Z A Z inkrementace (+1)
DCR Z Z A Z dekrementace (-1)
ROL n A rotace čísla vlevo n-krát
ROR N A rotace čísla vpravo n-krát
EQ ZD#A porovnání (rovnost)
LT ZD#A porovnání (menší než)
GT ZD#A porovnání (větší než)
CMP ZD ZD#A ZD porovnání
CML #A porovnání
BIN A převod čísla z BCD formátu do binárního
BIL A převod čísla z BCD formátu do binárního
BCD A převod čísla z binárního formátu do BCD
BCL A převod čísla z binárního formátu do BCD
BAS A převod čísla z binárního formátu do BCD
ASB A převod čísla z ASCII do binárního formátu


operace se zásobníky :

Mnemokód operand význam instrukce
STK A sklopení logických hodnot 8 úrovní zásobníku do A0
SWP A záměna horního a dolního bytu v A0
SWL A záměna vrstev A0 a A1
POP n posun (rotace) zásobníku zpět o n úrovní
FLG A logické AND všech bitů a příčné funkce A0 v S1
NXT aktivace následujícího zásobníku
PRV aktivace předcházejícího zásobníku
CHG m aktivace zvoleného zásobníku
LAC m načtení hodnot z vrcholu zvoleného zásobníku
WAC m zápis hodnot na vrchol zvoleného zásobníku


instrukce skoků a volání :

Mnemokód operand význam instrukce
JMP Ln nepodmíněný skok
JMD Ln skok podmíněný nenulovostí výsledku
JMC Ln skok podmíněný nulovostí výsledku
JMI A skok na nepřímí cíl
JZ Ln skok podmíněný nenulovostí příznaku rovnosti ZR
JNZ Ln skok podmíněný nulovostí příznaku rovnosti ZR
JC Ln skok podmíněný nenulovostí příznaku přenosu CO
JNC Ln skok podmíněný nulovostí příznaku přenosu CO
JS Ln skok podmíněný nenulovostí příznaku S1.0
JNS Ln skok podmíněný nulovostí příznaku S1.0
CAL Ln nepodmíněné volání podprogramu
CAD Ln volání podprogramu podmíněné nenulovostí výsledku
CAC Ln volání podprogramu podmíněné nulovostí výsledku
CAI A volání podprogramu nepřímého cíle
RET nepodmíněný návrat z podprogramu
RED návrat z podprogramu podmíněný nenulovostí výsledku
REC návrat z podprogramu podmíněný nulovostí výsledku
L n návěští n (cíl skoků a volání)


organizační instrukce :

Mnemokód operand význam instrukce
P n začátek procesu
E n nepodmíněný konec procesu
ED konec procesu při nenulovosti výsledku
EC konec procesu při nulovosti výsledku
EOC konec cyklu
NOP n prázdná operace
BP n ladící bod
SEQ Ln podmíněné přerušení procesu


tabulkové instrukce :

Mnemokód bit byte word význam instrukce
LTB ZDT ZDT ZDT čtení položky z tabulky
WTB Z T Z T Z T zápis položky do tabulky
LMS T čtení položky sekvenčně
WMS T zápis položky sekvenčně
FTB ZDT ZDT ZDT hledání položky v tabulce
FTM ZDT ZDT hledání části položky v tabulce
FTS ZDT ZDT zařazení položky podle tabulky


blokové operace :

Mnemokód operand význam instrukce
SRC ZDT specifikace zdroje dat pro přesun
MOV Z T přesun bloku dat
MTN A naplnění tabulky do zápisníku
MNT A naplnění tabulky ze zápisníku
FIL Z naplnění bloku konstantou


operace se strukturovanými tabulkami :

Mnemokód operand význam instrukce
LDS A čtení položky ze strukturované tabulky T
WRS A zápis položky do strukturované tabulky T
FIS A plnění položky strukturované tabulky v zápisníku
FIT A plnění položky ze strukturované tabulky T
FNS A hledání položky strukturované tabulky v zápisníku
FNT A hledání položky strukturované tabulky T


aritmetické instrukce v plovoucí řádové čárce :

Mnemokód float význam instrukce
ADF ZD#A sčítání
SUF ZD#A odčítání
MUF ZD#A násobení
DIF ZD#A dělení
CMF ZD#A porovnání
CEI A zaokrouhlení nahoru
FLO A zaokrouhlení dolů
ABS A absolutní hodnota
LOG A dekadický logaritmus
LN A přirozený logaritmus
EXP A exponenciální funkce
POW A obecná mocnina
SQR A druhá odmocnina
HYP A euklidovská vzdálenost
SIN A sinus
ASI A arc sinus
COS A cosinus
ACS A v cosinus
TAN A tangens
ATN A arc tangens
UWF A převod word bez znaménka na float
IWF A převod word se znaménkem na float
ULF A převod long bez znaménka na float
ILF A převod long se znaménkem na float
UFW A převod float na word bez znaménka
IFW A převod float na word se znaménkem
UFL A převod float na long bez znaménka
IFL A převod float na long se znaménkem
STF A převod ASCII řetězec na float
FST převod float na ASCII řetězec


instrukce regulátoru PID :

Mnemokód operand význam instrukce
CNV A konverze a zpracování dat z analogových jednotek
PID A PID regulátor


systémové instrukce :

Mnemokód operand význam instrukce
HPE zapnutí okamžitého přístupu do zápisníku pro komunikaci
HPD vypnutí okamžitého přístupu do zápisníku pro komunikaci












10.10. Výpis simulace kyvadla pro Matlab, včetně používaných vlastních funkcí.



Výpis hlavního programu :

clear;

disp ('zadej pozadovanř rozkmit a ˙tlum : ')

rozkmitF = input ('rozkmit = ')

utlumF = input ('˙tlum = ')

%převod požadovaných hodnot ze stupňů na jednotky IRC

rozkmitF = rozkmitF*40;

utlumF = utlumF*40;

%inicializace potřebných proměnných

delat = 1;

i=1;

t(1)= 0;

prep = 0;

%zadání hodnoty počáteční výchylky blízké nule

fi_plus(1) = 0.0001;

fi_minus(1)= 0.0001;

while delat < 4 %nekonečný cyklus

if delat == 3 %pokud delat == 3 potom STOP

break;

end

if delat == 1 %blok pro rozkmit

%výpočet impulzu motoru T

T(i) = rozkmit(rozkmitF,fi_plus(i))

%výpočet průběhu maximálních výchylek kyvadla

[fi_plus(i+1),fi_minus(i+1)] = prubeh_rozkmit(T(i),fi_plus(i));

if i == 1 %pro první impulz výpočet průběhu impulzu motoru T

prubT = [1,1,0,0];

t_T = [0,T(i)/100,T(i)/100,0.715+T(i)/100];

else %pro ostatní impulzy výpočet průběhu impulzu motoru T

prubT = [prubT,1,1,0,0];

t_T = [t_T,t_T(length(t_T)),t_T(length(t_T))+T(i)/100,t_T(length(t_T))+T(i)/100,

t_T(length(t_T))+1.43];

end

end

if delat == 2 %blok pro utlumení

if prep == 1 %pokud je prep == 1 potom se netlumí, ale rozkmitává

%výpočet impulzu motoru pro rozkmit pro požadovaný útlum

T(i) = rozkmit(utlumF,fi_plus(i))

%výpočet průběhu maximálních výchylek kyvadla

[fi_plus(i+1),fi_minus(i+1)] = prubeh_rozkmit(T(i),fi_plus(i));

%výpočet průběhu impulzu motoru T

prubT = [prubT,1,1,0,0];

t_T = [t_T,t_T(length(t_T)),t_T(length(t_T))+T(i)/100,t_T(length(t_T))+T(i)/100,

t_T(length(t_T))+1.43];

else %pokud prep == 0 potom se tlumí

%výpočet maximální kladné výchylky z minimální záporné výchylky

fi_plus(i+1) = prubeh_utlum1(fi_minus(i));

%výpočet impulzu motoru T pro utlumení

T(i) = utlum(utlumF,fi_plus(i+1))

if T(i) <= 0 %pokud je T < 0, což znamená obrácený pulz musí se rozkmitávat

prep = 1; %prep se položí roven 1

%volný kmit z maximální kladné výchylky na minimální zápornou výchylku

fi_minus(i+1)= -1*prubeh_utlum1(fi_plus(i+1));

%průběh impulzu motoru T = 0

prubT = [prubT,0,0];

t_T = [t_T,t_T(length(t_T)),t_T(length(t_T))+1.43];

else %pokud je T > 0, potom se tlumí

%výpočet minimální záporné výchylky po pulzu motoru T

fi_minus(i+1) = prubeh_utlum2(T(i),fi_plus(i+1));

%výpočet průběhu impulzu motoru T

prubT = [prubT,0,0,-1,-1,0,0];

t_T = [t_T,t_T(length(t_T)),t_T(length(t_T))+1.0725,t_T(length(t_T))+1.0725,

< FONT FACE="Times New Roman">t_T(length(t_T))+1.0725+T(i)/100,t_T(length(t_T))+1.0725+T(i)/100,t_T(length(t_ T))+1.43];

end

end

end

i = i +1; %zvýšení počtu cyklu

disp ('co mám dělat : ')

disp (' 1 - rozkmitat')

disp (' 2 - utlumit')

disp (' 3 - stop')

delat = input ('');

end

%nalezení vektoru času

t = [0:0.715:2*(i-1)*0.715];

prub=0;

%určení vektoru výchylek

for j = 1:i

if fi_plus(j) > 0.1

prub = [prub,fi_plus(j)/40,fi_minus(j)/40];

end

end

%vykreslení závislosti výchylka = fce (času) = modrá

% požadovaná hodnota rozkmitu = červená

% požadovaná hodnota útlumu = zelená

% pruběh impulzu T = fce (času) = žlutá

%skutečný průběh pro rozkmit 60 a útlum 30 stupňu

plot (t, prub, 'b-', [0, t(length(t))], [rozkmitF/40, rozkmitF/40], 'r',

[0, t(length(t))], [utlumF/40, utlumF/40], 'g')

plot (t_T, prubT, 'b-)

grid on







Výpis funkce rozkmit :

function T1 = rozkmit(fi_poz,fi_max)

T1 = round((-9.52252+2.2976e-3*fi_max+sqrt((9.52252-2.2976e-3*fi_max)*

(9.52252-2.2976e-3*fi_max)-4*4.6112e-5*fi_max*(0.9193*fi_max-5.73216-fi_poz) ))/

(2*4.6112e-5*fi_max));

if T1 > 50

T1 = 50;

elseif T1 < 0

T1 = 0;

end

Výpis funkce prubeh_rozkmit :

function [plus,minus] = prubeh_rozkmit(T,max_plus)

plus = fix(4.6112e-5*max_plus*T*T+(9.58252-2.2976e-3*max_plus)*

T+0.9193*max_plus-5.73216);

if max_plus > 1000

minus = -1*fix(plus - 1.47148e-5*plus*plus + 6.03255e-3*plus-46.65923);

else

minus = -1*fix(plus + 3.81179*plus^(1/2)-37.59694*plus^(1/3)+35.87585*plus^(1/4));

end



Výpis funkce utlum :

function T = utlum(fi_poz,fi_max)

D = (16.6416+2.7204e-3*fi_max)*(16.6416+2.7204e-3*fi_max)-4*0.384192*

< FONT FACE="Times New Roman">(0.92992*fi_max+11.3354-fi_poz)

if D > 0

T = round((16.6416+2.7204e-3*fi_max-sqrt(D))/(2*0.384192));

else

T = 40;

end

if T > 40

T = 40;

elseif T < 0

T = 0;

end



Výpis funkce prubeh_utlum1 :

function plus = prubeh_utlum1(max_minus)

if abs(max_minus) > 1000

plus = fix(abs(max_minus) - 1.47148e-5*max_minus*max_minus + 6.03255e-3*abs(max_minus)-46.65923);

else

plus = fix(abs(max_minus) + 3.81179*abs(max_minus)^(1/2)-37.59694*abs(max_minus)^(1/3)+35.87585*abs(max_minus) ^(1/4));

end







Výpis funkce prubeh_utlum2 :

function minus = prubeh_utlum2(T,max_plus)

minus = fix(1.44245e-3*max_plus*T-0.946015*max_plus-0.212802*T*T+12.9602*T-5.53679);







11. Seznam literatury



[1] Jan Soukup : Identifikace soustav, vydavatelství ČVÚT, Praha 1998 (skripta)

[2] Pavel Zítek : Matematické metody automatického řízení, vydavatelství ČVÚT, Praha 1990 (skripta)

[3] Pavel Zítek, Růžena Petrová : Matematické a simulační modely, vydavatelství ČVÚT, Praha 1996 (skripta)

[4] Karel Jiuliš, Rudolf Brepta a kol. : Mechanika II díl Dynamika, nakladatelství SNTL, Praha 1987

[5] Jaromír Brousil, Jaromír Slavík, Vladimír Zeman : Dynamika, makladatelství SNTL,

Praha 1989

[6] Vladimír Brát, Jaromír Brousil : Dynamika, vydavatelství ČVÚT, Praha 1985 (skripta)

[7] Příručka TECO : Soubor instrukcí PLC Tecomat, Teco a.s., září 1998

[8] Příručka TECO : Příručka programátora PLC Tecomat, Teco a.s., září 1998

[9] Příručka TECO :Technické vybavení programovatelných automatů řady TC 600,

Teco a.s., duben 1999

[10] Karel Novák : O astronomických kyvadlových časoměrech, Přírodovědecké vydavatelství, Praha 1952

[11] C. A. Crommelin : Huygen's pendelum experiments, London 1956

[12] Victor F. Lenzen, Robert F. Multhauf : Develpment of gravity pendelums in the 19th century, Washington 1965

[13] Ladislav Šmejkal, Marie Martinásková : PLC a automatizace 1. díl, nakladatelství BEN, Praha 1999

[14] Ladislav Šmejkal, Marie Martinásková : Řízení programovatelnými automaty, vydavatelství ČVUT, Praha 1998 (skripta)

[15] Mendal Miroslav : Principy snímání polohy v automatizační a regulační technice, časopis Automatizace 10/2000, strana 338-339, Praha 2000

[16] Miroslav Prágl : Kapacitní snímače polohy CPT 1, časopis Automatizace 10/2000, strana 342, Praha 2000

[17] Ladislav Šmejkal : Měření polohy a natočení , časopis Automatizace 10/2000, strana 343-347, Praha 2000

[18] Vladimír Haasz, Miloš Sedláček : Elektrické měření - přístroje a metody, vydavatelství ČVÚT, Praha 2000 (skripta)

[19] Hana Obrazová : Elektrická měření neelektrických veličin, vydavatelství ČVÚT, Praha 1989 (skripta)

[20] Jiří Galaš : Elektrotechnika pro přístrojovou techniku, vydavatelství ČVÚT, Praha 1989 (skripta)

[21] Josef Jenčík, Jaromír Volf a kolektiv : Technická měření, vydavatelství ČVÚT, Praha 2000 (skripta)