Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Controladores Lógicos Programables Exp.

Descargar como odt, pdf o txt
Descargar como odt, pdf o txt
Está en la página 1de 22

FACULTAD DE INGENIERIAS Y ARQUITECTURA

ESCUELA PROFESIONAL DE INGENIERIA MECANICA

TEMA:
CONTROLADORES LÓGICOS PROGRAMABLES (PLC)

CURSO:
CONTROL Y AUTOMATIZACION

DOCENTE:
ING. MARIA ELENA PAREJA

INTEGRANTES:
TAPIA FLORES, LUIS
ZEGARRA ALARCON, DIEGO
TORRES ARIZACA, GEAN MARCO
LAURA MEJIA, DAVID
CONTROLADORES LÓGICOS PROGRAMABLES
(PLC)
INTRODUCCION
En esta segunda tarea se ampliará el concepto de “procesador lógico
programable” o, más comúnmente conocido como PLC. De este modo, se
observará cuál es el software de este tipo de dispositivos, compuesto
principalmente por un sistema operativo y un entorno de programación. En
primer lugar se expondrán las principales funciones de los sistemas operativos
y se describirá también un ciclo de ejecución de este tipo de sistemas tanto de
forma genérica o para el caso particular del PLC S7300, fabricado por
Siemens. En segundo lugar se observará el denominado entorno de
programación. Para ello se describirán los principales lenguajes de
programación utilizados para este tipo de dispositivos:
 Diagrama de funciones secuenciales o SFC
 Diagrama de bloques de funciones o FBD
 Diagrama de tipo escalera o LAD
 Texto estructurado o ST
 Lista de instrucciones o IL/STC

Para todos ellos, se realizará una breve descripción y se proporcionaran sus


principales características así como un extracto de un programa real para
conocer su funcionamiento. A continuación, se introducirá un entorno de
programación común para este tipo de dispositivos como es el de CoDeSys.
Se verán entonces sus tres funciones principales así como la relación entre
este tipo de programas y un PLC. Finalmente, se proporcionarán ejemplos
de uno de los lenguajes de programación más utilizados como es el de tipo
escalera. Los objetivos de esta tarea son:

 Introducir al alumno cuál es la composición del software de un PLC


