Está en la página 1de 115

PROGRAMACIN

AVANZADA DE PLCs

Soporte Tcnico

TRATAMIENTO
NUMERICO

Soporte Tcnico

CONCEPTO DE REGISTRO (CANAL)

DISPOSITIVO CAPAZ DE ALMACENAR UNA


INFORMACION DIGITAL (1s y/o 0s)
EN LOS PLCs DE OMRON TODOS LOS
REGISTROS SON DE 16 Bits (POSICIONES)
15 14 13 12

11 10 9 8

7 6 5 4

msb
ms significativo
Soporte Tcnico

3 2 1 0

N BIT

lsb

(PESO)

menos significativo
Omron03A - 3 -

SISTEMAS DE NUMERACION

LAS VARIABLES, EN GENERAL, PUEDEN EXPRESARSE O


REPRESENTARSE SEGN DISTINTOS SISTEMAS DE
NUMERACIN
EL SISTEMA HABITUAL QUE SE EMPLEA DE FORMA COTIDIANA
ES EL SISTEMA DIGITAL, QUE UTILIZA LOS SMBOLOS DEL 0 AL 9.
HAY OTROS SISTEMAS DE NUMERACION QUE, AL TRABAJAR
CON MQUINAS Y CON COMUNICACIONES, NOS APARECERN
CONSTANTEMENTE

BINARIO
BCD (BINARIO CODIFICADO DECIMAL)
HEXADECIMAL
COMA FLOTANTE
ASCII

Soporte Tcnico

Omron03A - 4 -

SISTEMAS DE NUMERACION

EN GENERAL,CUANDO UNA CANTIDAD


(N ENTERO) SE REPRESENTA
MEDIANTE UN SISTEMA DE
NUMERACIN DE BASE B, QUIERE
DECIR :

NB=XXXX

N
N
1
0
1
N
=
X
B
+
X
B
+
.
.
.
.
.
.
.
.
+
X
B
+
X
B
0
1
N
N
1
B

Soporte Tcnico

Omron03A - 5 -

CODIGO BINARIO

CODIGO BINARIO
UTILIZA LOS SIMBOLOS (1 y 0) PAEA
REPRESENTAR CUALQUIER VALOR
LA FORMULA DE CONVERSION DE UN
NUMERO DECIMAL A UN NUMERO BINARIO
ES LA SIGUIENTE :

N
1
N
0
N

D
E
C
I
M
A
L
=
Z
x
2
+
Z
x
2
+
.
.
.
.
.
.
.
+
Z
x
2
N
1
0
N

DONDE ZN ES UNO DE LOS 2 VALORES EN


BINARIO (0 1)

Soporte Tcnico

Omron03A - 6 -

CODIGO BINARIO

CODIGO BINARIO
EJEMPLO: LA REPRESENTACION DEL N12 EN BINARIO
SER :

3
2
1
0
1
x
2
+
1
x
2
+
0
x
2
+
0
x
2
=
1
2

1
1
0
0
=
1
2
EJEMPLO : REPRESENTAR EN BINARIO LOS N DECIMALES
16 Y 45.

1
5
3
2
0
4

16
45
Soporte Tcnico

2
1

2 2 2 2 2
1 0 0 0 0
0 1 1 0 1

Omron03A - 7 -

CODIGO HEXADECIMAL

CODIGO HEX

CODIGO MEDIANTE EL CUAL CADA NUMERO DEL SISTEMA

DECIMAL (0..9) SE REPRESENTA EN BINARIO (0,1).


LA CONVERSION DIRECTA ES LA SIGUIENTE :
HEXADECIMAL

Soporte Tcnico

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F

BINARIO

Omron03A - 8 -

0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

CODIGO BCD

CODIGO BCD

CODIGO MEDIANTE EL CUAL CADA NUMERO DEL SISTEMA

DECIMAL (0..9) SE REPRESENTA EN BINARIO (0,1).


LA CONVERSION DIRECTA ES LA SIGUIENTE :
DECIMAL

Soporte Tcnico

BINARIO(BCD)

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001
Omron03A - 9 -

Nmeros en COMA FLOTANTE

COMA FLOTANTE
23 22

31 30

21

...

...
Signo
Mantisa

Mantisa

Exponente

e
1
2
7
S
i
g
n
o

2
3

D
E
C
I
M
A
L
=
(
1
)
x
2
(
1
+
M
a
n
t
i
s
a
x
2
)

Signo (s) 1: negativo , 0: positivo (bit 31)


Mantisa (M) La mantisa incluye 23 bits (bit 0.. 22).

Representa la parte derecha de nmero decimal.


Exponente (e) El exponente incluye 8 bits (bit 23..30).

Soporte Tcnico

Omron03A - 10 -

Nmeros en COMA FLOTANTE

Se pueden expresar los nmeros:

- (e=255, M=0, s=0)


-3.4028231038 -1.17549410-38
0 (e=0)
1.17549410-38 3.4028231038
(e=255, M=0, s=1)
NaN (e=255, M0): Nmero no vlido.

No es necesario conocer el formato de estos


nmeros, slo que ocupan 32 bits.

Soporte Tcnico

Omron03A - 11 -

Precauciones COMA FLOTANTE

Las operaciones indeterminadas 0.0/0.0, /, dan como resultado NaN.


Overflow () y Underflow (0). Es ms peligroso
el Overflow al convertir el resultado a entero
(binario con signo).
Los decimales se truncan al convertirlos a entero
(binario con signo).
Cualquier operacin con un NaN como operando
da como resultado NaN.

Soporte Tcnico

Omron03A - 12 -

IEEE754
Expresan nmeros reales en 32 bits
conforme al estndar IEEE754:

(-1)signo2exponente-127(1+Mantisa2-23)
1#10000000#11000000000000000000000

Signo: (-1)1= -1
Exponente: 2128-127=21=2
Mantisa: 1+62914562-23=1+0.75=1.75
Resultado: -1.752= -3.5

Soporte Tcnico

Omron03A - 13 -

CODIGO ASCII

CODIGO INTERNACIONAL CUYAS SIGLAS


RESPONDEN A AMERICAN STANDAR CODE
INFORMATION INTERCHANGE.
HOY UTILIZADO EN COMUNICACIONES E
INTERCAMBIO DE DATOS.
EN ESTE CODIGO SE UTILIZAN 8 BITs PARA
LA REPRESENTACION.
Ejemplo :
A = 41 = 0100 0001
5 = 35 = 0011 0101

> = 3E = 0011 1110


Soporte Tcnico

Omron03A - 14 -

Tipos de variables en CX-P

BOOL

Variable de un bit, los posibles estados son 0-OFF y 1-ON.

UINT

Variable de una palabra en binario sin signo.

INT

Variable de una palabra en binario con signo.

UINT_BCD

Variable de una palabra en formato BCD (4 dgitos).

UDINT

Variable de dos palabras en binario sin signo.

DINT

Variable de dos palabras en binario con signo..

UDINT_BCD

Variable de dos palabras en formato BCD (8 dgitos).

ULINT

Variable de cuatro palabras en binario sin signo.

LINT

Variable de cuatro palabras en binario con signo.

ULINT_BCD

Variable de cuatro palabras en formato BCD (16 dgitos).

Soporte Tcnico

Omron03A - 15 -

Tipos de variables en CX-P

REAL

NUMBER

CHANNEL

Soporte Tcnico

Variable de 2 palabras (32Bit) con formato en coma flotante (formato


IEEE). Este formato se utiliza para las operaciones en coma flotante del
del CVM1-V2 y del CS1.
Constante numrica en formato decimal. El valor puede ser con signo o
en coma flotante. No se trata de una variable, sino de un valor numrico
a utilizar por la funcin.
Variable de una palabra. Se utiliza para compatibilizar con anteriores
programas y hace referencia a cualquier variable no booleana. CX-P no
puede chequear si la variable est siendo utilizada para valores en BCD
o en binario.

Omron03A - 16 -

COMPARACIN
y
MOVIMIENTO

Soporte Tcnico

CMP, FUN(20)/1 (Serie C y CS1)

LA INSTRUCCIN CMP REALIZA LA COMPARACIN ENTRE DOS DATOS DE 16 BIT,

CONTENIDOS EN DOS CANALES.


EL RESULTADO DE LA COMPRACIN SOLO SE REFLEJA EN UNOS RELES
ESPECIALES DE <, =, o >.
P_LT Indicador de Menor Que (LT)
P_EQ Indicador de iguales (EQ)
P_GT Indicador de Mayor Que (GT)

LAS REAS DE DATOS UTILIZABLES EN LA COMPARACIN SON :

S:#, IR, SR, HR, TIM, CNT


D: IR, HR
Soporte Tcnico

Omron03A - 18 -

CMP, FUN(20)/2

SEGN LOS VALORES QUE TENGAN LOS DATOS A COMPARAR Cp1 Y Cp2 SE

TIENEN LOS SIGUIENTES CASOS:

DATOS

RESULTADO

P_LT

P_EQ

P_GT

Cp1 < Cp2

Menor

Cp1 = Cp2

Igual

Cp1 > Cp2

Mayor

Soporte Tcnico

Omron03A - 19 -

EJEMPLO CMP(20)/1, ALARMA DE RELOJ


LAS HORAS MINUTOS Y SEGUNDOS ESTAN PREVIAMENTE

PROGRAMADOS EN TRE CONTADORES C2, C1 Y C0.


CANDO SE ALCANCE LAS HORAS, MINUTOS Y SEGUNDOS AJUSTADOS POR

PROGRAMA, SE ACTIVAR LA SALIDA 2.00.

LA SALIDA SE DESACTIVAR AL PULSAR LE ENTRADA DE REPOSICIN 0.04.

Soporte Tcnico

Omron03A - 20 -

EJEMPLO CMP(20)/2, ALARMA DE RELOJ


SE PUEDE PROGRAMAR UNA SERIE DE COMPARACIONES EN CADENA.

Soporte Tcnico

Omron03A - 21 -

COMPARACIONES EN LINEA(CS1)/2

Comparan dos datos S1 y S2.


Los datos a comparar pueden ser:
Formato: con o sin signo.
Longitud: de 1 (S1 con S2) 2 (S1 y S1+1 con S2 y
S2+1) palabras.

Son instrucciones intermedias: Se pueden


conectar como LD, AND y OR.
Smbolo & Opciones
S1
S2
Soporte Tcnico

Omron03A - 22 -

COMPARACIONES EN LINEA (CS1)/1


Hay disponibles un total de 24 instrucciones de
comparacin. Estas pueden utilizar varias combinaciones de
smbolos y opciones. Si no se especifican opciones, la
comparacin ser para un slo canal sin signo.
Los tipos bsicos son:
=
Igual
<>
Diferente
<
Menor
<=
Menor o igual
>
Mayor
>=
Mayor o igual

Cada tipo puede tener las opciones:

S
L
SL

(Ejemplos: LD=(300), #0, D0


Soporte Tcnico

SIN signo
Signo
Doble Longitud
Doble Longitud con Signo.

AND=S(302),-2, D0 )

Omron03A - 23 -

COMPARACIONES EN LINEA(CS1)/3
Smbolo
=(300)
=L(301)
=S(302)
=SL(303)
<>(305)
<>L(306)
<>S(307)
<>SL(308)
<(310)
<L(311)
<S(312)
<SL(313)
<=(315)
<=L(316)
<=S(317)
<=SL(318)
>(320)
>L(321)
>S(322)
<SL(323)
>=(325)
>=L(326)
>=S(327)
>=SL(328)

Soporte Tcnico

Formato
-: Sin signo
-: Sin signo
S: Con signo
S: Con signo
-: Sin signo
-: Sin signo
S: Con signo
S: Con signo
-: Sin signo
-: Sin signo
S: Con signo
S: Con signo
-: Sin signo
-: Sin signo
S: Con signo
S: Con signo
-: Sin signo
-: Sin signo
S: Con signo
S: Con signo
-: Sin signo
-: Sin signo
S: Con signo
S: Con signo

Longitud
-: 1 palabra
L: 2 palabras
-: 1 palabra
-: 2 palabras
-: 1 palabra
L: 2 palabras
-: 1 palabra
-: 2 palabras
-: 1 palabra
L: 2 palabras
-: 1 palabra
-: 2 palabras
-: 1 palabra
L: 2 palabras
-: 1 palabra
-: 2 palabras
-: 1 palabra
L: 2 palabras
-: 1 palabra
-: 2 palabras
-: 1 palabra
L: 2 palabras
-: 1 palabra
-: 2 palabras

Omron03A - 24 -

.....COMPARACIONES EN LINEA (CS1)

CON EL CS1 SE PUEDE PROGRAMAR UNA SERIE DE COMPARACIONES EN


LINEA QUE DEN COMO RESULTADO LA ACTIVACIN DE LA ALARMA.

ANTES: CMP(020) SERIE C

AHORA: CS1

Soporte Tcnico

Omron03A - 25 -

MOV, FUN(21)

LA INSTRUCCIN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE

UN CANAL A OTRO.
EL CONTENIDO DEL CANAL FUENTE S SE TRANSFIERE AL CANAL DESTINO D.

LAS REAS DE DATOS UTILIZABLES EN LA TRANSFERENCIA SON :

S:Fuente: CIO, W, H, A, T, C, D, E, E?_, @D, @E, @E?_, *D, *E, *E?_, #, DR, ,IR
D:Destino: CIO, W, H, A, T, C, D, E, E?_, @D, @E, @E?_, *D, *E, *E?_, DR, ,IR

Soporte Tcnico

Omron03A - 26 -

EJEMPLO. AJUSTE DEL RELOJ A LAS 14:30:00

AL PULSAR EL ENTRADA 0.05 SE PRODUCE EL MOVIMIENTO DE LOS DATOS

00, 30 Y 14 A LOS CONTADORES C0, C1 y C2.

Soporte Tcnico

Omron03A - 27 -

Direccionamientos
Addessing

Soporte Tcnico

Direccionamientos (Serie C y CS1)

