Vai al contenuto
PLC Forum


Pid


luppi24

Messaggi consigliati

ciao a tutti, sto cercando di capire come funzionano i controllori PID per il controllo della temperatura, leggendo il manuale ho visto che ci sono degli esempi ma non mi e´ chiara una cosa (cap.6.2) <_<

L'esempio "Regolatore di impulsi" contiene un semplice circuito di regolazione relativo al

regolatore di temperatura FB 58 "TCONT_CP" e la simulazione di un processo di

temperatura di un PROC_P. Il regolatore è stato parametrizzato come regolatore a impulsi.

PROC_P rappresenta un elemento PT 3 con ingresso binario.

Cosa vuol dire elemento PT3??? :blink:

grazie come sempre!

Link al commento
Condividi su altri siti


grassie OB1 hai proprio ragione.... :blink: che figurazz :unsure:

ho visto su un post la spiegazione di milan su come programmare un PID...beh complimenti...quello che sul manuale non si capisce tu lo spieghi in 3 righe!bravo davvero! :)

volevo chiedervi una cosa: devo mantenere costante una temperatura agendo su di una valvola che regola la portata di liquido refrigeratore, per ora del mio sistema non conosco nessuna delle variabili in gioco a parte la portata max di refrigerante e la T desiderata, la mia domanda e´:

se eseguo una programmazione di massima del PID con FB41 richiamato da un OB35 (con DB di istanza) posso aggiustare i vari parametri Kp,chi,Kd Gain,TI e TD in un secondo momento in laboratorio o e´ da suicidio?

E´ possibile simulare un PID in PLCSIM?

I dati inerenti le variabili ancora non li ho perche´ il modello matematico dinamico del sistema e i valori geometrici (relativi al condensatore e al circuito) devono ancora essere definiti (quindi anche la funzione di trasferimento non la posso stimare :( ).

N.B. il progetto fa sempre parte di una tesi di laurea....non sono un professionista che lavora.

grazie come sempre a tutti. ;)

Link al commento
Condividi su altri siti

Gianmario Pedrani

prova ad utilizzare fb58 che a un algoritmo interno che fa' un autoapprendimento, devo dire che e' molto funzionale

Fb58 e un fb41 modificato e migliorato....

ciao e buona regolazione

Link al commento
Condividi su altri siti

Federico Milan

FB58 non l'ho mai utilizzato, però FB41 sì, e divo dire che è un po' dificilotto :) ... per ragioni di tempo, poco fa ho dovuto costruirmi un pid mio, questa se vi interessa è la formuletta che ho utilizzato:

Ts = Tempo campionamento
Ti = Tempo Integrale
Td = Tempo derivativo

e = errore
U = uscita

                /                Ts         Td                        \
U(t)=U(t-1)+Kc*|[e(t)-e(t-1)] + -- *e(t) + -- *[e(t)-2*e(t-1)+e(t-2)]|
                \                Ti         Ts                        /

Il vantaggio è nell'implementazione software veramente banale, e poi sai cosa fa :).

ciao

Modificato: da Federico Milan
Link al commento
Condividi su altri siti

grazie milan sei sempre stragentile ;) (anche se il tuo nome mi porta a tristi ricordi di derby <_< )

se non mi fucilo prima :angry: con sto FB58 che deve essere chiamato anche dalla mamma .....provo anche il tuo algoritmo che sicuramente andra´ alla stragrande!

Link al commento
Condividi su altri siti

Sinceramente l'FB58 non l'ho mai usato (sicuramente ora gli darò un occhiata grazie a Gianmario) mentre l'FB41 l'ho utilizzato diverse volte e quello che ti posso dire è che per fare termoregolazione è alquanto indicato, ottenendo i parametri salienti Proporzionale, Integrale e Derivatiovo (per una termoregolazione spesso è sufficiente un regolatore tipo PI) con un pò di "esperienza partica" durante il collaudo.

Ciao

B)

Link al commento
Condividi su altri siti

Livio Orsini
Il vantaggio è nell'implementazione software veramente banale, e poi sai cosa fa

E' la conclusione a cui sono giunto, credo, nel '96! Siemens è abilissima nel complicare le cose semplicissime.

