STRING in LREAL
STRING_TO_LREAL converte una stringa nel formato a virgola mobile in un valore del tipo di dato LREAL.
La stringa collegata viene prima convertita in un valore del tipo di dato STRING[64]. Infine viene convertita in un valore del tipo di dato LREAL tramite un sottoprogramma che richiede all'incirca 580 passi.
Tipo di dato di ingresso
Uscita
Risultato della conversione
Formato ammissibile: '[Spazio][Segno][Numeri decimali].[Numeri decimali][Spazio]' p.es. ' 1.45620752 '
Caratteri ammissibili:
Spazio ""
Numeri decimali "0"-"9"
L'analisi termina con il primo numero non decimale.
Tutte le variabili di ingresso e uscita utilizzate per programmare questa funzione sono state dichiarate nell'intestazione del POU.La stessa intestazione del POU è utilizzata per tutti i linguaggi di programmazione.
VAR
lrValue: LREAL:=0.0;
bStart: BOOL:=FALSE;
sValue: STRING[64]:='';
END_VAR
Quando la variabile bStart è impostata su TRUE, la funzione viene eseguita.
BODY
WORKSPACE
NETWORK_LIST_TYPE := NWTYPELD ;
END_WORKSPACE
NET_WORK
NETWORK_TYPE := NWTYPELD ;
NETWORK_LABEL := ;
NETWORK_TITLE := ;
NETWORK_HEIGHT := 6 ;
NETWORK_BODY
B(B_CONTACT,,bStart,3,2,5,4,);
B(B_F,E_STRING_TO_LREAL!,,10,1,20,5,,?DEN?D?AENO?C);
B(B_VARIN,,sValue,8,3,10,5,);
B(B_VAROUT,,lrValue,20,3,22,5,);
L(1,0,1,6);
L(1,3,3,3);
L(5,3,10,3);
END_NETWORK_BODY
END_NET_WORK
END_BODY
if (bStart) then
lrValue:=STRING_TO_LREAL(sValue);
end_if;