Este documento presenta una introducción a los lenguajes de programación para PLCs. Explica brevemente las funciones de un PLC, los cuatro lenguajes definidos por la norma IEC 1131-3 (ladder diagram, function block diagram, instruction list y structured text), y describe en más detalle el lenguaje booleano/lista de instrucciones, incluyendo operaciones lógicas como AND, OR y NOT. El objetivo es familiarizar a los estudiantes con los conceptos básicos de programación de PLCs.
1. Universidad de Oriente
Núcleo de Monagas
Departamento de Ingeniería de Sistemas
Cursos Especiales de Grado
Área: Automatización y Control de Procesos Industriales
Programación de PLCs
Lista de Instrucciones
Equipo CAM
Profesor: Integrantes:
Edgar Goncalves.Guevara A., Bernardo J. C.I.: 20.172.680.
Velásquez M., Yanires Y. C.I.: 19.008.895.
Maturín, marzo de 2014
2. ÍNDICE
INTRODUCCIÓN .................................................................................................... 1
MARCO TEÓRICO.................................................................................................. 2
PLC...................................................................................................................... 2
Funciones del PLC........................................................................................... 2
Lenguajes de Programación................................................................................ 2
La norma IEC 1131-3....................................................................................... 3
Aspectos relevantes para la selección del lenguaje de programación ............. 3
Lenguaje Booleano (Lista de Instrucciones)........................................................ 3
Booleano, Nemónicos ...................................................................................... 4
Operaciones Lógicas ........................................................................................... 4
AND.................................................................................................................. 4
OR.................................................................................................................... 4
NOT.................................................................................................................. 4
DISCUSIÓN ............................................................................................................ 5
CONCLUSIONES.................................................................................................... 6
BIBLIOGRAFÍA ....................................................................................................... 7
3. 1
INTRODUCCIÓN
Los PLC (Programable LogicController - controlador lógico programable)
son ampliamente utilizados en los procesos industriales automatizados. Cada
fabricante ofrece variedad de PLC y a su vez distintas posibilidades en cuanto al
lenguaje de programación de sus dispositivos. Sin embargo, la norma IEC 1131-3,
establece un estándar de 4 tipos de lenguajes.
Los lenguajes de programación son necesarios para la comunicación entre
el usuario (sea programador u operario de la máquina o proceso donde se
encuentre el PLC) y el PLC. La interacción que tiene el usuario con el PLC la
puede realizar por medio de la utilización de un cargador de programa
(loaderProgram) también reconocida como consola de programación o por medio
de un PC (computador Personal).
4. 2
MARCO TEÓRICO
PLC
Un PLC (Programable LogicController - controlador lógico programable), ver
Figura 1. PLC, es un dispositivo de estado sólido, diseñado para controlar
secuencialmente procesos en tiempo real en un ámbito industrial. El primer
Controlador Lógico Programable fue construido especialmente para la General
Motors HydramaticDivision y se diseñó como un sistema de control con un
computador dedicado.
Funciones del PLC
Adquirir datos del proceso por medio de las
entradas digitales y analógicas.
Tomar decisiones en base a reglas programadas.
Almacenar datos en memoria.
Generar ciclos de tiempo.
Realizar cálculos matemáticos.
Actuar sobre dispositivos externos mediante las
salidas digitales y analógicas.
Comunicarse con otros sistemas externos.
Lenguajes de Programación
Se puede definir un programa como un conjunto de instrucciones, órdenes y
símbolos reconocibles por el PLC, a través de su unidad de programación, que le
permiten ejecutar una secuencia de control deseada. El Lenguaje de
programación en cambio, permite al usuario ingresar un programa de control en la
memoria del PLC, usando una sintaxis establecida, dicho de otra forma, los
lenguajes de programación ofrecen un conjunto de instrucciones con una
determinada sintaxis para ejecutar una función en el PLC.
Al igual que los PLCs se han expandido, los lenguajes de programación
también se han desarrollado con ellos, hoy en día tienen nuevas y más versátiles
instrucciones y con mayor poder de computación. Por ejemplo, los PLCs pueden
transferir bloques de datos de una localización de memoria a otra, mientras al
mismo tiempo llevan cabo operaciones lógicas y matemáticas en otro bloque.
Resultando en un poder de manejo de datos más fácilmente. En la actualidad
cada fabricante diseña su propio software de programación, lo que significa que
existe una gran variedad, comparable con la cantidad de PLCs que hay en el
mercado, es obvio, que la gran diversidad de lenguajes de programación da lugar
a que cada fabricante tenga su propia representación, originando cierta
incomodidad al usuario cuando programa más de un PLC.
Figura 1. PLC
5. 3
La norma IEC 1131-3
La Comisión Electrotécnica Internacional (IEC) desarrolló el estándar IEC
1131, en un esfuerzo para estandarizar los Controladores Programables. Uno de
los objetivos del Comité fue crear un conjunto común de instrucciones que podría
ser usado en todos los PLCs. Aunque el estándar 1131 alcanzó el estado de
estándar internacional en agosto de 1992, el esfuerzo para crear un PLC estándar
global ha sido una tarea muy difícil debido a la diversidad de fabricantes de PLCs
y a los problemas de incompatibilidad de programas entre marcas de PLCs.
El estándar IEC 1131 para controladores programables consiste de cinco
partes, una de las cuales hace referencia a los lenguajes de programación y es
referida como la IEC 1131-3. En la cual se define dos lenguajes gráficos y dos
lenguajes basados en texto (ver Figura 2. Lenguajes de programación), para la
programación de PLCs. Los lenguajes gráficos utilizan símbolos para programar
las instrucciones de control, mientras los lenguajes basados en texto, usan
cadenas de caracteres para programar las instrucciones:
Lenguajes Gráficos:
- Diagrama Ladder (LD).
- Diagrama de Bloques de Funciones (FBD).
Lenguajes Textuales
- Lista de Instrucciones (IL).
- Texto Estructurado (ST).
Aspectos relevantes para la selección del lenguaje de programación
Los conocimientos del programador.
El problema a tratar.
El nivel de descripción del proceso.
La estructura del sistema de control.
La coordinación con otras personas o departamentos.
Lenguaje Booleano (Lista de Instrucciones)
El lenguaje Booleano utiliza la sintaxis del Álgebra de Boole para ingresar y
explicar la lógica de control. Consiste en elaborar una lista de instrucciones o
nemónicos, haciendo uso de operadores Booleanos (AND, OR, NOT, etc.) y otras
instrucciones nemónicas, para implementar el circuito de control. El lenguaje “Lista
de Instrucciones” (IL) de la Norma IEC 1131-3, es una forma de lenguaje
Booleano.
Figura 2.Lenguajes de
programación
6. 4
Booleano, Nemónicos
Corresponde al nivel más fundamental de
lenguajes de programación definidos en el estándar
IEC 1131. De hecho, todos los otros lenguajes de
programación de PLCs pueden ser convertidos a lista
de instrucciones o Nemónicos. Este tipo de
programación consiste en elaborar un listado de
instrucciones booleanas (únicamente operaciones
sobre Bits). Ver Figura 3. Ejemplo de programación
Booleana.
Operaciones Lógicas
La lógica binaria trabaja con variables binarias y operaciones lógicas del
Álgebra de Boole. Así, las variables sólo toman dos valores discretos: V
(verdadero) y F (falso); aunque también se pueden denotar como sí y no, ó 1 y 0
respectivamente. Entre las operaciones lógicas de uso más común se pueden
mencionar: AND (conjunción), OR (Disyunción), NOT (inversión).
AND
Conjunción, entrega como resultado V si todas las
entradas son V. Esta se aplica en situaciones en las que
se requiere realizar una acción si y sólo sí se cumplen un
determinado número de condiciones. En lenguaje de
contactos se realiza disponiendo los contactos en serie.
OR
Disyunción, la operación lógica OR entrega como
resultado V (Verdadero) siempre que alguna de las entradas
sea V, lo que se logra poniendo los contactos en paralelo.
NOT
Inversión, la operación lógica NOT entrega como
resultado el estado contrario al presente en la entrada, esto se
logra con el uso de Contactos Normal Cerrado.
Figura 3. Ejemplo de programación Booleana
Figura 4. Tabla de la verdad (AND).
Figura 5.Tabla de la verdad (OR).
Figura 6.Tabla de la verdad (NOT).
7. 5
DISCUSIÓN
El PLCfunciona monitoreando sus entradas, y dependiendo de su estado,
activando ydesactivando sus salidas. El usuario introduce al PLC un programa,
usualmente víaSoftware, lo que ocasiona que el PLC se comporte de la manera
deseadaLos PLCs son usados en muchas aplicaciones: maquinado de piezas,
embaladoras, Manipulación de materiales, ensamblado automático, y en
generalcualquier tipo de aplicación que requiera de controles eléctricos puede usar
más bienun PLC, que se ajuste a los requerimientos del sistema.
Los fabricantes de PLC han desarrollado una cantidad de lenguajes de
programación en mayoría de los casos siguiendo normas internacionales, con el
fin de suplir las necesidades y expectativas de los programadores, sin embargo,
entre tanta variedad se torna difícil la implementación de varios de estos lenguajes
por un mismo usuario.
En general los lenguajes de programación para PLC son de dos tipos,
visuales y escritos. Los visuales admiten estructurar el programa por medio de
símbolos gráficos, similares a los que se han venido utilizando para describir los
sistemas de automatización, planos esquemáticos y diagramas de bloques. Los
escritos son listados de sentencias que describen las funciones a ejecutar.
La norma IEC 1131-3, además de definir los 4 tipos de lenguaje de
programación clasificados en dos grupos, un grupo de lenguajes
gráficos:Diagrama Laddery Diagrama de Bloques de Funciones (FBD); y otro
grupo de lenguajes textuales: Lista de Instrucciones (IL) y Texto Estructurado (ST);
proporciona también numerosos beneficios para usuarios/programadores. Los
beneficios de la adopción de este estándar son varios, dependiendo de las áreas
de aplicación: control de procesos, integrador de sistemas, educación,
programación, mantenimiento, instalación, etc.
Los lenguajes de escalera y booleano implementan operaciones
esencialmente de la misma manera, pero difieren en la forma como las
instrucciones son representadas en el controlador. No se puede decir que un
lenguaje sea mejor que otro, cada uno de ellos cumple con una función propia que
depende del tipo de aplicación. Sin embargo, se puede creer que para aprender
de PLC es necesario conocer cuando menos un lenguaje de programación, no es
limítate, así mismo existen algunas tendencias como que los programadores de
aplicaciones familiarizados con el área industrial prefieren lenguajes visuales, por
su parte quienes tienen formación en electrónica e informática optan, inicialmente
por los lenguajes escritos.
Algunos fabricantes de controladores lógicos programables utilizan lista de
instrucciones, donde se incluye el lenguaje booleano, para programar sus equipos.
Utilizando sintaxis del álgebra booleana para ingresar y explicar la lógica de
control; usa funciones lógicas AND, OR, NOT y EXOR para implementar
programas de control.
8. 6
CONCLUSIONES
Programar un autómata consiste en introducirle una secuencia de
órdenes(instrucciones) obtenidas desde un modelo de control, según una
codificación determinada (lenguaje). El usuario o programador debe conocer las
condiciones del fabricante para reconocer el tipo de lenguaje de programación
acorde con el PLC, y las características del proceso a controlar para implementar
el dispositivo y programación adecuados.
Así la automatización de procesos comunes (mando de máquinas, cadenas
de producción, etc.) puede hacerse con diagramas de contactos o con listas de
instrucciones, los dos lenguajes básicos para la mayoría de autómatas. De hecho,
es tan frecuente el uso de uno u otro, que muchos fabricantes ya prevén en su
software de programación sobre PC la posibilidad de transcodificación entre ellos;
posibilitando la aplicación de cualquiera de estos lenguajes en la configuración y
programación del PLC.
9. 7
BIBLIOGRAFÍA
Capitulo V. Programación del PLC. [Documento en línea]. Disponible:
http://galia.fc.uaslp.mx/~cantocar/automatas/APUNTES_CURSO/CAPITUL6.PDF
[Consultado: 2014, marzo 27]
Medina Ramón. Lenguajes de Programación. [Documento en línea]. Disponible:
http://ramonmedina.name/files/universidad/plc/plc0006.pdf [Consultado: 2014,
marzo 27]
IEC 61131-3 Lenguajes de Programación. [Documento en línea]. Disponible:
http://isa.uniovi.es/~vsuarez/Download/IEC%2061131-3%20(Lenguajes).pdf
[Consultado: 2014, marzo 26]
Domingo Mery.Controladores lógicos programables. [Documento en línea].
Disponible: http://www2.ing.puc.cl/iee2682/biblio/Curso_PLC.pdf [Consultado:
2014, marzo 26]
Danilo Navarro. (Universidad De Oriente. Julio 2001) Capitulo 6. Lenguajes y
equipos para la programación. [Documento en línea]. Disponible:
http://es.scribd.com/doc/12944471/33/Lista-de-instrucciones-AWL-BOOLEANO-
Nemonicos [Consultado: 2014, marzo 27]
Lección 6. Leguajes de Programación 2005. [Documento en línea]. Disponible:
http://davidrojasticsplc.files.wordpress.com/2009/01/plc1s3.pdf [Consultado: 2014,
marzo 26]