soporte técnico programaciÓn avanzada de plcs. soporte técnico mov, fun(21) la instrucciÓn mov...

32
Soporte Técnico PROGRAMACIÓN AVANZADA DE PLC’s

Upload: roman-alvidrez

Post on 03-Mar-2015

2 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Soporte Técnico PROGRAMACIÓN AVANZADA DE PLCs. Soporte Técnico MOV, FUN(21) LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL

Soporte Técnico

PROGRAMACIÓN AVANZADA DE PLC’s

Page 2: Soporte Técnico PROGRAMACIÓN AVANZADA DE PLCs. Soporte Técnico MOV, FUN(21) LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL

Soporte Técnico

MOV, FUN(21)

LA INSTRUCCIÓN 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:#, IR, SR, HR, TIM, CNT

— D: IR, HR

Page 3: Soporte Técnico PROGRAMACIÓN AVANZADA DE PLCs. Soporte Técnico MOV, FUN(21) LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL

Soporte Técnico

EJEMPLO. EMBOTELLADORA

EL MOTOR M1 ESTARÁ EN MARCHA HASTA QUE LA FOTOCÉLULA F1 DETECTE

CUANDO F1 DETECTE, COMENZARÁ A LLENARSE LA BOTELLA AL ACTIVARSE LA ELECTROVÁLVULA E1

CUANDO LA BOTELLA PESE LO DESEADO, SE ACTIVARÁ E1 Y DESPUÉS DE 3 SEGUNDOS, LA CINTA SE PONDRÁ EN MARCHA HASTA QUE LA FOTOCÉLULA F1 VUELVA A DETECTAR.M1 4 / 20 mA

F1E1

ENTRADAS

F1 : 0000 CÉLULA DA CARGA: ENTRADA ANALÓGICA SALIDAS

M1 : 1000E1 : 1001

Page 4: Soporte Técnico PROGRAMACIÓN AVANZADA DE PLCs. Soporte Técnico MOV, FUN(21) LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL

Soporte Técnico

SFT, FUN(10) /1

LA INSTRUCCIÓN SFT REALIZA LA FUNCIÓN DE REGISTRO DE DESPLAZAMIENTO EN SERIE

EL DESPLAZAMIENTO AFECTA A LOS BITS, EN SENTIDO DEL MENOS SIGNIFICATIVO AL MÁS SIGNIFICATIVO

– IN= ENTRADA DE DATOS. EL ESTADO DE ESTA ENTRADA SE INTRODUCE EN EL REGISTRO DE DESPLAZAMIENTO CON EL FLANCO ASCENDENTE DEL IMPULSO DE RELOJ.

– SP= IMPULSO DEL RELOJ. EL FLANCO ASCENDENTE CREA EL DESPLAZAMIENTO DE LOS DATOS, SI RT 0

– RT= RESET. SU FLANCO ASCENDENTE DETERMINA EL RESET DEL CANAL (O CANALES) SOBRE LOS QUE SE PRODUCE EL DESPLAZAMIENTO

– B , E= PRIMER Y ÚLTIMO CANAL DEL ÁREA DE DATOS SOBRE LA QUE SE PRODUCE EL DESPLAZAMIENTO

Page 5: Soporte Técnico PROGRAMACIÓN AVANZADA DE PLCs. Soporte Técnico MOV, FUN(21) LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL

Soporte Técnico

SFT, FUN(10) /2

SI COMO CANALES DE DESPLAZAMIENTO SE UTILIZAN LOS DEL ÁREA HR, EN CASO DE FALLO DE ALIMENTACIÓN LOS DATOS SE MANTIENEN

0000

0001

0002

IN

CP

R

SFT

05

06

LD 0000LD 0001LD 0002SFT (10) 05

06

DATOS

ESTE DATO SE PIERDE

0 1 2 3 14 15

0 1 2 3 14 15

CH 05

CH 06

Page 6: Soporte Técnico PROGRAMACIÓN AVANZADA DE PLCs. Soporte Técnico MOV, FUN(21) LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL

Soporte Técnico

EJEMPLO. APLICACIÓN FUNCIÓN SFT

SE TIENE UNA LÍNEA DE SUMINISTRO DE BOTELLAS.

SOBRE LA LÍNEA EXISTEN 10 PUESTOS QUE PUEDEN EN UN MOMENTO DADO CONTENER BOTELLA.

