FAQ tecniche

Fai una domanda

Posso limitare il range di una variabile in SoMachine?

Si è possibile dichiarando la variabile con la seguente sintassi:
VAR_GLOBAL
iData : INT(-100..10000);
END_VAR
In questo caso abbiamo limitato il vaore della variabile di tipo INT tra -100 e 10000.
Ini questo modo se passiamo un valore costante minore o maggiore a quello dichiarato(es. iData:=20000), in fase di compilazione avremo un messaggio di errore.
Se si vuole proteggere la scrittura a runtime della variabile al solo range dichiarato, bisogna inoltre aggiungere le seguenti pou per controllo implicito :
CheckRangeSigned
CheckRangeUnsigned
In questo caso:
se viene scrittto un valore maggiore di quello dichiarato nel range, il valore della variabile assumerà il valore massimo permesso dal range (in questo esempio 10000)
se viene scrittto un valore minore di quello dichiarato nel range, il valore della variabile assumerà il valore minimo permesso dal range (in questo esempio -100).



 
E' stato utile?
Che cosa possiamo fare per migliorare l'informazione?