FUNCTION "FC15003_ZC_REAL_TO_STRING" : String
TITLE = FC15003_ZC_REAL_TO_STRING
{ S7_Optimized_Access := 'TRUE' }
AUTHOR : HCR
FAMILY : ZeusControl
VERSION : 1.1
//Funcion para convertir REAL a TRING
   VAR_INPUT 
      Valor : Real;   // Valor REAL
   END_VAR

   VAR_TEMP 
      t_String : String;
      t_Posición : Int;
   END_VAR


BEGIN
	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_FUNCTION