(sistema operativo y entorno de programación.

 Enumerar las principales funciones del sistema operativo y describir


los principales lenguajes de programación.
 Definir el entorno de programación CoDeSys, así como
su relación con un PLC.

COMPOSICIÓN DEL SOFTWARE DE LOS PLCS.


El software de un PLC se compone principalmente de:
 Un sistema operativo

 Un entorno de programación que puede soportar uno o más


lenguajes de programación.

Además, existen una serie de componentes adicionales para el software de


estos dispositivos como pueden ser aquellos programas utilizados para
diagnosticar y encontrar fallos, los que permiten la visualización de los
resultados o la comunicación entre diversos dispositivos. Muy a menudo,
este tipo de programas forma parte del sistema operativo. El sistema
operativo puede ser de tipo de convencional, como un PLC basado en un
PLC (ej. Windows, Linux, Mac OS); o de tipo especializado por una empresa
(ej. STEP 7-Micro/WIN, fabricado por la empresa Siemens). Este último tipo
de sistema operativo posee, a menudo, interfaces de usuario de tipo gráfico
similares a las de Windows. A menudo, los PLC contienen también librerías
con módulos de programación suplementarios en su memoria para otro tipo
de operaciones más específicas.

SISTEMA OPERATIVO (OS) - FUNCIONES.

El sistema operativo o OS, se trata de un programa o conjunto de ellos que,


para un determinado sistema informático, gestiona los recursos hardware y
provee servicios a los programas de aplicación. En el caso de los PLCs, las
principales funciones del sistema operativo (OS) son:

 Inicialización de los PLC.

 Escaneo (lectura) de las entradas digitales y actualización de las


tablas PII (ver Tarea 1 para las tablas PII y PIO).

 Escaneo de las entradas y salidas analógicas

 Ejecución del programa del usuario.

 Mantenimiento de los temporizadores, contadores, etc.

 Actualización de las salidas de control por medio de las tablas PIO.


 Mantenimiento de los programas en caso de que se encienda.

 Auto-diagnóstico del sistema.

 Comunicación en el entorno de red.

 Gestión de las tareas cuando los PLCs se controlan por multitareas


del OS en tiempo real.

Un programa es una secuencia de instrucciones, que terminan con una


orden de finalización del proceso, devolviendo así el control al operador o al
monitor del OS. El programa se puede ejecutar de manera asíncrona, si se
producen ciertos eventos; o síncrona, si la CPU ejecuta de forma secuencial
todas las instrucciones desde la primera hasta la última y vuelve de nuevo a
la primera. El ciclo operativo de un PLC está compuesto de dos fases: una
fase entrada-salida y una fase de usuario, relacionada con el procesamiento
de los datos. La duración de ambas fases depende del número de entradas y
salidas, la extensión del programa y de la velocidad de operación del PLC.
Además, la estructura del ciclo, se define por la forma en la que direcciona
las entradas y salidas, el número de transferencias incondicionales y la
duración de los cálculos. A continuación podemos observar cómo es un ciclo
típico de un PLC.
La organización del ciclo puede estar fijada rígidamente o elegirse entre las
siguientes opciones.

 Todas las entradas se visitan al comienzo del ciclo, y las salidas se


actualizan después de resolver todas las ecuaciones.

 Todas las entradas se visitan al comienzo del ciclo, y las salidas se


actualizan después de resolver cada ecuación.

 Todas las entradas se visitan cada n ms, mientras que las salidas se
actualizan cuando existen ciertas condiciones.

Además, debe mencionarse que, en la ejecución de un ciclo, pueden


destacarse los siguientes intervalos de tiempo son:

 Tscan: tiempo de escaneo del programa.

 Tcycle: tiempo total de ciclo.

 Tresponse: tiempo de respuesta, entre el cambio de una señal de


entrada y el de la salida.

Sin embargo, este tipo de esquemas pueden verse modificados para ciclos
de operación de PLCs de tipo industrial. De este modo, se muestra a
continuación el proceso cíclico de programación para el PLC S7-300 y el S7-
400, fabricados por Siemens. Ambos se controlan por OB1, siendo OB el
bloque de organización cuya función se describirá más adelante. De este
modo, tras encender la fuente de alimentación y poner la CPU en el modo
RUN, OB 1 es llamado para realizar el procesado de cada ciclo del PLC.
Esto se realiza hasta que la CPU se para o se apaga la fuente de
alimentación. A continuación puede observarse un diagrama explicativo del
proceso.
LENGUAJES DE PROGRAMACIÓN.
Un lenguaje de programación es un lenguaje formal diseñado para expresar
procesos que pueden ser llevados a cabo por máquinas como puede ser un
ordenador. En el caso de los PLCs, los lenguajes de programación para los
surgieron junto al mismo tiempo que la aparición del primer PLC, en 1968.
Así se explica porque no se utilizaron para este fin lenguajes de
programación de alto nivel como Pascal y C y, en su lugar, se emplearon
otros lenguajes más simples y fáciles de entender, como podremos ver a
continuación.

Fue la tercera parte del estándar IEC 61131, el que consideró estos
lenguajes para la programación de los PLCs. Este estándar se ha designado
como IEC 61131-3 aunque solía ser designado como IEC 1131, antes de que
el sistema de numeración cambiase por la comisión internacional electro-
técnica. De este modo se definieron los siguientes cinco lenguajes:

 Diagrama de Funciones Secuenciales (SFC) – un lenguaje de bloques


de funciones secuenciales.

 Diagrama de Bloques de Funciones (FBD) – un lenguaje de


diagramas de bloques secuenciales.

 Diagramas de Tipo Escalera (LАD) – un lenguaje de diagramas de


relés (denominado de tipo escalera).

 Texto Estructurado (ST) – un lenguaje de alto nivel como el del tipo de


texto estructurado (similar a C y, sobre todo a Pascal).
 Lista de instrucciones (IL o STL) – lenguaje de tipo ensamblador con
uso de acumuladores.

En resumen, los lenguajes de programación para PLC son de dos tipos,


visuales y escritos. Los visuales (SFC, FBD y LAD) 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. Sin embargo, los escritos (ST e IL o
STL) son listados de sentencias que describen las funciones a ejecutar. Los
programadores de PLC poseen formación en múltiples disciplinas y esto
determina que exista diversidad de lenguajes.

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. A
continuación se expondrán las características y funciones más básicas de
este tipo de lenguajes así como un extracto representativo de cada uno de
ellos.

DIAGRAMA DE FUNCIONES SECUENCIALES (SFC)

Este primer tipo de lenguaje de programación para los PLCs se trata de un


método gráfico de modelado y descripción de sistemas de automatismos
secuenciales, en los que el estado que adquiere el sistema ante el cambio
de una entrada depende de los estados anteriores. Se trata de programas
que están bien estructurados y cuyos elementos básicos son las etapas, las
acciones y las transiciones. De este modo, una secuencia en SFC se
compone de una serie de etapas representadas por cajas rectangulares y
que se encuentran conectadas entre sí por líneas verticales. Así, cada etapa
representa un estado particular del sistema y cada línea vertical a una
transición. Estas transiciones están asociadas a una condición
“verdadero/falso”, dando paso así a la desactivación de la etapa que la
precede y activación de la posterior. Este tipo de lenguaje no tiene ninguno
análogo y, en STEP 7, este lenguaje se denomina lenguaje gráfico de
programación (S7-GRAPH).

A continuación puede observarse un extracto de un programa diseñado con


este lenguaje de programación:
DIAGRAMA DE BLOQUES DE FUNCIONES (FBD).

Este segundo lenguaje de programación es también de tipo gráfico y permite


al usuario programar rápidamente, tanto expresiones como en lógica
booleana. FBD proviene del campo del procesamiento de la señal y su
utilización es conveniente cuando no hay ciclos pero existen, sin embargo,
varias ramas en el programa a crear. Se trata de un lenguaje de alto nivel
que permite resumir funciones básicas en bloques de modo que el usuario
solo se preocupa por una programación funcional de su rutina. De este
modo, es ideal para usuarios que no tengan habilidades avanzadas en
programación y para aquellos procesos de baja complejidad, actualmente es
un lenguaje muy popular y muy común en aplicaciones que implican flujo de
información o datos entre componentes de control. Las funciones y bloques
funcionales aparecen como circuitos integrados y es ampliamente utilizado
en Europa.

A continuación puede observarse un esquema con un extracto de un


programa construido utilizando este lenguaje de programación.
DIAGRAMA DE TIPO ESCALERA (LAD).

Este tercer tipo de lenguaje es también un lenguaje gráfico, que pueden


soportar casi todos los PLCs. Se trata de una conexión gráfica entre
variables de tipo Booleano, comparable a los antiguos controladores de tipo
relé, donde se representa el flujo de energía en diagramas de circuitos
eléctricos. Así, este lenguaje de programación se utiliza para la mayoría de
las señales Booleanas y prácticamente no se utiliza para trabajar con
variables analógicas.

Dentro de sus características principales se encuentra el uso de barras de


alimentación y elementos de enlace y estados (ej. flujo de energía); la
posibilidad de utilizar contactos, bovinas y bloques funcionales; así como de
evaluar las redes en orden, de arriba abajo o de izquierda a derecha. Se
trata de uno de los lenguajes más utilizados en la industria debido a su
simplicidad, soportado, disponibilidad y legado.

La estructura es simple, los denominados buses o relés rodean una red LD


por la izquierda y por la derecha. Para el bus de la izquierda, suministrado
con la señal lógica “1”, “la energía” llega a todos los elementos conectados.
Dependiendo de su condición, los elementos dejan ir la energía hasta los
siguientes elementos o interrumpen el flujo.

Para STEP 7, este lenguaje se conoce como LAD (Ladder Logic). Además, la
siguiente figura muestra un ejemplo de un programa de este tipo aunque
más adelante podremos ver también más ejemplos:
TEXTO ESTRUCTURADO (ST)

Este cuarto tipo de lenguaje, ST, está basado, en cambio, en los lenguajes
de tipo texto de alto nivel y es muy similar a los ya conocidos PASCAL,
BASIC y C. Aunque todavía no es muy popular se le considera como un
lenguaje nuevo ya que requiere conocimiento previo de programación.

Las principales ventajas de este lenguaje respecto al basado en el listado de


instrucciones o IL es que incluye la formulación de las tareas del programa,
una clara construcción de los programas en bloques con reglas
(instrucciones) y una potente construcción para el control. De este modo, se
trata de la forma más apropiada de programar cuando queremos realizar
ciclos (ej. “if”, “while”, “for”, “case”).

Para el caso de STEP 7 este tipo de lenguaje se denomina SCL (Lenguaje


de Control Estructurado). A continuación puede observarse un ejemplo de un
extracto de un programa de este tipo:

LISTA DE INSTRUCCIONES (IL/STL).

Este quinto tipo de lenguaje, al igual que el anterior, se trata de un lenguaje


de texto, en este caso, similar a un ensamblador. Está mucho más utilizado
en Europa y se trata de un tipo conveniente para programas de poca
extensión. Una de las principales características es que todos los operadores
trabajan con un registro especial, denominado acumulador (LD, ST). La
estructura de este tipo de lenguajes puede observarse a continuación:
Además, para el OS STEP 7, desarrollado por Siemens, este lenguaje se
denomina STL (Lista de Instrucciones – una lista de reglas e instrucciones). A
continuación se presenta un extracto de un programa escrito con este tipo de
lenguaje:

ENTORNO DE PROGRAMACIÓN CoDeSys

CoDeSys (SIStema de DЕsarrollo COntrolado) es un entorno de desarrollo


de programas de PLC, creado por la empresa Alemana 3S GmbH (1994 г.).
Desde 2012 se ha escrito como CODESYS
(http://en.wikipedia.org/wiki/CoDeSys ).

Se trata de un sistema que se descarga de manera gratuita y que permite el


funcionamiento de los PLC producidos por las empresas IFM, OVEN y otras
muchas. Su instalación se realiza por medio de un PC con la ayuda
de interfaces en serie normales (RS232), interfaz CAN-PC (ej. EC2070).
Además, posee también una librería de funciones integrada. Este tipo de
entorno es capaz de soportar tres funciones básicas:
 Establecer todos los parámetros del PLC en cuestión.

 Programar un PLC en uno de los lenguajes estándar, definido por la


IEC 61131-3: Lista de instrucciones (IL), diagrama de función secuencial
(SFC), diagrama de funciones por bloques (FBD) diagrama de lógica en
escalera (LD) o texto estructurado (ST); Testeando y ajustando los
programas creados.

 Diagnostico/visualización de los datos recibidos en el controlador.

A continuación podemos observar un esquema explicativo sobre la relación


entre CoDeSys y un PLC donde vemos cómo ambos se comunican mediante
preguntas y respuestas mientras que las E/S son las que van ya a la fábrica
o maquinaria:

PROGRAMACIÓN EN PLCs

La programación en PLCs siguen las siguientes reglas:

 Retorno a la función de llamada.


 Llamar la atención utilizando ciclos (para tener en cuenta el tiempo de
ejecución).

 Incrementar el interés hacia el uso de índices para los matrices y


punteros.

Así, la estructura de un programa o proyecto se basa en POUs, o, como es


definido por la IEC 61131-3, aquellos bloques que constituyen los programas
y los proyectos y que se denominan Unidades Organizativas de los
Programas. Existen tres tipos de POU, declarados por el estándar como:

 Función (FUN) de tipo POU, aquella que puede tener parámetros


fijados (argumentos) pero no tiene variables estáticas. Es decir, no tiene
memoria de modo que para los mismos valores de entrada se obtienen
siempre los mismos valores de salida.

 Bloque funcional (FB) de tipo POU, aquel con variables estáticas


(memoria). Sus salidas siempre dependen de la condición de sus variables
tanto internas como externas, cuyos valores permanecen iguales entre las
ejecuciones individuales del bloque funcional. Se trata también de aquellos
bloques principales para generar un programa de PLC.

 Programa (PROG) de tipo POU, como el programa principal. Para los


PLCs multitareas pueden ejecutarse simultáneamente un elevado número de
programas principales.

Además de las POU, un programa contiene también datos y direcciones. La


validez de estos es local, para 1 POU o global, para todas las POU. En el
caso del entorno CoDeSys, estos pueden soportan tres tipos de
declaraciones: texto, tabular y automática. Las variables se encuentran
fijadas a una dirección que puede ser un área de entrada y/o salida o un
cierto marcador de esta área. La sintaxis que indica estas características es
precedida por el símbolo “%” que indica que es una variable con las
siguientes características:

 Prefijos para el área: I – entrada; Q – salida; M –


marcador.

 Para el tamaño: X – un solo bit; B – un byte (8 bits); W – una palabra


(16 bits); D – una palabra doble (32 bits).
Respecto a los tipos de datos, es el estándar IEC 61131-3 el que define
una multitud de tipos de datos estandarizados, denominados tipos de
datos elementales. Estos se caracterizan por tener muchos bits, y un
rango de valores admisible. Además, el usuario también puede definir
otros tipos de datos que pueden crearse y utilizarse analógicamente.
Todos estos datos son muy similares a los lenguajes utilizados en niveles
elevados como C/C++ y PASCAL.

Finalmente, es necesario señalar que, con el entorno CoDeSys es posible


realizar ciertas operaciones: asignación, operaciones de tipo Booleano,
operaciones analógicas, comparaciones, selección, conversión de tipo,
operaciones con números reales, desplazamientos de bits, y otro tipo de
operaciones especiales. Sin embargo, el proceso de creación de un
programa PLC (fase de modelo) no es sencillo y deben cumplirse las
siguientes fases:

EJEMPLOS DE SISTEMAS EN ESCALERA.

La programación de tipo “escalera" consiste en cierta secuencia lógica de


instrucciones, o contactos. De este modo, el estado de cada uno de los
elementos, o contactos, de los sistemas electro-mecánicos, contacto-relé,
se utilizan para identificar el control de las máquinas y/o procesos. La
condición real de los contactos del sistema electro-mecánico es
reemplazado por una secuencia lógica. Pueden utilizarse todos los bits de
las áreas direccionables de un determinado PLC como un elemento
separado del control del sistema (contacto), siempre que se encuentre de
acuerdo con el sistema de direccionamiento empleado. El siguiente
diagrama muestra un ejemplo de contactos y diagrama lógico con su
escalera equivalente (peldaños):

A continuación veremos algunas funciones concretas utilizadas en este


tipo de diagramas:

1. Estados de la entradas:

 Examinar si está cerrado (XCI), si la entrada del dispositivo esta como


ON, cerrada, entonces el bit correspondiente de la memoria de datos o
entrada imagen se pondrá como verdadero, permitiendo así que la energía
fluya de izquierda a derecha. En caso contrario, si el dispositivo se
encontrase como OFF, abierta, se bloquearía la energía .

 Examinar si está abierto (XIO), si la entrada del dispositivo esta como


OFF, abierta, entonces el correspondiente bit de la memoria de datos o
entrada imagen se pondrá como verdadero, permitiendo así que la energía
fluya de izquierda a derecha. Al contrario, si estuviese como falso, se
bloquearía la energía.

1. Sentidos de transición:

 Sentido positivo de transición (PTS): la condición para el link derecho


es ON para la evaluación de un peldaño de la escalera cuando se produce el
cambio de OFF a ON en la entrada.

 Sentido negativo de transición (NTS): la condición para el link derecho


es ON para la evaluación de un peldaño de la escalera cuando se produce
un cambio de ON a OFF en la entrada.

1. Instrucciones de salida:

 Energizar Salida (OTE): si la condición del link izquierdo del OTE está
en ON, entonces, se toma el correspondiente bit de la memoria de datos a la
salida. El dispositivo cableado a esta salida estará también energizado.
 Energizar la salida negativa (NOE): si la condición del link izquierdo de
la OTE está en OFF, entonces, se tomará el correspondiente bit de la
memoria de datos a la salida. El dispositivo cableado a esta salida estará
también energizado.

 Salida cerrada / Tomar salida no cerrada / Reseteo (OTL), (OTU): si la


condición del link izquierdo del OTL está momentáneamente a ON, entonces,
se tomará el correspondiente bit de la memoria de datos como salida, y
permanecerá así hasta que la condición cambie al estado de PFF. Se
seguirá tomando la salida hasta que la condición del link izquierdo del OTU
esté momentáneamente en estado ON

1. Funciones Lógicas:

 Función OR con dos entradas, la salida está en ON si cualquiera


de las entradas también está en
ON
 Función AND con dos entradas, la salida está en ON si
ambas entradas están en ON

 Función NAND de dos entradas, la salida estará en ON si


cualquiera de las dos entradas en OFF.

 Función NOR de dos entradas, la salida estará en ON si ambas


entradas están en OFF.

 Funcion EXOR de dos entradas, la salida estará en ON si cualquiera


de las dos entradas esta en ON, pero no ambas.
 Funcion EXNOR de dos entradas, la salida esta en ON si ambas
entradas están también en OFF o bien en ON.

Finalmente, podemos observar un ejemplo concreto de un diagrama de tipo


escalera (LAD), para la expresión:

CONCLUSIONES

Una de las conclusiones de este trabajo es la composición del software de


los PLCs, formados, principalmente, de un sistema operativo y un entorno de
programación. Este último es el que va a soportar uno o más lenguajes de
programación, utilizados para la programación de los PLCs. Existen dos
tipos diferentes de lenguajes, los gráficos (SFC, FBD y LAD) y los textuales
(ST e IL o STL). Los primeros se caracterizan por 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. Sin embargo,
los escritos son listados de sentencias que describen las funciones a
ejecutar. Los programadores de PLC 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.
Además se resalta también la importancia del CoDeSys (SIStema de
Desarrollo COntrolado), entorno de desarrollo de programas de PLC muy
utilizado actualmente. Finalmente se ha hecho hincapié sobre la metodología
a la hora de realizar un programa para PLCs e incluso se han dado ejemplos
de uno de los lenguajes más utilizados, LAD.

También podría gustarte