LENGUAJES DE PROGRAMACION DE PLC´S 1 PROGRAMA Y LENGUAJE

LENGUAJES DE PROGRAMACION DE PLC´S 1 PROGRAMA Y LENGUAJE

DESCARGAR PDF

LENGUAJES DE PROGRAMACION DE PLC´S
1. PROGRAMA Y LENGUAJE 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.
Al igual como los PLCs se han desarrollado y expandido, los lenguajes
de programación también se han desarrollado con ellos. Los lenguajes
de 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.
Como resultado de estas nuevas y expandidas instrucciones, los
programas de control pueden ahora manejar datos más fácilmente.
Adicionalmente a las nuevas instrucciones de programación, el
desarrollo de nuevos módulos de entradas y salidas también ha obligado
a cambiar las instrucciones existentes.
2. PROGRAMAS DE APLICACIÓN Y DEL SISTEMA
Los programas de aplicación que crean los usuarios están orientados a
ejecutar, a través del controlador, tareas de automatización y
control. Para ello, el usuario escribe el programa en el lenguaje de
programación que mejor se adapte a su trabajo y con el que sienta
poseer un mejor dominio. En este punto es importante señalar, que
algunos fabricantes no ofrecen todas las formas de representación de
lenguajes de programación, por lo que el usuario deberá adaptarse a la
representación disponible
Por otro lado, el conjunto de programas que realizan funciones
operativas internas del controlador, incluyendo los traductores de
lenguaje, reciben la denominación de programas del sistema o software
del sistema. Un elemento importante de éste, es el sistema operativo,
cuyos servicios incluyen el manejo de los dispositivos de entrada y
salida del PLC, el almacenamiento de la información durante largos
períodos, el procesamiento de los programas del usuario, etc. Estos
programas ya vienen escritos y están almacenados en una memoria No
volátil dentro de la CPU, por lo tanto no se pierden ni alteran en
caso de pérdida de alimentación al equipo. El usuario No tiene acceso
a ellos.
3. TIPOS DE LENGUAJES DE PROGRAMACIÓN DE PLCS
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. No obstante,
actualmente existen tres tipos de lenguajes de programación de PLCs
como los más difundidos a nivel mundial; estos son:
- Lenguaje de contactos o Ladder
- Lenguaje Booleano (Lista de instrucciones)
- Diagrama de funciones
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.
4. 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.
El estándar IEC 1131-3 define dos lenguajes gráficos y dos lenguajes
basados en texto, 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)
Adicionalmente, el estándar IEC 1131-3 incluye una forma de
programación orientada a objetos llamada Sequential Function Chart
(SFC). SFC es a menudo categorizado como un lenguaje IEC 1131-3, pero
éste es realmente una estructura organizacional que coordina los
cuatro lenguajes estándares de programación (LD, FBD, IL y ST). La
estructura del SFC tuvo sus raíces en el primer estándar francés de
Grafcet (IEC 848).
5. LENGUAJE LADDER
El LADDER, también denominado lenguaje de contactos o de escalera, es
un lenguaje de programación gráfico muy popular dentro de los
Controladores Lógicos Programables (PLC), debido a que está basado en
los esquemas eléctricos de control clásicos. De este modo, con los
conocimientos que todo técnico eléctrico posee, es muy fácil adaptarse
a la programación en este tipo de lenguaje. Su principal ventaja es
que los símbolos básicos están normalizados según normas NEMA y son
empleados por todos los fabricantes.
*
Elementos de programación
-------------------------
Para programar un PLC con LADDER, además de estar familiarizado con
las reglas de los circuitos de conmutación, es necesario conocer cada
uno de los elementos de que consta este lenguaje. En la siguiente
tabla podemos observar los símbolos de los elementos básicos junto con
sus respectivas descripciones.
Símbolo
Nombre
Descripción

Contacto NA
Se activa cuando hay un uno lógico en el elemento que representa, esto
es, una entrada (para captar información del proceso a controlar), una
variable interna o un bit de sistema.

Contacto NC
Su función es similar al contacto NA anterior, pero en este caso se
activa cuando hay un cero lógico, cosa que deberá de tenerse muy en
cuenta a la hora de su utilización.

Bobina NA
Se activa cuando la combinación que hay a su entrada (izquierda) da un
uno lógico. Su activación equivale a decir que tiene un uno lógico.
Suele representar elementos de salida, aunque a veces puede hacer el
papel de variable interna.

Bobina NC
Se activa cuando la combinación que hay a su entrada (izquierda) da un
cero lógico. Su activación equivale a decir que tiene un cero lógico.
Su comportamiento es complementario al de la bobina NA.

Bobina SET
Una vez activa (puesta a 1) no se puede desactivar (puesta a 0) si no
es por su correspondiente bobina en RESET. Sirve para memorizar bits y
usada junto con la bina RESET dan una enorme potencia en la
programación.

Bobina SET
Permite desactivar una bobina SET previamente activada.
*
Programación
------------
Una vez conocidos los elementos que LADDER proporciona para su
programación, resulta importante resaltar cómo se estructura un
programa y cuál es el orden de ejecución.
El siguiente esquema representa la estructura general de la
distribución de todo programa LADDER, contactos a la izquierda y
bobinas y otros elementos a la derecha.

