Vai al contenuto
PLC Forum


S7 317 Richiamo Istanza Ob35


Messaggi consigliati

Inserito:

Buona giornata a tutti

Un domanda forse banale, ma è la prima volta che uso i PID con FB41

In questo momento sono in Arabia Saudita, per un avviamento di impianto.

Ho dei problemi riguardanti i FB41, ovvero il segnale di SETpoint non Viene raggiunto dal segnale di controllo.

Mi spiego meglio, una valvola regolatrice è collegata ad un flussometro e la sua uscita analogia è collegata all FB41,

pertanto impostando un valore di setpoint dovrebbe raggiungere il valora che indica il flussometro

Es: setPoint 1000 apre tutta la valvola sino a quanto il valore del flussimetro segna circa 1000, e poi regola l'uscita mantenendo il 1000

Spero di essere stato chiaro, bhe il valore di setpoint non viene raggiunto e la valvola rimane aperta solo 20-30% invece di salire per poi regolare, uscita ERR si vede la parete che non è presente sull'uscita mi domando perche non regola?

Grazie se mi date qualche suggerimento

Mauro


Inserita: (modificato)

Hai attivato anche l'integrale o solo la parte proporzionale?

Se l'integrale è disabilitato è normale che non si riesca a raggiungere il set point.

Che parametri hai impostato?

Che tempo di campionamento hai impostato e come richiami FB41?

Modificato: da batta
Inserita:

e proprio qui il problema!!

il richiamo dell'FB41, ora la richiamo nel OB1 con una normale CALL, ma penso che sia sbagliata

I parametri sono solo del GAIN a 0,01 i restanti non li attivo il sistema schizza ovunque e non ha controllo

Inserita:

Scusa la domanda era meglio articolata della mia risposta

Preciso meglio:

Il proporzionale ha un valore molto basso del tipo 0,015

Integrale ha l'effetto di rendere il sistema molto instabile sia con valorei alti che con valori bassi

La derivata non ha alcun effetto

Il valore di Cycle è 1S ma ho provato anche con valori inferiori e superiori ma nulla è cambiato.

I PID in oggetto sono 7 e abbastanza semplici nella loro sostanza, controlla solo un valore di riferimento e lo mantiene.

Provabilmente sbaglio nel richiamo del FB41, so che deve essere inserita in una OB35, ma scusa la mia ingnoranza come si stetta OB35?

Inserita:

Così non può funzionare, nel parametro CYCLE devi inserire il tempo trascorso tra i richiami del blocco.

Io sono riuscito a farlo funzionare anche in OB1 passando nel parametro CYCLE il valore di OB1_PREV_CYCLE (trasformato in TIME con FC33), ma è meglio se sposti il richiamo in OB35 (previo parametrizzazione del tempo di scansione di OB35 nell'hardware e settaggio dello stesso valore nel parametro CYCLE).

1s mi sembra troppo, metti un tempo inferiore, controlla il tempo di ciclo massimo della cpu e poi metti (a mio parere) almeno il doppio.

Ora vado in ferie!!! Buone ferie a chi va e buon lavoro a chi resta ! ;)

Inserita:

OK, ho controllato e nel HW è settato 100, metto lo stesso valore nel Cycli di ogni singolo PID

Ho spostato tutti i call nel OB35 e domani lo provo.

Se sentite che hanno rapito e mozzato la capa a un tecnico Italiano in Arabia..... sapete il perche :ph34r:

Inserita:
Il valore di Cycle è 1S ma ho provato anche con valori inferiori e superiori ma nulla è cambiato.

Come ti ha già risposto JumpMan, ci deve essere corrispondenza tra il valore che imposti nel parametro CYCLE ed il tempo reale di richiamo della FB41.

L'impostazione del parametro infatti è solo un'indicazione che si dà alla funzione PID.

Ma se io a questa funzione dico che la richiamo una volta al secondo e poi invece la richiamo ogni 100ms, fornisco un'informazione sbagliata.

Io penso che potresti provare lasciando il richiamo di FB41 in OB35 ogni 100ms, impostare il valore corretto in CYCLE, aumentare il proporzionale ed attivare l'integrale.

Sull'integrale affermi che, se attivato, rende il sistema instabile sia con valori alti che bassi.

