Regole
Un identificatore non deve contenere spazi o caratteri speciali.
Il carattere di sottolineatura è riconosciuto.
Per esempio,
A_BCD
eAB_CD
sono trattati come due diversi identificatori.Non sono consentiti più caratteri di sottolineatura consecutivi.
Non c'è distinzione tra maiuscole e minuscole.
Per esempio,
VAR1
evar1
fare riferimento alla stessa variabile.La lunghezza di un identificatore è illimitata.
Ti consigliamo di applicare il Raccomandazioni oltre agli elementi che devi considerare specificamente per la dichiarazione delle variabili. In questo modo si ottiene la migliore armonizzazione possibile nell'assegnazione dei nomi.
Un identificatore non deve essere dichiarato due volte a livello locale.
Un identificatore può essere utilizzato più di una volta a livello globale.
Se una variabile locale ha lo stesso nome di una variabile globale, la variabile locale ha la priorità all'interno della POU.
Un identificatore non può essere identico a una parola chiave.
Esempio: ambito di
VAR_Global
Una variabile dichiarata in un elenco di variabili globali può avere lo stesso nome di una variabile definita in un altro GVL.
CODESYS fornisce funzionalità che estendono lo standard per lo spazio dei nomi o l'ambito delle variabili:
Operatore globale dello spazio dei nomi
Un percorso di istanza che inizia con un punto apre sempre uno spazio dei nomi globale. Se è presente una variabile locale (ad esempio,
ivar
) che ha lo stesso nome di una variabile globale, quindi si fa riferimento alla variabile globale come.ivar
.Il nome di un elenco di variabili globali può definire lo spazio dei nomi in modo univoco per le variabili di inclusione. Pertanto, è possibile dichiarare variabili con lo stesso nome in diversi elenchi di variabili globali e continuare a fare riferimento in modo univoco anteponendo il nome dell'elenco.
Esempio:
globlist1.ivar := globlist2.ivar; (* ivar from GVL globlist2 is copied to ivar in GVL globlist1 *)
Le variabili definite nell'elenco delle variabili globali di una libreria inclusa nel progetto possono essere indirizzate in modo univoco secondo la seguente sintassi:
<name scope library>.< GVL name>.<variable name>
Esempio:
globlist1.ivar := lib1.globlist1.ivar (* ivar from GVL globlist1 in library lib1 is copied to ivar in GVL globlist1 *)
Quando si inserisce una libreria, si utilizza anche Library Manager per definire uno spazio dei nomi. In questo modo è possibile creare riferimenti univoci a una POU di libreria o a una variabile di libreria di
<namespace library >.<POU name\|variable name>
. Nota che quando le librerie sono nidificate, devi fare riferimento agli spazi dei nomi di tutte le librerie in successione.Esempio: se
Lib1
è referenziato daLib0
, quindi il POUfunc
inLib1
è affrontato daLib0.Lib1.fun
:ivar := Lib0.Lib1.fun(4, 5); (* return value from func is copied to variable ivar in the project *)
Identificatori del backtick
Utilizzando gli apici inversi, è possibile utilizzare negli identificatori anche caratteri che normalmente non sono consentiti negli identificatori, come i caratteri speciali. Il carattere con accento acuto viene utilizzato per gli apici inversi: ´ (Unicode: U+02CA)
Si consiglia l'uso dei backtick per poter utilizzare gli stessi identificatori in CODESYS come in altri linguaggi di programmazione o documenti, come gli schemi elettrici.
È possibile utilizzare qualsiasi carattere tra due apici inversi, eccetto le interruzioni di riga e altri apici inversi. Le parole chiave sono consentite anche come identificatori tra i backtick.
Esempi:
´Variable+9´
´INT´
I backtick fanno parte di ciascun identificatore e quindi var1
e ´var1´
sono due identificatori diversi.
PROGRAM PLC_PRG VAR var1 : INT; ´var1´: INT; END_VAR var1 := var1 + 1; ´var1´ := 12;