Un'istruzione pragma viene utilizzata per influenzare le proprietà di una o più variabili relative al processo di compilazione o precompilazione (preprocessore). Pertanto, un pragma influenza la generazione del codice.
Un'istruzione pragma può determinare se una variabile verrà inizializzata, monitorata, aggiunta in un elenco parametri, aggiunta nella lista dei simboli o resa invisibile nel . Può forzare le emissioni dei messaggi durante il processo di compilazione. È possibile utilizzare istruzioni pragmas condizionali per definire il modo in cui la variabile deve essere gestita in funzione di determinate condizioni Queste istruzioni pragmas possono anche essere immesse come definizioni nelle proprietà di compilazione di un particolare oggetto.
È possibile utilizzare un'istruzione pragma in una riga separata oppure con testo aggiuntivo in una riga dell'editor di implementazione o di dichiarazione. Nell'editor FBD/LD/IL, eseguire il comando e sostituire il testo predefinito Label:
nel campo di testo visualizzato con l'istruzione pragma. Se si vuole impostare una label e un'istruzione pragma, inserire prima pragma, quindi l'etichetta.
L'istruzione pragma è racchiusa tra parentesi graffe.
{ <instruction text> }
La parentesi aperta può trovarsi immediatamente dopo un nome di variabile. Le parentesi aperta e chiusa devono trovarsi sulla stessa riga.
{IF defined(abc)}
IF x =abc THEN
{IF defined(cde)}
y := 12;
{ELSE}
y :=13;
{END_IF}
END_IF
{ELSE}
IF x = 12 THEN
{IF defined(cde)}
y := 12;
{ELSE}
y :=13;
{END_IF}
END_IF
In funzione del tipo e del contenuto di un pragma, pragma opera sull'istruzione successiva, rispettivamente su tutte le istruzioni successive, fino a quando non viene soddisfatta una delle seguenti condizioni:
Finisce con un'istruzione pragma appropriata.
La stessa istruzione pragma viene eseguita con parametri diversi.
Viene raggiunta la fine del codice.
Il termine codice, in questo contesto, si riferisce alla parte della dichiarazione, alla parte dell'implementazione, all'elenco di variabili globali o alla dichiarazione del tipo.
Se il compilatore non è in grado di interpretare in modo significativo il testo dell'istruzione, l'intera istruzione pragma viene trattata come un commento e viene saltata.
Vedere i seguenti tipi pragma: