Triplo_Echo Inserito: 8 settembre 2017 Segnala Share Inserito: 8 settembre 2017 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 Link al commento Condividi su altri siti More sharing options...
ken Inserita: 8 settembre 2017 Segnala Share Inserita: 8 settembre 2017 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 More sharing options...
batta Inserita: 9 settembre 2017 Segnala Share Inserita: 9 settembre 2017 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 More sharing options...
Triplo_Echo Inserita: 11 settembre 2017 Autore Segnala Share Inserita: 11 settembre 2017 Grazie mille per le vostre risposte! Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora