La versione 1.1 di EcoStruxure Machine Expert non supporta i controllori M258, LMC058 e LMC078.

Operatori ambito

Definizione

Come estensione degli operatori IEC, vi sono numerose possibilità di disambiguare l'accesso alle variabili o a i moduli se il nome delle variabili o dei moduli è usato più volte nell'ambito di un progetto.

È possibile utilizzare i seguenti operatori di ambito:

ooperatore ambito globale

onome dell'elenco di variabili globali

onome dell'enumerazione

onamespace libreria

ooperatore nodo globale

Operatore ambito globale

Un percorso di istanza che inizia con un punto (.) apre un ambito globale (namespace). Pertanto, se vi è una variabile locale con lo stesso nome <varname> di una variabile globale, .<varname> si riferisce alla variabile globale.

Nome dell'elenco di variabili globali

È possibile utilizzare il nome dell'elenco di variabili globali come namespace per le variabili incluse in questo elenco. È possibile quindi dichiarare variabili con nomi identici in elenchi di variabili globali diversi e, anteponendo al nome della variabile <global variable list name>., è possibile accedere alla variabile desiderata.

Sintassi

<global variable list name>.<variable>

Esempio

Gli elenchi di variabili globali globlist1 e globlist2 contengono ognuno una variabile chiamata varx. Nella riga seguente, varx di globlist2 viene copiato in varx di globlist1:

globlist1.varx := globlist2.varx;

Se un nome di variabile dichiarato in più elenchi di variabili globali è referenziato senza il nome dell'elenco di variabili globali come operatore che lo precede, verrà emesso un messaggio.

Namespace della libreria

È possibile aggiungere lo spazio dei nomi della libreria a una POU come prefisso separato da un punto per rendere univoco l'accesso alla POU. Per impostazione predefinita, il namespace di una libreria è identico al nome della libreria.

Esempio: LIB_A.FB_A

Sintassi

<spazio dei nomi libreria>.<POU libreria>

Esempio

Se una libreria inclusa in un progetto contiene la POU FB_A e vi è inoltre una POU FB_A definita localmente nel progetto, è possibile assegnare il nome LIB_A.FB_A al blocco funzione della libreria per differenziare dalla POU.

var1 := FB_A(in := 12); // Call of the project function block FB_A
var2 := LIB_A.FB_A(in := 22); // Call of the library function block FB_A

È possibile definire un altro nome per lo spazio dei nomi in Informazioni sul progetto quando si crea un progetto libreria nella finestra di dialogo Informazioni sul progetto (per impostazione predefinita nel menu Progetto) o in un momento successivo nella finestra di dialogo Proprietà di una libreria inclusa nel Gestore librerie.

Nome dell'enumerazione

È possibile utilizzare il nome del tipo di un'enumerazione per disambiguare l'accesso a una costante di enumerazione. Pertanto è possibile utilizzare la stessa costante in enumerazioni differenti.

Il nome dell'enumerazione deve trovarsi prima del nome della costante ed essere separato da un puntino (.).

Sintassi

<enumeration name>.<constant name>

Esempio

La costante Blue è un componente dell'enumerazione Colors e dell'enumerazione Feelings.

color := Colors.Blue; // Access to enum value Blue in type Colors
feeling := Feelings.Blue; // Access to enum value Blue in type Feelings

Operatore nodo globale

È possibile accedere alle variabili dichiarate nei GVL o nelle POU del nodo Globale della Struttura applicazioni facendole precedere dall'operatore "__POOL.".