La instrucción Find (FIND)
La instrucción Find se usa para buscar un valor especificado en
DS5 Usado
una tabla de memoria V de hasta 255 direcciones. Los
HPP Usado
parámetros de la función FIND son cargados en el primer y
segundo nivel del Stack del acumulador y del acumulador con
tres instrucciones adicionales. Abajo están listados los pasos
necesarios para programar la función Find.
Paso 1: Cargue la longitud de la tabla (el número de direcciones de memoria V) en el segundo
nivel del Stack del acumulador. Este parámetro debe ser un valor hexadecimal, de 0
hasta FF, que es 255 decimal.
Paso 2: Cargue la dirección de la memoria V de inicio de la tabla en el primer nivel del Stack del
acumulador. Este parámetro debe ser un valor hexadecimal.
Paso 3: Cargue la cantidad de memorias a ser saltadas de la dirección inicial para comenzar la
búsqueda. Este parámetro debe ser un valor hexadecimal.
Paso 4: Coloque la instrucción Find especificando el primer valor a ser encontrado en la tabla.
Resultado: — El resultado es expresado en hexadecimal y muestra cuantas memorias V hay
entre el inicio de la tabla y la memoria encontrada. El desvío de la dirección inicial a la primera
dirección de la memoria V que contiene el valor de búsqueda es vuelto al acumulador. SP53 se
pondrá ON si se especifica una dirección fuera de la tabla en el desvío, o el valor no es
encontrado. Si el valor no se encuentra serán colocados 0s en el acumulador.
Sugerencia: — Para parámetros que requieran valores hexadecimales cuando se refieran a
direcciones de memoria se puede usar la instrucción LDA para convertir una dirección octal al
equivalente hexadecimal y cargar el valor al acumulador.
Tipo de operando de datos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A
Memoria V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
Constante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . K
Indicadores
SP53
NOTA: Las indicaciones de estado discretas SP son válidas solamente hasta que se ejecute otra instrucción
que use los mismos relevadores especiales SP.
En el ejemplo siguiente, cuando X1 está encendido, el valor de la constante K6 se carga en el
acumulador usando el instrucción..Este valor especifica la longitud de la tabla y se coloca en la
segunda localización del stack cuando se ejecuta la instrucción siguiente. La dirección octal 1400
(V1400) es la localización inicial de la tabla y se carga en el acumulador. Este valor se pone en
el primer nivel del stack del acumulador cuando se ejecuta el instrucción siguienteLD. El
desplazamiento (offset K2) se carga en los 16 bits más bajos del acumulador usando la
instrucción LD. El valor que se encontrará en la tabla se especifica en el instrucción FIND. Si
se encuentra un valor igual al valor de la búsqueda, el desplazamiento (desde el inicio de la
tabla) donde se encuentra el valor residirá en el acumulador.
Capítulo 5: Instrucciones normales RLL - Instrucciones de tablas
ON si no hay un valor en la tabla que sea igual a valor de búsqueda.
Manual del PLC DL06, 2a. edición en español, 6/07
FIND
A aaa
Rango del DL06
aaa
Vea el mapa de memoria
0–FF
Descripción
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
5–147