A parte il discorso già fatto prima sul parametro CYCLE (che influisce pesantemente sul calcolo dell'integrale), ma cosa intendi per valori alti e bassi? Quantifica!

Il valore corretto dipende dalla rapidità di risposta del sistema, ma per una regolazione di questo tipo io penso potresti partire da un integrale di 30 secondi.

Tieni presente che aumentare il tempo dell'integrale significa ridurne l'effetto.

Poi, se fornisci maggiori dati (es. portata massima, tempo di risposta della valvola proporzionale, tempo in cui vuoi arrivare al set point, errore ammesso, eventuali elementi di disturbo) risulta più facile dare altri consigli.

Potresti anche postare la parte di programma con il richiamo di FB41 e tutti i suoi parametri.

Inserita:

Grazie delle utili risposte

In questo momento sono riuscito ad ottenere un controllo accettabile

Ma vediamo di fare un riassunto

IL sistema controlla due valvole a farfalla proporzionali da 10" con un sistema di posizionamento ad aria compressa a 6 bar

Il tempo di risposta non è un dato che al momento possiedo, ma sono abbastanza veloci, basti pensare che da 0 a 100% ci impiega pochi secondi.

Vi sono molte altre variabili che condizionano il sistema, come l'aspirazione con un ventilatore da 160 Kw, e portate che si aggirato da 3500 kg/h sino a raggiungere i 6500 kg/h

La condizione attuale del PID è la seguente

Tutti i PID sono stati messi nella OB35 che ha un tempo 100 mS

La variabile cycle è settata anche essa a 100 mS

I valori di proporzionale è 0.001

Il valore di I è 10 s

La D non è attiva

Cosi configurato ottengo una graduale risposta del sistema pari a circa 20-20 secondi per raggiungere il setpoint, naturalmente questo tempo è dato dal valore 0 al valore di setpoit.

IL sistema in questo modo risulta stabile, ma se aumento il valore P perde stabilità (con valore 1) e comincia ad andare in una sinusoide più o meno ampia.

Molto provabilmente la risposta del sisteme deve essere lenta perche il processo è lento nella sua azione mentre le valvole sono veloci nella loro apertura.

Spero di essere stato piu' chiaro.

Ora sto piu0 tranquillo non mi rapiscono piu' :rolleyes:

Inserita:

Con l'integrale a 10 secondi è normale che il sistema sia lento a stabilizzarsi.

Le vie sono due, lavorare sul proporzionale o sull'integrale.

magari se hai un oscilloscopio potresti verificare con due sonde il tuo flussometro e il riferimento che dai alla valvola poi, variando proporzionale e integrale, vai ad ottimizzare il tutto.

Certo, un integrale così magari ti serve per smorzare variazioni indesiderate del feedback (flussometro).

Verifica perciò che il tutto funzioni bene sia in fase di partenza che in fase di lavoro che in fase di arresto.

Inserita:

Kem chiedi troppo, qui è già un miracolo avere un cacciavite quasi nuovo, oscilloscopio? l'ultimo lo hanno mangiato il mese scorso.

Comunque....

IL problema è l'avvio poi l'impianto non si ferma se non in casi di catastrofe o manutenzione straordinaria

Stiamo parlando di SO3 pertanto non è salutare stare nei pressi di queste valvole.

Comunque mi avvalgo del sistema di S.V. e P.O. per verificare gli andamenti, ho settato un grafico che mi fa vedere i segnali che mi interessano

Che il sistema sia in punta di piedi mi sembra evidente , ora provo con i flussi reali di portata, se non mi leggete vorra dire che un nube di SO3 è spara su Riyadh :blink:

Inserita:

Posta il grafico.

Utile sarebbe visualizzare l'andamento delle seguenti variabili:

- set point

- variabile di processo

- riferimento valvole proporzionali

Mi pare di capire che non sia importante raggiungere il valore di set point in tempi rapidissimi, ma che sia più importante mantenere stabile il sistema.

Non ho idea di quanto tempo passi da quando effettui una manovra a quando rilevi la variazione ma, ad istinto, a me pare che stai lavorando quasi esclusivamente con l'integrale.

Il proporzionale a 0.001 significa che, per uno scostamento dal set point di 1000 kg/h, ottieni una correzione dell'1%.

Prova a partire con un tempo integrale molto lungo (tipo 10 minuti), in modo che la sua influenza sia praticamente nulla ed aumenta gradualmente il guadagno fino a rendere instabile il sistema. Riduci il guadagno di un 20-30% e riduci il tempo integrale fino a rendere nuovamente instabile il sistema. Aumenta poi il tempo integrale fino a tornare ad un sistema stabile.

Comunque, sempre ad istinto, in un sistema come il tuo come come tempo integrale io non scenderei sotto ai 30 secondi, se non addirittura 60.

Inserita:

Il SetPoint è fisso, ovvero è possibile modificarlo ma rimane invariato per tutto il processo.

Il sistema deve stabilizzare il valore di processo al valore di setpoint.

Pertanto non è importanto che sia veloce, effettivamente allo stato attuale delle cose il proporzionale è un valore molto basso 0,001

mentre I è un valore che si aggira sui 20-50 secondi

Quando il sistema diventa instabile è perche il valore di processo cambia troppo lentamente rispetto alla apertura valvola.

Ess: la valvola apre in 2 secondi il processo segue l'andamento dopo 4 ò 5 secondi, la valvola risulta troppo aperta allora il sistema la chiude e il processo cala dopo sempre 4-5 secondi e la valvola si chiude troppo.

Pertanto è necessario che il processo di apertura e chiusura della valvola sia lento almeno quanto è la variabile di processo.

Il sistema si può considerare un loop aperto anche se ha il F.B. di posizione viene usato solo visualizzazione e non inserito nel PID.

Sono processi in cui unico scopo è mantenere le variabili le piu stabili possibili e non richiedono risposte elevate

Riassumendo valvola veloce, processo lento, risultato PID di posizionamento valvola di circa 30-60 secondi

Inserita:

Si è iniziato a parlare di istanza OB35 e si è caduti nelle varibili di processo :)

