30
Počítačová simulace logistických procesů I. 10. přednáška – Programování v SimTalk ŠAVŠ, Fábry 22.4.2019

Počítačová simulace logistických procesů I. 10. přednáška ...nb.vse.cz/~fabry/PSLP1-PR10.pdf · 10. přednáška –Programování v SimTalk Význam některých atributů

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

  • 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