PIDMng, PID management

Home / Knowledge Base / Manualistica / Programmazione IEC 61131-3 / Libreria utilità generale / PIDMng, PID management

ll controllo Proporzionale-Integrale-Derivativo, è un sistema in retroazione negativa ampiamente impiegato nei sistemi di controllo, questo FB acquisisce in ingresso un valore da un processo PValue, e lo confronta con un valore di riferimento SetPoint. La differenza, il cosiddetto segnale di errore, viene usata per determinare il valore della variabile di uscita Out, che è la variabile di gestione del processo. Il PID regola l’uscita in base a 3 azioni:

Azione proporzionale (P): Il valore del segnale di errore.
Azione integrale (I): I valori passati del segnale di errore.
Azione derivativa (D): Quanto velocemente il segnale di errore varia.

Il valore Out di uscita può variare nel range definito dai parametri OMin e OMax, il segno dell’uscita sarà positivo se SetPoint>PValue o negativo nel caso contrario. Tramite l’ingresso Reverse è possibile invertire la polarità.

Il valore di uscita andrà poi opportunamente scalato per la gestione del processo, può essere ad esempio utilizzato per gestire una modulazione PWM su di un riscaldatore e/o per gestire il riferimento di velocità di un motore.

Function block
CODESYS: Non disponibile
LogicLab: eLLabUtyLib

PIDEnable (BOOL) Abilitazione regolazione PID, attivando l'ingresso si abilita la regolazione. Disattivandolo si azzera il valore in uscita Out.

IEnable (BOOL) Abilitazione regolazione integrativa, attivando l'ingresso si abilita la regolazione integrativa.

DEnable (BOOL) Abilitazione regolazione derivativa, attivando l'ingresso si abilita la regolazione derivativa.

Reverse (BOOL) Inversione segno su valore in uscita Out.

SetPoint (REAL) Set point, il valore è espresso nell'unità di misura del processo da controllare.

PValue (REAL) Valore acquisito dal processo, il valore è espresso nell'unità di misura del processo da controllare.

PBand (REAL) Banda proporzionale, questo valore definisce il valore di errore oltre al quale la regolazione viene disabilitata forzando l'uscita Out al massimo ±100%. Il valore è espresso nell'unità di misura del processo da controllare.

Kp (REAL) Costante proporzionale, si ricorda che più è elevato il valore più è pronta è la regolazione con un conseguente aumento del valore di overshot. Il valore è un numero.

IT (REAL) Tempo integrativo, si ricorda che più è elevato il valore meno è veloce la regolazione integrativa a recuperare l'errore. Il valore è espresso in Sec.

DT (REAL) Tempo derivativo, si ricorda che più è elevato il valore più è veloce la regolazione derivativa a recuperare l'errore. Il valore è espresso in Sec.

OMin (REAL) Valore minimo dell'uscita PID Il valore è espresso in %.

OMax (REAL) Valore massimo dell'uscita PID Il valore è espresso in %.

Enabled (BOOL) Regolazione PID abilitata.

Fault (BOOL) Attiva per un loop in caso di errore nella esecuzione.

Out (REAL) Valore di correzione in uscita dalla regolazione PID. Questo valore deve essere utilizzato per il comando del processo. Il valore è espresso in %.

Esempi

Come utilizzare gli esempi.
Collegando l'uscita Out del FB PWMOut ad un riscaldatore elettrico è possibile gestirne la regolazione acquisendo il valore di temperatura dalla sonda Pt100. Tramite la funzione Oscilloscopio di LogicLab è possibile verificare il funzionamento e procedere alla ottimizzazione dei valori per ottenere la regolazione migliore.

LogicLab (Ptp114)
PROGRAM FBD_PIDMng_v2
VAR
    PIDEnable : BOOL; (* PID enable *)
    IEnable : BOOL; (* I enable *)
    DEnable : BOOL; (* D enable *)
    SetPoint : REAL; (* PID Set point *)
    PValue : REAL; (* PID process value *)
    Proportional : REAL := 2; (* Proportional coefficent (Nr) *)
    Integrative : REAL := 0.0; (* Integrative time (Sec) *)
    Derivative : REAL := 0.0; (* Derivative time (Sec) *)
    PBand : REAL := 50.0; (* Proportional band (%) *)
    AIn : SysGetAnInp; (* Analog input acquisition *)
    PIDFb : PIDMng_v1; (* PID function block *)
    POut : PWMOut; (* PWM out command *)
END_VAR

Immagine FBD_PIDMng_v2

LogicLab (Ptp114)

Ti è stato utile questo articolo ?