Está en la página 1de 154

CONTROLADORES LÓGICOS

PROGRAMABLES

Instructor: Ingeniero Federico A.


Ayestarán
Docente Depto. Ingeniería
Mecánica U.T.N Facultad Regional
Delta
¿Qué es un PLC o Controlador programable?
ENTRADAS SALIDAS

Es un computador industrial dedicado a controlar elementos de salida


basado en el estado de las entradas y un programa desarrollado por el
usuario.
Controladores Lógicos Programables
( Definición de P.L.C. según la norma IEC 1131)
Un PLC (Programmable Logic Controller) es un sistema
electrónico de funcionamiento digital que utiliza una memoria
programable para el almacenado de instrucciones orientadas al
usuario, para la realización de funciones específicas para
controlar, a través de entradas y salidas diversos tipos de
máquinas o procesos.
Origen de los PLC
• Se desarrollaron para reemplazar a los relés a fines de los 60.

• La reducción de costos los hicieron populares para 1980.

• Actualmente se los usa en muchos diseños industriales.


Contexto Histórico
La Hydramatic Division de la General Motors Corporation especificó el
criterio de diseño para el primer controlador programable en1968

Su objetivo primordial

Eliminar los altos costos asociados con los poco flexibles sistemas
controlados por relés.
Componentes principales de un PLC
FUENTE DE
PODER

M D M D
Ó E Ó E
D D
U E U S
L N L A
PROCESADOR
O T O L
R I
De los A D A las
SENSORES D A SALIDAS
Pulsadores, A Solenoides,
contactos, contactores,
Fines de carrera, alarmas
etc. etc.
ELEMENTO DE
PROGRAMACIÓN
Componentes principales de un PLC
FUENTE DE PODER

Proporciona el voltaje necesario para que funcionen los componentes primarios


del PLC

MÓDULOS DE ENTRADA/SALIDA

Producen la conversión de señales y la aislación entre las señales de lógica


interna del PLC y las señales de campo de alto nivel.
Componentes principales de un PLC

PROCESADOR (CPU)
Este bloque es el cerebro del PLC. Provee la inteligencia para comandar y
gobernar las actividades de todos los sistemas del PLC. Su función es interpretar
las instrucciones del programa de usuario y en función de las entradas, activar
las salidas deseadas
Componentes principales de un PLC
ELEMENTO DE PROGRAMACIÓN
Se lo utiliza para ingresar el programa deseado que determinará la secuencia de
operaciones y el control del equipo de proceso o la máquina controlada.
Generalmente se utiliza un programador manual. Estos aparatos se montan
sobre el P.L.C. y el programa se carga directamente a través del teclado hacia la
memoria. Otra posibilidad es usar una PC que tenga instalado el software de
programación correspondiente a la marca y modelo del PLC. Conectada
mediante el puerto serie o Ethernet
Componentes principales de un PLC
ELEMENTOS DE PROGRAMACIÓN

Cable serie RS-232

PC
Programador manual
Componentes principales de un PLC
MÓDULOS DE E/S

• La interfase de E/S de un PLC lo conecta a los dispositivos externos de


campo.

• El propósito principal de la interfase de E/S es condicionar las diferentes


señales recibidas de los dispositivos externos de entrada o enviadas a los
de salida.

• Los módulos de entrada convierten las señales de dispositivos de entrada


analógicos o digitales a niveles de lógica aceptable para el procesador del
PLC.

• Los módulos de salida convierten la señal del procesador a niveles capaces


de controlar los dispositivos de salida discretos o analógicos conectados.
Elementos de entrada
• Pulsadores •120 V CA

• Interruptores selectores • 240 V CA

• Sensores de posición • 12 V CC

• Sensores de nivel • 24 V CA/CC

• Sensores fotoeléctricos • TTL

• Sensores de proximidad

• Contactos auxiliares de contactores

• Contactos de relé

• Tumbwheel switches (como la ruedita del mouse)


Elementos de entrada
Estas señales ingresan directamente a el P.L.C. si son digitales o, en el
caso de que sean analógicas (de tensión: 0V a 10V ó de corriente: 0 (4)
mA a 20 mA) deben ser previamente transformadas mediante un
convertidor analógico digital que las traduce a binario antes de ingresar
al PLC.
Elementos de entrada
Comparación entre señales de corriente y de tensión
Las señales de corriente tienen la ventaja, respecto de las de tensión,
de que no experimentan caídas de tensión, sobre todo cuando los
cables son largos, pero se utilizan, especialmente en cables cortos, por
su menor costo.

Además si la tensión es cero podría ser el valor que corresponde pero,


si uso de 4 a 20 mA y la corriente es 0, significa que se abrió el circuito
Cableado de entradas
Elementos de salida
• Válvulas •Relés

• Contactores •120 V CA/CC

• Solenoides • 240 V CA/CC

• Relés de control • 24 V CA/CC

• Alarmas •Triac (control velocidad, atenuación de luces)

• Luces • 120 V CA

• Sirenas •MOSFET

• 24 V CC

Estas señales pueden ser emitidas directamente por el PLC en forma


digital o, ser transformadas a analógicas mediante un convertidor D/A que
las traduce luego de egresar del P.L.C.
Cableado de entradas
Ventajas de los PLCs
• Menor cableado.

• El cableado entre los aparatos y los contactos de los relés se


realiza en el programa del PLC.

• Las modificaciones se realizan más rápidamente y con mayor


facilidad.

• Ayuda en la solución de problemas hacen la programación más


fácil y reducen los tiempos muertos

• Componentes confiables hacen probable que operen durante años


antes de fallar.
Los P.L.C. vienen en una variedad de
tamaños…
•Micro

•Típicamente menos de 32 E/S

• Pequeño

• Típicamente menos de 128 E/S

• Mediano

• Típicamente menos de 1024 E/S

• Grande

• Típicamente más de 1024 E/S


Y una variedad de formas/configuraciones…

• P.L.C. Compactos
• P.L.C. Modulares
Clasificación de P.L.C.s
Compactos:
La CPU, la fuente de alimentación, la
sección de entradas y salidas, y el
puerto de comunicación, conforman un
solo bloque

Este tipo de PLC se utiliza cuando


