Programación de PLC
• Programación Ladder
– Programación básica muy similar a diagramas
eléctricos de relés y contactores
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 1
Programación de PLC
• Programación Ladder
– Contacto (contact) = entrada
– Bobinado (coil) = salida
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 2
Programación de PLC
• Programación Ladder
– Rung = network = línea = camino entre línea
izquierda y derecha
Siempre flujo desde la izquierda hacia la derecha
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 3
Programación de PLC
• Instrucciones básicas
– Instrucciones sobre entradas
• Contacto NA (XIC)
• Contacto NC (XIO)
– Instrucciones sobre salidas
• Prender/apagar (coil)
• Enclavar/desenclavar (Latch/Unlatch)
• Flanco subiendo (Rising Edge)
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 4
Programación de PLC
• Contacto NA • Contacto NC
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 5
Programación de PLC
• Prender/apagar (coil)
Salida externa (real)
Salida interna (no real)
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 6
Programación de PLC
• Enclavar/desenclavar (latch/unlatch)
Prender y enclavar
Apagar y desenclavar
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 7
Programación de PLC
• Flanco subiendo
Se ocupa mucho con contadores o temporizadores
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 8
Programación de PLC
• ¡Ojo con el ciclo de trabajo del PLC!
Se prenden al
mismo tiempo
¿Y aquí?
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 9
Programación de PLC
• ¡Ojo con el NA y NC!
Contacto NC (por ejemplo pulsante)
¿Prendido o
apagado?
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 10
Programación de PLC
• ¡Ojo con flujo de derecha a izquierda!
No autorizado!!!
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 11
Programación de PLC
• Ejemplo de programación básica (AB)
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 12
Programación de PLC
• Temporizadores
– Reemplazan temporizadores electromecánicos
– Más preciso, más barato, no ocupa espacio
– 3 parámetros:
• Time base
• Preset value
• Accumulated value
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 13
Programación de PLC
• Temporizadores
– Time base = tiempo de referencia para
caracterizar el temporizador
– Preset value (Preset Time) = número de veces
que se debe esperar el tiempo de referencia
– Accumulated value (Current Value) = valor
instantáneo del número de veces que se ha
recorrido el tiempo de referencia desde la
activación del temporizador
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 14
Programación de PLC
• Temporizadores
Time base = 0.01s Han pasado 1,5 segundos
Preset value = 300 El temporizador se activará
después de 3 segundos, pero
Accumulated value = 150 todavía no esta activado
Time base = 1s
Preset value = 25
Accumulated value = 34
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 15
Programación de PLC
• Temporizadores – ON-DELAY
Entrada
T4:18/EN
T4:18/DN
Preset Time
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 16
Programación de PLC
• Temporizadores – OFF-DELAY
Entrada
T4:18/EN
T4:18/DN
Preset Time
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 17
Programación de PLC
• Temporizadores – Retentive Timer (memoria)
No se resetea si la entrada
es desactivada!!
Requiere un reset externo!!
Entrada
T4:7/EN
T4:7/DN
T1 T2 Preset Time = T1+T2
RES(T4:7)
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 18
Programación de PLC
• Temporizadores – Retentive Timer (memoria)
Siemens Ejemplo
TONR
T1
IN TONR
PT 10ms
T1
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 19
Programación de PLC
• Temporizadores – Enclavamiento
– Enclavamiento permite evitar de mantener activada la
entrada
Contacto instantáneo
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 20
Programación de PLC
• Temporizadores – Enclavamiento
– En un PLC, el temporizador no tiene contacto
instantáneo
– Uso de bobinado interno adicional
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 21
Programación de PLC
• Temporizadores – Enclavamiento
– En un PLC, el temporizador no tiene contacto
instantáneo
– Uso de la salida EN del temporizador (si existe)
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 22
Programación de PLC
• Temporizadores – Ejemplo
Entradas Salidas
PL = Pulsante baja velocidad CL = Contactor baja velocidad
PH = Pulsante alta velocidad CH = Contactor alta velocidad
PS = Pulsante stop
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 23
Programación de PLC
• Temporizadores – Ejemplo
Funcionamiento deseado
• Aplastar PL arranca el motor en baja velocidad
• Aplastar PH arranca el motor en baja velocidad durante 10 segundos
antes de pasar a alta velocidad, excepto si ya estaba girando el motor a
baja velocidad
• Aplastar PS para el motor
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 24
Programación de PLC
• Temporizadores – Ejemplo
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 25
Programación de PLC
• Temporizadores – Ejemplo
Implementación con PLC Siemens
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 26
Programación de PLC
• Contadores
– Preset value = valor meta del contador
– Accumulated value (Current Value) = valor
instantáneo del contador. Incremento o
decremento de 1.
– Ojo, si la entrada cambia rápidamente, no se
detecta y no se cuenta bien…
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 27
Programación de PLC
• Contadores – Count Up
Cada transición OFF-ON de la entrada incrementa el valor acumulado.
Cuando el valor acumulado sobrepasa el valor de preset, la salida DN
del contador se activa, PERO no se resetea el contador.
Es necesario un reseteo externo…
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 28
Programación de PLC
• Contadores – Count Up
Cada transición OFF-ON de la entrada reduce el valor acumulado de 1.
Cuando el valor acumulado pasa debajo del valor de preset, la salida
DN del contador se activa, PERO no se resetea el contador.
Es necesario un reseteo externo…
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 29
Programación de PLC
• Contadores – Count Up/Down combinado
Los contadores se combinan para permitir incrementar o disminuir el
valor acumulado de un contador.
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 30
Programación de PLC
• Contadores – Reseteo
Permite resetear el valor
acumulado a 0
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 31
Programación de PLC
• Contadores – Caso Siemens
Contador UP, DOWN y UP/DOWN.
Reseteo local sin instrucción externa.
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 32
Programación de PLC
• Contadores – Casos Particulares
Auto reseteo… peligroso
Mejor instrucción de clear o detección del flanco para
incremento del contador
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 33
Programación de PLC
• Contadores – Casos Particulares
Conteo de valores altos
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 34
Programación de PLC
• Contadores – Ejemplos
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 35
Programación de PLC
• Contadores – Ejemplos
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 36
Programación de PLC
• Contadores – Ejemplos
ENCODER
CON PLC WAGO
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 37
Programación de PLC
• Datos BCD – Binary Coded Decimal
– Ciertos equipos comunican con código decimal
– Ello requiere 4 bits de entrada o salida en el PLC
Decimal BCD
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 38
Programación de PLC
• Datos BCD – Binary Coded Decimal
– Ejemplo de entrada BCD
– Ejemplo de salida BCD: display 7-segmentos
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 39
Programación de PLC
• Datos BCD – Binary Coded Decimal
– Instrucción de conversión desde BCD hacia binario normal
BCD-I
EN ENO
Allen-Bradley Siemens
IN OUT
– Instrucción de conversión desde binario normal hacia BCD
I-BCD
EN ENO
Allen-Bradley Siemens
IN OUT
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 40
Programación de PLC
• Datos BCD – Binary Coded Decimal
– Instrucción de conversión desde BCD hacia binario normal
BCD-I
EN ENO
Allen-Bradley Siemens
IN OUT
– Instrucción de conversión desde binario normal hacia BCD
I-BCD
EN ENO
Allen-Bradley Siemens
IN OUT
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 41
Programación de PLC
• Mover datos es una función básica de los PLCs
– Instrucción MOV
Allen-Bradley
– Instrucción MVM (Masked Move)
Allen-Bradley
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 42
Programación de PLC
• Mover datos es una función básica de los PLCs
– Instrucción MOV Siemens
MOV_B
EN ENO
IN OUT
– Instrucción MVM (Masked Move)
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 43
Programación de PLC
• Caso particular de uso de FRD y MOV
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 44
Programación de PLC
• Datos – Ejemplos
– Escribir la hora en el display de 4 veces 7-segmentos
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 45
Programación de PLC
• Comparaciones
– Igualdad
Allen-Bradley Siemens ==
– Desigualdad
– Mayor
– Mayor o igual
– Menor
– Menor o igual
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 46
Programación de PLC
• Comparaciones
– Posibilidad de usar una mascara
Allen-Bradley
– Posibilidad de combinar para definir si un valor
esta dentro de un cierto rango
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 47
Programación de PLC
• Jump/branch
– JMP permite saltar a una línea particular
– LBL refiere a la línea de interés
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 48
Programación de PLC
• Jump/branch
– JMP permite saltar a una línea particular
– LBL refiere a la línea de interés
Autor - Dr. Ing. Laurent Sass (09)2744.624 - (02)2393.011 49