Existen varios tipos de direccionamientos:


Inmediato (#, &)
Directo (CIO, W, H, A, T, C, D, E, En_)
Indirecto (D, E, En_) sustituye a IEMS(-)
Direccin en BCD (*D, *E, *En_)
Direccin en Binario (@D, @E, @En_)

Indirecto Indexado (IR)

,IR0
+234,IR0
DR0,IR0
,IR0++

Soporte Tcnico

Omron03A - 29 -

DIRECCIONAMIENTO INDIRECTO

Cuando para un operando se especifica el rea de DM,


se puede utilizar una direccin indirecta.

Para diferenciar el direccionamiento de DM indirecto


se coloca un asterisco delante de DM : *DM
Cuando se especifica una direccin indirecta de DM, el
canal DM designado contendr la direccin del canal DM
que contiene el dato que se utilizar como operando de la
instruccin.

Cuando se utilice direccionamiento indirecto, la direccin


del canal deseado debe estar en BCD y debe especificar
un canal comprendido en rea de DM.

Soporte Tcnico

Omron03A - 30 -

DIRECCIONAMIENTO INDIRECTO

Normalmente la variable especificada por una cierta


instruccin es tal que la instruccin opera con el dato
especificado en la variable especificada.

TIM00

DM0011

#0432

DM0011

EN ESTE CASO SV = 432

El direccionamiento indirecto permite especificar un dato


por la direccin de DM donde se dato est contenido (la
direccin es la variable contenida).

TIM00
*DM0011

#0432

EN ESTE CASO SV = 150


DM0432
Soporte Tcnico

Omron03A - 31 -

DM0011

#0150

DM0432

DIRECCIONAMIENTO INDIRECTO

Ejemplo:

Canal

Contenido

MOV(21)

DM 0000

4C59

*DM 0001

DM 0001

1111

DM 0002

F35A

DM 1111

5555

DM 1112

2506

DM 1113

D541

LR 00

Direccin
indirecta

Si se designa *DM 0001 como primer operando y


LR 00 como segundo operando de MOV(21), los
contenidos de DM0001 son 1111 y DM 1111
contiene 5555, el valor 5555 ser movido a LR 00.

Soporte Tcnico

Omron03A - 32 -

Indica
DM 1111.

5555 movido
a LR 00.

Direccionamiento Indirecto de DMs (CS1)

Los DMs se pueden direccionar indirectamente de dos formas:


1) Direccionamiento en Modo-Binario (@D). Se puede direccionar
todo el rea de DMs (D00000 a D32767) con los valores en
hexadecimal 0000 a 7FFF.

@D00100

0100

D00256
Direccin que se utiliza

2) Direccionamiento en Modo-BCD (*D). En este modo slo parte


del rea de DMs (D00000 a D09999) puede ser direccionada
indirectamente con los valores BCD de 0000 a 9999.

*D00100

0100

D00100
Direccin que se utiliza

Soporte Tcnico

Omron03A - 33 -

Ejemplos
MOV(21)
&12
W000

Escribe C (12 traducido a binario) en W000


Inmediato traducido a binario
Directo

MOV(21)
#1A34
W000

Escribe 1A34 binario en W000


Inmediato binario
Directo

MOV(21)
W000
W001

Escribe el contenido de W000 en W001


Directo
Directo

MOV(21)
#1A
*D00000

Escribe 1A en la direccin(BCD)indicada en D00000


Inmediato
Indirecto BCD

Soporte Tcnico

Omron03A - 34 -

Ejemplos
MOV(21)
W000
@D00000

Escribe el contenido de W000 en la


direccin (Binaria) indicada en D00000
Directo
Indirecto Binario

MOV(21)
#1A
,IR0

Escribe 1A en la direccin indicada en IR0


Inmediato
Indexado

MOV(21)
#1A
+23,IR0

Escribe 1A en la direccin indicada en (IR0+23)


Inmediato
Indexado

MOV(21)
#1A
DR0,IR0

Escribe 1A en la direccin indicada en (IR0+DR0)


Inmediato
Indexado

Soporte Tcnico

Omron03A - 35 -

Ejemplos
MOV(21)
#1A
,IR0+
MOV(21)
#1A
,IR0++
MOV(21)
#1A
,-IR0
MOV(21)
#1A
,--IR0
Soporte Tcnico

Escribe 1A en la direccin indicada en IR0


y aumenta IR0 una unidad
Inmediato
Indexado
Escribe 1A en la direccin indicada en IR0
y aumenta IR0 dos unidades
Inmediato
Indexado
Escribe 1A en la direccin indicada en (IR0-1)
y disminuye IR0 una unidad
Inmediato
Indexado
Escribe 1A en la direccin indicada en (IR0-2)
y disminuye IR0 dos unidades
Inmediato
Indexado
Omron03A - 36 -

DIRECCIONAMIENTO INDIRECTO

EJEMPLO
ALMACENAR LA TEMPERATURA EN UN HORNO
CADA 15 SEG. Y DURANTE 2 HRS., TIEMPO DE
DURACIN DEL PROCESO.
DATOS
T ENTRADA ANALGICA: CANAL 101
INICIO DATOS:
DM 0001

Soporte Tcnico

Omron03A - 37 -

CONVERSION
DE FORMATO DE DATOS

Soporte Tcnico

BIN(023) - BCD a Binario

Convierte el contenido BCD de S a su equivalente en binario y lo enva a R. Slo


cambia el contenido de R, el contenido de S permanece inalterable.

Rango:
S:Canal fuente: CIO, W, H, A, T, C, D, E, E?_, @D @E, @E?_, *D, *E, *E?_, DR, ,IR
R: Canal de resultado:CIO, W, H, A, T, C, D, E, E?_, @D @E, @E?_, *D, *E, *E?_, DR, ,IR

Soporte Tcnico

Omron03A - 39 -

BCD(024) - Binario a BCD

BCD(24) convierte el contenido binario (hexadecimal) de S a su equivalente en


BCD y lo enva a R. Slo cambia el contenido de R; el contenido de S permanece
inalterable.

Rango:
S:Canal fuente: CIO, W, H, A, T, C, D, E, E?_, @D @E, @E?_, *D, *E, *E?_, DR, ,IR
R: Canal de resultado:CIO, W, H, A, T, C, D, E, E?_, @D @E, @E?_, *D, *E, *E?_, DR, ,IR

Soporte Tcnico

Omron03A - 40 -

SIGN(600)-(CS1)

Convierte un valor de 16 bits, S, a su


equivalente de 32 bits binario con signo, R.
S: Palabra fuente de 16 bits.
R: Primera palabra del resultado.
8000 FFFF 8000
7000 0000 7000
SIGN(600)
S
R

Soporte Tcnico

@SIGN(600)
S
R

Omron03A - 41 -

BINS(470) -(CS1)

Convierte una palabra de BCD con signo


S, a binario con signo R. La palabra de
control indica el formato del signo en BCD.
C: Palabra de control: 0, 1, 2 3
S: Palabra en BCD.
R: Palabra en binario.
BINS(470)
C
S
R

Soporte Tcnico

