Vai al contenuto

Ottimizzazione PID


Messaggi consigliati

Inserito:

Ciao a tutti,

vorrei dei consigli per ottimizzare un PID riguardo questa applicazione.

Plc 1511, inverter G120c (PN), motore asincrono, cella di carico montata sul motore.

Il motore comanda un nastro e con la cella di carico devo mantenere il tiro costante (il nastro viene tirato anche da un altro motore, quello che gestisco io sarebbe uno slave).

Ho implementato un pid su un OB a 4ms, con input il valore della cella ed output direttamente la velocità dell'inverter.

Allego le foto dei parametri del pid e il grafico delle oscillazioni.

Praticamente non riesco a migliorare la situazione, ho provato a fare diverse "ottimizzazioni fine" ed escono sempre valori diversi (a volte anche di molto).

Ho notato che la cella di carico è molto sensibile e il valore cambia di molto a piccole variazioni.

Cosa potrei fare?

Accetto qualsiasi suggerimento.

 

Grazie.

 

 

image.png.3d33b7d71b3047419419d65be9220f15.png

 

image.thumb.png.a63bde7e53465df1ef2ef8ac5e08e211.png

 

Livio Orsini
Inserita:

Prima cosa devi usare un feedforward di velocità, prendendo la velocità del master ed aumentandola di una piccola percentuale proporzionale al tiro (se il tiro è variabile ed impostabile).

Il PI(D) avrà come riferimento il valore di iro impostato, come reazione la lettura della cella (filtrata magari da un slip window o media scorrevole).

L'uscita del PI(D) ridotta in modo tale che il fondo scala corrisponda a circa il 10% del fondo scala di velocità, poi verrà sommata algebricamente al riferimen to di velocità.

In questa discussione trovi il link al mio vecchio tutorial sulle regolazioni, dove questa tecnica vie spiegata nei dettagli con anche esempi di applicazione.

 

Mister_X_
Inserita:
2 hours ago, Livio Orsini said:

Prima cosa devi usare un feedforward di velocità, prendendo la velocità del master ed aumentandola di una piccola percentuale proporzionale al tiro (se il tiro è variabile ed impostabile).

Il PI(D) avrà come riferimento il valore di iro impostato, come reazione la lettura della cella (filtrata magari da un slip window o media scorrevole).

L'uscita del PI(D) ridotta in modo tale che il fondo scala corrisponda a circa il 10% del fondo scala di velocità, poi verrà sommata algebricamente al riferimen to di velocità.

In questa discussione trovi il link al mio vecchio tutorial sulle regolazioni, dove questa tecnica vie spiegata nei dettagli con anche esempi di applicazione.

 

Grazie.

Per la messa in servizio come dovrei procedere? Utilizzo sempre l'ottimizzazione fine di Siemens oppure potrei fare in un altro modo?

Livio Orsini
Inserita:
16 minuti fa, Mister_X_ ha scritto:

Per la messa in servizio come dovrei procedere? Utilizzo sempre l'ottimizzazione fine di Siemens oppure potrei fare in un altro modo?

 

Io non ho mai voluto usare questo blocco, ma anche qualcun altro, perchè essendo chiuso non è possibile dominarlo completamente. Io ho sempre usato i miei blocchi standard, messi a punto in parecchie applicazioni e di cui sapevo tutto.

Le ottimizzazioni automatiche dei parametri, se gli  algoritmi sono benstudiati e realizza, danno ottimi risultati in almeno lo 80% dei casi. In alcune applicazioni si può sgrossare con l'ottimizzazione automatica e poi rifinire con l'ottimizzazione manuale, sempre se si ha la suffciente esperienza e competenza.

 

Nella tua applicazione, da quanto hai scritto, non sembra ci siano particolari problemi, quindi potrebbe essere suffciente la sola ottimizzazione automatica.

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...