Está en la página 1de 18

PROGRAMACIN A LOS PLCs

PROGRAMACIN A LOS PLC

INTRODUCCIN
El Controlador Lgico Programable (PLC por sus siglas en ingls), es un dispositivo que
nos permite hacer ms flexibles las tareas de control, en particular para el control de sistemas
neumticos, de motores puesto que se pueden manejar algunas variables con mayor facilidad que
la que sera con los dispositivos de control tradicional as como una simplificacin con el
alambrado del circuito de control.
Una de las principales ventajas que se tienen con la introduccin de los PLCs es, por una parte, la
eliminacin de los relevadores de retardo de tiempo utilizados para la lgica de control tradicional
y por otra parte el poder resolver los problemas de mayor complejidad los cuales requieren mayor
precisin.

Hardware
Software

PLC

Sensores
Actuadores

Fig. 1 Elementos escenciales del PLC


Segn el problema tcnico que se tenga que resolver con el PLC la configuracin de este
puede ser ms o menos compleja. Independientemente del grado de complejidad de la aplicacin,
el equipo consta de los componentes esenciales mostrados en la Figura 1.

PROGRAMACIN A LOS PLCs

I0
I1

In

PLC

O0
O1

Programa
Baderas
Contadores
Temporizadores

Om

Fig. 2 Conceptualizacin del PLC


La Figura 2 muestra una conceptualizacin del PLC. Como se aprecia consta de n
entradas y m salidas, donde m y n dependen del modelo y de la marca del PLC. Adems
contienen:
banderas, para tomar acciones en base al estado de ellas
contadores, para ejecutar eventos que se repiten
temporizadores, para determinar la duracin de los eventos
A las banderas, contadores y temporizadores se les denomina funciones.
El programa es un conjunto de instrucciones similares a las de cualquier ensamblador, el
cual se encarga de consultar y/o modificar si es necesario el estado de las funciones.
CARACTERSTICAS TCNICAS
Memoria
Unidades
de
Funcin

Funciones
Especiales

PLC de FESTO 202:

32K RAM 30K EPROM


16 entradas de 24 VCD
8 salidas transistorizadas
8 salidas a relevadores
8 contadores
8 relojes
56 banderas
Inicio automtico al encender el equipo
Batera de respaldo del buffer
Deteccin de bajo nivel de voltaje en batera

PROGRAMACIN A LOS PLCs

Indicador de errores
Conexin a mdulos de expansin
Retencin del estado de las salidas
Voltaje
de
Operacin
Tolerancia
Consumo
de
potencia

+24 VCD
+18.5 a 30 VCD
I=165 mA
Imax=390mA
Pmax=7.2 W
LGICA DE PROGRAMACIN

Debido a que por lo regular en un circuito de control nos interesa estar monitoreando el
estado de las variables del circuito para que en base a stas se tomen las acciones pertinentes, la
lgica de programacin del PLC esta basada en bloques de instrucciones que se ejecutan
permanentemente y cuando se cumple una cierta condicin se ejecutan un conjunto de
instrucciones asociadas a dicho bloque. Una excepcin existe con las instrucciones iniciales las
cuales se utilizan para la inicializacin de algunas funciones. Esquemticamente esto sera:
Bloque de instrucciones iniciales
Condiciones 1
Bloque de instrucciones 1
Condiciones 2
Bloque de instrucciones 2
..
Condiciones i
Bloque de instrucciones i
Bloque de instrucciones finales

Las condiciones se estructuran de tal manera que dependan del estado lgico de las
funciones. Una forma no recomendable de modificar esta lgica de programacin sera mediante
saltos condicionales hacia dentro de los bloques de instrucciones pero sera una lgica de
programacin muy confusa e ineficiente.
DIAGRAMAS DE ESCALERA
Los diagramas de escalera son utilizados para la representacin adecuada y clara de los
diagramas de control.

PROGRAMACIN A LOS PLCs

A continuacin se listan algunos lazos comunes de los diagramas de escalera con su


correspondiente descripcin.

LAB 0
S

O0

I0

Se declara la etiqueta 0
Se
declara la etiqueta 0
Se declara la salida 0 activada
Est activa la entrada 0?

I0

No est activa la entrada 0?

I0
S

O0

I0
JMP 0

