13AMP13AMP
Aplikace mikropočítačů při řízení Aplikace mikropočítačů při řízení technických procesůtechnických procesů
Ing. Martin Molhanec, CSc.Ing. Martin Molhanec, CSc.
13AMP13AMP
Ing. Martin Molhanec, CSc.Ing. Martin Molhanec, CSc.
Katedra elektrotechnologie, K-313Katedra elektrotechnologie, K-313 Místnost 450, blok B3, DejviceMístnost 450, blok B3, Dejvice Tel. (+420) 2 2435 2118Tel. (+420) 2 2435 2118
mailtomailto::[email protected]@fel.cvut.cz http://http://martin.feld.cvut.cz/~mmmmartin.feld.cvut.cz/~mmm
13AMP13AMP
Přednášky i cvičení probíhají v Přednášky i cvičení probíhají v počítačové učebně: Z477počítačové učebně: Z477(Zikova ulice, Dejvice)(Zikova ulice, Dejvice)
Cvičení navazují na přednášky Cvičení navazují na přednášky plynule, proto je žádoucí chodit i plynule, proto je žádoucí chodit i na přednášky!na přednášky!
13AMP13AMP
Cíl:Cíl: Seznámit posluchače se Seznámit posluchače se specifiky programování řídících specifiky programování řídících aplikacíaplikací
Úroveň:Úroveň: Znalý uživatel, který vidí Znalý uživatel, který vidí pod pokličkupod pokličku
Přednášky:Přednášky: Více informací, méně Více informací, méně teorieteorie
Cvičení:Cvičení: Programování Programování multitaskumultitasku
Osnova přednášekOsnova přednášek
Principy programování řídicích Principy programování řídicích aplikacíaplikací
Software pro programování Software pro programování řídicích aplikacířídicích aplikací
Analýza řídicích aplikacíAnalýza řídicích aplikací HW vybavení pro řízeníHW vybavení pro řízení
Osnova cvičeníOsnova cvičení
Opakování programováníOpakování programování Pokus o vlastní Pokus o vlastní multitaskmultitask Využití Využití multitaskovémultitaskové knihovny knihovny Použití jazyka Modula IIPoužití jazyka Modula II Použití jazyka …Použití jazyka …
Od výroby k Od výroby k informačním procesůminformačním procesům
Výroba
Výrobní procesy
Řídící procesy
Paralelismus(současné provádění)
Kooperace(vzájemná spolupráce)
Synchronizace(sdílení společných zdrojů)
Reálný čas(včasná odezva)
LiteraturaLiteratura
Plášil: Plášil: Operační systémyOperační systémy, FEL-ČVUT, , FEL-ČVUT, 19891989
Čada: Čada: Operační systémyOperační systémy, GRADA, 1994, GRADA, 1994 Young: Young: Programovací jazyky pro RT Programovací jazyky pro RT
aplikaceaplikace, SNTL, 1988, SNTL, 1988 Zdroje na InternetuZdroje na Internetu
Specifika software pro Specifika software pro řízenířízení Reálný čas – včasná odezvaReálný čas – včasná odezva Paralelismu – současnostParalelismu – současnost Synchronizace – sdílení zdrojůSynchronizace – sdílení zdrojů Kooperace – komunikace mezi Kooperace – komunikace mezi
procesyprocesy
Spolehlivost, robustnostSpolehlivost, robustnost Uživatelské prostředí - visualizaceUživatelské prostředí - visualizace
Specifika hardware pro Specifika hardware pro řízenířízení SpolehlivostSpolehlivost Průmyslové provedeníPrůmyslové provedení Kusovost Kusovost sériovost sériovost Komunikace s periferiemi (I/O)Komunikace s periferiemi (I/O)
Specifika hardware pro Specifika hardware pro řízenířízení Řídící systémy (modulární)Řídící systémy (modulární) Průmyslová PCPrůmyslová PC Jednodeskové a vestavěné Jednodeskové a vestavěné
systémysystémy Průmyslové sběrnicePrůmyslové sběrnice Odlišná konstrukce a architekturaOdlišná konstrukce a architektura Různá CPU a další obvodyRůzná CPU a další obvody
Typické úlohyTypické úlohy
Řízení technických procesůŘízení technických procesů Sběr dat z technických procesů Sběr dat z technických procesů
(měření)(měření) Vizualizace technických procesůVizualizace technických procesů Další úlohy:Další úlohy:
– Statistické vyhodnoceníStatistické vyhodnocení– Zálohování naměřených datZálohování naměřených dat
Úloha 1
Úloha 2
Úloha 3
Time
Princip multitáskuPrincip multitásku
V libovolném konkrétním čase je vždy aktivní pouze jedna jediná úloha.
Pokud je střídání úloh v určitém časovém intervalu dostatečně časté, jeví se jejich aktivita jako současná.
ProcesProces
Proces je abstrakce běžícího Proces je abstrakce běžícího programuprogramu
Několik procesů může běžet Několik procesů může běžet současněsoučasně– Skutečně (více procesorů)Skutečně (více procesorů)– Zdánlivě (jeden procesZdánlivě (jeden procesoror))
Task čili úloha, jiný název pro proces Task čili úloha, jiný název pro proces (poněkud obecnější)(poněkud obecnější)
proces proces program program
Na disku je uložen Na disku je uložen PROGRAMPROGRAM..Program je popis určitého algoritmu.Program je popis určitého algoritmu.
V paměti počítače se vykonává V paměti počítače se vykonává PROCESPROCES..Proces je činnost, která realizuje daný Proces je činnost, která realizuje daný algoritmus.algoritmus.
POZOR:POZOR: Současně se může vykonávat Současně se může vykonávat více PROCESŮ i téhož PROGRAMU.více PROCESŮ i téhož PROGRAMU.
PROCESSPROCESS (proces) (proces)Jeden program = jeden proces.Jeden program = jeden proces.Každý proces má svojí paměť.Každý proces má svojí paměť.
THREADTHREAD (vlákno) (vlákno)Jeden program = několik vláken.Jeden program = několik vláken.Všechna vlákna sdílejí společnou Všechna vlákna sdílejí společnou paměť.paměť.
TASKTASK (úloha) (úloha)Může být, jak proces, tak vlákno.Může být, jak proces, tak vlákno.
MULTITASKINGMULTITASKINGJe vykonávání několika úloh současně Je vykonávání několika úloh současně na jediném procesoru (jedná se o tzv. na jediném procesoru (jedná se o tzv. sdílení časusdílení času))
MULTIPROCESSINGMULTIPROCESSINGJe vykonávání několika úloh současně Je vykonávání několika úloh současně na několika procesorech, které sdílejí na několika procesorech, které sdílejí společnou paměť.společnou paměť.
DISTRIBUTEDDISTRIBUTED PROCESSINGPROCESSINGJe vykonávání několika úloh současně Je vykonávání několika úloh současně na několika procesorech, které nemají na několika procesorech, které nemají společnou paměť.společnou paměť.
Úlohy jsou buď Úlohy jsou buď nezávislénezávislé (independent) nebo spolu (independent) nebo spolu spolupracujícíspolupracující ( (cooperatingcooperating).).
Spolupráce je Spolupráce je komunikace.komunikace. Při ní si Při ní si úlohy vyměňují data úlohy vyměňují data prostřednictvím prostřednictvím zprávzpráv ( (messagesmessages) ) nebo nebo sdílené pamětisdílené paměti ( (shared shared memorymemory).).
SynchronizaceSynchronizace
SynchronizaceSynchronizace je zvláštní je zvláštní způsob vzájemné komunikace způsob vzájemné komunikace úloh, kdy jedna úloha úloh, kdy jedna úloha AA čeká na čeká na jinou úlohu jinou úlohu BB. Teprve až úloha . Teprve až úloha BB dosáhne určitého bodu ve dosáhne určitého bodu ve vykonávání svého algoritmu, smí vykonávání svého algoritmu, smí úloha úloha AA dále pokračovat. dále pokračovat.
REAL-TIME SYSTEMSREAL-TIME SYSTEMS(Systémy reálného (Systémy reálného času)času) RTRT systém je takový systém, kde systém je takový systém, kde
časové požadavky (časové požadavky (odezva odezva systémusystému) je nezbytnou součástí ) je nezbytnou součástí jeho specifikace.jeho specifikace.
Příklady RT systémůPříklady RT systémů– Operační systémy (pro řízení)Operační systémy (pro řízení)– TelekomunikaceTelekomunikace– Objednávání letenekObjednávání letenek
Paralelní systémyParalelní systémy
Jsou speciální systémy, které obsahují Jsou speciální systémy, které obsahují velké množství procesorů. Na těchto velké množství procesorů. Na těchto systémech probíhají paralelně některé systémech probíhají paralelně některé algoritmy.algoritmy.Jedná se o speciální počítačové Jedná se o speciální počítačové architektury.architektury.
Příklad:Příklad:TRANSPUTERTRANSPUTER (firma Inmos) (firma Inmos)& & jazyk OCCAMjazyk OCCAM
TASK SWITCHTASK SWITCH (přepnutí úlohy) (přepnutí úlohy)Jedná se o způsob jakým je právě Jedná se o způsob jakým je právě vykonávaná úloha pozastavena a vykonávaná úloha pozastavena a jiná úloha odstartována.jiná úloha odstartována.
SCHEDULINGSCHEDULING (plánování) (plánování)Je algoritmus, který rozhoduje o Je algoritmus, který rozhoduje o tom tom KDYKDY dojde k přepnutí úlohy a dojde k přepnutí úlohy a JAKÁJAKÁ další úloha bude další úloha bude odstartována.odstartována.
ShrnutíShrnutí
Základní informace o předmětuZákladní informace o předmětu Specifika řídicích systémů.Specifika řídicích systémů. Co je to multitásk.Co je to multitásk. Co je to proces, úloha, vlákno.Co je to proces, úloha, vlákno. Co je to reálný čas.Co je to reálný čas. Další potřebné pojmy.Další potřebné pojmy.
FINITOFINITO
Ještě se Ještě se nerozsvítilo?nerozsvítilo?
Nevadí, tak snad Nevadí, tak snad příště příště