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š
1.1. Historie kyvadla 6
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.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.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.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.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.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.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
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
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.
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
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í :
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 %.
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.
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 %.
Tyto snímače lze rozdělit podle způsobu získávání číslicového údaje :
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.
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.
Čí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í.
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).
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.
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ě.
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í.
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).
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.
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.
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.
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).
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 :
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.
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.
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čů.
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.
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.
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ů").
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ů.
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.
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čů.
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.
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.
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.
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.
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
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
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.
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
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.
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
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.).
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.
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 :
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).
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).
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.
Ú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 :
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é.
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.
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.
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]
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.
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) :
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) :
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.
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í
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:
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í.
.
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.
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.
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
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
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.
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
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.
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í..
Reliance obsahuje všechny základní funkce obvyklé u systémů
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:
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.
Pro další použití je nutné nakonfigurovat Reliance tak, aby spolupracovala s PLC.
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.
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.
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.
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.
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í.
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.
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
Ří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
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é.
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 :
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.
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.
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í.
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.
Zde se po kliknutí na objekt objeví seznam operací , které se mají po stisknutí tlačítka vykonat. Tato vlastnost však není dosud dostupná.
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.
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.
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í.
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ů.
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ě.
Orámování se využívá hlavně pro oddělení jednotlivých objektů od sebe nebo na tvorbu tabulek.Má pouze estetický charakter.
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.
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.
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.
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.
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.
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í.
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.).
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í.
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).
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
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..
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 |
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 |
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
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 |
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 |
#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
#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
#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
#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
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
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 |
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
function T1 = rozkmit(fi_poz,fi_max)
T1 = round((-9.52252+2.2976e-3*fi_max+sqrt((9.52252-2.2976e-3*fi_max)*
(2*4.6112e-5*fi_max));
if T1 > 50
T1 = 50;
elseif T1 < 0
T1 = 0;
end
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
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
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
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);
[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)