FUNCTION STR_TO_REAL : REAL

VAR
    i           :   INT;
    sbuf1       :   STRING[6];
    sbuf2       :   STRING[6];  
    temp        :   STRING[16];
END_VAR

VAR_INPUT
    VARSTRING   : STRING[16];
END_VAR  


sbuf1                   :='';
sbuf2                   :='';
temp    := VARSTRING;
i                       := FIND(IN1:=temp,IN2:='.');                       // Trouver la position du '.'
IF i > 0 THEN
    temp    := VARSTRING;
    sbuf1                   := LEFT(IN:=temp, L:=i-1);                         // Extraire la partie avant le '.'
    temp    := VARSTRING;
    sbuf2                   := MID(IN:=temp, P:=i+1, L:= LEN(temp)-i);          // Extraire la partie après le '.'
    IF LEN(sbuf2) = 1 THEN
        sbuf2 := CONCAT(IN1:=sbuf2,IN2:='0');
    END_IF;
    STR_TO_REAL             := STRING_TO_DINT(sbuf1) + (STRING_TO_DINT(sbuf2) / 100.0) ;

ELSE
    temp    := VARSTRING;

    STR_TO_REAL             := STRING_TO_DINT(temp) ;

END_IF;

END_FUNCTION