(anche se il tuo nome mi porta a tristi ricordi di derby  )
luppi24 appartieni alla nobil schiera di fede nerazzurra? Se si ti mando il mio PID già fatto. Scherzi a parte lo trovi per il 200 negli esempi del mio tutorial, poi dall'AWL del 200 a quello del 300 è un attimo.

Come scrive OB1, probabilmente non ti serve un PID ma un PI. Se proprio devi usare anche il D usa la derivata sulla reazione e non sull'errore. Ti da un vantaggio: non viene influenzata dalle variazioni di riferimento (cfr. i sacri testi sui regolatori). Poi cerca di usare molto il feed forward, otterrai risposte più precise e stabili.

Link al commento
Condividi su altri siti

grazie anche a te Livio.... ahime´ oltre a dover fare un PID sono pure interista.... :blink: che ci posso fare??? :unsure:

il PID gia´ fatto :huh: ? no no no devo farlo da solo a costo di stare sveglio di notte... :ph34r:

P.S fai un PID per l´inter che integri un po´ di pareggi al fine di derivarne qualche vittoria! :lol:

Link al commento
Condividi su altri siti

Livio Orsini
P.S fai un PID per l´inter che integri un po´ di pareggi al fine di derivarne qualche vittoria!

Magari! Sai per chi ha la mia età (mi ricordo anche dei due campionati vinti consecutivamente con Foni allenatore e attaccanti come Lorenzi, Skoglund e Nyers) il Milan era il parente povero :angry:

Parlando di cose serie, guarda che per fare un PID sono sufficienti meno di 50 righe di programma quindi, se hai chiara la teoria, non è da perderci la notte. Forse le difficoltà sono nel sistema che devi controllare. Consiglio disinteressato: studiati bene il comportamento fisico del tuo sistema.

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

ho una domandina :P :

1- posso visualizzare un grafico o simulare il sistema PID con PLCSIM?

p.s caro Livio il nostro non e´ un tifo...ma una lungodegenza da ricordi passati: sarti burnich facchetti....mazzola domenghini suarez corso

Link al commento
Condividi su altri siti

Federico Milan

Hai parecchie strade:

- Programma tipo MatLab ...

- Foglio di calcolo

- ...

se PLCSim ti consente di recuperare le DB scritte, puoi anche memorizzare su una DB i balori, quindi estrarli e visualizzarli su di un foglio di calcolo ... Praticamente una simulazione a costo zero...

ciao

Link al commento
Condividi su altri siti

Livio Orsini
posso visualizzare un grafico o simulare il sistema PID con PLCSIM?

Il problema non è simulare il PID. Io per gioco lo anche fatto in VB. Il problema sono i parametri che ricostruiscono il sistema in campo.

Se ti serve solo per verificare l'esatta corrispondenza tra istruzioni e algoritmo simula pure con PLCSim, se vuoi verificare se l'algoritmo è corretto puoi usare excel con una macro in VB, o farti il tutto in VB.

Se usi Simulink di Matlab ti viene più veloce.

Link al commento
Condividi su altri siti

non sono sicuro su di una cosa :o

..... mi creo un FB41 con DB41 di istanza, ebbene questo FB41 devo richiamarlo in OB35 e basta o devo anche richiamarlo in OB100?

Ho visto che OB100 serve per il "warm restart" ma la domanda che mi faccio io e´:

nel momento in cui richiamo FB41 in OB35 e OB100, carico tutto in CPU, e faccio andare la mia macchina.... il ciclo di richiamo del FB41 avviene automaticamente secondo i tempi di scansione impostati in OB35 e OB100?

spero di non essermi spiegato come Biscardi. :blink:

grazei a tutti!

Link al commento
Condividi su altri siti

Il richiamo periodico avviene a tempo con OB35 , OB100 serve solo per "l'inizializzazione" del blocco PID all'avviamento della CPU .

bigalex :blink:

Modificato: da bigalex
Link al commento
Condividi su altri siti

grazie mille bigalex! :lol:

adesso comincio a vedere con l´FB58 cosa viene fuori....anche se mi sembra piu´ incasinato del 41.... bah <_<

ciao e grazie!!! ;)

Link al commento
Condividi su altri siti

ciao a tutti, ho una domanda da fucilazione :unsure: :

mi sono fatto un modello matematico del condensatore e sono arrivato ad una modellazione con entrate uscite disturbi ecc.... con un bel schema a blocchi, per correggere l´errore uso un PID e grazie al modello precedentemente fatto mi ricavo i valori caratteristici del PID.

