Vai al contenuto
PLC Forum


Semplice regolazione PID in LADDER


Stefano Dellanoce

Messaggi consigliati

Stefano Dellanoce

Ho visto su roboitalia.com che parlano di un manuale "molto ben fatto e comprensibile di un "certo" Livio S.Orsini, 😄 quindi penso di essere nel posto giusto...

So che il ladder di Mitsubishi prevede la funzione PID ma la sua uscita è un numero che andrebbe poi elaborata in ON, tempo e OFF.

Non volevo impantanarmi su cose troppo precise e complicate, ma non volevo nemmeno un termostato ON/OFF.

Quindi ho implementato qualcosa che, all'avvicinarsi della temperatura richiesta, stacca e riattacca con tempo proporzionale fino ad arrivare a zero secondi se troppo freddo e a 10 secondi (o 100 oppure X) se vicino alla temperatura.

Praticamente la parte P del Pid.

In ladder è abbastanza semplice. Come posso integrarlo con la parte I e D, sempre in ladder e sempre in modo "grossolano" ?

Grazie in anticipo.

Link al commento
Condividi su altri siti


Per gli FX5 (GX Works3) esiste un'apposita istruzione chiamata PID, lunga da descrivere, che incorpora anche funzioni di autotuning.

Esiste anche per FX3 (GX Works2), ammetto comunque di non averle mai usate internamente al PLC.

Link al commento
Condividi su altri siti

Stefano Dellanoce

Come dicevo sopra, c'è una funzione anche su FX3u che è uguale agli FX5 ma è più orientata ai motori, dato che il numero che esce dal calcolo va poi utilizzato con la funzione PWM.

Quello che serve a me è un PID per la regolazione della temperatura, quindi con un ON di X secondi e un OFF di Y secondi che vengono man mano calcolati in relazione all'errore tra Setpoint e temperatura letta. Poi capisco anche io che posso accendere e spegnere una resistenza in PWM ma non posso certo farlo con dei contattori 😂 

Link al commento
Condividi su altri siti

8 minuti fa, Stefano Dellanoce ha scritto:

è più orientata ai motori

Mica vero, un PID è un PID. Ora però mi cogli impreparato se abbia la funzione ON/OFF, io credo di si. Con gli Omron scegli te se avere una uscita continua (analogica/PWM) oppure una a contattori. Mi spiace, non ho il tempo di andare a rivedere il manuale, almeno per ora. Vediamo se qualcuno si muove, se poi sei nelle peste, vedo settimana prossima di darci un'occhiata (sarò all'estero, per cui un po' di tempo la sera potrei trovarlo...)

Link al commento
Condividi su altri siti

Quando si fa una regolazione PID si usa i conattori statici per regolare una temperatura, la funzione PID la usi per effettuare la regolazione tramite PWM preferibilmente con un tempo ciclo basso, anche intorno al secondo, tanto hai dei contattori statici che possono essere innescati a piacere, più è basso il tempo ciclo più è precisa la regolazone, se vuoi farlo con un tempo ciclo più alto puoi farlo ma aumenti l'inerzia del sistema e diminuisci la precisione. Tale regolazione già fatta in passato sia con FX2n con FX3u ma anche con FX5, basta che abbini l'uscita del PID al PWM e sarà l'attuatore a effettuare la regolazione sul sistema. Ovviamente la taratura dei tre parametri PID è fondamentale, c'è anche l'autotaratura ma difficilmente sono arrivato adi usarla, l'ho sempre implementata ma spesso non la uso in genere riesco autonomamente a trovare le giuste tarature, poi dipende anche da come si vuole che il sistema regoli e che abbia più o meno inerzia

Link al commento
Condividi su altri siti

Aggiungo usare la regolazione PID con contattori puoi farlo ma con tempo ciclo magari di 30 secondi. ma i contattori alla lunga ne risentono, dureranno? Non credo. I contattori puoi usarli per la funzione ON/OFF con il solo limite della temperatura e dell'isteresi di intervento, usare i contattori elettromeccanici con la funzione PID puoi usarli, tutto si può nella vita ma non penso ne trai beneficio perchè poi con molti azionamenti tenderanno a logorarsi in un tempo breve, è ovvio che con gli statici è tutto un altro andare