En cuanto a su equivalencia eléctrica, podemos imaginar que las líneas
verticales representan las líneas de alimentación de un circuito de
control eléctrico.
El orden de ejecución es generalmente de arriba hacia abajo y de
izquierda a derecha, primero los contactos y luego las bobinas, de
manera que al llegar a éstas ya se conoce el valor de los contactos y
se activan si procede. El orden de ejecución puede variar de un
controlador a otro, pero siempre se respetará el orden de introducción
del programa, de manera que se ejecuta primero lo que primero se
introduce.
*
Variables internas y bits de sistema
------------------------------------
Las variables internas son bits auxiliares que pueden ser usados según
convenga, sin necesidad de que representen ningún elemento del
autómata. Se suele indicar mediante los caracteres B ó M y tienen
tanto bobinas como contactos asociados a las mismas. Su número de
identificación suele oscilar, en general, entre 0 y 255. Su utilidad
fundamental es la de almacenar información intermedia para simplificar
esquemas y programación.
Los bits de sistema son contactos que el propio autómata activa cuando
conviene o cuando se dan unas circunstancias determinadas. Existe una
gran variedad, siendo los más importantes los de arranque y los de
reloj, que permiten que empiece la ejecución desde un sitio en
concreto y formar una base de tiempos respectivamente. Su nomenclatura
es muy diversa, dependiendo siempre del tipo de autómata y fabricante
6. 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.
Ejemplo de programación Booleana:
A I 2.3
A I 4.1
O I 3.2
= Q 1.6
7. DIAGRAMA DE FUNCIONES (FBD)
Es un lenguaje gráfico que permite al usuario programar elementos
(bloque de funciones del PLC) en tal forma que ellos aparecen
interconectados al igual que un circuito eléctrico. Generalmente
utilizan símbolos lógicos para representar al bloque de función. Las
salidas lógicas no requieren incorporar una bobina de salida, porque
la salida es representada por una variable asignada a la salida del
bloque.
El diagrama de funciones lógicas, resulta especialmente cómodo de
utilizar, a técnicos habituados a trabajar con circuitos de puertas
lógicas, ya que la simbología usada en ambos es equivalente.
Adicionalmente a las funciones lógicas estándares y específicas del
vendedor, el lenguaje FBD de la Norma IEC 1131-3 permite al usuario
construir sus propios bloques de funciones, de acuerdo a los
requerimientos del programa de control.
Ejemplo de programación mediante diagrama de funciones:

8. LENGUAJE DE TEXTO ESTRUCTURADO (ST)
Texto estructurado (ST) es un lenguaje de alto nivel que permite la
programación estructurada, lo que significa que muchas tareas
complejas pueden ser divididas en unidades más pequeñas. ST se parece
mucho a los lenguajes de computadoras BASIC o PASCAL, que usa
subrutinas para llevar a cabo diferentes partes de las funciones de
control y paso de parámetros y valores entre las diferentes secciones
del programa.
Al igual que LD, FBD e IL, el lenguaje de texto estructurado utiliza
la definición de variables para identificar entradas y salidas de
dispositivos de campo y cualquier otra variable creada internamente.
Incluye estructuras de cálculo repetitivo y condicional, tales como:
FOR ... TO; REPEAT..... UNTIL X; WHILE X... ; IF ... THEN ...ELSE.
Además soporta operaciones Booleanas (AND, OR, etc.) y una variedad de
datos específicos, tales como fecha, hora.
La programación en Texto Estructurado es apropiada para aplicaciones
que involucran manipulación de datos, ordenamiento computacional y
aplicaciones matemáticas que utilizan valores de punto flotante. ST es
el mejor lenguaje para la implementación de aplicaciones de
inteligencia artificial, lógica difusa, toma de decisiones, etc.
Ejemplo:
IF Manual AND Alarm THEN
Level = Manual_Level;
Mixer = Start AND NOT Reset
ELSE IF Other_Mode THEN
Level = Max_level;
ELSE Level = (Level_Indic X100)/Scale;
END IF;
9. SEQUENTIAL FUNCTION CHART (SFC)
Es un “lenguaje” gráfico que provee una representación diagramática de
secuencias de control en un programa. Básicamente, SFC es similar a un
diagrama de flujo, en el que se puede organizar los subprogramas o
subrutinas (programadas en LD, FBD, IL y/o ST) que forman el programa
de control. SFC es particularmente útil para operaciones de control
secuencial, donde un programa fluye de un punto a otro una vez que una
condición ha sido satisfecha (cierta o falsa).
El marco de programación de SFC contiene tres principales elementos
que organizan el programa de control:
*
Pasos (etapas)
*
Transiciones (condiciones)
*
Acciones
El programa irá activando cada una de las etapas y desactivando la
anterior conforme se vayan cumpliendo cada una de las condiciones. Las
acciones se realizarán en función de la etapa activa a la que están
asociadas. Por ejemplo, la etapa 1 activa tras arrancar el programa,
al cumplirse la "Condición 1", se activará la etapa 2, se desactivará
la 1, y se realizará la "Acción 1".
Ejemplo:

Como se mencionó anteriormente, el lenguaje SFC tiene su origen en el
estándar francés GRAFCET (GRAFica de Control de Etapas de Transición).
El grafcet también utiliza etapas, transiciones y acciones, que operan
de la misma manera como en SFC.
6