Si est activa la entrada 0, activar la salida 0


Si no est activa la entrada 0, ir a etiqueta 0

De esta manera, con la ayuda del diagrama de escalera, se puede pasar directamente al
programa en lista de mnemnicos. Un programa en lista de mnemnicos consta de lneas
consecutivas donde cada lnea del programa contiene un comando, siendo ejecutada cada lnea
del comando secuencialmente, sin ruptura o interrupcin.
Por ejemplo, el siguiente programa en lista de mnemnicos se muestra con su
correspondiente diagrama de escalera

PROGRAMACIN A LOS PLCs

I0
I1

LD

NOT

IN

O0

SET

OUT

O7
O2

SET

OUT

IN

OUT

IN

LD

NOT

SET

I2
S
R

O2
O7

LD

NOT

SET

OUT 2

RST

OUT

CONJUNTO DE INSTRUCCIONES
Las instrucciones que conforman el lenguaje de programacin del PLC se clasifican
en dos grupos: comandos y funciones.
Los comandos se encargan de controlar las funciones que tiene disponible el PLC
y los podemos encontrar tanto en los bloques de condicin como en los bloques de accin.
Algunos de los comandos son los siguientes: LD, SET, RST, =, etc.
Por su parte, las funciones tienen accin directa sobre el hardware del PLC, esto
es, son instrucciones enfocadas a hacer actuar los elementos de control del PLC. Algunos
ejemplos de funciones son: IN, OUT, etc.

PROGRAMACIN A LOS PLCs

COMANDOS
LD

Este comando se utiliza para consultar el estado de las funciones, si


es verdadero el estado lgico se ejecutaran las instrucciones que le
siguen.
Sintaxis: LD

SET y RST

Cond Bloque_inst

Estos comandos activan o desactivan las funciones.


Sintaxis: SET funcin
RST funcin

p.e. SET OUT 1


RST

OUT 2

Ejemplo 1. Hacer un diagrama de escaleras y un programa el cual active la salida 4 si la


entrada 1 est activa y la salida 5 si no lo est, y desactivalos si las condiciones no se
cumplan correspondientamente

I1
R

O5

O4

LD

IN

RST

OUT 5

SET

OUT 4

LD

I1
R
S

O4
O5

NOT IN

RST

OUT 4

SET

OUT

PROGRAMACIN A LOS PLCs

Este comando se emplea para asignar a la funcin el estado lgico


de evaluar la condicin.
Sintaxis: LD
=

Condicin
funcin

Las diferentes opciones que se tienen para emplear este comando son las
siguientes.

LD

IN

OUT 0

LD

IN

NOT OUT 0

LD

NOT IN

0
0
0

OUT 0

LD

NOT IN 0

NOT OUT 0

Ejemplo 2. Implementar el programa del ejemplo 1 con la instruccin de asignacin.


LD

IN

OUT 4

LD
=

NOT IN

1
1

OUT 5

I1
=

O4

O5

I1

PROGRAMACIN A LOS PLCs

JMP

El comando de salto JMP, tiene por destino alguna lnea del


programa en donde se desea que contine la ejecucin del mismo.
Para el caso del PLC de FESTO, el comando JMP debe ser usado
en conjunto con el comando LAB, ya que LAB indica la lnea a
donde se va a saltar la ejecucin del programa. P. Lo anterior se
explica con las siguientes lneas de un programa.

LAB

LD

IN

JMP

La estructura de salto descrita anteriormente se conoce como salto


incondicional.

El PLC de FESTO ejecuta una sola vez todo el conjunto de instrucciones a menos
de que se le indique lo contrario. La manera de realizar la ejecucin permanente de un
programa en el PLC de FESTO es mediante un Salto Incondicional, de la siguiente
manera.
LAB

{Programa}
LD PROG

JMP

Como se puede observar, la condicin para realizar el salto (LD PROG p) depende
de si el programa se encuentra activado, es decir, la condicin pregunta si el programa se
encuentra ejecutndose. De esta manera nos aseguramos que nuestro bloque de
instrucciones se encuentra en un ciclo infinito.
8

PROGRAMACIN A LOS PLCs

Ejemplo 3. Hacer un programa que termine cuando la entrada 5 se active.


LAB
LD

0
NOT IN

JMP

LAB 0

I5

