Solamente per FP-e e FP0: Non usare istruzioni REAL in programmi di interrupt.
I valori letterali interi come '123' vengono convertiti implicitamente in REAL.
Variabili del tipo di dato REAL sono numeri reali a 32 bit basati su IEEE754. La mantissa è 23 bit, l'esponente è 8 bit.
Intervallo per valori REAL: |
da -3.402823466*E38 a -1.175494351*E-38 |
0.0 |
|
da +1.175494351*E-38 a +3.402823466*E38 |
|
Il valore iniziale di default, p.es. per la dichiarazione di variabile nell'intestazione del POU o nella lista variabili globali: |
0.0 |
Si possono inserire valori REAL nel seguente formato: [+-] Integer.Integer [(Ee) [+-] Integer]
5.983e-7
-33.876e12
3.876e3
0.000123
123.0
Problema
Istruzioni a virgola mobile richiedono numeri reali validi.
Intervallo per valori REAL: |
-3.402823466*E38 a -1.175494351*E-38 |
0,0 |
|
+1.175494351*E-38 a +3.402823466*E38 |
Se un numero reale è inferiore a -3.402823466*E38, o maggiore di +3.402823466*E38 le variabili di sistema sys_bIsOperationErrorHold e sys_bIsOperationErrorNonHold vengono impostate e l'operazione viene arrestata se un registro di sistema 26 viene impostato su Stop.
Tale condizione è controllata dalle funzioni IsValidReal e IsValidReal2.
Se un numero reale è compreso fra -1.175494351*E-38 e +1.175494351*E-38, il PLC lavora con il valore 0.0 e non vengono poste flag di allarme errore.
Alcuni tipi di PLC obsoleti come FP1 o FP-M non supportano numeri reali.
In questo esempio la funzione IsValidReal e IsValidReal2 è stata programmata in diagramma contatti (LD) e lista istruzioni (IL). La stessa intestazione del POU è utilizzata per tutti i linguaggi di programmazione.
Intestazione del POU
Nell'intestazione del POU sono dichiarate tutte le variabili di ingresso e uscita utilizzate per programmare questa funzione.
LD: IsValidReal
LD: IsValidReal2