Comparar (CMP)

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.
Se define le expresión CMP usando operadores, etiquetas y valores inmediatos. Se usa paréntesis ( ) para definir secciones en las expresiones más complejas.
La ventaja de la instrucción CMP es que permiten integrar expresiones complejas en una sola instrucción.
Al evaluar la expresión, todos los operandos del tipo no REAL se convertirán a REAL antes de realizar los cálculos si alguna de las siguientes condiciones es verdadera.
  • Cualquier operando en la expresión es REAL.
  • La expresión contiene SIN, COS, TAN, ASIN, ACOS, ATAN, LN, LOG, DEG o RAD.
Hay reglas para operadores admisibles en aplicaciones de seguridad. Consulte
Operadores válidos.
Idiomas disponibles
Diagrama de lógica de escalera
RSL5K_CMP Ladder Diagram_v31
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
Estos son operandos de la instrucción CMP.
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
El siguiente es el operando del Diagrama 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
Expression
SINT
INT
DINT
REAL
Tipo de cadena
SINT
INT
DINT
LINT
USINT
UINT
UDINT
ULINT
REAL
LREAL
Tipo de cadena
etiqueta inmediato
Una expresión que consiste en 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
Las instrucciones para llevar a cabo las operaciones en la expresión están en el orden prescrito, no necesariamente en el orden en que aparecen. Se puede especificar el orden de la operación agrupando los términos en paréntesis, lo que obligará a la instrucción a realizar las operaciones dentro los paréntesis antes que las suyas.
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, IsINF, IsNAN, LN, LOG, RAD, SIN, SQRT, TAN, TO_BCD, TRUNC
3
**
4
- (negar), NOT, !
5
*, /, MOD
6
- (restar), +
7
AND
8
XOR
9
OR
10
<, <=, >, >=, =, <>
11
&&
12
^^
13
||
Uso de cadenas en una expresión
Para usar cadenas de caracteres ASCII en una expresión, siga estas pautas:
  • Una expresión puede comparar dos etiquetas de cadenas.
  • No se pueden introducir caracteres ASCII directamente en la expresión.
  • Se permiten los siguientes operandos:
    Operador
    Descripción
    =
    Igual
    <
    Menor que
    <=
    Menor o igual que
    >
    Mayor que
    >=
    Mayor o igual que
    <>
    No igual
  • Las cadenas son iguales si sus caracteres coinciden.
  • Los caracteres ASCII distinguen entre mayúsculas y minúsculas. La mayúscula A ($41) no es equivalente a la minúscula a ($61).
  • Lo que determina si una cadena es mayor o menor que otra son los valores hexadecimales de los caracteres.
  • Cuando las dos cadenas se ordenan como en un directorio telefónico, el orden de las cadenas determina cuál es superior.
CMP strings
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 y GuardLogix 5580
No
Controladores CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 y GuardLogix 5570
La instrucción CMP afecta a las marcas de estado matemático si la expresión contiene un operador (como +, −, *, /) que afecte a las 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 reglón a condición de entrada de reglón
La condición de entrada de renglón es verdadera
Establecer la condición de salida de reglón a condición de entrada de reglón
si la expresión se evalúa como falsa
La condición de salida de reglón se borra a falsa
Post-escaneado
N/A
Ejemplo
Diagrama de lógica de escalera
RSL5K_CMP Ladder Diagram Example_v31
Si value_1 es igual a value_2, light_a se establece en verdadero. Si value_1 no es igual a value_2, light_a se establece en falso.
Entregue su opinión
¿Tiene dudas o comentarios acerca de esta documentación? Por favor deje su opinión aquí.
Normal