Print

PID

PID è il controllo Proporzionale – Integrale – Derivativo. È molto usato nel controllo di processo, nel controllo del riscaldamento e nel controllo del movimento.

La funzione PID calcola il valore di “errore” tra una variabile di processo misurata e il set-point desiderato. Regola un’uscita nel tentativo di minimizzare l’errore. Questa regolazione avviene a intervalli regolari. Ogni volta che viene fatta una regolazione, prende in considerazione la grandezza dell’errore (Proporzionale), il totale accumulato dell’errore nel tempo (Integrale), e il tasso di variazione dell’errore (Derivativo).

Se siete nuovi al PID, c’è una buona descrizione del PID su Wikipedia.

L’equazione PID di base utilizzata nella funzione PID di vBuilder è :

O = P*E + I * ∫ E dt + D * ΔE/dt

dove:

  • O: Uscita
  • P: Costante proporzionale (a volte indicato come Guadagno)
  • I: Costante integrale (a volte indicato come Reset)
  • D: Costante derivativa (a volte indicata come Rate)
  • E: errore
  • dt: cambiamento nel tempo

Avvio/Continua

Il PID deve essere avviato solo una volta. Continuerà a funzionare finché non sarà messo in pausa.

Start/Continue utilizza i seguenti parametri:

  • Output: Questo è ciò che il PID sta effettivamente regolando. L’uscita dovrebbe avere un impatto diretto sul valore della variabile di processo. Per esempio, una valvola a farfalla che controlla la fornitura di gas ai bruciatori di una caldaia ha un impatto diretto sulla temperatura della caldaia.
  • Output Max: Il valore massimo consentito per l’Output. Indipendentemente dal risultato del calcolo PID, l’Output sarà limitato a non più di questo valore. [qualsiasi tipo di variabile eccetto Bit e ui8]
  • Output Min: Il valore minimo consentito per l’uscita. Indipendentemente dal risultato del calcolo PID, l’uscita non sarà limitata a meno di questo valore. [qualsiasi tipo di variabile eccetto Bit e ui8]
  • Process Variable: Questa è la misura del parametro che si sta cercando di controllare.
  • Set Point: Questo è il valore desiderato della variabile di processo in questo momento
  • Input Max: Il valore massimo della misurazione della variabile di processo che sarà utilizzato per il calcolo PID. Se la misurazione attuale supera questo valore, verrà utilizzato questo valore.
  • Input Min: Il valore minimo della misurazione della variabile di processo che sarà utilizzato per il calcolo PID. Se la misurazione attuale va al di sotto di questo valore, verrà utilizzato questo valore.
  • Proportional: Il moltiplicatore costante dell’errore.
  • Integrale: Il moltiplicatore costante dell’integrale dell’errore.
  • Derivative: Il moltiplicatore costante alla derivata dell’errore.
  • Sample rate: La quantità di tempo tra ogni calcolo/regolazione PID, in millisecondi.
  • Freeze bias: Questa è un’opzione selezionabile. Se selezionata, è usata per limitare l’impatto della parte integrale dell’equazione a non più dell’intero intervallo di uscita. Questo è utile per prevenire una reazione eccessiva dopo un periodo di tempo in cui qualche fattore ha impedito il controllo effettivo della variabile di processo [che potrebbe risultare in un enorme valore integrale].

Quando si avvia un PID, esso continuerà a funzionare alla frequenza di campionamento definita, dietro le quinte. In altre parole, una volta che lo avvii, non hai bisogno di continuare ad eseguire i blocchi PID Start/Continue per il funzionamento. Non fa male a nulla se lo fai. Semplicemente non è necessario.

Pause

Un blocco PID Pause interrompe il funzionamento del PID. Seleziona la variabile di uscita del PID che vuoi mettere in pausa, come mostrato sulla destra.

Reset

Un Reset PID imposta il valore integrale al valore richiesto per produrre un’uscita uguale al valore di Reset. Si dovrebbe fare quando si avvia un PID. Lo Start/Continue non inizializza il valore Integral, perché non sa se questo è l’effettivo Start o se è un Continue. Quando metti un Reset PID in un diagramma di flusso, seleziona la variabile di uscita del PID che vuoi resettare, come mostrato sulla destra. Seleziona il valore dell’uscita PID con cui avviare il PID.

In Ladder: come eseguire i compiti solo una volta all'avvio?

Utile per definire il valore iniziale di certi tag o per i task in background.

Nota: poiché alcuni strumenti sono compiti in background, non è necessario eseguirli ogni ciclo PLC. Se lo esegui ogni ciclo, lo strumento non funzionerà correttamente perché lo stai costantemente configurando.

Basta aggiungere un "BIT" che sarà attivato subito dopo.

Tutte le vostre linee che devono partire solo una volta all'avvio:

  • devono essere dietro il contatto normalmente chiuso "ColdStart".
  • prima della linea in cui la bobina "ColdStart" è impostata a 1.

Nota: Potete usare qualsiasi nome per il bit ColdStart.

PID con uscita digitale?

Non è utile collegare un PID a un’uscita digitale, perché il PID produce un segnale continuo (invece che discreto).

Hai bisogno di un modo per rendere quell’uscita continua rilevante per i componenti hardware. Questo è più comunemente fatto con PWM – modulazione di larghezza d’impulso – in cui l’uscita è accesa per una lunghezza di tempo variabile a seconda dell’uscita PID. Tuttavia, ad alcuni componenti hardware non piace essere accesi e spenti rapidamente, quindi potrebbe essere necessario limitare la velocità con cui la valvola commuta (facendo funzionare il ciclo di controllo ad una bassa frequenza).

https://www.support.aceautomation.eu/knowledge-base/subroutines-to-download-for-vbuilder/ Vedere “Conversione da PID a PWM”

