La instrucción Encode (ENCO)
La instrucción ENCO es una instrucción de 16 bits que codifica la
DS5 Usado
posición del bit en el acumulador que tiene un valor de 1 y retorna
HPP Usado
la representación binaria apropiada de 5 bits. Si el bit más
significativo está en 1 (Bit 31), la instrucción ENCO colocaría el
valor 1F hexadecimal (decimal 31) en el acumulador. Si el valor a
ser codificado es 0000 o 0001, la instrucción colocará un cero en
el acumulador. Si el valor a ser codificado tiene más de un
conjunto de posiciones de bit en "1", el bit menos significativo
con un "1" será codificado y SP53 se hará ON.
Indicadores
SP53
NOTA: Las indicaciones de estado discretas SP son válidas sólo hasta que se ejecute otra instrucción que
use el mismo relevador especial SP.
En el ejemplo siguiente, cuándo X1 está ON, se carga el valor en V2000 al acumulador usando
la instrucción LD. La posición del bit que está en "1" (posición 12) en el acumulador es
codificada como el valor binario correspondiente usando la instrucción ENCO. El valor en los
16 bits más bajos del acumulador es copiado a V2010 usando la instrucción OUT.
DirectSOFT
Direct SOFT32
X1
Carga el valor en V2000 a
los 16 bits más bajos
del acumulador
Codifica la posición del bit
colocado como "1" en el
acumulador a un valor
binario de 5 bits.
Copia el valor en los 16 bits
más bajos del acumulasor
a V2010
Programador D2-HPP
$
B
STR
D
L
SHFT
ANDST
E
N
SHFT
4
TMR
GX
SHFT
OUT
Capítulo 5: Instrucciones de operacioneas con bits
ON cuando el valor del operando es más grande de lo que puede procesar el acumulador.
LD
V2000
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Acum.
0
0 0
0 0 0
ENCO
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Acum.
0
0 0
0 0 0
OUT
V2010
ENT
1
C
A
A
A
3
2
0
0
C
O
ENT
2
INST#
V
C
A
B
A
AND
2
0
1
Manual del PLC DL06, 2a. edición en español, 6/07
Descripción
15 14 13 12 11 10 9
0 0
0 0
0 0
0 0 0
0
0 0 0
15 14 13 12 11 10 9
0 0
0 0
0 0
0 0 0
0
0 0 0
ENT
0
ENT
0
ENCO
V2000
1
0
0
0
8 7 6 5
4 3 2
1 0
1 0
0 0
0 0 0
0 0
0 0
0 0
El bit en la posición 12 es
convertido a binario
8 7 6 5
4 3 2
1 0
0 0
0 0
0 0 0
0 0
1 1
0 0
0
0
0
C
V2010
Valor BCD/Hexadecimal
correspondiente a 12
decimal.
5–125
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D