nuestro proceso a controlar no es
demasiado complejo y no requerimos de
un gran número de entradas y/o salidas
ó de algún módulo especial.
P.L.C. Compactos
El número de elementos de entrada y salida es limitado y no puede
expandirse
Estructura del P.L.C. compacto
Clasificación de P.L.C.s
Se dividen en:
Modulares: • Estructura Americana: En la cual se
separan los módulos de entrada/salida del
resto del PLC.

• Estructura Europea: Cada módulo realiza


una función específica; es decir, un módulo es
el CPU, otro la fuente de alimentación, etc.
•. En ambos casos, tenemos la posibilidad de fijar los distintos módulos
(Estructura Modular) o el PLC (Estructura Compacta) en rieles
normalizados.
PLC Modulares
El número de E/S no es fijo y puede expandirse según se necesite.

Indicador de Indicador de E/S


Procesador en RUN forzada

Indicador de Indicador del


Procesador en FLT Puerto DH-485
Indicador del SALIDA 0
Indicador de estado
Puerto RS-232
de batería

Conexión
Ethernet
Llave
DH-485
selectora
RUN, REM,
PROG
ENTRADA 0
Puerto serie
RS-232

Fuente de poder

Módulos de salida

Módulos de entrada
Estructura del P.L.C. modular
1. Rack

2. Barra de compensación de potencial

3.Tarjetas de entradas y salidas

4.Tarjetas de comunicación

5. C.P.U.

6.Tarjeta de memoria

7.Tarjeta de fuente de alimentación


Selección de P.L.C.s
• Capacidad de entradas y salidas
• Lenguajes de programación.
•Cantidad de programas que puede ejecutar al
mismo tiempo (multitarea).
• Cantidad de contadores, temporizadores,
banderas y registros.
• Módulos funcionales (análogos, digitales,
comunicación,..)
• Capacidad de realizar conexión en red de
varios PLC.
• Respaldo de la compañía fabricante del PLC,
servicio y repuestos.
•Compatibilidad con equipos de otras gamas
Estructura de un P.L.C.

• Fuente

• Microprocesadores

• Firmware (programas instalados)

• Software (programas escritos por el


usuario)

• Memoria

• Entradas/Salidas
Unidad Central de Proceso (CPU)
Módulo de entradas

Unidad de
Memoria de programa

control

Memoria de datos
Unidad
aritmética
lógica

Módulo de salidas
Unidad Central de Proceso (CPU)
Es la inteligencia del sistema
La CPU procesa el programa mediante los pasos siguientes:
• La memoria de programa contiene las instrucciones; la unidad central tiene
acceso a la memoria de programa.
• La unidad de control recoge los datos de entrada a través del módulo de
entradas y los transfiere a la unidad aritmética/lógica (ALU); aquí, los datos
son enlazados lógicamente en función de las instrucciones del programa
memorizado;
• La unidad de control finalmente, transfiere los datos de salida al equipo o
proceso controlado a través del módulo de salidas.
Sistema de BUS
Es un sistema que interconecta los diferentes módulos y componentes
que componen un PLC (aunque no todos simultáneamente, sólo entre
dos a la vez)
Cuando una instrucción es traducida al código máquina no es más que
una cadena de ceros y unos. Esta cadena de dígitos binarios se puede
dividir en tres partes:

• Señales de mando (¿Qué ejecutar?)

• Direcciones (¿Dónde ejecutar qué?)

• Datos (¿Qué información hay que dar?)


Sistema de BUS
El sistema bus distribuye la parte de la cadena correspondiente a las
diferentes partes del PLC. Cada parte de la cadena es transmitida por el bus
correspondiente:

• Bus de control
• Bus de direcciones
• Bus de datos

Ejemplo: Que la instrucción sea “ACTIVA S2” (activa salida número 2)


El bus de control señala que se trata de una instrucción de activación/
desactivación. El bus de dirección indica que la instrucción se ha de ejecutar
en la salida S2. El bus de datos señala que no se trata de desactivación sino
de activación.
Sistema de BUS PROGRAMA
MUNDO REAL

MEMORIA ENTRADAS/SALIDAS

DIRECCIONES

DATOS

CONTROL

UNIDAD PROCESADORA CENTRAL


Memoria
Los datos binarios que no se necesitarán en un momento dado del
ciclo del programa tienen que ser memorizados hasta que llegue su
turno de ejecución.

Las instrucciones del programa por ejemplo están en memorias


especiales (memoria de programa); también es preciso memorizar
ciertos resultados interinos del cómputo; los programas y los datos
permanentes, o sean los que no están sujetos a variación, están
retenidos en la memoria de parámetros fijos
Memoria
Memoria
El elemento de memoria más elemental se llama bit por binary digit,
dígito binario en inglés, y puede almacenar una unidad informativa (un
cero o un uno). Un conjunto de varios bits constituye un campo de
memoria (si el campo es de ocho bits, se lo denomina byte); el
conjunto de varios campos constituye un bloque de memoria.
Memoria
Actuar sobre una posición de memoria, haciendo que el contenido de la
misma sea uno o cero, se denomina escribir o grabar.

Viceversa, consultar la información almacenada se denomina leer o


recuperar.
Existen dos formas de escritura/lectura:

• Escritura/lectura organizada en bits: Es preciso indicar línea y


columna del bit requerido.
• Escritura/lectura organizada en bytes: Es necesario sólo
indicar la línea.
(En ambos casos se tiene en cuenta de que la memoria tiene un
direccionamiento de tipo grilla, con palabras ocupando líneas.)
Memoria
Existen dos tipos fundamentales de memoria:

• Memorias de escritura/lectura (RAM Random Access Memory),

• Memorias de sólo lectura (ROM Read Only Memory).


Con la memoria RAM se pueden escribir y borrar los datos las veces
que sea necesario. El PLC la emplea, por ejemplo, para almacenar
datos que necesita la memoria operativa o de trabajo.
La memoria ROM viene programada de fábrica y los datos que contiene
pueden ser leídos pero no alterados o sustituídos. Se la denomina por
eso memoria fija.
También existe un tipo de memoria fija que no es programada en fábrica
sino que la puede programar el usuario. Se la denomina PROM y es
borrable eléctricamente u ópticamente (luz UV).
Memoria
La siguiente tabla ilustra todos los tipos de memoria comentados.