la mia domanda e´ questa: al momento della programmazione con Step7 vado a programmare il mio PID (con un FB41 x exempio) e inserisco i valori caratteristici.

Come mi devo comportare con i blocchi rimanenti? :blink:

Link al commento
Condividi su altri siti

Livio Orsini

Ma cosa hai nei blocchi rimanenti?

Se usi solo il PID dovresti avere riferimento, reazione e PID. Entri nello FB41 con riferimento e reazione ed esci con il riferimento all'attuatore.

Diverso è il caso in cui oltre al PID hai ipotizzato un'azione diretta (FeedForward). Questa con lo FB41 non c'entra, devi mandarla in somma all'uscita del PID come riferimento per l'attuatore.

Link al commento
Condividi su altri siti

grazie mille come sempre Livio, ho risolto tutto col PID sono apposto.... ;)

mi sono fatto 2 calcoli per usare un PI invece che un PID perche´ ritengo interessante avere una panoramica ampia tra le varie soluzioni in ambito di stabilita´ (oscillazioni , setting time...ecc)...visto che finora le ho solo studiate ste cose voglio applicarle nelle cose concrete... :blink:

Volevo sapere come posso fare un PI con step7 in FUP, ovvero come crearmi un blocchettino con la mia funzione di trasferimento.

Ho provato in "cerca" ma di PI non ne ho trovati... :ph34r:

grazie a tutti e ciao.

X Livio : per línter serve un proporzionale e ti spiego il perche'´ :angry: : col proporzionale otteniamo in uscita una zappa appunto proporzionale ai campi di bietole che dovrebbero zappare!!!mi raccomando...in uscita fai in modo che il manico sia bello grezzo scomodo e secco!!!

scuate x l´escursus da povero interista :(

Link al commento
Condividi su altri siti

Livio Orsini

A parte il fatto che a zappare dovrebbero andarci certi dirigenti poi, forse, anche i giocatori ma questa è una mia idea :rolleyes:

Per il PI o PID prova a dare una letta la mio tutorial, il link lo trovi nella sezione didattica e/o nella discussione in rilievo del forum "controllo e regolazione". Trovi sia alcuni esempi in pseudo C sia un esempio, allegato al capitolo 6, con un PI per S7-200. Trasformare lo AWL del 200 in quello del 300 non è difficile. Tutto il cntrollo, realizzato con un CPU S7-214, realizza un anello di posizione per un cilindro oleo pneumatico di una pressa. Il controllo viene eseguito ogni 10ms.

Link al commento
Condividi su altri siti

Salute a tutti, dopo aver letto i vostri post, calcio a parte, non ho potuto fare altro che soffrire per voi. I PID sono delle brutte bestie, ed il migliore consiglio che posso darvi è di buttare il Siemens e montare un Allen-Bradley. In questa occasione potrete dimostrarvi di quanto sia più facile programmare un PID in ladder diagram che con quel sistema assurdo di blocchi e chiamate varie. Ma si può dire? Spero di si. Io l'ho già detto molte volte anche ai fornitori, ma da quella parte non ci sentono :lol:

Cordiali saluti.

Link al commento
Condividi su altri siti

Salve Wyatt Earp,

ed il migliore consiglio che posso darvi è di buttare il Siemens e montare un Allen-Bradley.

Vedi, ciascuno puo' dire la sua, e va bene.

Ma Io utilizzo i PID della Siemens da gia' 12 anni a questa parte e mi hanno solo dato delle grandi

soddisfazione, quindi non sono d'accordo con il tuo raggionamento.

Comunque, AB e ' una buona macchina.

P.S.: Io non penso ad essere l'unico marciano in questo mondo che utilizza il PID Siemens con successo.

Saluto

Link al commento
Condividi su altri siti

...I PID sono delle brutte bestie, ...

L'algoritmo PID è l'algoritmo più semplice dei sistemi di regoalzione, sa hai problemi con un PID vuol dire che sei un principiante nel campo della regolazione :lol:

In quanto poi all'uso del ladder piuttosto che dell'AWL non posso che ripeterti quello che ha scritto Savino: ognuno ha le sue preferenze. Io preferisco usare l'assembler :P

AB ha i suoi pregi ed i suoi difetti, come tutti i prodotti.

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