Índice a través de matrices

Para cambiar dinámicamente el elemento de matriz al que hace referencia su lógica, utilice una etiqueta o expresión como el subíndice para apuntar al elemento. Esto es parecido al direccionamiento indirecto en la lógica
PLC-5
. Use estos operadores en una expresión para especificar un subíndice de matriz:
CONSEJO:
  • Logix Designer
    solo permite subíndices que sean etiquetas de tipos de datos extendidos, y no admite expresiones de subíndices con tipos de datos extendidos.
  • Todos los tipos de datos elementales enteros disponibles pueden usarse como índice de subíndice. Use únicamente las etiquetas SINT, INT y DINT con operadores para crear una expresión de subíndice.
Operador
Descripción
+
sumar
-
restar/negar
*
multiplicar
/
dividir
AND
AND
BCD_TO
BCD a entero
NOT
complementario
OR
OR
TO_BCD
entero a BCD
SQRT
raíz cuadrada
XOR
OR exclusivo
Por ejemplo:
Definiciones
Ejemplo
Descripción
my_list definido como DINT[10]
my_list[5]
Este ejemplo hace referencia al elemento 5 en la matriz. La referencia es estática porque el valor de subíndice permanece constante.
my_list definido como DINT[10]
position definida como DINT
MOV the value 5 into position
my_list[position]
Este ejemplo hace referencia al elemento 5 en la matriz. La referencia es dinámica porque la lógica puede cambiar el subíndice cambiando el valor de posición.
my_list definido como DINT[10]
position definida como DINT
offset definida como DINT
MOV el valor 2 a la posición
MOV el valor 5 al desplazamiento
my_list[position+offset]
Este ejemplo hace referencia al elemento 7 (2+5) de la matriz. La referencia es dinámica porque la lógica puede cambiar el subíndice cambiando el valor de posición o desplazamiento.
CONSEJO: Asegúrese de que cualquier subíndice de matriz que introduzca esté dentro de los límites de la matriz especificada. Las instrucciones que ven las matrices como una colección de elementos generan un fallo mayor (tipo 4, código 20) si un subíndice supera su dimensión correspondiente.
Entregue su opinión
¿Tiene dudas o comentarios acerca de esta documentación? Por favor deje su opinión aquí.
Normal