Configurazione delle variabili - VAR_CONFIG
È possibile utilizzare la configurazione delle variabili per mappare le variabili del blocchi funzione all'immagine di processo presente negli I/O dispositivo. Questo evita di dover specificare l'indirizzo definito già nella dichiarazione della variabile del blocco funzione. L'assegnazione dell'indirizzo definito, in questo caso, avviene a livello centrale per tutte le istanze dei blocchi funzione di un elenco VAR_CONFIG globale.
A questo scopo è possibile assegnare indirizzi incompleti alle variabili dei blocchi funzione dichiarate tra le parole chiave VAR e END_VAR. Usare un asterisco per identificare questi indirizzi.
<identificativo> AT %<I|Q>* : <tipo dati>
Esempio di uso di indirizzi definiti in modo incompleto:
FUNCTION_BLOCK locio
VAR
xLocIn AT %I*: BOOL := TRUE;
xLocOut AT %Q*: BOOL;
END_VAR
In questo esempio, sono definite 2 variabili di I/O locali: una variabile di ingresso locale (%I*) e una variabile di uscita locale (%Q*).
Definire gli indirizzi nella configurazione delle variabili in un elenco di variabili globali (GVL) nel seguente modo:
Passo |
Azione |
---|---|
1 |
Eseguire il comando Aggiungi oggetto. |
2 |
Aggiungere un oggetto Global Variable List (GVL) in Dispositivi. |
3 |
Immettere le dichiarazioni delle variabili di istanza con gli indirizzi definiti tra le parole chiave VAR_CONFIG e END_VAR. |
Quando si definiscono gli indirizzi, tenere presente quanto segue:
oSpecificare le variabili di istanza con il percorso di istanza completo e separare i singoli POU e nomi di istanza l'uno dall'altro mediante un punto.
oNella dichiarazione, specificare un indirizzo la cui classe (ingresso/uscita) corrisponde a quella dell'indirizzo specificato in modo incompleto (%I*, %Q*) nel blocco funzione.
oVerificare che il tipo di dati corrisponda alla dichiarazione nel blocco funzione.
Istanza Variabile Percorso Sintassi
<percorso variabile istanza> AT %<I|Q><posizione> : <tipo dati>;
Le variabili di configurazione il cui percorso di istanza non è valido perché l'istanza non esiste sono segnalate come errori rilevati. Viene rilevato un errore anche se non esiste alcuna configurazione di indirizzi definita per una variabile di istanza assegnata a un indirizzo incompleto.
Esempio di configurazione di una variabile
Si ipotizzi che in un programma sia data la seguente definizione per il blocco funzione locio - vedere l'esempio precedente:
PROGRAM PLC_PRG
VAR
locioVar1: locio;
locioVar2: locio;
END_VAR
Quindi una configurazione di variabile corretta (in un elenco variabili globali) sarà:
VAR_CONFIG
PLC_PRG.locioVar1.xLocIn AT %IX1.0 : BOOL;
PLC_PRG.locioVar1.xLocOut AT %QX0.0 : BOOL;
PLC_PRG.locioVar2.xLocIn AT %IX1.0 : BOOL;
PLC_PRG.locioVar2.xLocOut AT %QX0.3 : BOOL;
END_VAR
NOTA: Le modifiche sugli I/O mappati direttamente vengono visualizzate subito nell'immagine di processo, mentre le modifiche delle variabili mappate tramite VAR_CONFIG non vengono visualizzate prima della fine del task responsabile.
NOTA: In un elenco variabili globali, le parole chiave VAR_GLOBAL e VAR_CONFIG possono essere utilizzate solo esclusivamente.