LA PRESENCIA DE BOTELLA EN UN PUESTO SE DETECTA CON UN SENSOR. CON OTRO SENSOR SE DETERMINA SI LA BOTELLA ES BUENA O MALA.

SEGÚN LA NATURALEZA DE CADA BOTELLA ÉSTA ES RECHAZADA O NO.

Page 7: Soporte Técnico PROGRAMACIÓN AVANZADA DE PLCs. Soporte Técnico MOV, FUN(21) LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL

Soporte Técnico

EJEMPLO. APLICACIÓN FUNCIÓN SFT

LA LÍNEA ACCIONADA POR UN MOTOR, ES CONTROLADA CON UN PULSADOR DE START, UNO DE STOP Y UNO DE EMERGENCIA.

ANTE UNA FALTA DE ALIMENTACIÓN, LA MÁQUINA DEBE PODER CONTINUAR CORRECTAMENTE CON EL PROCESO CUANDO LA ALIMENTACIÓN VUELVE, PREVIO START.

UN PULSADOR ACTÚA DE RESET DE LA LÍNEA:

(MOTOR OFF, NINGUNA BOTELLA BUENA SOBRE LA LÍNEA).

ENTRADAS

RESET 0007PRESENCIA 0001BUENA/MALA 0002START 0003STOP 0004EMERGENCIA 0005

SALIDAS

START MOTOR 1000RECHAZADOR 1001

AUX 1002CLOCK HR0000

Page 8: Soporte Técnico PROGRAMACIÓN AVANZADA DE PLCs. Soporte Técnico MOV, FUN(21) LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL

Soporte Técnico

EJEMPLO. APLICACIÓN FUNCIÓN SFT

SENSOR DE PRESENCIA EN PUESTO

SENSOR “BUENA / MALA”

RECHAZADOR

0 1 2 3 4 5 6 7 8 9

1 1 0 0 0 1 0 1 0 1

Page 9: Soporte Técnico PROGRAMACIÓN AVANZADA DE PLCs. Soporte Técnico MOV, FUN(21) LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL

Soporte Técnico

EJEMPLO. BRAZO ROBOT

START 0000

LS1 0001

LS2 0002

LS3 0003

LS4 0004

LS5 0005

PS1 0006

RTRANSPORTADORA 1000

GIRO DERECHA 1001

GIRO IZQUIERDA 1002

SUBIR 1003

BAJAR 1004

COGER 1005

SOLTAR 10060 1 2 3 4 5 6 7 8

CICLO DE TRABAJO

LS1

LS2

LS3

LS4

LS5

B

A

PS1

IZQ

DCHA

Page 10: Soporte Técnico PROGRAMACIÓN AVANZADA DE PLCs. Soporte Técnico MOV, FUN(21) LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL

Soporte Técnico

RELLENAR BLOQUE, FUN(71) @FUN(71)

FUNCIÓN: TRANSFIERE EL DATO CONTENIDO EN UN CANAL (O CONSTANTE) A UN GRUPO DE CANALES ESPECIFICADOS.

BSET

D

I

F

D= DATO

I= CANAL INICIAL

F= CANAL FINAL

Page 11: Soporte Técnico PROGRAMACIÓN AVANZADA DE PLCs. Soporte Técnico MOV, FUN(21) LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL

Soporte Técnico

RELLENAR BLOQUE, FUN(71) @FUN(71)

BSET

#2345

DM10

DM20

3200

#2345

DM10

DM11

DM20

#2345

#2345

#2345

Page 12: Soporte Técnico PROGRAMACIÓN AVANZADA DE PLCs. Soporte Técnico MOV, FUN(21) LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL

Soporte Técnico

MOVER BLOQUE, FUN(70) @FUN(70)

FUNCIÓN: TRANSFIERE DATOS DE VARIOS CANALES CONSECUTIVOS A OTROS CANALES TAMBIÉN CONSECUTIVOS

XFER

N

O

D

N= Nº CANALES

O= CANAL ORIGEN

D= CANAL DESTINO

Page 13: Soporte Técnico PROGRAMACIÓN AVANZADA DE PLCs. Soporte Técnico MOV, FUN(21) LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL

Soporte Técnico

MOVER BLOQUE, FUN(70) @FUN(70)

XFER

#4

LR00

HR04

3300

LR 0000 3456

LR 0001 5629

