Informazioni generali

Panoramica

Le variabili possono essere dichiarate nei seguenti modi:

Il tipo (definito Ambito nell'editor dichiarazioni in formato tabellare) di variabili da dichiarare è specificato dalle parole chiave che racchiudono la dichiarazione di una o più variabili. Nell'editor dichiarazioni testuale, la dichiarazione delle variabili comuni è racchiusa tra VAR e END_VAR.

Per altri ambiti di dichiarazione delle variabili, vedere:

  • VAR_INPUT

  • VAR_OUTPUT

  • VAR_IN_OUT

  • VAR_GLOBAL

  • VAR_TEMP

  • VAR_STAT

  • VAR_INST

  • VAR_EXTERNAL

  • VAR_CONFIG

Le parole chiave del tipo di variabile possono essere rinforzate da parole chiave attributo.

Esempio: RETAIN (VAR_INPUT RETAIN)

Sintassi

Sintassi per la dichiarazione delle variabili:

<Identificativo> {AT <indirizzo>}:<tipo dati> {:=<inizializzazione>};

Le parti racchiuse tra le parentesi graffe {} sono opzionali.

Identificativo

L'identificativo è il nome di una variabile.

Quando si definisce un identificativo, tenere presente quanto segue:

  • non sono ammessi spazi né caratteri speciali

  • non si fa distinzione tra lettere maiuscole e lettere minuscole: VAR1, Var1 e var1 sono la stessa variabile

  • riconoscimento del carattere di sottolineatura: A_BCD e AB_CD sono considerati due identificatori differenti. Non utilizzare più caratteri di sottolineatura consecutivi.

  • non esistono limiti di lunghezza

  • non è consentito alcun nome di parola chiave, ad esempio VAR_GLOBAL

  • utilizzo multiplo (vedere paragrafo successivo)

Inoltre, tenere in considerazione il capitolo Migliori prassi per la denominazione degli identificatori.

Uso multiplo di identificativi (namespace)

Per l'uso multiplo di identificativi valgono le seguenti istruzioni:

  • L'uso di identificativi doppi non è permesso a livello locale.

  • L'uso multiplo di identificativi è autorizzato a livello globale: una variabile locale può avere lo stesso nome di una variabile globale. In questo caso, avrà la priorità la variabile locale del POU.

  • Una variabile definita in un elenco di variabili globali (GVL) può avere lo stesso nome di una variabile definita in un altro elenco di variabili globali (GVL). In questo contesto, considerare le seguenti estensioni della norma IEC 61131-3:

    • Un operatore ambito globale, ossia un percorso di istanza che inizia con un punto (.) apre un ambito globale. Quindi, se una variabile locale, ad esempio ivar, ha lo stesso nome di una variabile globale, .ivar si riferisce alla variabile globale.

    • Si può utilizzare il nome di un elenco di variabili globali (GVL) come namespace per le variabili incluse. Si possono dichiarare variabili con lo stesso nome in elenchi di variabili globali (GVL) diversi. L'accesso specifico è possibile anteponendo il nome dell'elenco al nome della variabile.

      Esempio

      globlist1.ivar := globlist2.ivar;

      (* ivar da globlist2 viene copiato in ivar in GVL globlist1 *)

    • L'accesso alle variabili definite in un elenco di variabili globali di una libreria inclusa è possibile in base alla sintassi <library namespace>.<name of GVL>.<variable>.

      Esempio:

      globlist1.ivar := lib1.globlist1.ivar

      (* ivar da globlist1 nella libreria lib1 viene copiato in ivar in GVL globlist1 *)

  • Anche per una libreria, un namespace è definito quando viene incluso attraverso il Gestore librerie. Si può quindi accedere a un modulo o una variabile libreria mediante <library namespace>.<modulename|variablename>. Tenere presente che nel caso di librerie annidate, i namespace di tutte le librerie interessate devono essere dichiarati in successione.

    Esempio: se Lib1 ha come riferimento Lib0, il modulo fun che fa parte di Lib1 è accessibile tramite Lib0.Lib1.fun:

    ivar := Lib0.Lib1.fun(4, 5); (* il valore restituito di fun è copiato nella variabile ivar del progetto *)

    NOTA: Dopo aver attivato la casella di controllo Rendere visibili tutti i simboli IEC nel progetto, come se questo riferimento fosse stato direttamente incluso. nella finestra di dialogo Proprietà della libreria referenziata Lib, è anche possibile accedere al modulo fun direttamente tramite Lib0.fun.
  • È possibile accedere alle variabili dichiarate nei GVL o nelle POU del nodo Globale della Struttura dei tool facendole precedere dall'operatore "__POOL.".

AT <indirizzo>

È possibile collegare la variabile direttamente a un indirizzo definito mediante la parola chiave AT.

Nei blocchi funzione è possibile anche specificare delle variabili con dichiarazioni di indirizzo incomplete. Affinché una variabile di questo tipo possa essere utilizzata in un'istanza locale, deve esistere una voce corrispondente nella configurazione della variabile.

Tipo

Tipo dati valido, opzionalmente esteso da un':=< initialization>.

Istruzioni Pragma

Se si desidera, è possibile aggiungere istruzioni pragma nella porzione di dichiarazione di un oggetto per influenzare la generazione del codice a vari scopi.

Suggerimenti

È anche possibile la dichiarazione automatica delle variabili.

Per immettere le dichiarazioni più rapidamente, usare la modalità di scelta rapida.