Jump to content
PLC Forum


Sign in to follow this  
ghezzia

PID Compact: Errore tempo campionamento

Recommended Posts

ghezzia

Buon giorno,

Avrei bisogno un aiuto a comprendere (spero una volta per tutte) come funziona il blocco PID_Compact all'interno dell'OB35.

Nel mio caso, ho 9 blocchi PID_Compact per la regolazione della temperatura di alcuni stampi (3 stampi, ogni stampo ha 3 zone).

I blocchi sono all'interno dell'OB35 impostato a 1 sec, mentre ogni singolo blocco ha impostato come tempo di scansione 3 sec. (par. Retain/CtrlParams/Cycle).

Ho fatto l'autotuning ma i valori che ho ottenuto mi sembrano esagerati (esempio par. Retain/CtrlParams/Cycle = tutti diversi, da minimo 8.4 sec. fino a 18.7 sec.!!) e quindi li ho scartati ed  ho inserito i valori che meglio soddisfano il mio sistema, che così lavora ma non benissimo, infatti, quando il processo si avvia, avviene un veloce raffreddamento di alcune zone degli stampi che però, nonostante un alto valore di gain, non "partono" finchè la temperatura non perde almeno 15 gradi! Poi, tutto d'un tratto inizia a regolare ma ormai la temperatura è scesa....

Rimane il fatto che ogni singolo blocco PID_Compact mi segnala errore o meglio, l'error flag sempre a 0,  invece ErrorBits mi segnala sempre 0800 (Errore tempo campionamento).

Qualcuno ha idea del motivo dell'errore di campionamento?? 

Grazie in anticipo a chi vorrà rispondere

 

 

Share this post


Link to post
Share on other sites

leleviola

In genere tale errore viene generato per aver messo un tempo di campionamento vicinio al tempo di scansione di programma, non vorrei che nel tuo caso il PLC sia un po' "sovraccarico", prova ad alzare il tempo di campionamento e vedere cosa succede, forse sarà meno reattivo ma forse più preciso nell'autotuning

Share this post


Link to post
Share on other sites
ghezzia

Grazie per la risposta.

Il tempo di scansione massimo registrato per la cpu è di 30ms. Non mi sembra sovraccarico. E poi comunque l'ob35 è asincrono e quindi non influenzato dal tempo di ciclo della Cpu? O forse mi sbaglio?

Comunque, non è che invece il tempo per l'elaborazione completa di 9 blocchi pid è maggiore del tempo fra un richiamo e l'altro dell'ob35? 

Share this post


Link to post
Share on other sites
TravelMen

Ciao

Quote

non è che invece il tempo per l'elaborazione completa di 9 blocchi pid è maggiore del tempo fra un richiamo e l'altro dell'ob35? 

 

In quel caso la cpu ti darebbe un altro errore del tipo "limite risorse" o qualcosa del genere, e poi nel primo post dici di avere impostato il tempo ad 1sec, tra un richiamo OB35 ed il sucessivo, che per plc è un'eternità.

 

Hai provato a mettere lo stesso tempo ti 1sec sull'ingresso del blocco pid? Oppure:

      L     #OB35_EXC_FREQ	(var interna ad OB35)
      ITD
      DTR
      T     "DB_OPZIONE_BATTUTA".OB35_CYCLE	(DB168.DBD120)

a me serviva avere il tempo in reale per dei calcoli, che normalmente non ha senso essendo un tempo intero espresso in ms.

 

Saluti

Edited by TravelMen

Share this post


Link to post
Share on other sites
batta

Stiamo parlando di tempi biblici anche per il più lento dei PLC.

Prova ad impostare il tempo di campionamento uguale al tempo effettivo di richiamo del PID.

Share this post


Link to post
Share on other sites
ghezzia
34 minuti fa, batta ha scritto:

Stiamo parlando di tempi biblici anche per il più lento dei PLC.

Prova ad impostare il tempo di campionamento uguale al tempo effettivo di richiamo del PID.

Quindi se ho ben capito, mi suggerisci di impostare il tempo dell' OB35 a 3sec.? O il contrario cioè ogni PID richiamarlo ogni 1 sec. ?

Share this post


Link to post
Share on other sites
ghezzia

Aggiornamento.

Ho provato ad abbassare il tempo di ciclo di 3 blocchi PID come suggerito da Batta, impostandoli come il tempo di scansione dell' OB35 ma non cambia niente.

Nel frattempo, analizzando la DB di un blocco PID ho notato che è presente anche un warning (0020) che recita: 

Il tempo di campionamento dell'algoritmo PID viene circoscritto dal tempo di ciclo dell'OB richiamante.

Per ottenere risultati migliori utilizzare tempi di ciclo dell'OB più brevi.

Ho provato ad abbassare il tempo OB35 a 500ms (quindi la metà), ma nulla cambia, anzi ha iniziato a lampeggiare anche l' ErrorFlag....

 

Rimane il fatto che tutti i 9 PID presentano sempre l'erroeBits 0800: 

Errore del tempo di campionamento: PID_Compact non viene richiamato entro il tempo di campionamento dell'OB di schedulazione orologio.

Share this post


Link to post
Share on other sites
batta

Se richiami un solo pid, cosa succede?

Share this post


Link to post
Share on other sites
ghezzia

Non posso fare questa prova in quanto la macchina sta facendo produzione

Share this post


Link to post
Share on other sites
Livio Orsini

Potresti impostare l'OB35 per un tempo di 300ms e richiamare un pid alla volta; l'intervallo di richiamo di ogni PID sarà di 2.7" quindi imposti il tempo del PID a 2.7".

Ovviamente puoi allungare o accorciare il tempo del PID agendo proporzionalemente sul tempo dell'OB35

In questo modo hai la certezza che il periodo di richiamo di ogni regolatore PID sia (quasi) assolutamente costante.

Share this post


Link to post
Share on other sites
ghezzia

Buongiorno. Ho lasciato l' OB35 a 1sec. e  tutti i PID a 3sec. funziona tutto abbastanza bene, il cliente è soddisfatto...

Per quanto riguarda gli errori descritti in precedenza, non mi spiego perchè ma alzando il bit del riconoscimento (ErrAck) prima non si resettavano mentre adesso si sono resettati tutti e dopo mezza giornata di monitoraggio non sono più apparsi, quindi presumo che non riappariranno più. Domani mattina farò un altro collegamento per vedere come vanno le cose ma oggi sono più ottimista, anche se qualche dubbio rimane...

Grazie a tutti, buna serata

Share this post


Link to post
Share on other sites
batta

Bene. In ogni caso, anche se funziona tutto regolarmente, sarebbe buona norma non lanciare tutti i pid nello stesso ciclo di OB35, ma suddividerli, come suggerito da Livio.
 

Share this post


Link to post
Share on other sites
ghezzia

Sicuramente  appena ne avrò la possibilità seguirò il vostro suggerimento! Grazie ancora

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...