Í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 Designersolo 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