počítačová simulace logistických procesů i. 10. přednáška...
TRANSCRIPT
-
Počítačová simulace logistických procesů I.
10. přednáška – Programování v SimTalk
ŠAVŠ, Fábry
22.4.2019
-
10. přednáška – Metodika simulačního projektu, ŠAVŠ, Fábry, 22.4.2019
10. přednáška – Programování v SimTalk
Cíl přednášky
Přiblížit práci s metodami a podmíněnými příkazy.
2
-
10. přednáška – Metodika simulačního projektu, ŠAVŠ, Fábry, 22.4.2019
10. přednáška – Programování v SimTalk
Struktura přednášky
Typy metod.
Inicializace metody.
Přiřazení hodnoty:
Atributy.
Podmíněné příkazy s IF.
3
-
10. přednáška – Metodika simulačního projektu, ŠAVŠ, Fábry, 22.4.2019
Metoda s názvem „Method“ nebo názvem definovaným uživatelem:
Je vyvolaná iniciátorem nebo pomocí jiné metody.
Metoda s názvem „Init“:
Provede se automaticky po stlačení tlačítka Starts the simulation.
Metoda s názvem „EndSim“:
Provede se automaticky po ukončení simulačního běhu.
Metoda s názvem „Reset“:
Provede se automaticky po stlačení tlačítka Resets the simulation.
Vlastní metoda prvku.
10. přednáška – Programování v SimTalk
Typy metod
4
-
10. přednáška – Metodika simulačního projektu, ŠAVŠ, Fábry, 22.4.2019
Možnost vytvoření v podokně User-defined Attributes:
User-defined Attributes New Data Type method.
Cesta k vlastní metodě prvku:
Absolutní „*....“.
Relativní „self.“.
10. přednáška – Programování v SimTalk
Vlastní metoda prvku
-
10. přednáška – Metodika simulačního projektu, ŠAVŠ, Fábry, 22.4.2019
Pomocí Drag&Drop.
10. přednáška – Programování v SimTalk
Vložení metody do prvku
6
Výběr ze seznamu.
Zobrazení metod v daném Framu
O úroveň výš
Cesta
-
10. přednáška – Metodika simulačního projektu, ŠAVŠ, Fábry, 22.4.2019
Metodu s obecným názvem iniciuje obvykle pohybující se prvek na volajícím prvku.
Možnosti iniciace pohybujícího se prvku (MU):
Pohyb prvku zleva doprava – dopředný pohyb.
Pohyb prvku zprava doleva – zpětný pohyb.
10. přednáška – Programování v SimTalk
Iniciace metody
7
Zadní částRear
Přední částFront
Přední částFront
Zadní částRear
-
10. přednáška – Metodika simulačního projektu, ŠAVŠ, Fábry, 22.4.2019
Iniciace na procesně orientovaném prvku.
Iniciace Exit-Front
Iniciace Exit-Rear
10. přednáška – Programování v SimTalk
Iniciace metody
8
VstupEntrance
VýstupExit
-
10. přednáška – Metodika simulačního projektu, ŠAVŠ, Fábry, 22.4.2019
Iniciace na délkově orientovaném prvku.
Obecný vstup/výstup.
Obrácený vstup/výstup.
10. přednáška – Programování v SimTalk
Iniciace metody
9
VstupEntrance
VýstupExit
VýstupBackward Exit
VstupBackward Entrance
-
10. přednáška – Metodika simulačního projektu, ŠAVŠ, Fábry, 22.4.2019
Iniciace na délkově orientovaném prvku.
Délkově orientované prvky:
Iniciace Entrance Front Entrance Rear
Iniciace Exit Front Exit Rear
10. přednáška – Programování v SimTalk
Iniciace metody
10
-
10. přednáška – Metodika simulačního projektu, ŠAVŠ, Fábry, 22.4.2019
Iniciace na délkově orientovaném prvku.
Délkově orientované prvky:
Iniciace Backward entrance Front Backward Entrance Rear
Iniciace Backward exit Front Backward exit Rear
10. přednáška – Programování v SimTalk
Iniciace metody
11
-
10. přednáška – Metodika simulačního projektu, ŠAVŠ, Fábry, 22.4.2019
Iniciace na senzoru délkově orientovaného prvku.
Délkově orientované prvky:
Sensor.
10. přednáška – Programování v SimTalk
Iniciace metody
12
-
10. přednáška – Metodika simulačního projektu, ŠAVŠ, Fábry, 22.4.2019
Iniciace jinou metodou:
Přímým napsáním názvu volané metody do vlastního příkazu editované metody.
Iniciace jiné metody volajícím prvkem přes vlastní metodu.
10. přednáška – Programování v SimTalk
Iniciace metody
13
-
10. přednáška – Metodika simulačního projektu, ŠAVŠ, Fábry, 22.4.2019
10. přednáška – Programování v SimTalk
Přiřazení hodnoty
. := ;
:
Prvek, kterému chceme přiřadit hodnotu.
Nutno definovat cestu k objektu:
Absolutní cesta (např. „.Models.Frame.SingleProc.“).
Relativní cesta (např. „~.Frame.SingleProc.“ nebo „root.SingleProc.“).
Odkazování:
„~“ odkazuje na cestu v hierarchii FRAME o jeden stupeň výš.
„root“ odkazuje na vrchní pozici v hierarchii FRAME (obvykle je to FRAME
s možností vložení, resp. vloženým prvkem „EventController“.
14
-
10. přednáška – Metodika simulačního projektu, ŠAVŠ, Fábry, 22.4.2019
10. přednáška – Programování v SimTalk
Přiřazení hodnoty
Příklad na používání odkazů:
„~“.
„root“.
15
Příkaz „print“:
výsledek v okně Console
-
10. přednáška – Metodika simulačního projektu, ŠAVŠ, Fábry, 22.4.2019
10. přednáška – Programování v SimTalk
Přiřazení hodnoty
Příklad na používání odkazů:
16
.NewFolder.Frame1_1
.NewFolder.Frame1_1.Frame1_2
.NewFolder.Frame1_1
.NewFolder
.NewFolder(prázdná cesta)
-
10. přednáška – Metodika simulačního projektu, ŠAVŠ, Fábry, 22.4.2019
10. přednáška – Programování v SimTalk
Přiřazení hodnoty
. := ;
:
Ovládá chování nebo představuje stav prvků.
Atributy jsou předdefinované u každého prvku, jejich hodnoty se dají nastavit
nebo získat.
Všechny atributy vybraného prvku zobrazíme pomocí F8
(„Objekt“ToolsShow Atributes and Methods“).
17
-
10. přednáška – Metodika simulačního projektu, ŠAVŠ, Fábry, 22.4.2019
10. přednáška – Programování v SimTalk
Okno „Show Attributes and Methods“
18
Název atributu německy
Absolutní cesta k vybranému prvku
Panel nástrojů
Název atributu anglicky
Dědění hodnoty ANO/NE
Aktuální hodnota atributu
Možnost sledovat atribut
Datový typ atributy
-
10. přednáška – Metodika simulačního projektu, ŠAVŠ, Fábry, 22.4.2019
10. přednáška – Programování v SimTalk
Význam některých atributů
19
Vlastnosti prvků:
Availability – využitelnost zařízení.
Capacity – kapacita.
EntranceOpen – vstup otevřen.
EntranceLocked – vstup uzamčen.
Pred – předchozí objekt.
Succ – následující objekt.
Empty – objekt prázdný.
CurrIcon – název aktuálně používané ikony.
CurrIconNo – pořadí aktuálně používané ikony.
ExitStrategy – nastavená strategie na výstupu.
FailureActive – aktivování poruch.
-
10. přednáška – Metodika simulačního projektu, ŠAVŠ, Fábry, 22.4.2019
10. přednáška – Programování v SimTalk
Význam některých atributů
20
Časy:
ProcTime – čas opracování.
MTTR – střední doba do poruchy.
SetupTime – čas přenastavení.
ShiftCalendarObject – aktivování směnového režimu.
Velikost zobrazované ikony objektu a její pozice:
ZoomX – měřítko ve směru osy x.
ZoomY – měřítko ve směru osy y.
XPos – pozice ikony v okně ve směru osy x.
YPos – pozice ikony v okně ve směru osy y.
-
10. přednáška – Metodika simulačního projektu, ŠAVŠ, Fábry, 22.4.2019
10. přednáška – Programování v SimTalk
Význam některých atributů
21
Cesta:
Class – absolutní cesta k třídě.
~ – absolutní cesta k Frame o stupeň v hierarchii výš.
RootFrame – absolutní cesta k Frame.
Statistika:
Atributy začínající „stat“, např.:
statNumIn – počet všech prvků MUs, které vstoupily do objektu.
statNumOut – počet všech prvků MUs, které vystoupily z objektu.
-
10. přednáška – Metodika simulačního projektu, ŠAVŠ, Fábry, 22.4.2019
10. přednáška – Programování v SimTalk
Přiřazení hodnoty
. := ;
:
Definovaná uživatelem.
Hodnota musí odpovídat datovému typu atributu.
22
-
10. přednáška – Metodika simulačního projektu, ŠAVŠ, Fábry, 22.4.2019
10. přednáška – Programování v SimTalk
Podmíněné příkazy
Jsou to příkazy závislé na podmínkách, tj. umožňují na základě stanovené
podmínky/podmínek provést požadovaný příkaz.
Základní typy podmíněných příkazů:
if … then
if … then … else
if … then … elseif
inspect … when
inspect … when … else
23
-
10. přednáška – Metodika simulačního projektu, ŠAVŠ, Fábry, 22.4.2019
10. přednáška – Programování v SimTalk
Podmíněné příkazy s If …
Typy:
24
If then
;
else
;
end;
If then
;
elseif then
;
else
;
end;
If then
;
end;
-
10. přednáška – Metodika simulačního projektu, ŠAVŠ, Fábry, 22.4.2019
10. přednáška – Programování v SimTalk
Podmíněné příkazy s If …
If then
;
end;
Syntaxový diagram.
25
If then<
Podmínka>
end;;ANO
NE
-
10. přednáška – Metodika simulačního projektu, ŠAVŠ, Fábry, 22.4.2019
10. přednáška – Programování v SimTalk
Podmíněné příkazy s If …
If then
;
else
;
end;
Syntaxový diagram.
26
If then<
Podmínka>
else
end;;
;
ANO
NE
-
10. přednáška – Metodika simulačního projektu, ŠAVŠ, Fábry, 22.4.2019
10. přednáška – Programování v SimTalk
Podmíněné příkazy s If …
If then
;
elseif then
;
end;
nebo
If then
;
elseif then
;
else
;
end;
27
-
10. přednáška – Metodika simulačního projektu, ŠAVŠ, Fábry, 22.4.2019
10. přednáška – Programování v SimTalk
Podmíněné příkazy s If …
Syntaxový diagram.
28
If then
elseif
end;;
;
ANO
then ;
else ;
NE
then
<Podmínka
1 >
<Podmínka
2>
<Podmínka
3>
elseif
NE
NE
ANO
ANO
-
10. přednáška – Metodika simulačního projektu, ŠAVŠ, Fábry, 22.4.2019
10. přednáška – Programování v SimTalk
Podmíněné příkazy s If …
Příklad.
is
Model : string;
do
if @.Model = "Fabia" then
FabiaCelkem := FabiaCelkem + 1;
elseif @.Model = "Yeti" then
YetiCelkem := YetiCelkem + 1;
else
debug; -- neznámy model
end;
end;
29
-
Děkuji.
30