Está en la página 1de 32

PROGRAMACIN AVANZADA DE PLCs

Soporte Tcnico

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:#, IR, SR, HR, TIM, CNT D: IR, HR


Soporte Tcnico

EJEMPLO. EMBOTELLADORA

E1

F1

EL MOTOR M1 ESTAR EN MARCHA HASTA

QUE LA FOTOCLULA F1 DETECTE


CUANDO F1 DETECTE, COMENZAR A

LLENARSE LA BOTELLA AL ACTIVARSE LA ELECTROVLVULA E1


CUANDO LA BOTELLA PESE LO DESEADO,

M1

4 / 20 mA

SE ACTIVAR E1 Y DESPUS DE 3 SEGUNDOS, LA CINTA SE PONDR EN MARCHA HASTA QUE LA FOTOCLULA F1 VUELVA A DETECTAR.

ENTRADAS F1 : CLULA DA CARGA: 0000 ENTRADA ANALGICA 1000 1001

SALIDAS
M1 : E1 :
Soporte Tcnico

SFT, FUN(10) /1

LA INSTRUCCIN SFT REALIZA LA FUNCIN DE REGISTRO DE DESPLAZAMIENTO

EN SERIE
EL DESPLAZAMIENTO AFECTA A LOS BITS, EN SENTIDO DEL MENOS

SIGNIFICATIVO AL MS 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

RT= RESET. SU FLANCO ASCENDENTE DETERMINA EL RESET DEL CANAL (O


CANALES) SOBRE LOS QUE SE PRODUCE EL DESPLAZAMIENTO

DE LOS DATOS, SI RT 0

B , E= PRIMER Y LTIMO CANAL DEL REA DE DATOS SOBRE LA QUE SE


PRODUCE EL DESPLAZAMIENTO

Soporte Tcnico

SFT, FUN(10) /2

SI COMO CANALES DE DESPLAZAMIENTO SE UTILIZAN LOS DEL REA HR, EN

CASO DE FALLO DE ALIMENTACIN LOS DATOS SE MANTIENEN

0000
0001 0002

IN
CP R

SFT 05 06

LD LD LD SFT (10)

0000 0001 0002 05 06

0 1 2 3
DATOS

CH 05

14 15

ESTE DATO SE PIERDE

0 1 2 3
Soporte Tcnico

CH 06

14 15

EJEMPLO. APLICACIN FUNCIN SFT

SE TIENE UNA LNEA DE SUMINISTRO DE BOTELLAS. SOBRE LA LNEA 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.


SEGN LA NATURALEZA DE CADA BOTELLA STA ES RECHAZADA O NO.

Soporte Tcnico

EJEMPLO. APLICACIN FUNCIN SFT

LA LNEA ACCIONADA POR UN MOTOR, ES CONTROLADA CON UN PULSADOR

DE START, UNO DE STOP Y UNO DE EMERGENCIA.


ANTE UNA FALTA DE ALIMENTACIN, LA MQUINA DEBE PODER CONTINUAR

CORRECTAMENTE CON EL PROCESO CUANDO LA ALIMENTACIN VUELVE, PREVIO START.


UN PULSADOR ACTA DE RESET DE LA LNEA:

(MOTOR OFF, NINGUNA BOTELLA BUENA SOBRE LA LNEA).


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

SALIDAS
START MOTOR RECHAZADOR AUX CLOCK 1000 1001 1002 HR0000

Soporte Tcnico

EJEMPLO. APLICACIN FUNCIN SFT

SENSOR DE PRESENCIA EN PUESTO SENSOR BUENA / MALA RECHAZADOR 0 1 2 3 4 5 6 7 8 9

1
Soporte Tcnico

EJEMPLO. BRAZO ROBOT

START 0000 LS1 LS2 IZQ PS1 LS1 LS2 DCHA LS5 RTRANSPORTADORA 1000 GIRO DERECHA B GIRO IZQUIERDA 1002 SUBIR 1003 1001 LS4 LS3 0001 0002 0003

LS3

LS4
LS5 PS1

0004
0005 0006

BAJAR 1004 COGER 1005 SOLTAR 1006

CICLO DE TRABAJO

Soporte Tcnico

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

FUNCIN: TRANSFIERE EL DATO CONTENIDO EN UN CANAL (O CONSTANTE)

A UN GRUPO DE CANALES ESPECIFICADOS.

BSET
D

D= DATO I= CANAL INICIAL

F= CANAL FINAL
F

Soporte Tcnico

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

3200

BSET
#2345 DM10 DM20

DM10 #2345

#2345

DM11

#2345

DM20

#2345

Soporte Tcnico

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

FUNCIN: TRANSFIERE DATOS DE VARIOS CANALES CONSECUTIVOS A

OTROS CANALES TAMBIN CONSECUTIVOS

XFER
N

N= N CANALES O= CANAL ORIGEN

D= CANAL DESTINO
D

Soporte Tcnico

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

3300

XFER
#4

LR00
HR04

LR 0000

3456

HR 0400

3456

LR 0001
LR 0002 LR 0003

5629
5894 8974

HR 0401
HR 0402 HR 0403

5629
5894 8974

Soporte Tcnico

MENSAJE, FUN(46) @FUN(46)

