5. Przykłady

W przykładzie wykorzystano proste przełączanie progowe (nie rozmyte – płynne) nastawy \( k_p \). Założono, że dla skrajnych wartości SP (<0.1 i >0.3) wartość \( k_p=5 \), a dla pozostałego zakresu \( k_p=10 \). Symulację uruchomiono w trybie krokowym. W każdym kroku, w zależności od aktualnej wartości SP ustawiana jest stosowna wartość \( k_p \). Kod zapisano w notebooku Jupyter-a project_3.ipynb.

Listing: Ustawienie wartości wzmocnienia w trybie pracy krokowej

for i in range(int(tend / tp) + 1):
    ...
    # Ustawienie wartości kp
    if sp < 0.1 or sp > 0.3:
        k = 5
    else:
        k = 10
    system.in_var_val('kp', k)
    kp.append(k)
    # Krok symulacji
    rval = system.simulation_step(True)
    ...
    

Na rysunku poniżej pokazano podsumowanie działania tak zaprojektowanego układu regulacji. Na wykresie linią żółtą symbolicznie oznaczono zakres zmienności \( k_p \). Na dodatkowym przebiegu widać jak zmienia się wartość wzmocnienia \( k_p \). Jak widać, układ działa, chociaż jakość regulacji pozostawia sporo do życzenia.

Przykład działania regulatora PID dla zmiennej wartości wzmocnienia
Przykład działania regulatora PID dla zmiennej wartości wzmocnienia
Przykład działania regulatora PID dla zmiennej wartości wzmocnienia \( k_p \)