Vai al contenuto
PLC Forum


PID compact - Comportamento anomalo


appia

Messaggi consigliati

Buongiorno,

utilizzo PID compact v2.2 con TIA V14 per la regolazione della posizione di oggetti tramite il comando con valvole proporzionali (oleodinamiche). Mi capita spesso di avere più di un PID in cascata ad un altro.

In sostanza ho un PID che determina la posizione che l'ggetto dovrà avere ed un PID a valle di quest'ultimo che, data la posizione attuale e quella che dovrà avere, mi posizione a tutti gli effetti l'oggetto.

Parametrizzazioni dei PID sopra descritti sono indicativamente P>5, I>8, D>0, tempo 0.2 secondi con velocità dell'OB a 0.1.

 

Ora, mi capita di avere una condizione di funzionamento in cui, avendo il PID in automatico, l'uscita non cambia. Vedo incrementare il parametro ../IntegralSum ed ad un certo punto il regolatore parte a funzionare (funzionamento poi corretto).

Questa condizione si verifica sempre se, quando attivo il PID, alzo per un ciclo il bit di Reset; facevo questo per prevenire il comportamento strano a distanza di qualche mese di funzionamento.

Si verifica inoltre a distanza di qualche mese di funzionamento del regolatore PID.

 

Credete sia giusto alzare per un ciclo il bit di reset oppure è meglio lasciarlo funzionare sempre?

Avete idee sul perchè mi si verifichi questa condizione di "non azione"?

 

Grazie mille per il tempo dedicato.

Link al commento
Condividi su altri siti


Ciao

Ho notato anche io questo comportamento , anomalo .

 

A me succede quando il valore reale ha raggiunto il set point , alzo il reset

per tenere bloccato la regolazione , poi tolgo il reset , e noto che aspetta l'abbassamento

della temperatura , di un valore che stabilisce il PID , per poi riprendere il riscaldamento.

Questo con gli ultimi Update del Tia 14 .

Ciao

 

Link al commento
Condividi su altri siti

Ciao,

noti anche tu, in quella fase di "Non regolazione", un aumento del valore IntegralSum?

 

che valori ha impostato di integrale e proporzionale?

 

grazie 

Link al commento
Condividi su altri siti

L'aumento del valore di integrale potrebbe anche essere normale se la regolazione rimane bloccata per un certo periodo.

Bisognerebbe monitorare anche l'andamento dell'errore e della correzione totale ma, e soprattutto, bisognerebbe conoscere come è organizzata la funzione.

Questi sono i tipici problemi di quando si usa una funzione "chiusa". Si vedono gli effetti ma non è possibile analizzare nei dettagli il perchè del comportamento.

Per questo motivo io non ho mai voluto usare i regolatori di libreria. Se sai come fare il tempo di messa a punto di un tuo regolatore equivale al tempo necesario per "appropriarsi" totalmente del regolatore di libreria, con il vantaggio che del tuo regolatore conosci anche i dettagli più infimi.

Link al commento
Condividi su altri siti

Quote

A me succede quando il valore reale ha raggiunto il set point , alzo il reset

per tenere bloccato la regolazione , poi tolgo il reset , e noto che aspetta l'abbassamento

della temperatura , di un valore che stabilisce il PID , per poi riprendere il riscaldamento.

Nella guida in linea la funzione è descritta in modo esaustivo. Basta avere la pazienza di leggere.
Per il comando Reset, riporto cosa c'è nella guida:

Esegue un nuovo avvio del regolatore.

  • Fronte FALSE -> TRUE

    • Commutazione nel modo di funzionamento "Inattivo"

    • ErrorBits e Warnings vengono resettati.

  • Finché Reset = TRUE,

    • PID_Compact rimane nel modo di funzionamento "Inattivo" (State = 0).

    • il modo di funzionamento non può essere modificato tramite Mode e ModeActivate o ManualEnable.

    • La finestra di dialogo per la messa in servizio non può essere utilizzata.

  • Fronte TRUE -> FALSE

    • Se ManualEnable = FALSE, PID_Compact commuta nel modo operativo salvato in Mode.

    • Se Mode = 3, il componente I viene trattato come configurato con la variabile IntegralResetMode.

 