LR 0002 5894

LR 0003 8974

HR 0400 3456

HR 0401 5629

HR 0402 5894

HR 0403 8974

Page 14: Soporte Técnico PROGRAMACIÓN AVANZADA DE PLCs. Soporte Técnico MOV, FUN(21) LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL

Soporte Técnico

MENSAJE, FUN(46) @FUN(46)

FUNCIÓN: LEE LOS DATOS ASCII CONTENIDOS EN OCHO CANALES (16 CARACTERES) Y LOS VISUALIZA EN EL DYSPLAY DEL DISPOSITIVO DE PROGRAMACIÓN

MSG

NN= CANAL DE COMIENZO

NOTA: EL ÚLTIMO CARÁCTER DEBE SER OD

Page 15: Soporte Técnico PROGRAMACIÓN AVANZADA DE PLCs. Soporte Técnico MOV, FUN(21) LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL

Soporte Técnico

MENSAJE DE LONGITUD DOBLE, FUN(47) @FUN(47)

FUNCIÓN: LEE LOS DATOS ASCII CONTENIDOS EN DIECISEIS CANALES (32 CARACTERES) Y LOS VISUALIZA EN EL DYSPLAY DEL DISPOSITIVO DE PROGRAMACIÓN (CONSOLA O INTERFACE RS232)

LMSG

N

D

N= CANAL DE COMIENZO

D= CANAL DE DESTINO

NOTA: EL ÚLTIMO CARÁCTER DEBE SER OD

Page 16: Soporte Técnico PROGRAMACIÓN AVANZADA DE PLCs. Soporte Técnico MOV, FUN(21) LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL

Soporte Técnico

CONTADOR REVERSIBLE, FUN(12)

FUNCIÓN: CONTADOR REVERSIBLE. CUENTA ENTRE CERO Y SV DE ACUERDO CON LOS CAMBIOS EN DOS CONDICIONES DE EJECUCIÓN, LA ENTRADA DE CON TAJE ADELANTE (II) Y LA DE CONTAJE ATRÁS (DI)

II

DI

R

CNTR12

N

SV

N= Nº CANAL DE COMIENZO

SV= VALOR SELECCIONADO

# (000 A 511)

IR, SR, AR, DM, HR, LR, #

Page 17: Soporte Técnico PROGRAMACIÓN AVANZADA DE PLCs. Soporte Técnico MOV, FUN(21) LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL

Soporte Técnico

EJEMPLO. SECUENCIA DE MENSAJE EN CONSOLA DE PROGRAMACIÓN

APLICACIÓN: Utilizar la instrucción MSG para mostrar mensajes en la consola de programación PRO-27.

La instrucción MSG permite mostrar un mensaje de hasta 16 caracteres sobre el display de la consola de programación. En este caso el programa deberá hacer posible el desplazamiento de un mensaje de 32 caracteres por el display, a izquierda o a derecha según voluntad del usuario e incluso poder detenerlo.

Page 18: Soporte Técnico PROGRAMACIÓN AVANZADA DE PLCs. Soporte Técnico MOV, FUN(21) LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL

Soporte Técnico

EJEMPLO. SECUENCIA DE MENSAJE EN CONSOLA DE PROGRAMACIÓN

El mensaje estará contenido en los DM’s del 10 al 25 en formato ASCII de la siguiente forma:

ORDEN DE PARADA DE MENSAJE: Entrada 0000.

SENTIDO DE DESPLAZAMIENTO DEL MENSAJE: Entrada 1

FRECUENCIA DE DESPLAZAMIENTO: Base de tiempo constante.

CANAL HEX ASCII

DM10 4F4D OMDM11 524F RODM12 4E20 NDM13 454C ELDM14 4543 ECDM15 5452 TRDM16 4F4E ONDM17 4943 ICDM18 5320 SDM19 4C45 LEDM20 2053 SDM21 414C ALDM22 5544 UDDM23 4120 ADM24 484F HODM25 4C41 LA

Page 19: Soporte Técnico PROGRAMACIÓN AVANZADA DE PLCs. Soporte Técnico MOV, FUN(21) LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL

Soporte Técnico

DIRECCIONAMIENTO INDIRECTO

Cuando para un operando se especifica el área dde DM, se puede utilizar una dirección indirecta.

– Para diferenciar el direccionamiento de DM indirecto se coloca un asterisco delante de DM : *DM

Cuando se especifica una dirección indirecta de DM, el canal DM designado contendrá la dirección del canal DM que contiene el dato que se utilizará como operando de la instrucción.

Cuando se utilice direccionamiento indirecto, la dirección del canal deseado debe estar en BCD y debe especificar un canal comprendido en área de DM.

Page 20: Soporte Técnico PROGRAMACIÓN AVANZADA DE PLCs. Soporte Técnico MOV, FUN(21) LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL

Soporte Técnico

DIRECCIONAMIENTO INDIRECTO

Normalmente la variable especificada por una cierta instrucción es tal que la instrucción 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 dirección de DM donde ése dato está contenido (la dirección es la variable).

TIM00

*DM0011 #0432 DM0011

EN ESTE CASO SV = 1547

#0432 DM0432

Page 21: Soporte Técnico PROGRAMACIÓN AVANZADA DE PLCs. Soporte Técnico MOV, FUN(21) LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL

Soporte Técnico

DIRECCIONAMIENTO INDIRECTO

Ejemplo:

MOV(21)

*DM 0001

LR 00

DM 0000

DM 0001

DM 0002

DM 1111

DM 1112

DM 1113

4C59

1111

F35A

5555

2506

D541

Canal Contenido

Dirección indirecta Indica

DM 1111.

5555 movido a LR 00.

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.

Page 22: Soporte Técnico PROGRAMACIÓN AVANZADA DE PLCs. Soporte Técnico MOV, FUN(21) LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL

Soporte Técnico

DIRECCIONAMIENTO INDIRECTO

EJEMPLO

ALMACENAR LA TEMPERATURA EN UN HORNO CADA 15 SEG. Y DURANTE 2 HRS., TIEMPO DE DURACIÓN DEL PROCESO.

DATOS

Tº ENTRADA ANALÓGICA: CANAL 101 INICIO DATOS: DM 0001

Page 23: Soporte Técnico PROGRAMACIÓN AVANZADA DE PLCs. Soporte Técnico MOV, FUN(21) LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL

Soporte Técnico

STC / CLC, FUN 40 / 41

FUNCIÓN: ESTAS INSTRUCCIONES GESTIONAN EL FLAG DE ACARREO, O FLAG CY.

EL FLAG CY SE UTILIZA EN LAS OPERACIONES MATEMÁTICAS, PARA DETECTAR:

– EXISTENCIA DE OVERFLOW EN EL RESULTADO DE UNA SUMA (ADD)

– EXISTENCIA DE RESULTADO NEGATIVO EN UNA SUBSTRACCIÓN (SUB)

LD 0000

STC(40)

LD NOT 0000

CLC(41)

LD 1904

OUT 1000

Page 24: Soporte Técnico PROGRAMACIÓN AVANZADA DE PLCs. Soporte Técnico MOV, FUN(21) LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL

Soporte Técnico

ADD, FUN(30) /1

LA INSTRUCCIÓN 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 PARÁMETROS DE LAS INSTRUCCIONES SON 3:

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

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

A1

A2

R

LD 0000

STC(40)

ADD(30)

HR00

#0001

HR00

Page 25: Soporte Técnico PROGRAMACIÓN AVANZADA DE PLCs. Soporte Técnico MOV, FUN(21) LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL

Soporte Técnico

ADD, FUN(30) /2

EN EL CASO DE ACARREO (CY = 1), LA SUMA DE LOS DOS SUMANDOS HA SUPERADO EL LÍMITE 9999. EL RESULTADO EFECTIVO ES ENTONCES 10000+R

EN EL CASO DE SUMA CON 8 O MÁS CIFRAS BCD, (SUMA COMBINADA) SE DEBERÁ RESETEAR CY SÓLO PARA LA PRIMERA SUMA.

SI EL RESULTADO DE LA OPERACIÓN SUMA ES = 0, ENTONCES EL FLAG

EQ = 1

SI LOS SUMANDOS NO ESTÁN EN FORMATO BCD, LA OPERACIÓN NO SE EJECUTA Y ENTONCES ER = 1

Page 26: Soporte Técnico PROGRAMACIÓN AVANZADA DE PLCs. Soporte Técnico MOV, FUN(21) LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL

Soporte Técnico

SUB, FUN(31) /1

LA INSTRUCCIÓN SUB EJECUTA LA SUBSTRACCIÓN 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 PARÁMETROS DE LA INSTRUCCIÓN SON 3:

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

– Su = SUSTRAENDO (#, IR, SR, HR, TIM, CNT)

– R = RESULTADO (IR, HR) = Mi - Su - CY

Mi

Su

R

LD 0000

STC(40)

SUB(31)

#0100

00

05

Page 27: Soporte Técnico PROGRAMACIÓN AVANZADA DE PLCs. Soporte Técnico MOV, FUN(21) LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL

Soporte Técnico

SUB, FUN(31) /2

SEGÚN LOS VALORES QUE TENGAN Mi Y Su, SE TIENEN LOS SIGUIENTES CASOS:

RESULTADO CY EQDATOS

Mi > Su

Mi = Su

Mi < Su

R= Mi - Su

R= 0

R= Mi + (10000-Su)

0

0

1

0

1

0

SI Mi Y Su NO ESTÁN EN EL FORMATO BCD, LA OPERACIÓN NO SE EJECUTA, Y ER = 1

Page 28: Soporte Técnico PROGRAMACIÓN AVANZADA DE PLCs. Soporte Técnico MOV, FUN(21) LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL

Soporte Técnico

MULTIPLICACIÓN BCD, FUN(32) @FUN(32)

FUNCIÓN: MULTIPLICA EL CONTENIDO DE LOS DATOS ESPECIFICADOS EN LA INSTRUCCIÓN (EN BCD) Y EL RESULTADO SE TRANSFIERE A UN REGISTRO.

MUL

A

B

C

A, B = CANALES /CONSTANTES

R = REGISTRO RESULTADO

Page 29: Soporte Técnico PROGRAMACIÓN AVANZADA DE PLCs. Soporte Técnico MOV, FUN(21) LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL

Soporte Técnico

MULTIPLICACIÓN BCD, FUN(32) @FUN(32)

MUL

10

#0021

DM100

3300

0034

X0021

=

714

CH 10

DM100= (CH 10) X 21

Page 30: Soporte Técnico PROGRAMACIÓN AVANZADA DE PLCs. Soporte Técnico MOV, FUN(21) LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL

Soporte Técnico

DIVISIÓN BCD, FUN(33) @FUN(33)

FUNCIÓN: DIVIDE EL CONTENIDO DE LOS DATOS ESPECIFICADOS EN LA INSTRUCCIÓN (EN BCD) Y EL RESULTADO SE TRANSFIERE A DOS REGISTROS (COCIENTE Y RESTO).

DIV

A

B

C

A = DIVIDENDO

R = COCIENTE

B = DIVISOR

R+1 = RESTO

A, B = CANAL / CONSTANTE

Page 31: Soporte Técnico PROGRAMACIÓN AVANZADA DE PLCs. Soporte Técnico MOV, FUN(21) LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL

Soporte Técnico

DIVISIÓN BCD, FUN(33) @FUN(33)

DIV

10

#4

LR10

3300

133 CH 10

33

1

LR 10

LR 11

4

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

Page 32: Soporte Técnico PROGRAMACIÓN AVANZADA DE PLCs. Soporte Técnico MOV, FUN(21) LA INSTRUCCIÓN MOV REALIZA EL MOVIMIENTO DE UN DATO DE 16 BIT, DESDE UN CANAL

Soporte Técnico

EJEMPLO DE PROGRAMACIÓN

SUMA DE DATOS DE HASTA 8 DÍGITOS APLICACIÓN: SE TRATA DE SUMAR DOS DATOS QUE PUEDEN TENER UNA LONGITUD DE HASTA 8 DÍGITOS.

ESTE PROGRAMA PUEDE LLEVARSE A CABO UTILIZANDO DIRECTAMENTE LA INSTRUCCIÓN DE SUMA DE DOBLE LONGITUD PERO LO HAREMOS USANDO LA INSTRUCCIÓN ADD NORMAL.

LOS DATOS A SUMAR SON LOS SIGUIENTES:

– DATO A: 4 DÍGITOS MAYORES

4 DÍGITOS MENORES

– DATO B: 4 DÍGITOS MAYORES

4 DÍGITOS MENORES

DM1

DM0

DM3

DM2

EL RESULTADO SE GUARDARÁ EN :

– DÍGITO NUM 9

– 4 DÍGITOS MAYORES

– 4 DÍGITOS 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.