TIPO DE MEMORIA BORRADO PROGRAMACIÓN SIN TENSIÓN ES

RAM MEMORIA DE ESCRITURA/LECTURA ELÉCTRICAMENTE ELÉCTRICAMENTE VOLÁTIL

MEMORIA DE SÓLO LECTURA,


ROM
MEMORIA DE DATOS FIJOS POR MÁSCARAS, EN
IMPOSIBLE
FÁBRICA
PROM MEMORIA FIJA PROGRAMABLE

EPROM MEMORIA FIJA BORRABLE

POR LUZ UV
RPROM MEMORIA FIJA REPROGRAMABLE NO VOLÁTIL

MEMORIA FIJA BORRABLE ELÉCTRICAMENTE


EEROM
ELÉCTRICAMENTE
ELÉCTRICAMENTE
MEMORIA FIJA ALTERABLE
EAROM
ELÉCTRICAMENTE
Programación de P.L.C.s
Al encender el PLC, se efectúa un autodiagnóstico (self test) de la CPU
y las memorias durante el cual, el procesador deshabilita las entradas y
salidas, realiza test de memorias, revisión del programa, test de
configuración de las puertas de comunicaciones. Una vez aceptado el
test, se habilitan las E/S y se pasa a modo de operación NORMAL.
Programación de P.L.C.s
A continuación el PLC tiene un funcionamiento de tipo secuencial y
cíclico, es decir, las operaciones se ejecutan una tras otra hasta
completar un ciclo y este ciclo se repite mientras el PLC se mantenga
energizado y en modo ejecución (RUN).

A este barrido se lo conoce como el scan del plc y el tiempo que tarda en
realizarlo, tiempo de ciclo (scan time), es un parámetro importante en un
PLC, ya que nos da una idea de la rapidez de operación de éste.
Programación de P.L.C.s
El tiempo de ciclo (scan time), es el necesario para ejecutar 1k
instrucciones. Como todas las instrucciones no son iguales, se adoptó
como parámetro el tiempo de ejecución de 1k de memoria vacía

El tiempo de ejecución del programa dependerá de la cantidad de


memoria usada por el programa y por el tipo de instrucciones usadas,
siendo mayor para las operaciones aritméticas o de manipulación de
datos.
Programación de P.L.C.s
El tiempo requerido para realizar un barrido puede oscilar entre 1 y 100
ms y depende de:

• El número de entradas y salidas involucradas

• La longitud del programa del usuario

• El número y tipo de periféricos conectados al controlador

Asumiremos un tiempo de barrido de 2 ms


Programación de P.L.C.s
Podemos pensar que este ciclo de barrido consta de tres fases
importantes, a saber:

1. Fase de entrada

2. Fase de proceso

3. Fase de salida
Programación de P.L.C.s
1. Fase de entrada: En ella se produce la recolección de todas las
señales de entrada que provienen del proceso del sistema y de los
comandos manuales. Ej.: ¿Hay un uno en la entrada E1?


Programación de P.L.C.s

2. Fase de proceso: En ella se analizan las señales provenientes de


las entradas, y según las instrucciones internas del programa se
determinarán que estado deberán tener las salidas. Ej.: Si hubiera
un 1 en E1, se debería poner un 1 en la salida S2.


Programación de P.L.C.s

3. Fase de salida: Finalmente, el PLC actualiza el estado de las


salidas según el estado de las entradas en la fase 1 de acuerdo
con las instrucciones de la fase 2. Ej.: Poner un 1 en S2.
Programación de
P.L.C.s
¿Hay un 1 en la entrada E1? Si es así, poner un 1
en la salida S2. Fase de
Fase de Fase de
entrada proceso salida
24V,110V,220V C.A.; 24VC.C.
P.L.C.
PROGRAMA
...
E1=1 ? S2=1
Ø ... Ø
1 E1=1 s =1
2 1
Lee
Ø Informa Ordena 1
Ø Escribe Ø
Ø Ø
Ø Ø
Ø Ø
Ø Ø
SØ...7
EØ...7

MÓDULO MÓDULO
DE
CPU DE
ENTRADA ALU SALIDA

0V
Programación de P.L.C.s
El programa del P.L.C. es creado con el equipo programador, con éste
se lo almacena en la memoria del PLC. La CPU procesa las señales de
entrada y las convierte en las correspondientes señales de salida.

El programa se compone de una secuencia de instrucciones


Programación de
P.L.C.s
Además cada palabra de entrada (Input Word) dispone de un número
de bits a los que es posible acceder individualmente. Para direccionar
cada bit se los designa de la siguiente manera: Im.n, donde I indica que
es una entrada, m identifica la palabra (en nuestro modelo m sólo
puede valer ø ó 1.) y n, que identifica al bit
La palabra Iwø tiene los siguientes ocho bits: Iø.ø, Iø.1, Iø.2 … Iø.7,
mientras que la Iw1 sólo posee 4 bits: I1.ø… I1.3
15 14 13 12 11 1Ø 9 8 7 6 5 4 3 2 1 Ø

IWØ

3 2 1 Ø

IW1
Programación de P.L.C.s

•Salidas
El PLC FESTO Edutrainer® modelo FC34 tiene una sola palabra de salida
(Output Word), OwØ, que contiene los ocho bits Oø.ø, Oø.1, Oø.2 … Oø.7

7 6 5 4 3 2 1 Ø

OWØ
Programación de P.L.C.s
Lenguajes de programación

Hay varias formas de escribir un programa para PLC.

• STL (Statement List = Lista de instrucciones) o AWL

• LDR (Ladder Diagram = Diagrama de contactos) o KOP

• Diagrama de funciones FUP

El software específico de Festo para programar el aparato (FST


4.10) permite hacerlo en STL o en LDR
Programación de P.L.C.s
•STL (Statement List = Lista de sentencias) o AWL: El
programa consiste en una lista de sentencias. Cada línea
individual del programa contiene una sentencia. Una sentencia
está compuesta de las siguientes partes:

•Instrucciones STL, p.ej., IF, AND, THEN, SET, etc.

•Operandos PLC (es decir entradas, salidas o banderas)


pueden ser de un solo bit o de 16 bits, en cuyo caso se
denominan palabras.
Programación de P.L.C.s
STL (Statement List = Lista de sentencias):
Programación de
P.L.C.s
• LDR (Ladder Diagram = Diagrama de contactos): Es un lenguaje
gráfico que básicamente permite programar el PLC dibujando en la
pantalla de la PC el diagrama de contactos que necesitaríamos armar
con relés y otros componentes para cumplir el mismo tipo de control
que deseamos implementar.

• Fue el primer lenguaje de programación para PLC para minimizar el


entrenamiento de gente acostumbrada a la lógica de relés, y también
por lo facilidad de cambiar un sistema de control a relés a PLC.

• Es el lenguaje más empleado en la programación de PLC y nosotros


no seremos la excepción
Diagramas escalera
Esquemas especializados para documentar sistemas de control
lógicos industriales basados en relés
L1 L2

interruptor lámpara
1

Transformador

Fusible
L1 L2

110 V C.A.
Interruptor Lámpara
1

L1 Fusible L2

24 V C.C.
Interruptor Lámpara
1
Diagramas escalera
P: ¿Por qué todavía los estudiamos, en la era del PLC?
R: Por varias razones:

1. Porque muestran la lógica de un sistema de control


mucho más gráficamente que métodos alternativos

2. Porque son la base de uno de los lenguajes usados para


programar PLCs (Para facilitar la transición al PLC de los
que tenían años de experiencia con la lógica de relés)
Programación de P.L.C.s
En cualquier caso, toda lógica a implementar mediante el programa,
tiene dos elementos que siempre están presentes. Dichos elementos
son:

• Condiciones (Contactos)
• Acciones (Bobinas).
Programación de P.L.C.s
Las primeras tienen que ver con averiguar el estado de un determinado
bit y puede reducirse a dos preguntas básicas:

• Condiciones

¿Tiene el bit un 1? ( Equivalente a: | | )

¿Tiene el bit un cero? ( Equivalente a: |/| )

Las condiciones pueden ser simples o compuestas. En ese último


caso, hablamos de una condición total compuesta por varias condiciones
simples. Cada condición simple constituye una condición parcial
Programación de
P.L.C.s
Condición simple:

I0.0 O0.0

Condiciones compuestas:

I0.0 I0.3 O0.0

I0.0 O0.2
R

I0.0 I0.1
Programación de P.L.C.s

•Acciones

Las acciones tienen que ver con lo que hago dependiendo de si una o
varias condiciones se cumplen o no. Se implementan mediante las
llamadas funciones:
Programación de P.L.C.s
• Función COPY
También llamada Función identidad. Si la condición se cumple, pone
un uno binario (1) en el bit indicado, si la condición no se cumple,
pone un cero binario (ø) en el bit indicado. Veamos un ejemplo:

CONDICIÓN ACCIÓN
Iø.3 Oø.5

| |  ( )


Programación de P.L.C.s
Si la entrada Iø.3 tiene un uno, la función COPY pone un uno en la
salida Oø.5, en caso contrario pone un cero. En ambos casos, la
acción sobre el valor del bit no es retentiva ya que si se modifica el
valor de Iø.3 inmediatamente cambiará el de la salida (por eso se la
denomina COPY ya que la salida “copia” el valor de la entrada.)

• También existe la función NOT COPY que pone un uno en la salida


si la condición no se cumple y viceversa.
CONDICIÓN ACCIÓN
Iø.3 Oø.5

| |  ( / )


Programación de P.L.C.s

• Función SET
Esta función, si la condición se cumple, pone un uno binario (1)
retentivo. Si la condición no se cumple, vuelve a leer el valor de de
la entrada correspondiente (cada 2 ms).
Una vez que se pone un uno, sólo puede modificarse (y poner un
cero) mediante la función que veremos a continuación,
direccionada a la misma salida.
Programación de P.L.C.s
• Función SET

CONDICIÓN ACCIÓN
Iø.3 Oø.5

| |  (S)

Si la entrada Iø.3 tiene un uno, la función SET pone un uno retentivo en


la salida Oø.5, en caso contrario seguirá leyendo el valor de la entrada
cada dos milisegundos.
Programación de P.L.C.s
• Función RESET

En este caso, si la condición representada se cumple, se pone un


cero binario (ø) retentivo. Si la condición no se cumple, vuelve a leer
el valor de la entrada correspondiente (cada 2 ms).

Una vez que se pone un cero, sólo puede modificarse (y poner un


uno) mediante la función SET vista anteriormente, direccionada a la
misma salida.
Programación de P.L.C.s
• Función RESET

CONDICIÓN ACCIÓN
Iø.3 Oø.5

| |  (R)

Si la entrada Iø.3 tiene un uno, la función reset pone un cero retentivo


en la salida Oø.5, en caso contrario seguirá leyendo el valor de la
entrada cada dos milisegundos.
Circuitos electroneumáticos simples
controlados por PLC.
• Primer ejemplo: Cilindro de doble efecto
controlado mediante electroválvulas

La siguiente figura muestra el circuito


1A
electroneumático para controlar un actuador de
doble efecto mediante una válvula neumática
4 2
1V1
direccional de 5 vías y dos posiciones (5/2),
comandada por solenoides. 1Z1 1Y1 5 3 1Y2
1
Circuitos electroneumáticos simples
controlados por PLC.
A su vez, las válvula solenoides son controladas por dos pulsadores: S1
y S2. Cuando se oprime S1 el cilindro debe efectuar la carrera de avance
(sale el vástago) y cuando se oprime S2, la de retroceso.

Se ha usado la que es la disposición normal para circuitos neumáticos:


Comenzando desde abajo hacia arriba se ubican, respectivamente,
Fuente de energía, encima las válvulas de control y en la parte
superior los actuadores. Nótese también la nomenclatura utilizada para
los distintos elementos.
Componentes del circuito neumático
1. 1Z1: Unidad de mantenimiento (Filtro / Reguladora de presión),

con alimentación de aire comprimido.

2. 1V1: Válvula direccional 5/2