Quindi, come prima cosa si deve controllare il valore di "Mode" e l'impostazione di "IntegralReseMode"

Sempre nella guida, relativamente a "IntegralResetMode" si legge quanto segue:

La variabile Variabile IntegralResetMode V2 stabilisce i valori da preassegnare al componente I PIDCtrl.IntegralSum alla commutazione del modo di funzionamento da "Inattivo" a "Funzionamento automatico". Questa impostazione è attiva solo per un ciclo.

Sono possibili:

  • IntegralResetMode = 0: Livella

  • IntegralResetMode = 1: Elimina

  • IntegralResetMode = 2: Mantieni

  • IntegralResetMode = 3: Preassegna

  • IntegralResetMode = 4: In caso di variazioni del setpoint (soltanto per PID_Compact con la versione ≥ 2.3)

C'è scritto anche che fino alla versione 2.2 il valore di default è 1, dalla 2.3 invece è 4.

 

Dunque, ti puoi trovare nella situazione in cui, pur avendo superato il valore di set point, l'uscita non è a zero perché c'è ancora la componente integrale.
Poi dai il reset. Con il reset non blocchi la regolazione, ma resetti completamente il PID (se IntegralReseMode = 1). È ben diverso.
Quindi, dopo il reset ti trovi con l'integrale azzerato e, quando riabiliti il PID, se la variabile di processo è maggiore del set point, è assolutamente normale che l'uscita sia a zero, e che inizi ad aumentare solo dopo che la variabile di processo scende sotto al valore di set point.

Non posso certo escludere in maniera categorica la presenza di bachi ma, prima di parlare di bachi, meglio capire come deve funzionare un PID.

 

Quote

Ora, mi capita di avere una condizione di funzionamento in cui, avendo il PID in automatico, l'uscita non cambia. Vedo incrementare il parametro ../IntegralSum ed ad un certo punto il regolatore parte a funzionare (funzionamento poi corretto).

Variabile di processo e set point, come sono?

Se vedi "IntegralSum" incrementare, significa che il PID sta lavorando.
Bisogna vedere come si comportano anche le altre componenti del PID.


 

Link al commento
Condividi su altri siti

Ciao Batta 

tutto corretto , ma 

se il blocco funzione che ho fatto che integra il comando Pid , prima funzionava in modo corretto ,nel frattempo installo gli update del TiaPortal , poi a distanza di tempo uso il mio blocco funzione senza toccarlo e mi da il problema , che dopo avere tolto il comando di Reset , mi sta quasi 2..3 minuti prima di riprendere la regolazione ,qualche cosa è cambiato ,

o prima nel blocco Pid Siemens mancava qualcosa , che adesso invece funziona e ritorniamo alla specifica indicata da te del manuale , oppure l’hardware Plc si comporta in modo diverso .

ciao 

 

Link al commento
Condividi su altri siti

Se hai installato tutti gli aggiornamenti, ora stai usando la versione 2.3 del PidCompact.
Come descritto nel manuale, dalla V2.3 alle precedenti c'è qualche differenza a livello di reset dell'integrale (e forse altro, ma non ho letto tutto).
Poi, per capire se si tratta di funzionamento irregolare o meno, non hai fornito sufficienti dati.
Dovremmo avere a disposizione il tuo programma, e tutte le condizioni dettagliate delle impostazioni e delle variabili in gioco (set point, variabile di processo, parametri PID, configurazione del PID).

Tanto per cominciare, hai provato a controllare qual è il valore attuale di "IntegralResetMode"?

E il valore di "Mode"?

E in "Status", che valore leggi?

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