{
    S7_Author := "HCR";
    S7_BlockComment := "MLC_59w";
    S7_BlockNumber := "15003";
    S7_BlockTitle := "MLC_UY";
    S7_EditorMode := "SCL";
    S7_Family := "ZeusControl";
    S7_Optimized := "TRUE";
    S7_Version := "1.1"
}
FUNCTION "FC15003_ZC_REAL_TO_STRING" : String
    VAR_INPUT
        { S7_MLC := "MLC_nV" }
        Valor : Real;
    END_VAR
    VAR_TEMP
        t_String : String;
        t_Posición : Int;
    END_VAR

    { S7_Language := "SCL" }
    NETWORK
        REGION DESCRIPCION
        (*
        ###### (C)Copyright ZeusControl 2022 - 2023
        
        ---
        ### Información del Sistema
        | Hardware Compatible | Entorno de Ingeniería |
        |---------------------|-----------------------|
        | PLC serie 1200/1500 | TIA Portal 18         |
        
        ---
        > **Restricciones:** Ninguna.
        
        ---
        ### Descripción Funcional
        
        Función encargada de convertir tipo de dato REAL a STRING.
        
        ---
        ### Dependencias Requeridas
        | Tipo | Elementos |
        |------|-----------|
        | FC   | - |
        | FB   | - |
        | DB   | - |
        | UDT  | - |
        
        ---
        ### Historial de Cambios
        | Versión  | Fecha      | Técnico | Cambios |
        |----------|------------|---------|---------|
        | 01.00.00 | 15.10.2022 | (HCR)   | Primera version. |
        | 01.00.00 | 25.07.2023 | (ABH)   | Cambio FC de Void a Funcion. Cambio en nombre de variables para estandarizacion. |
        *)
        END_REGION DESCRIPCION
        
        
        //  ==========================================================================================================
        REGION CALCULO
            
            //  Conversion de real a string
            VAL_STRG(IN := #Valor,
                     SIZE := 10,
                     PREC := 1,
                     FORMAT := 16#0004,
                     P := 16,
                     OUT => #t_String);
            
            //  Se añade signo en base a valor
            IF #Valor >= 0.0 THEN
                #t_Posición := FIND(IN1 := #t_String, IN2 := '+');
            END_IF;
            
            IF #Valor < 0.0 THEN
                #t_Posición := FIND(IN1 := #t_String, IN2 := '-');
            END_IF;
            
            //  Borrado de caracteres antes del signo
            #FC15003_ZC_REAL_TO_STRING := DELETE(IN := #t_String, L := #t_Posición - 1, P := 1);
            
        END_REGION CALCULO
        
        
    END_NETWORK
END_FUNCTION
