4. Uruchomienie symulacji

4.3. Zapis danych wyjściowych i wizualizacja wyników

Dane wyjściowe (pomiary) można odczytać w następujący sposób:

  • w trybie wsadowym – W tym trybie, przy ustawionym parametrze log_output=’monit’|’control’, metoda simulate zwraca słownik z wektorami wartości czasu + wszystkich zmiennych procesowych (12) odpowiednio z okresem próbkowania  t_p^{mon} lub  t_p^{cont} , przy czym zmienne procesowe przetwarzane z okresem  t_p^{mon} i tak zmieniają się zgodnie z tym okresem.

    Wizualizacja słownika zwracanego przez metodę simulate
    Wizualizacja słownika zwracanego przez metodę simulate
  • w trybie pracy krokowej – W tym trybie, przy ustawionym parametrze log_output (dowolna wartość), metoda simulation_step zwraca listę wartości czas + wszystkie zmienne procesowe (12).

    Wizualizacja listy zwracanego przez metodę simulation_step
    Wizualizacja listy zwracanego przez metodę simulation_step

    W każdym roku symulacji można także zapisać sygnały wejściowe i odczytać sygnały wyjściowe symulatora. Odpowiednie zmienne próbkowane są (zmiana wartości) zgodnie z okresami  t_p^{mon} i  t_p^{cont} .

    Listing: Przykład zapisu i odczytu zmiennych IO symulatora w kolejnych krokach symulacji
    
    # Ustawienie wartości SP
    system.in_var_val('SPman', 0.25)
    # Odczyt wartości PV
    PV = system.out_var_val('L3')
                

W obu przypadkach lista zwracanych wartości obejmuje zmienne: t (czas symulacji), SP, CV, PV (wartość L3, ale próbkowania z okresem  t_p^{cont} ), e (wartość odchyłki), P, G, dP, F1, L1, L2, L3, F2, dist (wartość zakłócenia procesowego – na potrzeby analizy i wyświetlania na wykresach).

Dodatkowo, w skoroszycie Jupytera run_examples.ipynb przygotowanie kilka przykładowych skryptów, które mogą pomóc w realizacji projektów:

  • Przykład 1: konfiguracja i wykonanie obliczeń dla prostego schematu blokowego,
  • Przykład 2: konfiguracja i wykonanie obliczeń dla schematu blokowego z podsystemami,
  • Przykład 3: wsadowa symulacja dla ustalonych parametrów konfiguracyjnych,
  • Przykład 4: krokowa symulacja dla ustalonych parametrów konfiguracyjnych,
  • Przykład 5: eksport danych zapisanych podczas symulacji,

    Listing: Przykład eksportu danych zapisanych podczas symulacji w trybie wsadowym do pliku CSV
    
    import pandas as pd
    
    df = pd.DataFrame(proc_vars)
    df.to_csv('output/'+outfilename, sep='\t', index=False)
                
  • Przykład 6: wizualizacja głównych zmiennych procesowych na podstawie zapisanych danych z symulacji,

    Wynik działania skryptu wizualizacji głównych zmiennych procesowych
    Wynik działania skryptu wizualizacji głównych zmiennych procesowych
  • Przykład 7: wizualizacja dodatkowych sygnałów (e, dist) na podstawie zapisanych danych z symulacji,
  • Przykład 8: wizualizacja dwóch sygnałów na oddzielnych wykresach,
  • Przykład 9: wizualizacja dwóch sygnałów na jednym wykresie.