Link al commento
Condividi su altri siti

Nella realtà purtroppo molti quadristi, ai quali il cliente lascia mano libera, usano contattori dove andrebbero messi gli statici. Anche con interventi di 2/3". Te ne accorgi dal "tip-tap" dentro i quadri... Dipende poi dai contattori e dalle correnti assorbite...

Modificato: da drn5
Link al commento
Condividi su altri siti

Non conosco il PID di libreria FX.

A mio parere quando si usa un PID per regolare una temperatura ci sono solo 2 strade che danno buoni risultati in ordine alla precisione di regolazione.

 

1 Regolazione con "Burst"

E una sorta di PWM con frequenza di base (portante) molto bassa, ovvero periodi lunghi, dell'ordine della decina di secondi; in questo caso si possono anche usare contattori elettromeccanci.

Se si sta, invece, con periodi dell'ordine di 2 secondi, ovvero 100 cicli di freqeunza a 50 Hz, si ottengono risultati anche migliori ma è obbligatorio l'uso del relè statico.

 

2 regolazione a "taglio di fase"

In questo caso il regolatore agisce sulla fase di innesco del triac o dello SCR variando da circa il 100% della potenza a 0. La regolazione è ottima dal punto di vista della precisione. Ovviamente è indispensabile l'uso di Triac o SCR di potenza adeguata.

Modificato: da Livio Orsini
Link al commento
Condividi su altri siti

1 ora fa, Livio Orsini ha scritto:

Non conosco il PID di libreria FX.

A mio parere quando si usa un PID per regolare una temperatura ci sono solo 2 strade che danno buoni risultati in ordine alla precisione di regolazione.

funzionano molto bene, li ho usati sia in regolazioni di temperatura che in regolazione di pressione per impianti MBR di trattamento acque dove interagiscono con membrane di filtraggio molto delicate e sempre che buoni risultati, quello che si nota rispetto a una regolazione senza PID di temperatura che il tempo di raggiungimento delle imposazioni di setpoit è molto veloce e preciso rispetto a una regolazione senza PID e questo è ovvio, i motivi sono intrinsechi in una regolazione PID ben tarata e con tempi ciclo ristretti

Link al commento
Condividi su altri siti

3 ore fa, leleviola ha scritto:

, li ho usati sia in regolazioni di temperatura.....

 

Cosa hai usato come attuatori? SSR?

Link al commento
Condividi su altri siti

Classico contattore statico o SSR, l'uscita del PID che può variare tra 0 e 2000 che regola l'attuazione di un'uscita PWM che ha un tempo ciclo identico al massimo valore del PID (2000mS) così che il PID regola l'attuazione del PWM tra 0 e il massimo 2000, quindi regola direttamente l'uscita con un tempo ciclo di 2secondi ma penso possa essere fatto anche con un tempo ciclo di 1 secondo ma in questo caso essendo le frazioni intere 1000 invece di 2000 si dimezza la precisione del PID e del PWM perchè il PWM come unità minima di regolazione ha 1ms

Modificato: da leleviola
Link al commento
Condividi su altri siti

13 ore fa, leleviola ha scritto:

con un tempo ciclo di 2secondi

 

E il valore perfetto per questo tipo di regolazioni, permette di attivare il resistoere di riscaldo per un ciclo (20ms) ogni 100, quindi di regolare la potenza in modo molto fine.

Ovviamente questo con un contattore è impossibile da ottenersi.

Modificato: da Livio Orsini
Link al commento
Condividi su altri siti

Si in genere lo metto a due secondi ma si potrebbe mettere a 1000ms ma mi sembra un tempo troppo ristretto, lo metto a 2000ms per avere un frazionamento del PWM a 2000 unità perchè l'unità minima del PWM è 1ms e quindi fraziono l'azionamento massimo dell'uscita in 2000 unità, così il PID riesce a regolare in maniera più precisa

Link al commento
Condividi su altri siti

Usando degli SSR peròsei limitato a 20ms, o 10ms, come risoluzione perchè una volta eccitato rimane in conduzione sino all'azzeramento della corrente.

 

Link al commento
Condividi su altri siti

9 ore fa, Livio Orsini ha scritto:

Usando degli SSR peròsei limitato a 20ms, o 10ms, come risoluzione perchè una volta eccitato rimane in conduzione sino all'azzeramento della corrente.

 

