Cadena en DINT (STOD)
Esta información corresponde a los controladores CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370, GuardLogix 5570, Compact GuardLogix 5380, CompactLogix 5380, ControlLogix 5580, GuardLogix 5580 y ControlLogix 5590.
La instrucción Cadena a DINT (String to DINT, STOD) convierte la representación ASCII de un entero a un valor entero o REAL.
Idiomas disponibles
Diagrama de lógica de escalera

Bloque de funciones
Esta instrucción no está disponible en el bloque de funciones.
Texto estructurado
STOD(Source,Dest);
Operandos
Existen reglas de conversión de datos para utilizar tipos de datos mixtos en una instrucción. Consulte
Conversión de datos
.Diagrama de escalera y texto estructurado
Operando | Tipo | Formato | Descripción | Notas |
|---|---|---|---|---|
Source | Tipo de cadena | Etiqueta | La etiqueta que contiene el valor ASCII | Los tipos de datos de cadena son:
|
Destination | SINT INT DINT | Etiqueta | La etiqueta en la que se almacena el valor entero. | Si el valor Source es un número de punto flotante, la instrucción convierte solo la parte no fraccionaria del número (independientemente del tipo de datos de destino). |
Consulte
Sintaxis de texto estructurado
para obtener más información sobre la sintaxis de expresiones.Descripción
La instrucción STOD convierte el Source en un entero y coloca el resultado en Destination.
- La instrucción convierte números negativos y positivos.
- Si la cadena Source contiene caracteres no numéricos, STOD convierte el primer conjunto de números que esté contiguos:
La instrucción ignora cualquier control inicial o cualquier carácter no numérico, excepto el signo menos que está delante del número.
Si la cadena contiene muchos grupos de números separados por un delimitador (p. ej. /) la instrucción convierte solo el primer grupo de números.
Afecta a las marcas de estado matemáticas
Solo en Diagramas de escalera. Consulte
Marcas de estado matemático
.Fallos mayores/menores
Tipo | Código | Causa | Método de recuperación |
|---|---|---|---|
4 | 51 | El valor LEN de la etiqueta de cadena es mayor que el tamaño de DATA de la etiqueta de cadena. | Comprueba que ninguna instrucción esté escribiendo en el miembro LEN de la etiqueta de cadena. En el valor LEN, introduzca el número de caracteres que contiene la cadena. |
4 | 53 | El número de salida sobrepasa los límites del tipo de datos de destino. |
|
Consulte
Atributos comunes
para obtener información sobre fallos relacionados con los operandos.Ejecución
Diagrama de lógica de escalera
Condición | Acción realizada |
|---|---|
Pre-escaneado | N/A |
La condición de entrada de renglón es falsa | N/A |
La condición de entrada de renglón es verdadera | La instrucción se ejecuta. Destination se ha borrado La instrucción convierte el origen. |
Post-escaneado | N/A |
Texto estructurado
Condición | Action |
|---|---|
Pre-escaneado | Consultar Pre-escaneado en la tabla Diagrama de escalera anterior |
Ejecución normal | Consultar La condición de entrada de reglón es verdadera en la tabla Diagrama de escalera anterior |
Post-escaneado | Consultar Post-escaneado en la tabla Diagrama de escalera anterior |
Ejemplo
Cuando MV_read.EM está establecido, la instrucción STOD convierte el primer grupo de caracteres numéricos de MV_msg en un valor entero. Esta instrucción ignora el carácter de control inicial ($06) y se detiene en el delimitador (\).
Diagrama de lógica de escalera

Texto estructurado
IF MV_read.EM THEN
STOD(MV_msg,MV_msg_nmbr);
MV_read.EM := 0;
END_IF;
Entregue su opinión