3. Symulator

3.1. Moduły programowe symulatora

Na rysunku poniżej pokazano ogólną strukturę i moduły środowiska symulacyjnego.

Moduły programowe środowiska symulacyjnego
Moduły programowe środowiska symulacyjnego

W skład środowiska wchodzą:

  • common - moduły reprezentujące klasy podstawowe, takie jak:
    • Value (valye.py): sygnały przesyłane pomiędzy blokami,
    • Block i SampledBlock (block.py): reprezentacja bloków funkcyjnych (z próbkowaniem dla bloków ciągłych),
    • Path (path.py): torów przetwarzania – jednostek porządkujących schematy bloków funkcyjnych,
    • WithIOVars (with_io_vars.py): obiekty z sygnałami we/wy zapisywanym i odczytywanymi przez użytkownika,
    • utils.py: funkcje pomocnicze,
  • libraries - moduły bibliotek tematycznych, w tym:
    • distontinuities.py: bloki o nieciągłej charakterystyce (look-up-table, limiter),
    • linear_dynamic.py: bloki czasu ciągłego liniowe, dynamiczne (człon inercyjny 1-rzędu, człon całkujący 1-rzędu, człon różniczkujący rzeczywisty 1-rzędu, ),
    • logic.py: bloki logiczne (operatory podstawowe, operatory relacji),
    • math_operations.py: podstawowe bloki matematyczne (suma/różnica, iloczyn/iloraz, wzmocnienie, signum, moduł, wielomian, funkcja wykładnicza),
    • signal_routing_and_organize: bloki podsystemów oraz operacji na sygnałach (podsystem, selektor 2-wejściowy, selektor wielowejściowy),
    • sources: bloki generatorów sygnałów (czas, wartość stała, sygnał losowy, generator przebiegów periodycznych),
  • subsystems - moduł podsystemów, w tym:
    • tempaltes.py: gotowe bloki szablonów podsystemów: zbiornik, rura, trzy zbiorniki szeregowe, pompa z rurociągiem, pozycjoner, zawór, zawór regulacyjny, regulator PID,
    • symulator.py: główna klasa symulatora,
  • params/general_params.py - moduł parametrów,
  • projects – moduły projektów do wykonania (przykładowy kod),
  • input - domyślny katalog plików wejściowych,
  • output - domyślny katalog plików wyjściowych,
  • run_simulation.py - plik uruchomieniowy symulatora w trybie wsadowym,
  • run_step_by_step.py - plik uruchomieniowy symulatora w trybie krokowym,
  • run_examples.ipynb - różne przykłady wykorzystania symulatora wraz z wizualizacją wyników w postaci notebooków Jupyter-a.