Calcular (CPT)
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. Las diferencias de controladores se indican cuando corresponda.
Cuando está habilitada, la instrucción CPT evalúa la expresión y pone el resultado en Dest.
La instrucción CPT activa las expresiones complejas en una instrucción.
Al evaluar la expresión, todos los operandos del tipo no LREAL se convierten en LREAL antes de realizar los cálculos si alguna de las siguientes condiciones es verdadera:
- Cualquier operando en la expresión es LREAL.
- El Destino es LREAL.
Al evaluar la expresión, todos los operandos del tipo no REAL se convierten en REAL antes de realizar los cálculos si algún operando o Destino en la expresión es NOT LREAL y si alguna de las siguientes condiciones es verdadera:
- Cualquier operando en la expresión es REAL.
- La expresión contiene SIN, COS, TAN, ASN, ACS, ATN, LN, LOG, DEG o RAD.
- El Destino es REAL.
Hay reglas para operadores admisibles en aplicaciones de seguridad. Consulte los
Operadores válidos
.Idiomas disponibles
Diagrama de lógica de escalera

Bloque de funciones
Esta instrucción no está disponible en el bloque de funciones.
Texto estructurado
Esta instrucción no está disponible en 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 |
|---|---|---|---|---|
Dest | SINT INT DINT REAL | SINT INT DINT LINT USINT UINT UDINT ULINT REAL LREAL | etiqueta | Etiqueta para almacenar el resultado. |
Expression | SINT INT DINT REAL | SINT INT DINT LINT USINT UINT UDINT ULINT REAL LREAL | inmediato etiqueta | Una expresión que consta de etiquetas y/o valores inmediatos separados por operadores. |
Formato de expresiones
Se deben proporcionar uno o dos operandos (etiquetas o valores inmediatos) para cada uno de los operadores usados en una expresión. Se usa la siguiente tabla para dar formato a los operadores y operandos dentro de una expresión.
Para operadores que operan en: | Se usa este formato: | Ejemplo |
|---|---|---|
Un operando | operador(operando) | ABS(etiqueta) |
Dos operandos | operand_a operador operand_b | tag_b + 5 tag_c AND tag_d (tag_e**2) MOD (tag_f / tag_g) |
Determinar el orden de operación
La instrucción realiza las operaciones en las expresiones en el orden prescrito. Se especifica el orden de la operación agrupando los términos entre paréntesis. Esto hará que la instrucción tenga que realizar las operaciones que están dentro de los paréntesis antes que las demás.
Las operaciones del mismo orden se realizarán de izquierda a derecha.
Order | Operación |
|---|---|
1 | ( ) |
2 | ABS, ACOS, ASIN, ATAN, COS, DEG, BCD_TO, LN, LOG, RAD, SIN, SQRT, TAN, TO_BCD, TRUNC |
3 | ** |
4 | - (negar), NOT |
5 | *, /, MOD |
6 | - (restar), + |
7 | AND |
8 | XOR |
9 | OR |
Afecta a las marcas de estado matemáticas
Controladores | Afecta a las marcas de estado matemáticas |
|---|---|
Controladores CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 y ControlLogix 5590 | Condicional |
Controladores CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 y GuardLogix 5570 | Sí |
Consulte Marcas de estado matemático.
Fallos mayores/menores
No es específico para esta instrucción. Consulte Índice a través de matrices para ver si hay 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. La instrucción evalúa la expresión y coloca el resultado en Dest. |
Post-escaneado | N/A |
Ejemplos
Diagrama de lógica de escalera
Ejemplo 1
Cuando está habilitada, la instrucción CPT evalúa value_1 multiplicada por 5 y divide ese resultado por el resultado de dividir value_2 por 7. Finalmente, coloca el resultado final en result_1.


Ejemplo 2
Cuando está habilitada, la instrucción CPT trunca float_value_1 y float_value_2 a un múltiplo de dos y divide el valor truncado de float_value_1 por ese resultado. A continuación, almacena el resto de la división en float_value_result_cpt.
Diagrama de lógica de escalera


Entregue su opinión