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

F1

E1

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

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

4 / 20 mA

ENTRADAS
F1 :
CLULA DA CARGA:

0000
ENTRADA ANALGICA

SALIDAS
M1 :
E1 :
Soporte Tcnico

1000
1001

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

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

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

IN

0001

CP

0002

0 1 2 3

SFT
05
06

CH 05

LD
LD
LD
SFT (10)

0000
0001
0002
05
06

14 15

DATOS

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

Soporte Tcnico

SALIDAS
0007
0001
0002
0003
0004
0005

START MOTOR
RECHAZADOR
AUX
CLOCK

1000
1001
1002
HR0000

EJEMPLO. APLICACIN FUNCIN SFT

SENSOR DE PRESENCIA EN PUESTO


SENSOR BUENA / MALA
RECHAZADOR

Soporte Tcnico

EJEMPLO. BRAZO ROBOT

START 0000

LS3

IZQ
PS1
LS1

LS4
LS2
DCHA

LS1

0001

LS2

0002

LS3

0003

LS4

0004

LS5

0005

PS1

0006

LS5
RTRANSPORTADORA 1000
GIRO DERECHA

1001

B
GIRO IZQUIERDA 1002
SUBIR

1003

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= DATO

I= CANAL INICIAL
I

F= CANAL FINAL
F

Soporte Tcnico

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

3200

BSET
#2345
DM10
DM20

#2345

DM10

#2345

DM11

#2345

DM20

Soporte Tcnico

#2345

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

FUNCIN: TRANSFIERE DATOS DE VARIOS CANALES CONSECUTIVOS A

OTROS CANALES TAMBIN CONSECUTIVOS

XFER

N= N CANALES

O= CANAL ORIGEN
O

D= CANAL DESTINO
D

Soporte Tcnico

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

3300

XFER
#4

LR00
HR04

Soporte Tcnico

LR 0000

3456

HR 0400

3456

LR 0001

5629

HR 0401

5629

LR 0002

5894

HR 0402

5894

LR 0003

8974

HR 0403

8974

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= 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

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

Utilizar la instruccin MSG para mostrar mensajes en la


consola de programacin PRO-27.

APLICACIN:

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:

ORDEN DE PARADA DE MENSAJE:

Entrada 0000.
SENTIDO DE DESPLAZAMIENTO DEL MENSAJE:

Entrada 1
FRECUENCIA DE DESPLAZAMIENTO:

Base de tiempo constante.

Soporte Tcnico

CANAL

HEX

ASCII

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

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

#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).
TIM00
*DM0011
EN ESTE CASO SV = 1547

Soporte Tcnico

#0432

DM0011

#0432

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

Indica
DM 1111.

5555 movido
a LR 00.

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

0000

STC(40)
LD NOT

0000

CLC(41)

Soporte Tcnico

LD

1904

OUT

1000

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

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

0000

STC(40)
Mi
Su
R
Soporte Tcnico

SUB(31)
#0100

00
05

SUB, FUN(31) /2

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

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

Soporte Tcnico

A, B = CANALES /CONSTANTES
R=

REGISTRO RESULTADO

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

3300

MUL
10
#0021
DM100

0034

CH 10

X
0021

=
714

Soporte Tcnico

DM100= (CH 10) X 21

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=

DIVIDENDO

B=

DIVISOR

R=

COCIENTE

R+1 =

RESTO

Soporte Tcnico

A, B = CANAL / CONSTANTE

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

3300

DIV
10
#4
LR10

133

CH 10

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


4

Soporte Tcnico

33

LR 10

LR 11

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

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

También podría gustarte