PROGRAMACI - PowerPoint PPT Presentation

1 / 32
About This Presentation
Title:

PROGRAMACI

Description:

EL CONTENIDO DEL CANAL FUENTE S SE TRANSFIERE AL CANAL DESTINO D. ... COGER 1005. SOLTAR 1006. 0 1 2 3 4 5 6 7 8. CICLO DE TRABAJO. LS1. LS2. LS3. LS4. LS5. B. A ... – PowerPoint PPT presentation

Number of Views:60
Avg rating:3.0/5.0
Slides: 33
Provided by: omronelec
Category:
Tags: programaci | coger

less

Transcript and Presenter's Notes

Title: PROGRAMACI


1
PROGRAMACIÓN AVANZADA DE PLCs
2
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
3
EJEMPLO. EMBOTELLADORA
  • EL MOTOR M1 ESTARÁ EN MARCHA HASTA
  • QUE LA FOTOCÉLULA F1 DETECTE

F1
E1
  • 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
ENTRADAS
F1 0000
CÉLULA DA CARGA ENTRADA ANALÓGICA
SALIDAS
M1 1000
E1 1001
4
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

5
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
IN
SFT
LD 0000
0001
CP
LD 0001
05
LD 0002
0002
R
SFT (10) 05
06
06
CH 05
0 1 2 3
14 15
DATOS
ESTE DATO SE PIERDE
0 1 2 3
14 15
CH 06
6
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.

7
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).
SALIDAS
START MOTOR 1000
RECHAZADOR 1001
AUX 1002
CLOCK HR0000
8
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
9
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 1006
0 1 2 3 4 5
6 7 8
CICLO DE TRABAJO
10
RELLENAR BLOQUE, FUN(71) _at_FUN(71)
  • FUNCIÓN TRANSFIERE EL DATO CONTENIDO EN UN
    CANAL (O CONSTANTE)
  • A UN GRUPO DE CANALES ESPECIFICADOS.

D DATO
I CANAL INICIAL
F CANAL FINAL
11
RELLENAR BLOQUE, FUN(71) _at_FUN(71)
3200
BSET
2345
DM10
DM20
DM10
2345
DM11
DM20
12
MOVER BLOQUE, FUN(70) _at_FUN(70)
  • FUNCIÓN TRANSFIERE DATOS DE VARIOS CANALES
    CONSECUTIVOS A
  • OTROS CANALES TAMBIÉN CONSECUTIVOS

XFER
N Nº CANALES
N
O CANAL ORIGEN
O
D CANAL DESTINO
D
13
MOVER BLOQUE, FUN(70) _at_FUN(70)
3300
XFER
4
LR00
HR04
LR 0000
3456
HR 0400
3456
LR 0001
5629
HR 0401
5629
LR 0002
5894
HR 0402
5894
LR 0003
8974
HR 0403
8974
14
MENSAJE, FUN(46) _at_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

N CANAL DE COMIENZO
NOTA EL ÚLTIMO CARÁCTER DEBE SER OD
15
MENSAJE DE LONGITUD DOBLE, FUN(47) _at_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 CANAL DE COMIENZO
N
D CANAL DE DESTINO
D
NOTA EL ÚLTIMO CARÁCTER DEBE SER OD
16
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
CNTR12
N Nº CANAL DE COMIENZO
DI
N
(000 A 511)
R
SV VALOR SELECCIONADO
SV
IR, SR, AR, DM, HR, LR,
17
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.

18
EJEMPLO. SECUENCIA DE MENSAJE EN CONSOLA DE
PROGRAMACIÓN
  • 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.
19
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.

20
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
0432
DM0432
EN ESTE CASO SV 1547
21
DIRECCIONAMIENTO INDIRECTO
Ejemplo
Canal
Contenido
DM 0000
4C59
MOV(21)
DM 0001
1111
DM 0001
Dirección indirecta
DM 0002
F35A
Indica DM 1111.
LR 00
DM 1111
5555
5555 movido a LR 00.
DM 1112
2506
DM 1113
D541
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.
22
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

23
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
24
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) A1A2CY

LD 0000
STC(40)
ADD(30)
A1
HR00
0001
A2
HR00
R
25
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
  • 10000R
  • 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

26
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

LD 0000
STC(40)
SUB(31)
Mi
0100
Su
00
05
R
27
SUB, FUN(31) /2
  • SEGÚN LOS VALORES QUE TENGAN Mi Y Su, SE TIENEN
    LOS SIGUIENTES
  • CASOS
  • SI Mi Y Su NO ESTÁN EN EL FORMATO BCD, LA
    OPERACIÓN NO SE
  • EJECUTA, Y ER 1

28
MULTIPLICACIÓN BCD, FUN(32) _at_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 CANALES /CONSTANTES
A
R REGISTRO RESULTADO
B
C
29
MULTIPLICACIÓN BCD, FUN(32) _at_FUN(32)
3300
MUL
10
0021
DM100
0034
CH 10
X
0021

714
DM100 (CH 10) X 21
30
DIVISIÓN BCD, FUN(33) _at_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).

A DIVIDENDO
DIV
B DIVISOR
A
R COCIENTE
B
R1 RESTO
C
A, B CANAL / CONSTANTE
31
DIVISIÓN BCD, FUN(33) _at_FUN(33)
3300
DIV
10
4
LR10
133
CH 10
(CH 10) (LR 10) X 4 LR 11
4
33
LR 10
1
LR 11
32
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

DM1
4 DÍGITOS MENORES
DM0
  • DATO B 4 DÍGITOS MAYORES

DM3
4 DÍGITOS MENORES
DM2
  • EL RESULTADO SE GUARDARÁ EN
  • DÍGITO NUM 9

DM6
  • 4 DÍGITOS MAYORES

DM5
  • 4 DÍGITOS MENORES

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.
Write a Comment
User Comments (0)
About PowerShow.com