Vai al contenuto

Informazioni sull’utilizzo del FB PID

Home Forum Programmazione IEC 61131 (LogicLab) Informazioni sull’utilizzo del FB PID

Stai visualizzando 4 post - dal 1 a 4 (di 4 totali)
  • Autore
    Post
  • #45391

    Devo realizzare un programma che gestisce una regolazione di portata è la prima volta che utilizzo il FB PID, in altre occasioni mi sono creato una una sorta di PIDda solo, quindi avrei qualche dubbio.

    Utilizzo un flussimetro analogico per misurare la portata e una pompa comandata tramite inverter,  Il PID dovrebbe tenere la portata costante ad un valore (800 lt/h) aumentando e diminuendo i giri della pompa. Il mio primo quesito è questo, la variabile “OUT” del FB va collegata direttamente all’uscita analogica?

    Nel programma di esempio di utilizzo del PID che cè sul forum l’uscita OUT è collegata direttamento al FB PWM o la variabile “OUT” va poi processata nel programma? in questo caso come è meglio processarla? dividendo il numero per una costante?

    Diciamo in linea generale come va gestito il PID?

    #45412
    Sergio Bertana
    Amministratore del forum

    Il blocco funzione PIDMng cerca di mantenere il valore di processo (Ingresso PValue) il più possibile uguale al valore di set point (Ingresso SetPoint) gestendo l’errore con una regolazione proporzionale, integrativa e derivativa.

    Siccome il valore di processo da mantenere può essere di qualsiasi tipo (Velocità, portata, pressione, ecc) sono accettati qualsiasi valori di SetPoint e PValue, l’importante che siano espressi nella stessa unità di misura, nel tuo caso lt/h.

    Anche l’attuatore che gestisce il processo può essere di qualsiasi tipo (Motore, Riscaldatore, Valvola, ecc) quindi si è scelto di avere in uscita (Uscita OUT) un valore espresso in % (Da -100% a +100%). Nella versione (v1) sono stati inseriti i due ingressi OMin e OMax per la definizione del valore minimo e massimo in uscita dalla regolazione.

    Il valore di uscita andrà utilizzato per il comando dell’attuatore, quindi se l’attuatore che utilizzi deve essere comandato con un riferimento di tensione dovrai moltiplicare il valore per un coefficente che ti permetta di avere ad esempio da -10 a +10V (Quindi moltiplicherai per 0.1).

    #56189
    Edi
    Partecipante

    Avrei qualche domanda da farti riguardo al controllore PID, non ho molta esperienza riguardo ai PID di conseguenza mi trovo un po in difficoltà. Dovrei controllare una piccola paratoia in apertura e in chiusura che mi mantenga la portata constate a circa 10 l/s.

    Ho provato a fare qualche esperimento ma il PID , in apertura, mi da che il valore di uscita è 100.000 ma fa una regolazione continua senza mai fermarsi, è un problema del derivativo che ho impostato male? Quando simulo l’ingresso analogico esempio a 13 l/s la variabile di uscita del PID va a 0.

    Seconda cosa le variabili da mettere sull’ FB  PID devono essere impostate su quelle globali o su quelle locali?

    So che le prime 4 devono essere di tipo BOOL e le altre di tipo REAL, se avessi qualche esempio su cui studiare e provare col simulatore mi saresti di grande aiuto come sempre, oppure consigliarmi qualcosa.

    #56194
    Sergio Bertana
    Amministratore del forum

    L’ottimizzazione di un PID richiede un po di esperienza, intanto ti mando a questo post dove troverai un progetto testabile sul simulatore SimuLab che ti aiuterà a prendere confidenza con il PID. E se cerchi nel forum con la chiave di ricerca PID troverai altri post.

    In linea di massima si inizia abilitando la sola azione proporzionale, in modo da avere la miglior regolazione possibile. Nella sua essenza il PID genera un valore di uscita pari al valore dell’errore (Differenza tra set point e valore di processo) moltiplicato per il coefficente proporzionale.

    Quindi è evidente che maggiore è il KP maggiore è il valore di uscita a parità di errore, e se il KP è troppo alto il sistema tende a pendolare.

    Con valori di errore superiori al valore di banda proporzionale PBand, la regolazione è disabilitata e l’uscita è pari al 100%. Infatti se l’errore è troppo grande è inutile regolare ma occorre fornire il massimo di azione per cercae di riportare l’errore entro la banda di regolazione.

Stai visualizzando 4 post - dal 1 a 4 (di 4 totali)
  • Devi essere connesso per rispondere a questo topic.