@BINS(470)
C
S
R

Omron03A - 42 -

BINS(470) - (CS1)
C=0000 (-999 a 999)
000 1 xxxx xxxx xxxx

El bit 12 de S indica el signo (1 negativo).


Los bits 13 a 15 deben ser 0.

C=0001 (-7999 a 7999)


1 xxx xxxx xxxx xxxx

El bit 15 de S indica el signo (1 negativo).

C=0002 (-999 a 9999)


F,0-9 xxxx xxxx xxxx

El signo se indica en S: F negativo o 0-9 positivo


Los valores A-E dan error.

C=0003 (-1999 a 9999)


FA,0-9 xxxx xxxx xxxx

Soporte Tcnico

El signo se indica en S: F=- y A=-1 o 0-9 positivo


Los valores B-E dan error.

Omron03A - 43 -

BISL(472) - (CS1)

Convierte un dato de 32 bits BCD con


signo (S+1 S) a binario con signo de 32
bits (R+1 R). C indica el formato de signo
en BCD.
C: Palabra de control: 0, 1, 2 3
S: Primera palabra de BCD.
R: Primera palabra en binario.

BISL(472)
C
S
R
Soporte Tcnico

@BISL(472)
C
S
R
Omron03A - 44 -

BISL(472) - (CS1)
C=0000 (-999 9999 a 999 9999)
000 1 xxxx xxxx xxxx

El bit 12 de S+1 indica el signo (1 negativo).


Los bits 13 a 15 deben ser 0.

C=0001 (-7999 9999 a 7999 9999)


1 xxx xxxx xxxx xxxx

El bit 15 de S+1 indica el signo (1 negativo).

C=0002 (-999 9999 a 9999 9999)


F,0-9 xxxx xxxx xxxx

El signo se indica en S+1: F negativo o 0-9 positivo


Los valores A-E dan error.

C=0003 (-1999 9999 a 9999 9999)


FA,0-9 xxxx xxxx xxxx

Soporte Tcnico

El signo se indica en S+1: F=- y A=-1 o 0-9 positivo


Los valores B-E dan error.

Omron03A - 45 -

BCDS(471) - (CS1)

Convierte una palabra de binario con signo


a BCD con signo. C indica el formato de
signo en BCD.
C: Palabra de control: 0, 1, 2 3
S: Palabra en binario.
R: Palabra en BCD.

Esta es la instruccin inversa a BINS(470)


BCDS(471)
C
S
R
Soporte Tcnico

@BCDS(471)
C
S
R
Omron03A - 46 -

BDSL(473) - (CS1)

Convierte un dato de binario con signo 32


bits a BCD con signo 32 bits. C indica el
formato de signo en BCD.
C: Palabra de control: 0, 1, 2 3
S: Palabra en binario.
R: Palabra en BCD.

Esta es la instruccin inversa a BINS(470)


BDSL(473)
C
S
R
Soporte Tcnico

@BDSL(473)
C
S
R
Omron03A - 47 -

Limitaciones BCDS y BDSL - (CS1)

En BCDS el dato S est limitada segn C:

C=0
C=1
C=2
C=3

FC19 a FFFF y 0000 a 03E7


F0C1 a FFFF y 0000 a 1F3F
FC19 a FFFF y 0000 a 270F
F831 a FFFF y 0000 a 270F

En BDSL el dato S est limitada segn C:

C=0
C=1
C=2
C=3

Soporte Tcnico

FF67 6981 a FFFF FFFF y 0 a 0098 967F


FB3B 4C01 a FFFF FFFF y 0 a 04C4 B3FF
FF67 6981 a FFFF FFFF y 0 a 05F5 E0FF
FECE D301 a FFFF FFFF y 0 a 05F5 E0FF

Omron03A - 48 -

OPERACIONES
ARITMETICAS

Soporte Tcnico

STC / CLC, FUN 40 / 41

FUNCIN: ESTAS INSTRUCCIONES GESTIONAN EL FLAG DE ACARREO,

O FLAG CY.
EL FLAG CY SE UTILIZA EN LAS OPERACIONES MATEMTICAS, PARA
DETECTAR:

EXISTENCIA DE OVERFLOW EN EL RESULTADO DE UNA SUMA


(ADD)

EXISTENCIA DE RESULTADO NEGATIVO EN UNA SUBSTRACCIN


(SUB)

LD

0000

STC(40)
LD NOT

0000

CLC(41)

Soporte Tcnico

LD

1904

OUT

1000

Omron03A - 50 -

SUMA BDC: ADD, FUN(30) /1 (Srie C)


LA INSTRUCCIN ADD EJECUTA LA SUMA ENTRE DOS DATOS DE 16 BIT

(CANALES Y/O CONSTANTES) EN FORMATO BCD


AL RESULTADO SE LE SUMA EL ACARREO SUMANDO 1 SI CY= ON
LOS PARMETROS DE LAS INSTRUCCIONES SON 3:

