Accesso alle variabili ("allocazione ritardata")

Se il valore di una variabile o di un indirizzo viene letto all'interno di una rete, il compilatore utilizza sempre il valore che la variabile o l'indirizzo aveva nel momento in cui il compilatore ha iniziato ad elaborare la rete.

Tenete presente che si verificano spesso errori di programmazione non intenzionali, quando il valore di una variabile o di un indirizzo viene modificato e poi letto.

Ciò è dovuto al seguente meccanismo: all'inizio di una rete, il valore della variabile in questione viene copiato in una variabile temporanea. Tutti gli ulteriori accessi in lettura vengono eseguiti dalla variabile temporanea; tutti gli accessi in scrittura sulla variabile originale.

Esempio 1:

Editor

Codice programma

Descrizione

LD

Risultato inatteso dovuto al valore letto dalla copia temporanea.

Codice aggiuntivo per la copia del valore di iVariable in DT768 in una variabile temporanea in DT769

Legge dalla variabile temporanea in DT769, aggiunge 5 e scrive il risultato in iVariable in DT768.

Di nuovo legge dalla variabile temporanea in DT769, moltiplica per 3 e scrive il risultato in iVariable in DT768.

Editor tipo GR

Risultato atteso dovuto a nessun valore letto dalla copia temporanea

Esempio 2:

Editor

Codice programma

Descrizione

LD

Risultato atteso dovuto al valore letto dalla copia temporanea di bOutput

Codice aggiuntivo per la copia del valore di bOutput in R0511 in una variabile temporanea in R0500

Legge dalla variabile temporanea R0500

Editor tipo GR

Risultato inatteso dovuto a nessun valore letto dalla copia temporanea

L'ultima revisione: 2020-10-12Feedback su questa paginaPanasonic hotline