3. 1Y1, 1Y2: Solenoides de comando de la válvula direccional,

4. 1A: Actuador de doble efecto.


Esquema de conexiones
Debajo se muestra un esquema de una conexión posible del PLC para
implementar ese circuito lógico.
24V

S1 S2

I0.0 I0.1
P.L.C.
O0.0 O0.1

1Y1 1Y2
ØV
1A+ 1A-
Programa en lenguaje Ladder (LDR)
Debajo se muestra el programa correspondiente en lenguaje LDR que se
debería almacenar en el PLC.
I0.0 O0.0
S

O0.1
R

I0.1 O0.0
R

O0.1
S
Programa en Statement List (STL)
Finalmente, se muestra el mismo programa, escrito ahora en lenguaje
STL .
IF I0.0
THEN SET O0.0
AND
RESET O0.1
IF I0.1
THEN RESET O0.0
AND
SET O0.1
Circuitos electroneumáticos simples
controlados por PLC.
Segundo ejemplo: Dos cilindros de doble efecto actuando en
secuencia cíclica controlados mediante electroválvulas

1.1Z1: Unidad de mantenimiento (Filtro / Reguladora de presión),


con alimentación de aire comprimido.
2.1V1: Válvula direccional 5/2 de comando del primer cilindro.
3.1Y1, 1Y2: Solenoides de comando de la válvula direccional 1V1.
4.1A: Primer actuador de doble efecto.
5.1B1: Fin de carrera de retroceso del primer actuador, a rodillo.
….
Circuitos electroneumáticos simples
controlados por PLC.

6.1B2: Fin de carrera de avance del primer actuador, de proximidad,
capacitivo.
7. 2V1: Válvula direccional 5/2 de comando del segundo cilindro.
8. 2Y1: Solenoide de comando de la válvula direccional 2V1 (el
retorno es por resorte),
9. 2A: Segundo actuador de doble efecto,
10. 2B1, 2B2: Fines de carrera del segundo actuador, a rodillo.
Circuito
electroneumático 1B1 1B2

1A
2B1 2B2

2A
1V1 4 2

1Y1 5 1Y2
3
1 2V1 4 2

2Y1 5 3
1
Distribuidor
1Z1
Esquema de conexiones:

24V
S1 1B2
1B1 2B2
2B1

I0.0 I0.1 I0.2 I0.3 I0.4


O0.0 O0.1 O0.2

1Y1 1Y2 2Y1


ØV

1A+ 1A- 2A+


Diagrama de espacio - fase:
1 2 3 4 5

Para el Ejemplo 2, el diagrama de


S1
espacio-fase correspondiente es:
A 2B2
1B2 1B1
2B1

B
Programa en LDR: I0.0 O0.0
R

I0.0 I0.4 O0.1


S

I0.0 I0.3 O0.0


S
O0.1
R

I0.0 O0.2
R
I0.0 I0.1

I0.0 I0.2 O0.2


S
IF N I0.0
OR
IF I0.0
AND I0.4
THEN RESET O0.0
AND
SET O0.1
IF I0.0
AND I0.3
THEN SET O0.0
AND En lenguaje STL
RESET O0.1
IF N I0.0
OR
IF I0.0
AND I0.1
THEN RESET O0.2
IF I0.0
AND I0.2
THEN SET O0.2
Programación de P.L.C.s
Cascada de flags:

Para mostrar la razón por la que necesitamos este recurso


programático analicemos el siguiente sistema neumático de dos
actuadores que cumplen el siguiente ciclo: Sale el cilindro 1 y cuando
completa la carrera de avance, sale el cilindro 2. Inmediatamente
después de completar su carrera de avance, el 2 comienza la de
retroceso. Finalmente, cuando la carrera de retroceso del 2 termina,
comienza la de retroceso del 1.
Circuito electroneumático

1B1 1B2 2B1 2B2

1A 2A

4 2 4 2
1V1 2V1

1Y1 5 3 2Y1 5 3 2Y2


1 1
Programación de P.L.C.s
Cascada de flags: El siguiente es el diagrama de espacio-fase del
ciclo descrito
1 2 3 4 5

1A
1B2 2B1
1B1

2B 2B2
Cascada de flags
Esquema de conexiones

24V
S1 1B2
1B1 2B2
2B1

I0.0 I0.1 I0.2 I0.3 I0.4


O0.0 O0.1 O0.2

1Y1 2Y1 2Y2


ØV

1A+ 2A+ 1A-


Cascada de flags
Componentes del circuito

Los componentes incluyen:

1. Un pulsador de arranque/parada

2. Fines de carrera a rodillo para las carreras de retorno de ambos


actuadores y la de avance del A

3. Un detector de proximidad capacitivo para la carrera de avance del B.


Programa en LDR
I0.0 I0.1 I0.2 I0.3 I0.4 O0.0
1 S

I0.1 I0.2 I0.3 I0.4


O0.1
2 S

I0.1 I0.2 I0.3 I0.4 O0.2


3 S

O0.1
R

I0.1 I0.2 I0.3 I0.4 O0.0


4 R
¡Problema con el barrido!
Analizando el programa en LDR, vemos que las condiciones en la líneas
2 y 4 son las mismas, por lo tanto, dada la gran velocidad de barrido,
ambas se ejecutarán casi simultáneamente, lo que hará que el
cilindro 1A retroceda prematuramente.
Programación de P.L.C.s
Cascada de flags: Para evitar este tipo de problemas se debe
implementar algún mecanismo para que las líneas sólo se puedan
ejecutar de una a la vez y, además, que las que ya se ejecutaron no
puedan volver a ser ejecutadas, a menos que así lo desee el
programador.

El mecanismo idóneo para lograr este fin se conoce con el nombre de


Cascada de flags.
Flags
Los flags son bits auxiliares internos (es decir que no se pueden
acceder directamente como entradas ni tienen conexión directa a
salidas) a los que pueden ser asignados un valor “0” o “1”, como
elementos de control.
Reglas para Cascada de flags:
1. Incluir tantos flags como líneas tenga la secuencia.

2. El primer flag debe estar en estado “cero” (-|/|-) (Es el bit que
define el inicio de la secuencia). Es el programador quien define la
línea en que inicia la secuencia.

