Bloque que realiza la conversión de un valor STRING para un valor REAL.
Representación Ladder
![]()
Estructura del Bloque
Tipo |
Nombre |
Tipo de Dato |
Descripción |
VAR_INPUT |
EN |
BOOL |
Habilitación del bloque |
STR |
STRING |
Valor en STRING |
|
VAR_OUTPUT |
DONE |
BOOL |
Fin de operación |
OUT |
REAL |
Valor en REAL |
Operación
Este bloque, cuando tiene un valor TRUE en EN, lee el valor de STR como STRING carácter a carácter, realizando la conversión para REAL y almacenando el resultado en DONE. En caso de que el primer carácter no sea matemáticamente válido, la salida OUT recibirá cero. En caso de que haya caracteres válidos, tales caracteres serán convertidos hasta el fin de la STRING, o hasta encontrar un carácter no válido.
|
¡NOTA! El bloque interpreta el punto (.) cómo separador de decimales, no así la coma (,). |
Cuando EN tiene valor FALSE, OUT permanece inalterado y DONE permanece FALSE.
El valor de DONE pasa al próximo bloque Ladder el valor de EN luego de finalizada la operación.
Compatibilidad
Equipo |
Versión |
PLC300 |
2.10 o superior |
Diagrama de Flujo del Bloque

Ejemplo en Ladder
Los ejemplos a seguir exhiben diversas conversiones de STRING en valores del tipo REAL. Todas las conversiones habilitan la salida DONE al fin de la operación.

La conversión de arriba fue realizada exitosamente. El punto decimal es un carácter matemático válido.

La conversión de arriba fue realizada exitosamente. El guión y punto decimal son caracteres matemáticos válidos.

La conversión de arriba fue realizada exitosamente. El guión y el indicador de potencia de 10 "y" son caracteres matemáticos válidos.

La conversión de arriba fue realizada sin éxito. El primer carácter no fue identificado como matemáticamente válido, y la salida fue reseteada.

La conversión de arriba fue realizada exitosamente. El carácter "p" no es matemáticamente válido y finaliza la conversión, truncando el resultado que ya había sido convertido.
Ejemplo en ST
El siguiente ejemplo muestra las instrucciones para aplicar el ejemplo anterior en el lenguaje ST.
VAR STR : STRING := '105p0'; OUT : REAL; END_VAR
OUT := FB_STRING_TO_REAL(EN:=DI1, STR:=STR, DONE=>DO1);
|
|---|