FUNCIN: LEE LOS DATOS ASCII CONTENIDOS EN OCHO CANALES (16

CARACTERES) Y LOS VISUALIZA EN EL DYSPLAY DEL DISPOSITIVO DE PROGRAMACIN

MSG N

N= CANAL DE COMIENZO

NOTA: EL LTIMO CARCTER DEBE SER OD

Soporte Tcnico

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

FUNCIN: LEE LOS DATOS ASCII CONTENIDOS EN DIECISEIS CANALES (32

CARACTERES) Y LOS VISUALIZA EN EL DYSPLAY DEL DISPOSITIVO DE PROGRAMACIN (CONSOLA O INTERFACE RS232)

LMSG N D

N= CANAL DE COMIENZO D= CANAL DE DESTINO

NOTA: EL LTIMO CARCTER DEBE SER OD

Soporte Tcnico

CONTADOR REVERSIBLE, FUN(12)

FUNCIN: CONTADOR REVERSIBLE. CUENTA ENTRE CERO Y SV DE

ACUERDO CON LOS CAMBIOS EN DOS CONDICIONES DE EJECUCIN, LA ENTRADA DE CON TAJE ADELANTE (II) Y LA DE CONTAJE ATRS (DI)
II
DI R

CNTR12 N SV

N= N CANAL DE COMIENZO # (000 A 511) SV= VALOR SELECCIONADO IR, SR, AR, DM, HR, LR, #

Soporte Tcnico

EJEMPLO. SECUENCIA DE MENSAJE EN CONSOLA DE PROGRAMACIN

APLICACIN:

Utilizar la instruccin MSG para mostrar mensajes en la consola de programacin PRO-27.

La instruccin MSG permite mostrar un mensaje de hasta 16 caracteres sobre el display de la consola de programacin. En este caso el programa deber hacer posible el desplazamiento de un mensaje de 32 caracteres por el display, a izquierda o a derecha segn voluntad del usuario e incluso poder detenerlo.

Soporte Tcnico

EJEMPLO. SECUENCIA DE MENSAJE EN CONSOLA DE PROGRAMACIN

El mensaje estar contenido en los DMs del 10 al 25 en formato ASCII de la siguiente forma:

CANAL

HEX

ASCII

ORDEN DE PARADA DE MENSAJE:

Entrada 0000.
SENTIDO DE DESPLAZAMIENTO DEL MENSAJE:

Entrada 1
FRECUENCIA DE DESPLAZAMIENTO:

Base de tiempo constante.

DM10 DM11 DM12 DM13 DM14 DM15 DM16 DM17 DM18 DM19 DM20 DM21 DM22 DM23 DM24 DM25

4F4D 524F 4E20 454C 4543 5452 4F4E 4943 5320 4C45 2053 414C 5544 4120 484F 4C41

OM RO N EL EC TR ON IC S LE S AL UD A HO LA

Soporte Tcnico

DIRECCIONAMIENTO INDIRECTO

Cuando para un operando se especifica el rea dde 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

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 EN ESTE CASO SV = 432 #0432 DM0011

El direccionamiento indirecto permite especificar un dato por la direccin de DM donde se dato est contenido (la direccin es la variable).
TIM00 *DM0011 EN ESTE CASO SV = 1547 #0432 DM0011 #0432 DM0432

Soporte Tcnico

DIRECCIONAMIENTO INDIRECTO

Ejemplo:
MOV(21) *DM 0001 LR 00 Direccin indirecta

Canal DM 0000 DM 0001

Contenido 4C59 1111

DM 0002

F35A

Indica DM 1111.

DM 1111

5555

DM 1112
DM 1113

2506
D541

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.

Soporte Tcnico

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

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
STC(40) LD NOT CLC(41) LD OUT

0000
0000 1904 1000

Soporte Tcnico

ADD, FUN(30) /1

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 R

ADD(30) HR00 #0001 HR00

Soporte Tcnico

ADD, FUN(30) /2

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

SUB, FUN(31) /1

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 STC(40)
Mi Su R Soporte Tcnico

0000

SUB(31) #0100

00
05

SUB, FUN(31) /2

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

CASOS:

DATOS Mi > Su Mi = Su Mi < Su

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

CY 0 0 1

EQ 0 1 0

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

EJECUTA, Y ER = 1

Soporte Tcnico

MULTIPLICACIN BCD, FUN(32) @FUN(32)

FUNCIN: MULTIPLICA EL CONTENIDO DE LOS DATOS ESPECIFICADOS

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

MUL
A B C

A, B = CANALES /CONSTANTES R= REGISTRO RESULTADO

Soporte Tcnico

MULTIPLICACIN BCD, FUN(32) @FUN(32)

3300

MUL
10 #0021 DM100

0034

CH 10

X
0021

=
714 DM100= (CH 10) X 21

Soporte Tcnico

DIVISIN BCD, FUN(33) @FUN(33)

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 B

A= B= R= R+1 =

DIVIDENDO DIVISOR COCIENTE RESTO

A, B = CANAL / CONSTANTE

Soporte Tcnico

DIVISIN BCD, FUN(33) @FUN(33)

3300

DIV
10 #4 LR10

133

CH 10

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


4 33 1 LR 10 LR 11

Soporte Tcnico

EJEMPLO DE PROGRAMACIN

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 4 DGITOS MENORES 4 DGITOS MAYORES 4 DGITOS MENORES

DM1 DM0 DM3 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