JMP 0

Ejemplo 4. Corrija el programa de asignacin, asumiendo que es el programa 0, de tal


manera que funcione correctamente.
LAB

LD

IN

OUT

LD

NOT IN

OUT

LD

PROG 0

JMP

LAB 0
I1

O4

O5

I1

5
0

P0
JMP 0

INSTRUCCIONES LGICAS

Las instrucciones lgicas nos facilitan la evaluacin de las condiciones que


prevalecen en los circuitos. Hay esencialmente tres funciones: AND, OR y NOT. A
continuacin se dan varios ejemplos de stos.

PROGRAMACIN A LOS PLCs

AND Es utilizada para enlazar condiciones con la operacin lgica AND.

Ejemplo 5. Activar la salida 0 siempre y cuando estn activas la entrada 0 y la 1


(O0=IN0IN1).
LAB
LD

IN

AND

IN

OUT

LD

PROG 0

JMP

OR

LAB 0
I0

I1
=

O0

P0
JMP 0

Es usado para unir varias condiciones con el operador lgico OR

Ejemplo 6. Activar la salida 0 siempre y cuando est activa la entrada 0 la 1


(O0=IN0+IN1).
10

PROGRAMACIN A LOS PLCs

LAB

LD

IN

OR

IN

OUT

LD

PROG 0

JMP

LAB 0
I0
=

O0

I1
P0
JMP 0

Ejemplo 7. Activar la salida 0 siempre y cuando no est activa la entrada 4, estn


activadas las entradas 1 y 3 (O0=IN4+IN1IN3).

11

PROGRAMACIN A LOS PLCs

LAB 0

LAB

I4

LD

IN

AND

IN

NOT IN

O0

OR

I1 I3
P0

OUT

LD

PROG 0

JMP

JMP 0

0
0

Ejemplo 8. Implementar la funcin ExOr, mediante bloques lgicos.


LAB

LAB 0

LD

I1 I2
=

I1 I2

O5

NOT IN

AND

IN

LD

IN

AND NOT IN

OR

P0
JMP 0

LD

OUT

LD

PROG 0

JMP

5
0

Como puede observarse, si no se ejecuta ninguna accin a continuacin de la


condicin, el resultado ser almacenado en memoria en un stack. Si este valor es
evaluado inmediatamente, entonces el stack nunca se llenar, si por el contrario
retrasamos la evaluacin y algunos otros resultados son guardados en l, entonces el
mximo nmero de resultados que se pueden almacenar son 8.

12

PROGRAMACIN A LOS PLCs

BANDERAS
Las banderas son unidades de memoria que se utilizan para guardar valores
lgicos y pueden ser utilizadas para almacenar valores de entradas o salidas o para
almacenar valores intermedios de operaciones.
Ejemplo 12. Implementar la funcin lgica OR-exclusivo sin utilizar bloques condicionales.
Solucin: ver ejemplo 8
LAB

LAB 0

LD

I1 I2
=

I1 I2
=

F1
=

O0

F2
P0
JMP 0

F1
F2

0
NOT IN

AND

IN

LD

IN

AND NOT IN

LD

OR

OUT 0

LD

JMP

0
0

13

PROGRAMACIN A LOS PLCs

TEMPORIZADORES
Los temporizadores son tuilizados para controlar la duracin de los eventos, cada
temporizador posee tres parmetros:
Para FESTO:
Timer preseleccionado
Estado
Valor (0-327.6 seg en incrementos de 0.1 seg)
Por lo general, la inicializacin del temporizador de FESTO se realiza al inicio del
programa, toma la siguiente forma.

Ejemplo 13. Implementar un programa que active y desactive O1 cada segundo.

14

PROGRAMACIN A LOS PLCs

PRE T1
1.0
S
S

T1
O1

LAB 1
T1

S
SR

JMP 1

SET

SET

OUT 1

LAB

1.0

O1
T1

NOT T

AND

OUT 1

RST

OUT 1

SET

NOT T

LD

O1

P1

LD

O1
R

T1

PRE

O1

AND NOT OUT 1


SET

OUT 1

T1

SET

LD

PROG 1

JMP

1
1

Si un temporizador esta activado y en ese momento se resetea, entonces toma un