Con l’uscita digitale, si perde parte del vantaggio del PID. Devi confrontare l’uscita per on/off con il set-point. Essenzialmente, spesso ci vuole un lungo tempo di ciclo on/off per proteggere i componenti hardware.

Una breve storia per capire il principio della regolazione

Immaginate di guidare la vostra auto in autostrada e di voler stabilizzare la velocità a 130 km/h.

In pratica, potete farlo senza troppi problemi.

In questo esempio, è importante capire come la vostra mente regola intuitivamente la vostra velocità

 

Azione proporzionale

Prima di tutto, la cosa più intuitiva che fai quando vuoi guidare ad una certa velocità in autostrada è dire a te stesso: “più lentamente guido rispetto alla velocità che voglio guidare, più premo il pedale dell’acceleratore”. La pressione sull’acceleratore è quindi proporzionale all’errore che fai. Cioè, proporzionale alla differenza tra la velocità desiderata e quella reale.

Con questo metodo, se siete a 50 km/h, premete a fondo il pedale dell’acceleratore. La vostra velocità aumenta rapidamente e si avvicina al limite di velocità. Quando la velocità raggiunge i 130 km/h l’errore diventa zero, quindi si lascia l’acceleratore. Allora, a causa dell’effetto d’inerzia dell’auto, avete superato la velocità impostata.

Quando lasciate l’acceleratore, l’auto inizia a rallentare fino a scendere di nuovo sotto la velocità impostata. Allora cominciate a premere di nuovo l’acceleratore, e poi sempre di più man mano che andate avanti per cercare di raggiungere i 130 km/h. Alla fine, riuscite a stabilizzare la velocità ad una velocità inferiore a quella che avete scelto, diciamo 120km/h.

L’azione proporzionale permette di influenzare la velocità di risposta del processo.

Più alto è il guadagno, più veloce è la risposta, più basso è l’errore statico (in proporzionale puro), ma più la stabilità si deteriora.

Bisogna quindi trovare un buon compromesso tra velocità e stabilità.

 

Azione integrale

È allora che pensi: “Dannazione! Non riesco ad ottenere la velocità che voglio. Devo aggiungere un’altra regola al mio ragionamento! ” . Così decidi che se la tua velocità rimane sotto l’obiettivo per molto tempo, accelererai sempre di più. Decidi quindi che oltre ad accelerare in proporzione all’errore commesso, devi anche memorizzare questo errore nel tempo. Più l’errore complessivo è grande, più acceleri.

Così, quando stabilizzi la tua velocità a 120km/h, l’errore globale aumenta e cominci a premere sempre più forte sull’acceleratore fino a raggiungere i 130km/h. e superarli! Infatti, a 130km/h, l’errore globale è positivo, quindi si continua a premere sull’acceleratore.

Una volta raggiunti i 130km/h, l’errore è negativo e quindi l’errore globale diminuisce. Si solleva quindi il piede dall’acceleratore sempre più forte fino a tornare a 130 km/h. A 130km/h, l’errore è di nuovo negativo e si continua a decelerare. Quindi si accelera ancora e ancora fino a stabilizzarsi finalmente a 130km/h dopo molteplici oscillazioni.

L’azione integrale annulla l’errore statico (la differenza tra la misura e il riferimento).

Più alta è l’azione integrale (TI piccolo), più veloce è la risposta e peggiore è la stabilità.

Anche qui, bisogna trovare un buon compromesso tra velocità e stabilità.

 

Azione derivativa

A 130km/h, pensate: “Ce l’ho fatta! Ma non sono stato molto efficiente… Non dovremmo aggiungere una terza regola per essere più efficienti? ” . È allora che decidi di anticipare la tua velocità. Più la tua velocità è vicina a quella ottimale, meno acceleri e più è vicina a quella ottimale, più acceleri!

Così, se vi state avvicinando rapidamente a 130 km/h, farete presto ad alzare il piede dall’acceleratore per non superare troppo rapidamente i 130 km/h. Quindi, anticipando, si riduce il fenomeno dell’oscillazione e ci si stabilizza rapidamente alla velocità desiderata!

Ecco, avete fatto intuitivamente una regolazione di tipo PID!

L’azione derivativa è anticipatoria. Aggiunge un termine che tiene conto del tasso di variazione della deviazione. Questo permette di anticipare accelerando la risposta del processo quando la deviazione aumenta. Al contrario, la rallenta quando la deviazione diminuisce.

Più alta è la derivata dell’azione (Td), più veloce è la risposta.

Anche qui, bisogna trovare un buon compromesso tra velocità e stabilità.

 

Come sintonizzare un PID? (Proporzionale, Integrale, Derivativo)

Metodo manuale di impostazione dei parametri PID

  1. Impostare i valori di Integrale (I) e Derivativo (D) a zero.
  2. Poi aumentate il guadagno proporzionale (P) finché l’uscita non oscilla.
  3. Poi aumentate il guadagno Integrale fino a quando l’oscillazione si ferma.

Un altro modo

  1. Impostate i valori dell’integrale (I) e della derivata (D) a zero.
  2. Aumentare il valore proporzionale a 100.0
  3. Aumentare il valore integrale a 100
  4. Abbassare lentamente il valore integrale e osservare la risposta del sistema
  5. Poiché il sistema sarà mantenuto intorno al setpoint, cambiare il setpoint e verificare se il sistema corregge in un tempo accettabile. Se non è accettabile o si desidera una risposta rapida, continuare ad abbassare il valore integrale.
  6. Se il sistema comincia a oscillare di nuovo, registrare il valore integrale e aumentare il valore a 100. Proprio come me, siete diventati un po’ avidi cercando di ottenere la risposta più rapida.