Scusami Livio ma questa non la sapevo, in pratica dici che l'innesco minimo di contattore statico è 10 p 20ms?

se così basta limitare il PWM a tale valore e far coincidere tale valore con lo zero dell'uscita PID

Link al commento
Condividi su altri siti

Se usi SSR con innesco al passaggio dello zero, con reti a 50 Hz monofasi hai uno zero ogni 10ms, se sono trifasi hai uno zero ogni 3.3ms.

Se comandi interruttori trifasi allora dare il comando con risoluzione 1ms ha un senso anche se, in teoria, sarebbe sufficiente 1.5ms.

Se comandi interruttori per carichi e reti monofasi, è sufficiente dare il comado con risoluzione di 5 ms.

Dare il comando ad 1 ms, non fa male ma non aumenta la risoluzione.

Ovviamente la durata minima del comado dovrà essere 4 ms per reti trifasi e 10 ms per reti monofasi, altrimenti rischi che l'interruttore non inneschi, visto che il comando non è sincrono con la rete.

Se invece lavori con interruttori statici in continua la risoluzione di 1 ms è ottima.

Modificato: da Livio Orsini
Link al commento
Condividi su altri siti

  • 2 weeks later...
Stefano Dellanoce
Il 26/3/2022 alle 19:52 , leleviola ha scritto:

Scusami Livio ma questa non la sapevo, in pratica dici che l'innesco minimo di contattore statico è 10 p 20ms?

se così basta limitare il PWM a tale valore e far coincidere tale valore con lo zero dell'uscita PID

Hai detto bene. Però come fai a far coincidere la frequenza della rete con la frequenza del tuo PWM? Non puoi.

 

Grazie a tutti per gli interventi. Conosco bene il pid perché lo uso da anni "già bell'e fatto" sui termoregolatori della Eliwell o altri e li uso su resistenze elettriche in un serbatoio di Hot Melt (sigillatrici per vetrai), quindi con una inerzia mooooolto grande. Ma il tempo che uso è, naturalmente, lungo, nell'ordine di 5 - 20 secondi, anche se ogni tanto sento uno scatto del teleruttore di mezzo secondo (deve essere un bug).

 

Per questo motivo volevo affrontare il problema dal basso, "sgrossando" un PID, facendogli rincorrere solamente la temperatura in funzione dei gradi mancanti all'arrivo (quello che si chiama errore). In questo caso non arrivo a bruciare il materiale dentro al serbatoio prima che la sonda si accorga della temperatura reale e non ho successive sovraelongazioni (dove la temperatura supera anche di 20 gradi il setpoint).

 

Proverò a vedere il PID di FX3u e poi il PWM, ma già capisco che i parametri cominciano a diventare tanti... Ecco il perché del post.

Link al commento
Condividi su altri siti

3 ore fa, Stefano Dellanoce ha scritto:

Però come fai a far coincidere la frequenza della rete con la frequenza del tuo PWM? Non puoi.

 

Non serve.

Intanto questa regolazione più che PWM è a "burst" con pacchetto minimo di ciclo, o di un semiciclo, in funzione dell'attuatore usato.

Se usi un attuatore a Triac o a 2 SCR in antiparallelo, basta usare come larghezza minima dell'impulso di comando 11ms; nel caso pessimo darai il comando per 2 semicicli in luogo di 1.Ma è un'indecisione più che tollerabile.

 

Nei regolatori a burst dedicati il comando viene dato sullo zero della semionda. Il semiconduttore viene sempre innescato con la tecnica del doppio impulso di gate. Si possono contare preventivamente il numero di cicli attivi che si vogliono ottenere.

Con il PLC, in genere, non si può sincronizzare il comando con il passaggio per lo zero, quindi si ha questa indecisione tra uno e due semiperiodi minimi. Ma anche su pacchetti di maggior larghezza c'è sempre un semiciclo che balla.

 

Comunque usando il periodo massimo di PWM pari a 1" con larghezza minima di impulso di 10ms (+1) si ha una risoluzione pari allo 1%; se si sale a 10" mantenendo 10ms di larghezza minima si raggiunge la risoluzione di 0.1% più abbondante per questo tipo di regolazioni.

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...