3. El resto de los flags utilizados se incluyen en la secuencia en


estado “1” (-| |-).


Reglas para Cascadas de flags

4. Una condición muy importante es que los flags utilizados deberán


estar en estado cero (-|/|-) antes de poner el PLC en RUN.

5. Una vez que se cumple la primera línea de la secuencia, NO DEBE


VOLVERSE A EJECUTAR hasta que el programador decida lo
contrario

6. Una vez ejecutada esa primera línea de la secuencia, se deberá


setear el flag correspondiente a la misma línea. Esto es
necesario para que esa línea no pueda volver a ejecutarse.
Reglas para Cascadas de flags
...

7. En todas las líneas siguientes, excepto la última, se deberá resetear


el flag correspondiente a esa línea y setear el flag de la línea que
debe ejecutarse a continuación .

8. En la última línea se resetea el flag de la misma línea para que no


se ejecute más y se resetea el flag del bit de inicio para poder
reanudar la secuencia nuevamente.
Estructura general de una cascada de flags
S 1ª línea de
secuencia
(No necesariamente
S
la superior)
.....................................
R
Línea de secuencia
intermedia
S

.....................................

R
Última línea de
la secuencia
R
Modificando el LDR para incluir la
Cascada de flags
Veremos a continuación cómo modificar el programa en LDR anterior
con una cascada de flags para solucionar el problema.

Además se agrega un pulsador para que inicie la secuencia al oprimirlo


y la pare al soltarlo.
F0.0 I0.0 I0.1 I0.2 I0.3 I0.4 O0.0
1 S
F0.0
S
F0.1
S
F0.1 I0.1 I0.2 I0.3 I0.4
O0.1
2 S
F0.1
R
F0.2

F0.2 I0.1 I0.2 I0.3 I0.4


S
O0.2
Programa en LDR
3 S (las modificaciones se
O0.1
R
F0.2
indican en rojo)
R
F0.3
S
F0.3 I0.1 I0.2 I0.3 I0.4
O0.0
4 R
F0.3
R
F0.0
R
Operandos Multibit
P: ¿Para qué sirven los comandos multibit?

R: Permiten operar con entradas y salidas analógicas, básicamente


tensiones (0 a 10 V) y corrientes (0 a 20 mA o 4 a 20 mA) como, p.ej., la

señal que manda un sensor de temperatura:

TE

0 … 20 mA
TT A Iw.n
11 10 9 8 7 6 5 4 3 2 1 0

D
Operandos Multibit
P: ¿En cuántas partes puedo dividir el rango de la señal analógica de
entrada?

R: Depende de la resolución del PLC (la cantidad de bits disponibles)

10 bits 1024
12 bits 4096
16 bits 65536
Operandos Multibit
También hay resolución en las salidas y no necesariamente coincide
con la resolución de las entradas

U: 0 … 10 V
D
U/
I 0 … 20 mA
A I:
4 … 20 mA
Operandos Multibit
Cajas de comparación (símbolos en la parte de condición)

Una caja de comparacíón permite que los comandos multibit hagan


comparaciones.
Una comparación permite que valores analógicos sean procesados,
contadores ser evaluados repetidamente, etc. La siguiente tabla
muestra las operaciones posibles (El operador = es el operador por
defecto).
Operandos multibit
Cajas de comparación
Ícono Operador Operación Descripción
= Igual a

<Operador>
> Mayor que Una señal de 1 se transfiere a
< Menor que la derecha si la comparación es
satisfactoria.
>= Mayor o igual En caso contrario, se transfiere
<= Menor o igual una señal de 0.
<> Distinto que
Operaciones multibit
con dos operandos
Icono Operador Operación Breve descripción

Carga el contenido de un operando multibit en otro


(LOAD) TO Cargar a
<Operador> operando multibit

SWAP Intercambiar bits Intercambia los bytes bajo y alto

Todos los bits de un operando multibit se corren a la


SHL Correr a la izquierda
izquierda; el bit de la derecha se hace 0

Todos los bits de un operando multibit se corren a la


SHR Correr a la derecha
derecha; el bit de la izquierda se hace 0

Mueve todos los bits a la izquierda y toma el bit


ROL Rotar a la izquierda
expulsado por izquierda como el 1° a la derecha

Mueve todos los bitsa la derecha y toma el bit


ROR Rotar a la derecha
expulsado por derecha como el 1° izquierda

INV Invertir Inverte todos los bits


CPL Crear complemento Invierte el signo
BID BINARIO a BCD Convierte BINARIO a BCD (Binary-Coded Decimal)
DEB BCD a BINARIO Convierte BCD a BINARIO
Operaciones multibit con dos operandos
Ejemplo:

TO Si se cumple la condición, la
instrucción pone el valor
<Condición>
V850 R0 decimal 850 en el registro R0
Operaciones multibit con tres operandos
Icono Operador Operación Breve descripción
Operaciones Multibit con 3 operandos
Vinculación lógica “Y” entre
<Operador> AND Vínculo “Y”
palabras
Vinculación lógica “O” entre
OR Vínculo “O”
palabras
Vinculación lógica “O exclusivo”
EXOR Vínculo “O excl.”
entre palabras
* Multiplicación Multiplicación por palabras
/ División División por palabras
+ Adición Adición de palabras
- Sustracción Sustracción de palabras
Operaciones multibit con tres operandos
Los dos operandos multibit a los que se les aplica la operación - Operando 1
arriba, Operando 2 abajo – se introducen en el lado de entradas de la caja
(izquierda). El operando en el que se almacena el resultado de la operación va
en el lado de salida (derecha). La operación se indica en la caja.

En el ejemplo de abajo, si la condición I0.1 se cumple, al valor en el registro R0


se le suma la constante 25 y el resultado se almacena en el registro R30

I0.1
+
R0 R30
V25
Programación de P.L.C.s
Operandos multibit – Ejemplos:
Supongamos tener una señal analógica de corriente (0 a 20 mA) que
corresponde a la temperatura de un reactor medida por una termocupla
y transmitida por un transmisor cuyo rango es de 400 a 1200 °C. En
dicho reactor tiene lugar un determinado proceso cuya temperatura no
debe ser inferior a 850°C, pero tampoco superar los 925°C. ¿Cómo
podemos implementar las señales y enclavamientos por medio de un
PLC?
Programación de P.L.C.s
Operandos multibit – Ejemplos:
Primero hagamos algunos cálculos:

Por los datos dados, vemos que cuando la termocupla lee 400°C, el
transmisor mandará una señal de 0 mA y si la temperatura fuera de
1200°C, la señal sería de 20 mA.

Supongamos ahora que tenemos un convertidor A/D de 12 bits. Como


212 = 4096, cualquier señal analógica en el rango de 0 a 20 mA se
convierte en un número entre 0 y 4095 (en realidad en sus
equivalentes binarios, es decir, entre  y
111111111111).
Programación de P.L.C.s
Operandos multibit – Ejemplos:

11 111

 11111111111111
Señal digital (binaria)

0 2304 2688 4095


Señal digital (decimal)

0 mA 20 mA
11,25 mA 13,125 mA
Señal analógica

400°C 850°C 925°C 1200°C


Temperatura
Programación de P.L.C.s
Operandos multibit – Ejemplos:
Temperaturas Señal analógica Señal digital Señal digital
[°C] [mA] decimal binaria
400 0 0 000000000000
… … … …
850 11,25 2304 100100000000
… … … …
925 13,125 2688 101010000000
… … … …
1200 20 4095 111111111111

20mA
Resolucion   0,004883mA
4096
Operandos multibit – Ejemplos:
Para monitorear la temperatura necesitamos almacenar el valor de la
temperatura en la memoria, p. ej., en el Iw. A continuación podemos
usar cajas de comparación.
O0.0
<=

Iw
V850

O0.1
>=

Iw
V925
Operandos multibit – Ejemplos:
TE
0 … 20 mA
24V A TT
D

12 bits

Iw ¡Si la temperatura no está


O0.0 O0.1 en el rango adecuado, se
PLC
encenderá una alarma!

ØV
H1 Alarma: (T < 850°C) H2 Alarma: (T > 925°C)
Operandos multibit – Ejemplos:
Para controlar la temperatura en forma efectiva necesitamos algún
elemento como, p. ej., una válvula que actúe sobre el proceso. Esta
válvula debe poder posicionarse en cualquier posición entre 0 y 100%.
Esto puede lograrse mediante una señal analógica de 0 a 10 V a un
transductor que, a su vez mande una señal neumática de entre 3 y 15 psi
al actuador de la válvula.

Sobra decir que, además, debe haber un programa en el PLC que, para
cada entrada Iw calcule el valor a colocar en la salida digital Ow
Operandos multibit – Ejemplos:
24V
A
D 0 … 20 mA
12 bits

Iw TT
PLC
Ow 20 p.s.i.
TY
10/12/16 bits
TE
D
A 3 … 15 p.s.i.
0 … 10 V

TV

ØV
Programación de P.L.C.s
Operandos multibit – Función Trimmer:
Mediante un potenciómetro regulable mediante un tornillo en el frente del
PLC puede introducirse un valor entre 1 y 63 en un Iw disponible.
El trimmer me permite simular diferentes entradas (Haciendo uso de las
operaciones aritméticas multibit: +; * ; : ; - ; etc., puedo hacer que el
rango de 1 a 63 se expanda) y mandarlas a un Iw, p. ej., Iw5.
Con esto puedo simular, p. ej., una entrada analógica .
Programación de P.L.C.s
Operandos multibit – Contadores:

Counter
Contadores
Hay 256 contadores disponibles. Cada contador tiene asignado tres
operandos. Proporcionan información sobre el estado, el valor actual y la
magnitud a ser contada (registro de preselección) del contador.
C

REGISTRO DE
C1 BIT DE ESTADO VALOR ACTUAL PRESELECCIÓN
Cx CWx CPx
1ó

C255
Contadores Con esta instrucción
se activa el contador 

I0.0 (*) Cada vez que se cumpla la


C
S condición I0.1, el valor del
contador se incrementará en
uno hasta llegar al valor del
I0.1 C
I
registro, en cuyo caso, el
contador vuelve al valor  (C
pasa de 1 a ).

Función incremento (*)


Contadores
Condiciones Acciones

Cx Cx
S

Cx
R
Cx
Cx
I

Cx
D
Ejemplo con contadores
Playa de estacionamiento con cuatro lugares. Se desea implementar un
sistema lumínico que informe si hay espacio disponible, mediante una
luz verde o si está completo, mediante una luz roja

j k l m

HAY NO HAY
LUGAR LUGAR

B1 B2
Sensor de Sensor de
entradas salidas
Esquema de conexión
24V
S1 B1 B2

I0.0 I0.1 I0.2


O0.0 O0.1
PLC
H1 H2
ØV
Programa en LDR C
I. Counter

V4

C
I.1
I

C
I.2
D

O. (Luz roja)

>= <
Cw Cw
O.1 (Luz verde)
V V4
Programación de P.L.C.s
Operandos multibit – Temporizadores:

Timer
Operandos multibit – Temporizadores:
Los temporizadores son parte esencial de un programa, ya que
muchas funciones de control exigen la programación del tiempo.
Con ellos logramos poner en sincronía los diferentes movimientos
que ejecuta una máquina.
Los PLC’s de Festo manejan tres tipos de temporizadores, el
temporizador de impulso, el temporizador de retraso a la conexión
y el temporizador de retraso a la desconexión.
Operandos multibit – Temporizadores:
Podemos manejar hasta 256 temporizadores (0 a 255), cada contador
ofrece los siguientes operandos para permitir una programación flexible:

1. La palabra de temporizador (Timer Word-TWnn-) es el operando en


el cual el valor actual es guardado y éste es cambiado continuamente
en la operación del temporizador.

2. La palabra de preselección (Timer Preselect-TPnn-) es el


operando en el cual el valor nominal es guardado.

Operandos multibit – Temporizadores:

3. La Bobina del temporizador (Tnn, TONnn, TOFFnn) es


el operando en el cual se realizan las operaciones de inicio o fin del
temporizador.

4. El Contacto del temporizador (Tnn, TONnn, TOFFnn) es


