Vai al contenuto
PLC Forum


Termocoppie Tipo J E Valori Da Inserire Nel Pid - aiuto!


Messaggi consigliati

alberto rosso
Inserito:

Gentili frequentatori di questo forum,

mi appello alla vostra sapienza per cercare una soluzione a un problema sicuramente dovuto alla mia totale inesperienza nel campo.

Devo aggiornare una macchina che utilizza delle vasche in alluminio riscaldate da una resistenza per fondere del materiale termoplastico. Le vasche sono dotate di temocoppie tipo J.

Attualemte il controllo è fatto con dei termoregolatori della datalogic collegati a dei relè allo stato solido regolati con un ciclo PID e uscita PWM.

Siccome nella revisione della macchina viene richiesto l'utilizzo del SIEMENS s7-200 con i moduli di gestione termocoppie mi trovo in difficoltà a capire i valori da mettere nell'assistente PID in quanto il manuale non è molto chiaro.

Diciamo che io devo regolare una temperatura nell'intorno dei 180 °C con una tolleranza di +/- 3 °C (in lettura sul corpo della vasca, sia chiaro. In realtà il sistema è talmente esposto agli effetti esterni da creare a volte delle discrepanze notevoli all'interno del bagno di materiale, ma questo è un altro problema).

Penso che un duty cycle di 15 - 20 sec sia sufficiente.

Il mio problema più che altro è capire i range di valori da inserire: il manuale siemens mi dice che le TC J leggono da -76 a +1200 °C (adesso non sono sicuro che siano esatti, ma diciamo che sia così per semplicità), quindi un range asimmetrico se ragioniamo rispetto allo 0°C. Il modulo termocoppie accetta valori da -32000 a + 32000 (lo so, non sono esatti, sarebbero 32768). Siccome provando a tarare il sistema non mi sembra che funzioni correttamente (mi sono fatto uno strumentino per leggere la temperatura e la confronto con i valori letti dal controllo) rispetto al termoregolatore preesistente, mi chiedevo se erano problemi di valori o se sono io che sono un cane.

Per adesso grazie e spero di avere notizie.


Inserita:

Dividimo in due il problema.

Uno. Cosa leggono le termocoppie. Devi verificare che il valore di temperatura letto dal PLC, sulla termocoppia, sia esatto. Se non lo è devi aggiustare la cosante di scala. Puoi anche ricavarti la costante counts <--> gradi e far coincidere il set point con questo.

Regolazione della temperaratura. Premesso che non amo i PID Siemens, che considero UCAS, il duty cycle che riporti, a occhio, mi sembra un tantino veloce. Non conosco esattamente, e tu non dici niente in proposito, quale è l'inerzia termica della tua vasca; però a spanne io userei un periodo di almeno 100s. In altre parole con il PWM al 99% avresti 99s di on e 1s di off.

alberto rosso
Inserita:

<_<

Dunque, io confesso di aver anche letto il tuo tutorial sulla regolazione, quindi pensavo di avere abbastanza chiara la cosa.

Non è così (sic!) e purtroppo queste cose capitano sempre quando uno non ha tempo di metteresi a smanettare.

MA veniamo a noi.

L'inerzia termica non è elevatissima in quanto ho delle pareti sottili e poca massa di accumulo. Se devo quantificarla però non ho la più pallida idea.

In primis il software mi chiede il range di setpoint: qui devo mettere gli estremi del campo di rilevamento della termocoppia o gli estremi del mio intervallo di regolazione (esempio 0 - 200 °C)? In più questi valori sono valori con unità di misura o sono valori calcolati a partire da qualche cosa?

Poi mi chiede se la scala della variabile di processo è bipolare o unipolare e che estremi ha... e boh?

L'unica cosa chiara sono i parametri e il valore di uscita digitale con il suo duty cycle.

Tutto il resto è nebbia.

Sempre grato per la disponibilità.

Inserita:

Più che un problema di regolaziane mi sembra un problema di uso del PID Siemens. Sposto la discussione nel forum Siemens, così potrai godere dell'esperienza di chi usa quese funzioni. Io preferisco non usarle e usarne una che mi sono fatto da me. Mi risulta molto più semplice e pratica.

Inserita:

Salve alberto rosso,

Il mio problema più che altro è capire i range di valori da inserire: il manuale siemens mi dice che le TC J leggono da -76 a +1200 °C (adesso non sono sicuro che siano esatti, ma diciamo che sia così per semplicità )

Dalla tabella di una autorevole ditta italiana costruttrice di dispositivi elettronici di misura,ecc.possiamo ricavare:

                       total range            high accuracy range
Tc type J             -210 to +1200[Celsius]   -170 to +1200[C]
                       -346 to +2192[F]         -274 to +2192[F]

I calibratori sono dei dispositivi

che in fase di simulazione, permettono una accurata calibrazione dei segnali analogici durante lo startup e

manutenzione periodiche degl'impianti.

Siccome provando a tarare il sistema non mi sembra che funzioni correttamente (mi sono fatto uno strumentino per leggere la temperatura e la confronto con i valori letti dal controllo) rispetto al termoregolatore preesistente, mi chiedevo se erano problemi di valori o se sono io che sono un cane.

Quindi il primo passo e' calibrare la grandezza per il valore instantaneo.

Allora:

Se la risoluzione del lettore analogico utilizza 15 bit+segno a complemento 2 la sua normalizzazione sara':