A1,A2 = SUMANDOS (#, IR, SR, HR, TIM, CNT)


R=
RESULTADO (IR, HR) = A1+A2+CY
LD

0000

STC(40)
A1
A2

ADD(30)
HR00
#0001
HR00

Soporte Tcnico

Omron03A - 51 -

SUMA BDC: ADD, FUN(30) /2 (Srie C)

EN EL CASO DE ACARREO (CY = 1), LA SUMA DE LOS DOS SUMANDOS

HA SUPERADO EL LMITE 9999. EL RESULTADO EFECTIVO ES ENTONCES


10000+R
EN EL CASO DE SUMA CON 8 O MS CIFRAS BCD, (SUMA COMBINADA)

SE DEBER RESETEAR CY SLO PARA LA PRIMERA SUMA.


SI EL RESULTADO DE LA OPERACIN SUMA ES = 0, ENTONCES EL FLAG

EQ = 1
SI LOS SUMANDOS NO ESTN EN FORMATO BCD, LA OPERACIN NO SE

EJECUTA Y ENTONCES ER = 1

Soporte Tcnico

Omron03A - 52 -

RESTA BDC: SUB, FUN(31) /1 (Srie C)


LA INSTRUCCIN SUB EJECUTA LA SUBSTRACCIN DE DOS DATOS DE

16 BIT EN FORMATO BCD


AL RESULTADO SE LE RESTA EL ACARREO O BIEN SE LE SUMA -1 SI

CY = ON
LOS PARMETROS DE LA INSTRUCCIN SON 3:

Mi = MINUENDO (#, IR, SR, HR, TIM, CNT)


Su = SUSTRAENDO (#, IR, SR, HR, TIM, CNT)
R = RESULTADO (IR, HR) = Mi - Su - CY
LD

0000

STC(40)
Mi

SUB(31)

Su
R
Soporte Tcnico

Omron03A - 53 -

#0100

00
05

RESTA BDC: SUB, FUN(31) /2 (Srie C)

SEGN LOS VALORES QUE TENGAN Mi Y Su, SE TIENEN LOS SIGUIENTES

CASOS:

DATOS

RESULTADO

CY

EQ

Mi > Su

R= Mi - Su

Mi = Su
Mi < Su

R= 0
R= Mi + (10000-Su)

SI Mi Y Su NO ESTN EN EL FORMATO BCD, LA OPERACIN NO SE

EJECUTA, Y ER = 1

Soporte Tcnico

Omron03A - 54 -

EJEMPLO DE PROGRAMACIN (Srie C)


SUMA DE DATOS DE HASTA 8 DGITOS
APLICACIN: SE TRATA DE SUMAR DOS DATOS QUE PUEDEN TENER UNA

LONGITUD DE HASTA 8 DGITOS.


ESTE PROGRAMA PUEDE LLEVARSE A CABO UTILIZANDO DIRECTAMENTE LA

INSTRUCCIN DE SUMA DE DOBLE LONGITUD PERO LO HAREMOS USANDO LA


INSTRUCCIN ADD NORMAL.
LOS DATOS A SUMAR SON LOS SIGUIENTES:

DATO A:
DATO B:

4 DGITOS MAYORES

DM1

4 DGITOS MENORES

DM0

4 DGITOS MAYORES

DM3

4 DGITOS MENORES

DM2

EL RESULTADO SE GUARDAR EN :

DGITO NUM 9
4 DGITOS MAYORES
4 DGITOS MENORES

DM6
DM5
DM4

El programa debe poder detectar si alguno de los datos A o B no est en


formato
BCD. Utilizar el CARRY en las instrucciones suma.
Soporte Tcnico

Omron03A - 55 -

MULTIPLICACIN BCD: MUL, FUN(32) (Srie C)

FUNCIN: MULTIPLICA EL CONTENIDO DE LOS DATOS ESPECIFICADOS

EN LA INSTRUCCIN (EN BCD) Y EL RESULTADO SE TRANSFIERE A UN


REGISTRO.

MUL
A
B

A, B = CANALES /CONSTANTES
R=

Soporte Tcnico

Omron03A - 56 -

REGISTRO RESULTADO

MULTIPLICACIN BCD: MUL, FUN(32) (Srie C)

3300

MUL
10
#0021
DM100

0034

CH 10

X
0021

=
714

Soporte Tcnico

DM100= (CH 10) X 21

Omron03A - 57 -

DIVISIN BCD: DIV, FUN(33) (Srie C)

FUNCIN: DIVIDE EL CONTENIDO DE LOS DATOS ESPECIFICADOS EN LA

INSTRUCCIN (EN BCD) Y EL RESULTADO SE TRANSFIERE A DOS REGISTROS


(COCIENTE Y RESTO).

DIV

A=

DIVIDENDO

B=

DIVISOR

R=

COCIENTE

R+1 =

RESTO

Soporte Tcnico

A, B = CANAL / CONSTANTE

Omron03A - 58 -

DIVISIN BCD: DIV, FUN(33) (Srie C)

3300

DIV
10
#4
LR10

133

CH 10

(CH 10) = (LR 10) X 4 + LR 11


4

Soporte Tcnico

33

LR 10

LR 11

Omron03A - 59 -

OPERACIONES ARITMETICAS (CS1)/1

+(400), +L(401), +C(402), +CL(403) - Suma Binaria

+B(404), +BL(405), +BC(406), +BCL(407) - Suma BCD


+F(454) - Suma Coma Flotante
+D(845) - Doble Suma en coma flotante
-(410), -L(411), -C(412), -CL(413) - Resta Binaria
-B(414), -BL(415), -BC(416), -BCL(417) - Resta BCD
-F(455) - Resta Coma Flotante
-D(846) - Resta en coma flotante de doble precisin
Soporte Tcnico

Omron03A - 60 -

+(400) y +B(404)

Suma 2 nmeros binarios o BCD de 16 bits.


Au: Palabra del primer sumando.
Ad: Plabra del segundo sumando.
R: Palabra del resultado.
El rango para +(400) es de -32.768 a 32.767.
Para +B(404) es de 0000 a 9999
Binario
+(400)
Au
Ad
R

Soporte Tcnico

BCD
+B(404)
Au
Ad
R
Omron03A - 61 -

-(410) y -B(414)

Resta 2 nmeros binarios o BCD de 16 bits.


Mi: Palabra del Minuendo.
Su: Palabra del Sustraendo.
R:
Palabra del resultado.
El rango para +(400) es de -32.768 a 32.767.
Para +B(404) es de 0000 a 9999.
Si el resultado es negativo, el acarreo se activa y el
complemento a 10 del resultado actual es puesto en R
-(410)
Mi
Su
R

Soporte Tcnico

-B(414)
Mi
Su
R
Omron03A - 62 -

+, - Ejemplo

+(400)
D00000
D00001
D00100

-(410)
D00000
D00001
D00100
Soporte Tcnico

D00000 0000 0000 0110 0000


D00001 0000 0000 0010 0000

96
32

D00100 0000 0000 1000 0000

128

D00100 0000 0000 0100 0000

64

Omron03A - 63 -

+B, -B Ejemplo
0
0
6
0
D00000 0000 0000 0110 0000
D00001 0000 0000 0010 0000
0
0
2
0
+B(404)
D00000
D00001
D00100

-B(414)
D00000
D00001
D00100
Soporte Tcnico

60
20

0
0
8
0
D00100 0000 0000 1000 0000

80

0
0
4
0
D00100 0000 0000 0100 0000

40

Omron03A - 64 -

OPERACIONES ARITMETICAS (CS1)/2

*(420), *L(421), *U(422), *UL(423) - Multiplicacin Binaria


*B(424), *BL(425) - Multiplicacin BCD
*F(456) - Multiplicacin Coma Flotante
*D(847) - Multiplicacin en coma flotante doble
/(430), /L(431), /U(432), /UL(433) - Divisin Binaria
/B(434), /BL(435) - Divisin BCD

/F(457) - Divisin Coma Flotante


/D(848) - Divisin en coma flotante doble
Soporte Tcnico

Omron03A - 65 -

*(420) y *B(424)

Multiplica 2 nmeros binarios o BCD de 16 bits.


Md: Palabra del Multiplicando.
Mr: Palabra del Multiplicador.
R:
Palabra del Resultado.
El resultado ocupa dos Palabras R y R+1

*(420)
Md
Mr
R
Soporte Tcnico

*B(424)
Md
Mr
R
Omron03A - 66 -

/(430) y /B(434)

Multiplica nmeros binarios o BCD de 16 bits.


Dd: Primera palabra del Dividendo.
Dr: Primera palabra del Divisor.
R:
Primera palabra del Resultado.
El resultado ocupa dos Palabras R y R+1
Palabra R: Cociente
Palabra R+1: Resto
/(430)
Dd
Dr
R

Soporte Tcnico

/B(434)
Dd
Dr
R
Omron03A - 67 -

*, / Ejemplo

*(420)
D00000
D00001
D00100

/(430)
D00000
D00001
D00100
Soporte Tcnico

D00000 0000 0000 0110 0000


D00001 0000 0000 0010 0000

96
32

D00100 0000 1100 0110 0000


D00101 0000 0000 0000 0000

3072
0

D00100 0000 0000 0000 0011


D00101 0000 0000 0010 0000

3
0

Omron03A - 68 -

*B, /B Ejemplo
0
0
6
0
D00000 0000 0000 0110 0000
D00001 0000 0000 0010 0000
0
0
2
0
*B(424)
D00000
D00001
D00100

/B(434)
D00000
D00001
D00100
Soporte Tcnico

60
20

1
2
0
0
D00100 0001 0010 0000 0000
D00101 0000 0000 0000 0000

1200
0

0
0
0
3
D00100 0000 0000 0000 0011
D00101 0000 0000 0010 0000

3
0

Omron03A - 69 -

Instrucciones en
Coma Flotante
Nmeros reales en coma flotante.

Soporte Tcnico

Nmeros en Coma Flotante

Se pueden expresar los nmeros:

- (e=255, f=0, s=0)


-3.4028231038 -1.17549410-38
0 (e=0)
1.17549410-38 3.4028231038
(e=255, f=0, s=1)
NaN (e=255, f0): Nmero no vlido.

No es necesario conocer el formato de


estos nmeros, slo que ocupan 32 bits.

Soporte Tcnico

Omron03A - 71 -

Precauciones Coma Flotante

Las operaciones indeterminadas 0.0/0.0,

/, - dan como resultado NaN.


Overflow () y Underflow (0). Es ms
peligroso el Overflow al convertir el
resultado a entero (binario con signo).
Los decimales se truncan al convertirlos a
entero (binario con signo).
Cualquier operacin con un NaN como
operando da como resultado NaN.

Soporte Tcnico

Omron03A - 72 -

IEEE754

Expresan nmeros reales en 32 bits


conforme al estndar IEEE754:
f: Mantisa
e: Exponente
s: Signo

23 bits
8 bits
1 bit

bit 0 al 22
bit 23 al 30
bit 31

(-1)s2e-127(1+f2-23)
1#10000000#11000000000000000000000

Signo: (-1)1= -1
Exponente: 2128-127=21=2
Mantisa: 1+62914562-23=1+0.75=1.75
Resultado: -1.752= -3.5

Soporte Tcnico

Omron03A - 73 -

Instrucciones Coma Flotante

Se pueden realizar las siguientes:

Conversin: FIX, FIXL, FLT, FLTL


Operaciones: +F, -F, *F, /F, SQRT, PWR
Conversiones angulares: RAD, DEG
Angulares: SIN, COS, TAN, ASIN, ACOS, ATAN
En base e: LOG, EXP

Los operandos deben ser Nos en

formato coma flotante IEEE754.


No es necesario conocer este formato,
slo que ocupan 32 bits.

Soporte Tcnico

Omron03A - 74 -

FIX(450)

Convierte un nmero en coma flotante a un


entero (binario con signo) de 16 bits.
S: Primera palabra de nmero en coma flotante.
R: Palabra donde se guarda el resultado.

La parte decimal es truncada (3.5 3)


Rango de -32.768 32.767.
FIX(450)
S
R
Soporte Tcnico

@FIX(450)
S
R
Omron03A - 75 -

FIXL(451)

Convierte un nmero en coma flotante a un


entero (binario con signo) de 32 bits.
S: Primera palabra de nmero en coma flotante.
R: Primera palabra donde se guarda el resultado.

La parte decimal es truncada (-3.5 -3)


Rango de -2.147.482.6482.147.482.647.
FIXL(451)
S
R
Soporte Tcnico

@FIXL(451)
S
R
Omron03A - 76 -

FIX, FIXL Ejemplo


FIX(450)
D00000
D00100

D00000 0000000000000000 3.5


D00001 0100000001100000
D00100 0000000000000011

FIXL(451)
D00002
D00102

D00002 0000000000000000
-58.720.256
D00003 1100110001100000
D00102 0000000000000000 -58.720.256
D00103 1111110010000000

Soporte Tcnico

Omron03A - 77 -

FLT(452)

Convierte un nmero entero (binario con


signo) de 16 bits en formato de coma
flotante de 32 bits.
S: Palabra del nmero entero.
R: Primera palabra del resultado.

Rango de -32.768 32.767.


FLT(452)
S
R
Soporte Tcnico

@FLT(452)
S
R
Omron03A - 78 -

FLTL(453)

Convierte un nmero entero (binario con


signo) de 32 bits en formato de coma
flotante de 32 bits.
S: Primera palabra del nmero entero.
R: Primera palabra del resultado.

Rango de -2.147.482.6482.147.482.647.
Nmeros > 16.777.215 pierden precisin.
FLTL(453)
S
R
Soporte Tcnico

@FLTL(453)
S
R
Omron03A - 79 -

FLT, FLTL Ejemplo


FLT(452)
D00100
D00000

FLTL(453)
D00102
D00002

D00000 0000000000000000 3
D00001 0100000001000000
D00100 0000000000000011

D00002 0000000000000000
-58.720.256
D00003 1100110001100000

D00102 0000000000000000 -58.720.256


D00103 1111110010000000

Soporte Tcnico

Omron03A - 80 -

+F(454)

Suma 2 nmeros en coma flotante de


32 bits.
Au: Primera palabra del primer sumando.
Ad: Primera palabra del segundo sumando.
R:
Primera palabra del resultado.

El resultado puede ser , -, 0, NaN.


Tener en cuenta: - = NaN y que
NaN+nmero=NaN.
+F(454)
Au
Ad
R
Soporte Tcnico

@+F(454)
Au
Ad
R
Omron03A - 81 -

-F(455)

Resta 2 nmeros en coma flotante de


32 bits.
Mi: Primera palabra del Minuendo.
Su: Primera palabra del Sustraendo.
R:
Primera palabra del resultado.

El resultado puede ser , -, 0, NaN.


Tener en cuenta: - = NaN y que
NaN-nmero=NaN, nmero-NaN=NaN.
-F(455)
Mi
Su
R
Soporte Tcnico

@-F(455)
Mi
Su
R
Omron03A - 82 -

+F, -F Ejemplo
D00000
D00001
D00002
D00003
+F(454)
D00000
D00002
D00100

-F(455)
D00000
D00002
D00100
Soporte Tcnico

0000 0000 0000 0000


0100 0000 0110 0000 3.5
0000 0000 0000 0000
0100 0000 1100 0000 6

3.5
D00100 0000 0000 0000 0000 +6
D00101 0100 0001 1110 0000
9.5

3.5
D00100 0000 0000 0000 0000 - 6
D00101 1100 0000 0010 0000 -2.5
Omron03A - 83 -

*F(456)

Multiplica 2 nmeros en coma flotante


de 32 bits.
Md: Primera palabra del Multiplicando.
Mr: Primera palabra del Multiplicador.
R:
Primera palabra del Resultado.

El resultado puede ser , -, 0, NaN.


Tener en cuenta: 0 = NaN y que
NaNnmero=NaN.
*F(456)
Md
Mr
R
Soporte Tcnico

@*F(456)
Md
Mr
R
Omron03A - 84 -

/F(457)

Multiplica 2 nmeros en coma flotante


de 32 bits.
Dd: Primera palabra del Dividendo.
Dr: Primera palabra del Divisor.
R:
Primera palabra del Resultado.

El resultado puede ser , -, 0, NaN.


Tener en cuenta: 0/0 = NaN, / = NaN y
que NaN/nmero=NaN, nmero/NaN=NaN.
/F(457)
Dd
Dr
R
Soporte Tcnico

@/F(457)
Dd
Dr
R
Omron03A - 85 -

*F, /F Ejemplo
D00000
D00001
D00002
D00003
*F(456)
D00000
D00002
D00100

/F(457)
D00000
D00002
D00100
Soporte Tcnico

0000 0000 0000 0000


0100 0000 0110 0000 3.5
0000 0000 0000 0000
0100 0000 1100 0000 6

3.5
D00100 0000 0000 0000 0000 * 6
D00101 0100 0001 1011 0000
21

3.5
D00100 0101 0101 0101 0101 6
D00101 0011 1111 0101 1010
0.583333
Omron03A - 86 -

OPERACIONES LGICAS
ENTRE PALABRAS

Soporte Tcnico

ANDW(34) y @ANDW(34)
REALIZA LA OPERACIN LOGICA AND BIT A BIT ENTRE LOS 16 BITS

CONTENIDOS DE DOS CANALES Op1 y Op2 Y PONE EL RESULTADO EN


OTRO CANAL Res.
SI EL RESULTADO ES 0000, SE ACTIVA EL INDICADOR DE EQUAL P_EQ = ON
LOS PARMETROS DE LA INSTRUCCION SON 3:
Op1:Entrada 1 CIO, W, H, A, T, C, D, E, E?_, @D, @E, @E?_, *D, *E, *E?_, #, DR, ,IR
Op2:Entrada 2 CIO, W, H, A, T, C, D, E, E?_, @D, @E, @E?_, *D, *E, *E?_, #, DR, ,IR
Res:Resultado CIO, W, H, A, T, C, D, E, E?_, @D, @E, @E?_, *D, *E, *E?_, DR, ,IR

Op1

0101 0101 0101 0101

Op2

1111 1111 0000 0000

Res

0101 0101 0000 0000


BORRAR

Soporte Tcnico

Omron03A - 88 -

ORW(35) y @ORW(35)
REALIZA LA OPERACIN LOGICA OR BIT A BIT ENTRE LOS 16 BITS

CONTENIDOS DE DOS CANALES Op1 y Op2 Y PONE EL RESULTADO EN


OTRO CANAL Res.
SI EL RESULTADO ES 0000, SE ACTIVA EL INDICADOR DE EQUAL P_EQ = ON
LOS PARMETROS DE LA INSTRUCCION SON 3:
Op1:Entrada 1 CIO, W, H, A, T, C, D, E, E?_, @D, @E, @E?_, *D, *E, *E?_, #, DR, ,IR
Op2:Entrada 2 CIO, W, H, A, T, C, D, E, E?_, @D, @E, @E?_, *D, *E, *E?_, #, DR, ,IR
Res:Resultado CIO, W, H, A, T, C, D, E, E?_, @D, @E, @E?_, *D, *E, *E?_, DR, ,IR

Op1

0101 0101 0101 0101

Op2

1111 1111 0000 0000

Res

1111 1111 0101 0101


ACTIVAR

Soporte Tcnico

Omron03A - 89 -

XORW(36) y @XORW(36)
REALIZA LA OPERACIN LOGICA XOR BIT A BIT ENTRE LOS 16 BITS

CONTENIDOS DE DOS CANALES Op1 y Op2 Y PONE EL RESULTADO EN


OTRO CANAL Res.
SI EL RESULTADO ES 0000, SE ACTIVA EL INDICADOR DE EQUAL P_EQ = ON
LOS PARMETROS DE LA INSTRUCCION SON 3:
Op1:Entrada 1 CIO, W, H, A, T, C, D, E, E?_, @D, @E, @E?_, *D, *E, *E?_, #, DR, ,IR
Op2:Entrada 2 CIO, W, H, A, T, C, D, E, E?_, @D, @E, @E?_, *D, *E, *E?_, #, DR, ,IR
Res:Resultado CIO, W, H, A, T, C, D, E, E?_, @D, @E, @E?_, *D, *E, *E?_, DR, ,IR

Op1

0101 0101 0101 0101

Op2

1111 1111 0000 0000

Res

1010 1010 0101 0101


INVERTIR
BUSCAR BITs DIFERENTES

Soporte Tcnico

Omron03A - 90 -

XNORW(37) y @XNORW(37)
REALIZA LA OPERACIN LOGICA XOR NEGADA BIT A BIT ENTRE LOS 16 BITS

CONTENIDOS DE DOS CANALES Op1 y Op2 Y PONE EL RESULTADO EN OTRO


CANAL Res.
SI EL RESULTADO ES 0000, SE ACTIVA EL INDICADOR DE EQUAL P_EQ = ON
LOS PARMETROS DE LA INSTRUCCION SON 3:
Op1:Entrada 1 CIO, W, H, A, T, C, D, E, E?_, @D, @E, @E?_, *D, *E, *E?_, #, DR, ,IR
Op2:Entrada 2 CIO, W, H, A, T, C, D, E, E?_, @D, @E, @E?_, *D, *E, *E?_, #, DR, ,IR
Res:Resultado CIO, W, H, A, T, C, D, E, E?_, @D, @E, @E?_, *D, *E, *E?_, DR, ,IR

Op1

0101 0101 0101 0101

Op2

1111 1111 0000 0000

Res

0101 0101 1010 1010


INVERTIR
BUSCAR BITs IGULES

Soporte Tcnico

Omron03A - 91 -

COM(29) y @COM(29)
REALIZA LA OPERACIN LOGICA NEGACION (COMPLEMENTO) BIT A BIT

ENTRE LOS 16 BITS CONTENIDOS EN EL CANAL Op1 Y PONE EL RESULTADO


EN EL MISMO CANAL.
SI EL RESULTADO ES 0000, SE ACTIVA EL INDICADOR DE EQUAL P_EQ = ON
LOS PARMETROS DE LA INSTRUCCION SON:
Op1:Entrada 1 CIO, W, H, A, T, C, D, E, E?_, @D, @E, @E?_, *D, *E, *E?_, DR, ,IR

Op1

0101 0101 0101 0101

Res(Op1) 1010 1010 1010 1010

Soporte Tcnico

Omron03A - 92 -

Desplazamiento
y rotacin
De todos o N bits en una y dos
palabras

Soporte Tcnico

Desplazamiento y rotacin

Desplazamiento
Rotacin
Rotacin sin
Carry

Soporte Tcnico

1 Canal
ASL(025)
ASR(026)
ROL(027)
ROR(028)
RLNC(574)
RRNC(575)

Omron03A - 94 -

2 Canales
ASLL(570)
ASRL(571)
ROLL(572)
RORL(573)
RLNL(576)
RRNL(577)

De N bits

1 Canal
Desplazamiento
NASL(580)
de N bits
NASR(581)
Desplazamiento
NSFL(578)
de N bits como dato NSFR(579)

Soporte Tcnico

Omron03A - 95 -

2 Canales
NSLL(582)
NSRL(583)

NASL(580)

Desplaza la palabra D, N bits a la izquierda


insertando 0, el valor del bit 0.
D: Palabra origen y destino.
C: palabra de control (insertar 0, N de bits)

NASL(580)
D
C

Soporte Tcnico

@NASL(580)
D
C

Omron03A - 96 -

NASL(580) ejemplo
C: Palabra de control.
15

12

N de bits a desplazar en hexadecimal 0010Hex.


Siempre a 0.
Dato que se introduce por la derecha:
0: introduce 0.
8: introduce el valor que tenga el bit 0.
Perdidos

NASL(580)
0100
#0004

Soporte Tcnico

CH 100

1011000110011111

CY
1

0001100111110000

Omron03A - 97 -

NSLL(582)

Desplaza las palabras D y D+1, N bits a la


izquierda insertando 0, el valor del bit 0.
D: Primera palabra origen y destino.
C: palabra de control (insertar 0, N de bits)

Como NASL(580) pero de dos palabras.


NSLL(582)
D
C

Soporte Tcnico

@NSLL(582)
D
C

Omron03A - 98 -

NASR(581)

Desplaza la palabra D, N bits a la derecha


insertando 0, el valor del bit 15.
D: Palabra origen y destino.
C: palabra de control (insertar 0, N de bits)

NASR(581)
D
C

Soporte Tcnico

@NASR(581)
D
C

Omron03A - 99 -

NASR(581) ejemplo
C: Palabra de control.
15

12

N de bits a desplazar en hexadecimal 0-10Hex.


Siempre a 0.
Dato que se introduce por la izquierda.
0: introduce 0.
8: introduce el valor que tenga el bit 15.
Perdidos

NASR(581)
0100
#0004

Soporte Tcnico

1011000110011111

CH 100

CY
0000101100011001

Omron03A - 100 -

NSRL(583)

Desplaza las palabras D y D+1, N bits a la


derecha insertando 0, el valor del bit 15.
D: Primera palabra origen y destino.
C: palabra de control (insertar 0, N de bits)

Como NASR(581) pero de dos palabras.


NSRL(583)
D
C

Soporte Tcnico

@NSRL(583)
D
C

Omron03A - 101 -

NSFL(578)

Desplaza N bits de D a la izquierda


empezando por el bit C.
D: Palabra dato.
C: Bit de comienzo.
N: Nmero de bits a desplazar.

Los bits anteriores a C o posteriores a C+N


no cambian.
NSFL(578)
D
C
R
Soporte Tcnico

@NSFL(578)
D
C
R
Omron03A - 102 -

NSFR(579)

Desplaza N bits de D a la derecha


empezando por el bit C.
D: Palabra dato.
C: Bit de comienzo.
N: Nmero de bits a desplazar.

Los bits anteriores a C+N o posteriores a C


no cambian.
NSFL(578)
D
C
R
Soporte Tcnico

@NSFL(578)
D
C
R
Omron03A - 103 -

NSFL NSFR ejemplo


Bits 3 a 12

NSFL(578)
0100
&3
&11

CH 100

1011000110011111

CY
1

1010001100110111

Bits 3 a 12

NSFR(579)
0100
&3
&11

Soporte Tcnico

1011000110011111

CH 100

CY
1010100011001111

Omron03A - 104 -

Incrementar Decrementar

Autoincremento y Autodecremento

Soporte Tcnico

++(590) ++L(591)

++ incrementa en binario la palabra de 4

dgitos Wd en una unidad.


++L incrementa en binario la palabra de 8
dgitos Wd en una unidad.
Wd: Palabra a incrementar
++(590)
Wd

@++(590)
Wd

++L(591)
Wd

@++L(591)
Wd

Soporte Tcnico

Omron03A - 106 -

--(592) --L(593)

-- decrementa en binario la palabra de 4

dgitos Wd en una unidad.


--L decrementa en binario la palabra de 8
dgitos Wd en una unidad.
Wd: Palabra a incrementar
--(592)
Wd

@--(592)
Wd

--L(593)
Wd

@--L(593)
Wd

Soporte Tcnico

Omron03A - 107 -

Binario Ejemplos
++(590)
D00000

D0
0019 +1

++L(591)
D00000

D0
0019

--(592)
D00000

D0
001A -1

--L(593)
D00000

D0
001A

Soporte Tcnico

D0
001A

D1
FFFF +1

D0
001A

D1
0000

D0
0019

D1
FFFF

D0
0019
D1
0000 -1

Omron03A - 108 -

++B(594) ++BL(595)

++B incrementa en BCD la palabra de 4

dgitos Wd en una unidad.


++BL incrementa en BCD la palabra de 8
dgitos Wd en una unidad.
Wd: Palabra a incrementar
++B(594)
Wd

@++B(594)
Wd

++BL(595)
Wd

@++BL(595)
Wd

Soporte Tcnico

Omron03A - 109 -

--B(596) --BL(597)

--B decrementa en BCD la palabra de 4

dgitos Wd en una unidad.


--BL decrementa en BCD la palabra de 8
dgitos Wd en una unidad.
Wd: Palabra a incrementar
--B(596)
Wd

@--B(596)
Wd

--BL(597)
Wd

@--BL(597)
Wd

Soporte Tcnico

Omron03A - 110 -

BCD Ejemplos
++B(594)
D00000
++BL(595)
D00000

--B(596)
D00000
--BL(597)
D00000
Soporte Tcnico

D0
0019 +1

D0
0019

D1
9999 +1

D0
0020 -1
D0
0020

D0
0020

D0
0020

D1
0000

D0
0019

D1
9999

D0
0019
D1
0000 -1

Omron03A - 111 -

DESPLAZAMIENTO
Y
ROTACIN
serie C y CS1
1Bit Y Dgitos (4 bits)

Soporte Tcnico

Desplaza BITS: ASL(025) ASR(026)

ASL(025) introduce un 0 y desplaza un bit

a la izquierda el contenido de un canal.


ASR(026) introduce un 0 y desplaza un bit
a la derecha el contenido de un canal.
El bit saliente pasa al Flag de carry (CY)
ASL(025)
Wd
ASR(026)
Wd

Soporte Tcnico

Omron03A - 113 -

Rotar BITS: ROL(027) ROR(028)

ROL(025) Rota un bit a la izquierda un

canal pasando el bit15 al CY y el CY al bit0


ROR(026) Rota un bit a la derecha un
canal pasando el bit0 al CY y el CY al bit15
La rotacin siempre es a travs del Carry
ROL(027)
Wd
ROR(028)
Wd

Soporte Tcnico

Omron03A - 114 -

Desplaza Digito: SLD(074) SRD(075)

SLD(074) introduce cuatro 0 y desplaza un

Digito a la izquierda un canal.


SRD(075) introduce cuatro 0 y desplaza un
Digito a la derecha un canal.
St: Canal inicial

E: Canal final

DATO PERDIDO

DATO PERDIDO

Soporte Tcnico

Omron03A - 115 -

También podría gustarte