el operando en el cual es guardado el estado del temporizador.
Temporizadores de Impulso.
El temporizador de impulso reacciona en el instante en que la
condición se hace verdadera. El temporizador se hace uno y el
registro de tiempo predefinido (TPnn) se carga en el registro de
tiempo actual o palabra de cuenta (TWnn) y este empieza a decrecer,
cuando el TWnn se hace cero, en ese instante el temporizador se
hace cero, nn es el número del temporizador. Éste es el único tipo
de temporizador disponible en lenguaje STL, en LDR están
disponibles los tres.
Temporizadores de Impulso.
En la figura se puede apreciar el funcionamiento de un temporizador
de impulso
Temporizadores de Impulso.
El temporizador se reinicia cuando hay un flanco positivo

Bobina del
1 temporizador

0 t

TP = nnn.nn [s]

TWnn

0 [s] t
TP Predefinido
Contacto del temporizador
1
Tnn
0 t
Temporizadores de Impulso
I0.0 T7
T7
Timer

5.20s

Impide que el temporizador


se reinicie, una vez activado

T7 O0.0

Cuando I0.0 = 1, el valor de entrada (5.20s) se carga en la palabra de


preselección (TP7) y se activa el temporizador, T7 = 1.
Temporizadores de retraso a la conexión

En el instante en que la condición se hace verdadera el registro de


tiempo predefinido (TPnn) se carga en el registro de tiempo actual o
palabra de cuenta (TWnn) y este empieza a decrecer, cuando el
TWnn se hace cero, en ese instante el temporizador se hace uno, el
temporizador se hace cero cuando la condición se hace falsa, si por
alguna circunstancia la condición se hace falsa antes de haber
transcurrido el tiempo predefinido, entonces el temporizador no se
hará uno, nn es el número del temporizador
Temporizadores de retraso a la conexión
Temporizadores de retraso a la conexión
El temporizador se reinicia cuando hay un flanco positivo

Bobina del
1 temporizador

0 t

TP = nnn.nn [s]

TWnn

0 [s] t
TP Predefinido
Contacto del temporizador
1
TONnn
0 t
Temporizadores de retraso a la conexión
I0.0 TON1
Timer

5.20s

TON1 O0.0

Cuando I0.0 = 1, el valor de entrada (5.20s) se carga en la palabra de


preselección (TP1) y se activa el temporizador, TON1 = 1.
Temporizadores de retraso a la desconexión
En el instante en que la condición se hace verdadera, el temporizador
se hace verdadero, el registro de tiempo predefinido (TPnn) se carga
en el registro de tiempo actual o palabra de cuenta (TWnn), en el
momento que la condición se haga falsa TWnn empieza a decrecer y
al llegar éste a cero el temporizador se hace cero, si por alguna
circunstancia la condición se hace verdadera antes de haber
transcurrido el tiempo predefinido, entonces el temporizador no se
hará cero.
Temporizadores de retraso a la desconexión
Temporizadores de retraso a la desconexión
El temporizador se reinicia cuando hay un flanco negativo
Bobina del
temporizador
1

0 t

TP = nnn.nn [s]

TWnn

0 [s] t
TP, Preseteo Contacto del
temporizador
1
TOFFnn
0 t
Temporizadores de retraso a la desconexión
I0.0 TOFF1
Timer

5.20s

TOFF1 O0.0

Cuando I0.0 = 0, el valor de entrada (5.20s) se carga en la palabra de


preselección (TP1) y se activa el temporizador, TOFF1 = 1.
Programando temporizadores
Para estudiar la programación de temporizadores, veremos un ejemplo
con tres soluciones, con temporizador de pulso, con temporizador de
retraso a la conexión y contemporizador de retraso a la desconexión.

Problema: Una lámpara se enciende y apaga a intervalos de un


segundo cuando un selector de arranque se energiza
Solución con temporizador con retraso a la conexión

I0.0 TON1 TON0


Timer

1s

I0.0 TON0 O0.0

I0.0 TON1 TON1


Timer

1s
Solución con temporizador con retraso a la desconexión

TOFF1 TOFF0
Timer

1s

I0.0 TOFF0 O0.0

I0.0 TOFF0 TOFF1


Timer

1s
Solución con temporizador de impulso
I0.0 T1
O0.0
S

T0
Timer

1s
T0
O0.0
R

T1
Timer

1s
Solución con temporizador de impulso y comparación
Una cuarta solución a este problema es utilizar las funciones de
comparación, dividiendo el tiempo total de ciclo en dos partes iguales
y encender la salida en una de las partes y en la otra mantenerla
apagada.
I0.0 T0 T0
Timer

2s

T0
O0.0
>=
TW0
V100
Programando el P.L.C. XXXX con VersaPro

Arranque de VersaPro and Creación de una Carpeta


1. Para arrancar el programa, seleccione Iniciar, Programas, GE Fanuc
Software, VersaPro, VersaPro (o pulse simultáneamente las teclas
CTRL+ALT+V). Aparecerá la ventana de trabajo de VersaPro.
2. Maximize la ventana de trabajo VersaPro hasta que ocupe toda la
pantalla. Para crear una carpeta, seleccione File, New Folder.
Aparecerá el asistente para nuevas carpetas.
3. Ingrese un nombre, p. ej., Lab_1 para la carpeta y, si se desea, una
descripción en el campo Folder Description. Si deseara ubicar la
nueva carpeta en un directorio diferente del especificado en el
campo Location, haga click en el botón
4. Haga click en el botón . Aparecerá la siguiente pantalla. Nótese
que la selección por defecto es Empty Folder (Carpeta vacía)

Apriete el botón . Aparecerá el espacio de trabajo de VersaPro.


El espacio de trabajo de VersaPro es configurable, y las opciones se
guardan por usuario, es decir que las opciones que seleccione se
conservarán al guardarlas en la PC. La primera vez que arranque
VersaPro, verá un configuración por defecto muy básica. A
continuación aprenderemos a modificar el espacio de trabajo para
que se vea como la siguiente figura:
Buscador de
Carpetas

Editor de Ladder

Barra de herramientas compacta

Tabla de declaración de variables

También podría gustarte