Temp_Ist.= lettura*100/27648

lettura= grandezza in input ricavata dalla PEW

100= 100% della scala

27648= range accurato ( +32767= overflow / - 32768 =undeflow)

ess.

+1200[C]= 100%

lettura= 13000;

Temp_Ist= 47 % = 564[C]

Se incambio la risoluzione e' 12 bit + segno:

Temp_Ist.= lettura*100/4095

e via dicendo.....

In primis il software mi chiede il range di setpoint: qui devo mettere gli estremi del campo di rilevamento della termocoppia o gli estremi del mio intervallo di regolazione (esempio 0 - 200 °C)? In più questi valori sono valori con unità di misura o sono valori calcolati a partire da qualche cosa?

Set Point = grandezza programmata= valore di riferimento cioe' il valore di temp che si vuole raggiungere.

quindi il range sara' 0-1200.

Questa grandezza viene impostata direttamente dal utente tramite i tasti della apparecchiatura o pure potrebbe

essere da un ciclo ad spezzate, ma non penso faccia il tuo caso.

Poi mi chiede se la scala della variabile di processo è bipolare o unipolare e che estremi ha... e boh?

La variabile di processo e' in questo caso la TC, e penso che il valore da impostare sia unipolare.

Comunque, importante e' la verifica del valore letto dal sistema confrontato con una sorgente affidabile

tale come un calibratore.

A questo punto, come secondo passo ti resta costruire il regolatore PID, ma il tuo regolatore sara' piuttosto un PI.

Qui', dovresti scegliere quale direzione prendere.

Od utilizzi il SFB 42 " COUNT S" della Siemens, oppure fai come ti ha sopra suggerito Livio.

In ogni caso, ti ci vorra' battere il naso senz'altro.

Saluto.

Inserita:
quindi un range asimmetrico se ragioniamo rispetto allo 0°C.

Se prendiamo i valori sotto indicati:

Tc type J        -170 to +1200[C]

Allora,

MIN.= 0%= - 170;

MAX.=100%=+1200;

campo = +1030 [C]

+1030[C]= 100%;

0 [C]= 0%;

Temp_Ist.= lettura*100/27648

Se lettura= 13000 =>Temp_Ist= 47 % = 484,1[C];

P.S. : la normalizzazione viene fatta anche sul valore di SET POINT anche, cioe' se il operatore imposta

un valore di 515[C] vuoldire il 50% del campo -170 to +1200 = 1030 divisioni.

Saluto.

alberto rosso
Inserita:

Aiuto. Credo di essere molto confuso.

Vi prego. Partiamo dal basso. Consideriamo che uso l'assistente PID del software STEP7 Micro/Win, quindi mi piacerebbe concentrarmi su questo applicativo, non una cosa generale. Per quella c'è tempo. (spero...)

Adesso quindi vediamo se ho capito.

Una TC J legge ,secondo il manuale siemens del S7-200, da -150° a +1200°C e il modulo EM231 che gestisce le termocoppie fornisce già il valore in temperatura moltiplicato per 10 (una unità=0,1 °C), quindi in teoria il range della variabile di processo sarà bipolare da -1500 a + 12000.

Il range di setpoint invece è il campo di regolazione che io stabilisco, per cui nel mio caso potrò considerare da 0°C a 250°C. Ne consegue che nelle caselle dell'assistente PID andrò a mettere 0 e 2500 come estremi del campo.

O no?

Grazie a tutti.

Inserita:
Allora,

MIN.= 0%= - 170;

MAX.=100%=+1200;

campo = +1030 [C]

+1030[C]= 100%;

0 [C]= 0%;

Qui' c'era uno equivoco -170/1200= 1370;

Sorry, ma il concetto non cambia.

Il range di setpoint invece è il campo di regolazione che io stabilisco, per cui nel mio caso potrò considerare da 0°C a 250°C. Ne consegue che nelle caselle dell'assistente PID andrò a mettere 0 e 2500 come estremi del campo.

Il range per i set point deve essere il medessimo del range della TC.

MIN.= 0%= - 150;

MAX.=100%=+1200;

range del campo = +1350 [C]

Poi, se tu lavori tra 0 e 200 gradi C, vuoldire che usarai solo il 15% circa di questo range.

La TC ed il SP devono essere normalizzati con lo stesso range, per cosi essere in correspondenza.

il modulo EM231 che gestisce le termocoppie fornisce già il valore in temperatura moltiplicato per 10

Allora probabilmente devi moltiplicare il SP x 10 prima di mandarlo al PID. Questo lo si ricava dalle propieta'

del algoritmo che utilizzarai, quindi dalla info che descrive il PID.

Temp_Ist.= PEW*100/27648; // cosi hai normalizzato la TC in un range 0%-100%= -150-+1200= 0-1350[C]

SP_PID= SP_Inp*100/1350; // cosi hai normalizzato il SP in un range 0%-100%= 0-1350 [C]

Vedi, quando tu colleghi la TC tipo J al tuo AI, e simuli 1200 gradi, la lettura devi darti il 100% e quando

simuli -150, ti devi dare 0.Allora in questo modo puoi normalizzare il SP nel range 0-100%= 0 -1350.

Un calibratore per la TC J ti consente di ricavare i valori giusti , -150/1200 oppure -170/1200 e cosi via,

per determinare il vero range dove anche ci lavorara' il SP.

Saluto.

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