Truncar (TRUNC)
En esta tabla se especifican los controladores y las aplicaciones compatibles con esta instrucción.
Arquitectura | Aplicaciones estándar | Aplicaciones de seguridad |
|---|---|---|
Controladores CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 y GuardLogix 5570 | Sí | No |
Controladores CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 y ControlLogix 5590 | Sí | Sí |
Cuando está habilitada, la instrucción TRUNC elimina (trunca) la parte fraccionaria del Origen y almacena el resultado en el Destino.
CONSEJO:
En la versión 36 de Logix Designer, el mnemónico de esta instrucción ha cambiado de TRN a TRUNC.
Idiomas disponibles
Diagrama de lógica de escalera

Diagrama de bloque de funciones
El Diagrama del bloque de funciones es compatible con estos elementos:
Bloque FBD

Función FBD
CONSEJO:
La función FBD es aplicable solo a los controladores CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 y ControlLogix 5590.

Texto estructurado
Esta instrucción no está disponible en texto estructurado.
CONSEJO:
Use TRUNC como un operador en una expresión para calcular el mismo resultado. Consulte para obtener más información sobre la sintaxis de las expresiones y las asignaciones en el texto estructurado.
Operandos
IMPORTANTE:
Puede ocurrir un funcionamiento inesperado si:
- Los operandos de etiqueta de salida se sobrescriben.
- Los miembros de un operando de estructura se sobrescriben.
- A no ser que se especifica, los operandos de estructura son compartidos por varias instrucciones.
Existen reglas de conversión de datos para utilizar diversos tipos de datos numéricos en una instrucción. Consulte Conversiones de datos.
Diagrama de lógica de escalera
Operando | Tipo de datos Controladores CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 y GuardLogix 5570 | Tipo de datos Controladores CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 y ControlLogix 5590 | Formato | Descripción |
Source | REAL | REAL LREAL | inmediato etiqueta | Valor que desea truncar. |
Destination | SINT INT DINT REAL | SINT INT DINT LINT USINT UINT UDINT ULINT REAL LREAL | etiqueta | Etiqueta para almacenar el resultado de la instrucción. |
Diagrama de bloque de funciones
Bloque FBD
Operando | Tipo | Formato | Descripción |
TRUNC | FBD_TRUNCATE | etiqueta | Estructura TRN |
Función FBD
Operandos de entrada (pines a la izquierda) | Tipo de datos Controladores CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 y ControlLogix 5590 | Descripción |
Source | REAL LREAL | Valor que desea truncar |
Operando de salida (pin a la derecha) | Tipo de datos Controladores CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 y ControlLogix 5590 | Descripción |
Dest | LINT | Resultado de la función. |
Consulte .
Estructura FBD_TRUNCATE
Miembros de entrada | Tipo de datos | Descripción |
EnableIn | BOOL | Habilita la entrada. Si no está en falso, la instrucción no se ejecuta y las salidas no se actualizan. El valor predeterminado es verdadero. |
Source | REAL | Entrada a la instrucción de conversión. La entrada también acepta SINT, INT, DINT, LINT, USINT, UINT, UDINT, ULINT y LREAL a través de la etiqueta de entrada. No obstante, el tipo de entero se convertirá primero en el tipo REAL. Al convertir SINT, INT, USINT o UINT en REAL no hay pérdidas en la precisión de los datos. Al convertir tipos de 32 bits (DINT, UDINT) en REAL, podría haber pérdidas en la precisión de los datos. Ambos tipos de datos almacenan datos en 32 bits, pero el tipo REAL utiliza algunos de sus 32 bits para almacenar el valor del exponente. Si se pierde precisión, el controlador la toma de la porción menos significativa de los tipos de 32 bits (DINT, UDINT). Al convertir tipos de 64 bits (LINT, ULINT y LREAL) en REAL, podría haber pérdidas en la precisión de los datos. |
Miembros de salida | Tipo de datos | Descripción |
EnableOut | BOOL | Indica si la instrucción se ejecutó sin fallos al ser habilitada. |
Dest | DINT | Resultado de la instrucción. |
Descripción
Truncar un valor, no lo redondea, sino que, en su lugar, la parte no fraccionaria permanece igual, independientemente del valor de la parte fraccionaria.
Afecta a las marcas de estado matemáticas
Controladores | Marcas de estado matemático afectadas |
Controladores CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 y ControlLogix 5590 | Condicional, consulte . |
Controladores CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 y GuardLogix 5570 | Sí |
Fallos mayores/menores
No es específico para esta instrucción. Consultepara ver los fallos de indexación de matrices.
Ejecución
Diagrama de lógica de escalera
Condición/estado | Acción realizada |
Pre-escaneado | N/A. |
La condición de entrada de renglón es falsa | Establecer la condición de salida de renglón a condición de entrada de renglón. |
La condición de entrada de renglón es verdadera | Establecer la condición de salida de renglón a condición de entrada de renglón. Destino = Valor truncado de Origen. |
Post-escaneado | N/A. |
Diagrama de bloque de funciones
Bloque FBD
Condición/estado | Acción realizada |
Pre-escaneado | N/A |
EnableIn es falso | Establecer EnableOut a EnableIn. |
EnableIn es verdadero | Destino = Valor truncado de Origen. Si se produce un desbordamiento Borrar EnableOut a falso. else Se establece EnableOut a verdadero. |
Primer escaneado de instrucción | N/A |
Primera ejecución de instrucción | N/A |
Post-escaneado | N/A |
Función FBD
Condición/estado | Acción realizada |
Pre-escaneado | N/A |
Escaneado normal | Destino = Valor truncado de Origen. |
Primera ejecución de instrucción | N/A |
Primer escaneado de instrucción | N/A |
Post-escaneado | N/A |
Ejemplo
Diagrama de lógica de escalera

Diagrama de bloque de funciones
Bloque FBD

Función FBD

Texto estructurado
REAL_dest := TRUNC(REAL_src);
Entregue su opinión