Académique Documents
Professionnel Documents
Culture Documents
Programación de PLC
1
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
ÍNDICE
OBJETIVO..........................................................................................................3
INTRODUCCIÓN...............................................................................................4
1. Antecedentes..............................................................................................5
1.1. Programación en PLC........................................................................5
1.2. Estándar IEC 61131-3.......................................................................5
1.2.1. Elementos comunes.................................................................6
1.2.2. Lenguajes de programación....................................................11
1.2.3. Listado de Lenguajes de Programación para PLC....................16
1.3. Elementos principales para programar un PLC.................................16
1.3.1. Formas de representar un programa PLC................................20
1.4. Programación de un PLC.................................................................22
1.4.1. ¿Qué es un Programa?............................................................24
1.4.2. ¿Qué es un Algoritmo?...........................................................25
1.4.3. Ejecución de programas..........................................................27
2. Programación Lógica de Escalera...............................................................31
2.1. Direccionamiento de las instrucciones..............................................33
2.1.1. Características del Lenguaje de escalera..................................38
2.2. Instrucciones básicas de programación.............................................38
2.3. Ejemplos básicos de programación....................................................41
3. Temporizadores y Contadores...................................................................49
3.1. LATCHES.......................................................................................49
3.2. Temporizadores y contadores...........................................................50
3.2.1. Temporizadores.....................................................................51
3.2.2. Contadores............................................................................57
3.3. Relevadores internos........................................................................59
3.4. Ejemplos con temporizadores y contadores.......................................60
4. Comparadores y Aritméticas.....................................................................65
4.1. Comparadores.................................................................................65
4.2. Programación de PLC: Operaciones Aritméticas...............................67
5. Simulación de control con PLC.................................................................71
Conclusión.......................................................................................................75
Fuentes de consulta...........................................................................................77
Fuentes Sugeridas..............................................................................................78
Glosario............................................................................................................80
2
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
OBJETIVO
Al finalizar la unidad 4, el participante:
3
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
INTRODUCCIÓN
El desarrollo acelerado en el uso de nuevas tecnologías, sobre todo en los
campos de la electrónica, informática y comunicaciones constituyen un
constante desafío en la aplicación de éstas en los sistemas automáticos de
control, provocando un profundo cambio en la concepción y diseño de los
procesos, obligando al personal a una constante actualización de conocimientos
y un continuo replanteamiento de los métodos de diseño empleados.
Por lo cual, los PLC por sus especiales características de diseño tienen un
campo de aplicación muy extenso. La constante evolución del hardware y
software amplía este campo para poder satisfacer las necesidades que se
detectan en el espectro de sus posibilidades reales, no sólo controlan la lógica
de funcionamiento de máquinas, plantas y procesos industriales, sino que
también pueden realizar operaciones aritméticas, así como manejar señales
analógicas para realizar estrategias de control. Para hacerlo, existen varios
lenguajes de programación. En esta unidad se profundizará específicamente
en el lenguaje de programación Ladder o Escalera para dichos controladores.
4
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
1. Antecedentes
1.1. Programación en PLC
Los primeros PLC, primera mitad de los años 80, eran programados usando
sistemas de programación propietarios o terminales de programación
especializados, que a menudo tenían teclas de funciones dedicadas que
representaban los elementos lógicos de los programas de PLC, los cuales eran
guardados en cintas. Recientemente, son escritos en aplicaciones especiales
en un ordenador para posteriormente ser descargados directamente mediante
un cable o una red al PLC. En cuanto a la memoria, los PLC viejos usaban una no
volátil (Magnetic Core Memory) pero ahora los programas son guardados en
una RAM con batería propia o en otros sistemas de memoria no volátil como
la memoria flash.
Los primeros PLC fueron diseñados para ser usados por electricistas que podían
aprender a programar los PLC en el trabajo. Los cuales eran programados con
“lógica de escalera” (“ladder logic”). En cambio, los PLC modernos pueden ser
programados de muchas formas, desde la lógica de escalera hasta lenguajes
de programación tradicionales como el BASIC o C. Otro método es usar la
Lógica de Estados (State Logic), el cual es un lenguaje de programación de alto
nivel diseñado para programas PLC basándose en los diagramas de transición
de estados.
5
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
Dentro de los elementos comunes, se definen los tipos de datos. Los que
previenen de errores en una fase inicial, como por ejemplo la división de un
dato tipo fecha por un número entero y los tipos comunes de datos como son:
variables booleanas, número entero, número real, byte y palabra, pero también
fechas, horas del día y cadenas (strings).
Basado en estos tipos de datos, el usuario puede definir los propios, conocidos
como tipos de datos derivados. De este modo, se puede establecer un canal de
entrada analógica como un tipo de dato.
Variables
6
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
Para entender esto mejor, vamos a ver el modelo de software, que define IEC
61131-3.
Con un recurso, pueden estar definidas una o más tareas. Las tareas controlan
la ejecución de un conjunto de programas y/o bloques de función. Cada uno de
ellos puede ser ejecutado periódicamente o por una señal de disparo específico,
como el cambio de estado de una variable.
7
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
• Estructura definida
• Compatibilidad
• Posibilidad de reutilizar código
• Desarrollo productivo
• Portabilidad
• Know how
8
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
Funciones
Los bloques funcionales son los equivalentes a los circuitos integrados, (IC),
que representan funciones de control especializadas. Los FB contienen tantos
datos como instrucciones y además pueden guardar los valores de las variables
(que es una de las diferencias con las funciones). Tienen un interfaz de entrada y
salida bien definida y un código interno oculto, como un circuito integrado o una
caja negra. De este modo, establecen una clara separación entre los diferentes
niveles de programadores o el personal de mantenimiento. Un lazo de control
de temperatura (PID), es un excelente ejemplo de bloque funcional, una vez
definido, puede ser usado una y otra vez, en el mismo programa, en diferentes
programas o en distintos proyectos. Esto lo hace altamente reutilizable.
Los bloques funcionales pueden ser escritos por el usuario en alguno de los
lenguajes de la norma IEC, pero también existen FB estándar (biestables,
detección de flancos, contadores, temporizadores, etcétera). Aunque también
cabe la posibilidad de ser llamados múltiples veces creando copias del bloque
funcional que se denominan instancias. Cada instancia llevará asociado un
identificador y una estructura de datos que contenga sus variables de salida e
internas.
9
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
Programas
Los programas son “un conjunto lógico de todos los elementos y construcciones
del lenguaje de programación que son necesarios para el tratamiento de señal
previsto que se requiere en el control de una máquina o proceso mediante el
sistema de autómata programable”. Un programa puede contener, aparte de la
declaración de tipos de datos, variables y su código interno, distintas instancias
de funciones y bloques funcionales.
10
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
Dado que los elementos del SFC requieren almacenar información, las únicas
POU que se pueden estructurar utilizando estos elementos son los bloques
funcionales y los programas.
11
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
13
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
14
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
15
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
16
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
Los elementos importantes en un programa para PLC (en este caso utilizaremos
como base el Siemens) al igual que un alambrado lógico con elementos eléctricos
como relevadores son:
17
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
En cambio, cuando representan una salida se muestran con la letra Q. Las más
comunes visualizan motores eléctricos, solenoides, cilindros eléctricos entre
otros.
Nota. Esta caracterización por letras de las salidas depende del fabricante y
del software de desarrollo. Éstos son un ejemplo de los más comunes.
18
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
19
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
• Salida DONE (D). Se activa cuando el valor del contador se iguala al valor
preestablecido Cip.
20
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
Esquema de Funciones
21
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
Por su parte, los PLC estándar cuentan con una CPU que resuelve todas las
operaciones:
• Se fijan tareas aisladas para atender las comunicaciones con las E/S.
22
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
Los PLC modernos cuentan con 2 CPU de 32 bits que interactúan para efectuar
el control:
• El CPU de backplane se comunica con las E/S, envía y recibe datos desde
ahí. Como este CPU es independiente del otro, toda la información de
E/S se maneja asincrónicamente a la ejecución del programa (no altera
el Scan).
23
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
24
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
Entradas:
• Botón de arranque
• Botón de parada
25
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
Salidas:
26
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
27
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
29
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
30
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
2. Programación Lógica de
Escalera
Como ya se ha mencionado, uno de los aspectos fundamentales de la
aplicación de los PLC es su programación, entendiendo ésta como el desarrollo
de la operación del PLC mediante una serie de instrucciones, las cuales pueden
introducirse en diversas formas y lenguajes.
31
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
Para visualizar el flujo de energía, imagina que la energía eléctrica fluye desde
la línea vertical izquierda (riel de energía) del diagrama hacia la línea vertical
derecha del diagrama (riel neutro o de tierra), como se muestra en la siguiente
figura.
32
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
• E, F y G se energicen
• E, F y H se energicen
33
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
especificaciones que las entradas estaban en el rango 1-14 y las salidas 101-
110. Por lo cual, la especificación de las entradas era: I1, I3, I10, mientras que
las de las salidas era: O101, O108 u O110.
O X.Y
Donde X representa el número de byte e Y el número de bit dentro del byte. Así
por ejemplo, algunas direcciones válidas son: I0.1, I1.5, O1.1, O4.2, etcétera.
34
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
Cada archivo tiene una serie de elementos. Por ejemplo, para las entradas y
salidas los elementos son palabras o words de 16 bits, esto es, cada elemento
o dirección puede almacenar hasta 16 entradas o salidas digitales. El formato
de dirección en general es:
I1:0/10
Otro ejemplo de Rockwell en los modelos SLC-5/01 y SLC-5/02 cada slot puede
tener entradas o salidas. Si por ejemplo se pone una tarjeta de 16 salidas en el
slot 3, la dirección del bit será O: 3/15 o también O:3.0/15. Si la tarjeta tiene
más de 16 bits ocupará más de una palabra. Por ejemplo, en caso de que en el
slot 2 pongamos una tarjeta con 32 bits de entrada, el bit 15 se direccionará
con I: 2.0/15, el bit 16 como I: 2.1/0 y el bit 31 con I:2.1/15.
35
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
36
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
Figura 25. Relación entre un Terminal de E/S y su ubicación en la memoria del procesador.
37
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
Éstas ya habían sido mencionadas anteriormente, sólo que ahora se verán con
mayor detalle.
38
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
39
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
Bobina o Salida
Ésta instrucción permite establecer el valor de una salida que por lo general
activa o energizará un dispositivo de salida, el cual normalmente será un
dispositivo de campo, pero también puede ser un relevador interno, un contador
o un temporizador. Su símbolo se muestra también en la figura 27.
Se las identifica con la letra “S”, “A”, “O” u otra, dependiendo de los fabricantes
y dos números que indicarán el modulo al cual pertenecen y la bornera a la cual
están asociados.
Como salidas en el programa del PLC se toma no sólo las que tiene el equipo
físicamente hacia el exterior, sino también las que se conocen como “Relés
Internos o Marcas”, éstos últimos son simplemente variables lógicas que se
pueden usar, por ejemplo, para memorizar estados o como acumuladores de
resultados que utilizará posteriormente el programa.
40
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
41
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
42
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
43
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
El programa sería:
44
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
45
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
46
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
Para que el motor gire hacia atrás se requiere que el botón BREV se energice o el
motor ya este girando en esa dirección, que el botón de paro no esté oprimido
y el motor no esté girando hacia adelante.
El programa es el siguiente:
47
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
48
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
3. Temporizadores y
Contadores
Las instrucciones que se vieron anteriormente son las básicas de todo
procesador. Sin embargo, en la práctica será difícil que se pueda realizar un
programa útil solamente con esas instrucciones.
Por lo cual, en esta sección se analizarán otras instrucciones básicas que son
importantes e imprescindibles.
3.1. LATCHES
El LATCH o instrucción de “enclave” energiza una salida de tal modo que se
mantendrá energizada en tanto no haya una instrucción de “UNLATCH” o de
“desenclave”.
Un LATCH en la lógica de escalera usa una instrucción para enclavar y otra
instrucción para desenclavar, como se muestra en la figura 40.
49
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
50
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
3.2.1. Temporizadores
Un temporizador es una instrucción que nos permite determinar el transcurso
de intervalos de tiempo. Hay dos tipos de temporizadores:
• Temporizador On
• Temporizador OFF
Los cuales a su vez pueden ser retentivos o no retentivos. Dando las siguientes
combinaciones de temporizadores:
51
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
52
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
53
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
54
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
Observa que el bit EN estará puesto cuando A esté energizado, el bit DN está
en ON mientras no se llegue al intervalo de tiempo prestablecido. Cuando esto
ocurre el bit DN pasa a OFF. Los temporizadores a OFF retentivos se utilizan
raramente, por lo que muchos fabricantes no incluyen estas instrucciones en
sus PLC.
55
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
56
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
3.2.2. Contadores
Hay dos tipos básicos de contadores:
57
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
Los contadores hacia abajo son muy similares a los contadores hacia arriba.
Incluso en algunos PLC ambas instrucciones se pueden utilizar sobre una misma
dirección de contador. Considere el siguiente ejemplo.
58
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
Figura 46. Ejemplo de un contador hacia arriba y hacia abajo junto con un diagrama de tiempo.
59
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
60
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
61
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
62
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
64
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
4. Comparadores y
Aritméticas
Otras instrucciones comunes en los diferentes tipos de PLC del mercado son:
• Aritméticas: +, - , *, ⁄
4.1. Comparadores
El formato es:
65
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
66
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
67
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
68
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
69
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
70
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
5. Simulación de control
con PLC
Unos de los puntos que se abordaron al principio, fue el alto costo inicial que
tienen los PLC como instrumento de control de procesos.
Pero hoy en día los fabricantes ofrecen alternativas, de tal forma, que el
interesado en mejorar sus habilidades de programación o modificar software
existente de control lo pueda hacer fuera de línea. Un ejemplo de esto es el
proveedor ROCKWEL Automation en su familia Contrologix. A través de su
herramienta de programación RSLogix 5000™, se puede desarrollar un
programa y mediante la función de “Simular” se corre para depurar la lógica.
Aunque la limitación de este método es que requiere tener el PLC conectado
físicamente a la computadora donde se realizará el programa.
71
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
Simulaciones en 3D:
72
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
73
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
74
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
Conclusión
Los Controladores Lógicos Programables (PLC), son dispositivos electrónicos
digitales que fueron investigados en 1969 para reemplazar a los circuitos
de relevadores (relés) electromecánicos, interruptores y otros componentes
comúnmente utilizados para el control de los sistemas.
Motivo por el cual, resultaron muy atractivos ya que, a diferencia de los antiguos
circuitos éstos se pueden reprogramar, ocupan muy poco espacio, consumen
poca potencia, poseen auto-diagnóstico y tienen un costo competitivo. Sin
embargo, fueron las innovaciones tecnológicas en microprocesadores y
memorias lo que los han hecho tan versátiles y populares. Así, éstos pueden
realizar operaciones aritméticas, manipulaciones complejas de datos,
tienen mayores capacidades de almacenamiento, pueden comunicarse más
eficientemente con el programador, con otros controladores y computadoras
en redes de área local. Además, ahora muchos PLC incorporan instrucciones y
módulos para manejar señales análogas y para realizar estrategias de control,
más sofisticados que el simple ON-OFF, tales como el control PID, inclusive con
múltiples procesadores.
75
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
76
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
Fuentes de consulta
• Ordaz García, Ubaldo. (2009). Controladores Lógicos Programables.
Trillas.
77
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
Fuentes Sugeridas
• Dax Automation. GE Fanuc. Recuperado en 2017, de: http://www.
daxautomation.mx/fabricante/ge-fanuc
78
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
79
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
Glosario
• ASCII. Código alfanumérico estándar utilizado para representar las
letras, signos ortográficos, números y todo lo que se pueda encontrar en un
texto escrito, que permite el intercambio de información de un ordenador a
otro.
80
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
81
CONTROLADORES LÓGICOS PROGRAMABLES | Unidad 4. Programación de PLC
82