PROGRAMACIÓN
AVANZADA DE PLC’s
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
Soporte Técnico
EJEMPLO. EMBOTELLADORA
F1
E1
 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,
M1
SE ACTIVARÁ E1 Y DESPUÉS DE 3
SEGUNDOS, LA CINTA SE PONDRÁ EN
MARCHA HASTA QUE LA FOTOCÉLULA F1
VUELVA A DETECTAR.
4 / 20 mA
ENTRADAS
F1 :
CÉLULA DA CARGA:
0000
ENTRADA ANALÓGICA
SALIDAS
M1 :
E1 :
Soporte Técnico
1000
1001
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
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
IN
0001
CP
0002
R
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 Técnico
CH 06
14 15
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.
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
PRESENCIA
BUENA/MALA
START
STOP
EMERGENCIA
Soporte Técnico
SALIDAS
0007
0001
0002
0003
0004
0005
START MOTOR
RECHAZADOR
AUX
CLOCK
1000
1001
1002
HR0000
EJEMPLO. APLICACIÓN FUNCIÓN SFT
SENSOR DE PRESENCIA EN PUESTO
SENSOR “BUENA / MALA”
RECHAZADOR
Soporte Técnico
0
1
2
3
4
5
6
7
8
9
1
1
0
0
0
1
0
1
0
1
EJEMPLO. BRAZO ROBOT
START 0000
LS3
IZQ
PS1
LS1
A
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
0
1
2
3
4
5
CICLO DE TRABAJO
Soporte Técnico
6
7
8
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= DATO
D
I= CANAL INICIAL
I
F= CANAL FINAL
F
Soporte Técnico
RELLENAR BLOQUE, FUN(71) @FUN(71)
3200
BSET
#2345
DM10
DM20
#2345
DM10
#2345
DM11
#2345
DM20
Soporte Técnico
#2345
MOVER BLOQUE, FUN(70) @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
Soporte Técnico
MOVER BLOQUE, FUN(70) @FUN(70)
3300
XFER
#4
LR00
HR04
Soporte Técnico
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)
 FUNCIÓN: LEE LOS DATOS ASCII CONTENIDOS EN OCHO CANALES (16
CARACTERES) Y LOS VISUALIZA EN EL DYSPLAY DEL DISPOSITIVO DE
PROGRAMACIÓN
MSG
N= CANAL DE COMIENZO
N
NOTA: EL ÚLTIMO CARÁCTER DEBE SER OD
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
N= CANAL DE COMIENZO
D= CANAL DE DESTINO
D
NOTA: EL ÚLTIMO CARÁCTER DEBE SER OD
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
# (000 A 511)
SV= VALOR SELECCIONADO
IR, SR, AR, DM, HR, LR, #
Soporte Técnico
EJEMPLO. SECUENCIA DE MENSAJE EN CONSOLA DE PROGRAMACIÓN
Utilizar la instrucción MSG para mostrar mensajes en la
consola de programación PRO-27.
 APLICACIÓN:

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.
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.
Soporte Técnico
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 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.
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
EN ESTE CASO SV = 1547
Soporte Técnico
#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
Dirección
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 Técnico
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
DURACIÓN DEL PROCESO.
DATOS
 Tº ENTRADA ANALÓGICA: CANAL 101
 INICIO DATOS:
DM 0001
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)
Soporte Técnico
LD
1904
OUT
1000
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
LD
0000
STC(40)
A1
A2
ADD(30)
HR00
#0001
HR00
R
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
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
LD
0000
STC(40)
Mi
Su
R
Soporte Técnico
SUB(31)
#0100
00
05
SUB, FUN(31) /2
 SEGÚN LOS VALORES QUE TENGAN Mi Y Su, SE TIENEN LOS SIGUIENTES
CASOS:
DATOS
RESULTADO
CY
EQ
Mi > Su
R= Mi - Su
0
0
0
1
1
0
Mi = Su
Mi < Su
R= 0
R= Mi + (10000-Su)
 SI Mi Y Su NO ESTÁN EN EL FORMATO BCD, LA OPERACIÓN NO SE
EJECUTA, Y ER = 1
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
Soporte Técnico
A, B = CANALES /CONSTANTES
R=
REGISTRO RESULTADO
MULTIPLICACIÓN BCD, FUN(32) @FUN(32)
3300
MUL
10
#0021
DM100
0034
CH 10
X
0021
=
714
Soporte Técnico
DM100= (CH 10) X 21
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=
DIVIDENDO
A
B=
DIVISOR
R=
COCIENTE
R+1 =
RESTO
B
C
Soporte Técnico
A, B = CANAL / CONSTANTE
DIVISIÓN BCD, FUN(33) @FUN(33)
3300
DIV
10
#4
LR10
133
CH 10
(CH 10) = (LR 10) X 4 + LR 11
4
Soporte Técnico
33
LR 10
1
LR 11
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:
– DATO B:
4 DÍGITOS MAYORES
DM1
4 DÍGITOS MENORES
DM0
4 DÍGITOS MAYORES
DM3
4 DÍGITOS MENORES
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.
Soporte Técnico
Descargar

PROGRAMACION AVANZADA DE PLCs