valor de 0 en ese instante. Resetear un temporizador que ya ha cumplido su ciclo no tiene
ningun efecto. En caso de una falla en la alimentacin, el valor de preseleccion del
temporizador es guardado, en caso contrario el valor y el estado son puestos en 0. Si
durante la ejecucin del programa el valor de preseleccion del temporizador es cambiado,
ste ser tomado en cuenta tanpornto como sea activado otra vez.

15

PROGRAMACIN A LOS PLCs

CONTADORES
Son utilizados para programar procesos que contienen eventos repetitivos. Cada
contador posee las siguientes caractersticas:
Contador preseleccionado
Estado
Valor de conteo (0-9999)
Por lo general la preseleccin del contador se realiza al inicio del programa y toma
la siguiente forma:
PRE

0<=c<=7

vc

0<=vc<=9999

Se pueden utilizar contadores ya sea incrementndolos o decrementndolos; la


manera en que se activa el contador difiere para una y otra manera de uso y es la
siguiente:
Incrementar (empezar de 0):

SET C c

Decrementar (empezar con vc):

INIT C c

INC c

SET INC
0

Cmax
INC c

1
INIT INC
0
1

Cmax

DEC c

SET DEC
0

INIT DEC

1
0

0
DEC c

Cmax

16

PROGRAMACIN A LOS PLCs

Ejemplo 14. El contador C0 es cargado con el valor de preseleccin 10. Cada vez que hay
una seal 1 en la entrada 0, el contador es incrementado en 1. SI el contador alcanza su
valor de preseleccin se resetea y el temporizador 0 y la salida 7 son reseteadas.
Despus de que 3 segundos han pasado, la salida 7 es reseteada. La siguiente vez que la
seal de entrada es aplicada el procedimiento comienza otra vez

LAB 0

S
S

PRE T0
3.0
PRE C0
10

T0
C0
LAB 1
I0

I0
T0
C0

P0

O3

O3

C0

O3

O3

LAB
PRE

PRE

SET
SET
LAB
LD
AND
INC
SET
LD
AND
RST
LD

C
T

LD

O7
R

O7

O7

O7

IN
NOT
C
NOT
NOT
AND
RST
NOT
AND
SET
JMP
LD
JMP

OUT
OUT
IN
OUT
OUT
T
C
NOT

0
0
10
0
3
0
0
1
0
3
0
3
0
3
3
0
OUT
OUT
0
OUT
OUT
PROG

7
7
7
7
0
0
1

JMP 0
JMP 1

17

PROGRAMACIN A LOS PLCs

PRCTICAS
1.- Uso y conexiones de entradas y salidas del PLC. Los objetivos principales para esta
practica son: familiarizarse con el PLC, hacer uso adecuado de las entradas y salidas y
observar los voltajes que deben usarse para el PLC. Hacer el diagrama de escalera y el
programa en lista de mnemnicos en base a lo siguiente:
I. Se activar la salida 1 con la entrada 1 y la salida 2 con las entradas 1 y
simultneamente.
Se desactivar las salida 1 con la entrada 3 y la salida 2 con las entradas 3 y
2.- Disear un programa que mueve el conjunto de brazo y antebrazo linealmente una vez.
I1 I2

S1
PLC

O1 O2

S2
C1
B1

B2

Uso de temporizadores y contadores.


3. Para ejemplo 2 aplicar los temporizadores.
4. Para ejemplo 2 aplicar los contadores.
Los objetivos son: hacer uso de las herramientas para obtener retardos de tiempo en el

RUN

STOP

SNGLE

EDIT

C/A

PRINT

EXT

SHOW

PLC y utiilzar los contadores que permitan llevar a cabo el control de un determinado
nmero de eventos.
Realizar el diagrama
de escalera
a las siguientes
IN
7 LD de acuerdo
8 AND
9 ORinstrucciones:
STEP
FLAG

INS

I. Mover un cilindro despus de transcurrir un tiempo de 5 seg.


SET
RST
4 el cilindro
= en su5 posicin
II. Mantener
por65 seg
y despusCLR
regresarlo.

OUT

PROG

A INIT

B INC

C DEC

1 JMP

PRE

LAB

DISP

END

III. Repetir el evento I y II 5 veces.

T
EP ROM

0 NOT
SAFE

.
AUTO

DEL

=
SHIFT

18