Ma vorrei ritornare alla origine delle questione.

Io ho capito (credo) che OB35 è quella migliore per metterci i lanci dei PID FB41, capisco che il tempo di istanza debba essere uguale al CYCLE della configurazione PID.

Bhe allora cosa non capisco :huh:

Quello che è poco chiaro è appunto il tempo da mettere nella OB35, quali considerazioni si debbono prendere a riferimento per settare il variabile tempo in modo ottimale che non sia troppo lenta o troppo veloce?

Certo che è possibile lanciare un PID alla volta mettendo un ciclo di lancio, ma questo non è complicarsi l'esistenza?

Non ricordo di aver detto che uso in PLC 317 dove vi sono configurati circa 200 digitali tra ingresso ed uscita, 40 analog in e solo 8 analog out.

Sono davvero necessari tanti sofismi di programmazione?

Ho bisogno di ferie me sto fondento :lol:

Inserita:

Mi pare da qualche parte sia stato scritto di lasciare l'impostazione di default, cioé 100ms... che mi pare un tempo più che ragionevole, sopratutto in base al processo che hai descritto.

Per curiosità, che tempo ciclo hai?

Inserita:

100ms???

Con una 317 e un numero sostanzialmente limitato di I/O?

Spero sia dovuto al fatto che la gestione di questo impianto è complicata, perché IMHO è un tempo troppo elevato che richiede uno sforzo di ottimizzazione (anche se non è detto che sia critico... dipende dal processo...)

A 'sto punto, non sono come gestisci tu le analogiche in ingresso e uscita, però, se il tempo ciclo è "paragonabile" al tempo di richiamo del PID, mi accerterei prima di tutto di passare al PID il valore istantaneo della grandezza da controllare (e non magari quello letto a inizio ciclo), e allo stesso modo applicherei subito la correzione all'uscita (e non a fine ciclo).

ciao

Inserita:

Il processo non è molto complicato si tratta di diluire un gas con concentrazione di SO3 al 9% a una nuova concentrazione a 4.5%, la diulizione è fatta con aria, la cosa difficile sono le portate si parla di 3 o 4 tonnellate ora.

Le variabili analogiche sono solo trattate da una formula di calibrazione ingegneristica e passate al FB41 direttamente.

Non esiste un ciclo ma solo un controllo di portata, e questo controllo viene fatto in tempo reale mettendo in uscita il controllo al variare dell'ingresso.

Naturalmente ribadisco che la variazione delle variabile di processo praticamente non esiste in condizioni di funzionamento normale, può influire la temperatura, per questo c'è il controllo di portata.

Tutto il sistema deve assumere un costante andamento il più possibile lineare, se qualcosa si muove è solo duvuto ad fattori ambientali e o di diversa concentrazione alla sorgente.

Grossi cambiamenti hanno l'effeto di mandare in blocco l'impianto perchè dovuti da errata lettura o malfunzionamento di qualche elemento dell'impianto stesso.

Inserita:

Fatico a capire come tu riesca a totalizzare 100ms di tempo ciclo, ma non esprimo giudizi perché dovrei vedere tanto l'impianto, quanto il sw (la mia impressione è comunque che si tratti di un tempo troppo elevato).

In ogni caso, resta valido quanto detto per il PID.

ciao

Inserita:

Veramente io all'inizio avevo proposto 1S a ciclo, ma qualcuno mi disse che era meglio tenere i 100mS gia impostati nella OB, il processo richiede una lunga stabilizzazione di circa 60 S e poi non si muove che di inezie

Inserita:
Veramente io all'inizio avevo proposto 1S a ciclo, ma qualcuno mi disse che era meglio tenere i 100mS gia impostati nella OB, il processo richiede una lunga stabilizzazione di circa 60 S e poi non si muove che di inezie

Anch'io ti sto dicendo ti tenere 100ms per il PID.

Quello che ti sto dicendo è che 100ms di "tempo ciclo del PLC" sono troppi...

Inserita:

Per un processo di questo tipo potresti tranquillamente elaborare il PID ad intervalli di un secondo.

Dato che elaborarlo ogni 100ms non è comunque un problema per la cpu, diciamo che lasciare le cose come stanno è la soluzione più comoda.

Inserita:
diciamo che lasciare le cose come stanno è la soluzione più comoda.

Penso che 500mS sia il tempo ottimale da usare, anche perche troppe informazioni, qualche volta, non aiutano nel controllo

Vale a dire che un alto campionamento del segnale è soggetto a disturbi uno troppo basso rende difficile il suo controllo

La ricerca di un tempo ottimale e sempre un bene non solo alla CPU

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