Vai al contenuto
PLC Forum


FC/FB e variabili temporanee


Triplo_Echo

Messaggi consigliati

Buongiorno,

Ho notato un comportamento strano relativo all'uso dell variabili TEMP all'interno di un blocco funzione.

La situazione è la seguente:

 

[Linguaggio a contatti]

Ho definito una variabile TEMP all'interno di un FC.

Questa variabile viene posta a 1 (SET)  a fine FC.

La variabile viene interrogata ad inizio FC.

 

Teoricamente la variabile, essendo temporanea, dovrebbe essere aggiornata ad ogni ciclo FC e quindi l'interrogazione dell 'operando risultare sempre uguale a 0.

 

Invece:

CPU300 la variabile TEMP risulta essere 1.

 

Qualcuno sa aiutarmi? Perchè  nella cpu del 300 la memoria è a 1? C'è un errore di cattiva programmazione?

 

 

Grazie

TEMPUltima300.jpg

Link al commento
Condividi su altri siti


Non assume valore zero. Il valore dovrebbe essere quello trovato nell'indirizzo locale dell'Fc o fb eseguito prima di questo. Quindi meglio usare le variabili temo in modo più corretto.  Mai leggerle prima di scriverle. 

Link al commento
Condividi su altri siti

Come dice Ken, non sai che valore avrà la variabile temporanea.

Il fatto che sia una variabile temporanea non implica che venga inizializzata a zero ad ogni inizio ciclo, ma significa semplicemente che la locazione di memoria utilizzata da questa variabile durante l'esecuzione del blocco (OB, FB, FC), quando si esce dal blocco stesso tale locazione di memoria viene considerata libera dal sistema.
Cosa verrà scritto in quella locazione di memoria prima del successivo rientro nel blocco interessato, è impossibile saperlo.

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