República Bolivariana de Venezuela. Ministerio de Educación Superior. Universidad Nacional Nacional Experimental Politécnica Politécnica “Antonio José de Sucre”. Vicerrectorado Puerto Ordaz. Cátedra: Laboratorio de PLC. Sección: M2.
Profesor: Borjas, José.
Integrantes: C.I: 18077739
Naranjo, Jhonny
C.I: 17339168
Carranza, José
Ciudad Guayana; 04-06-2009. Introducción
La versatilidad de los PLC’s en el manejo y control de sistemas industriales y de otra naturaleza le han permitido posicionarse como una de las tecnologías más más influ influye yent ntes es en el desa desarro rroll llo o del del camp campo o indu indust stria rial, l, a tal tal punt punto o que que es considera considerado do muchas muchas veces veces como un elemento elemento indispens indispensable able que debe ser tomado en cuenta al momento de llevar a cabo un proceso de automatización o
modernización tecnológica, para garantizar la competitividad en el mercado y por ende, la permanencia en el tiempo. Por si esto fuera poco, el PLC es un dispositivo muy flexible que puede ver mejoradas sus potencialidades de distintas maneras, y una de ellas consiste en la programación estructurada y la habilidad de controlar procesos que requieren memorización de las variables o parámetros que rigen a un sistema, para luego tomar las decisiones adecuadas. La programación estructurada presenta muchas ventajas que no deben ser pasadas por alto. A lo largo del presente informe se observarán algunas ventajas derivadas del uso de bloques funcionales (FB) y bloques de datos (DB) en la programación de los PLC, a través de un ejercicio práctico que trata acerca del arranque por conmutación estrella-triangulo de tres motores trifásicos. Para ello, se emplean PLC’s de la familia S7 de Siemens.
Marco Teórico
Programación de un PLC :
Estructura del programa de aplicación:
Los Programas de aplicación se estructuran de acuerdo al modo como se procesan los programas (tareas), éstas pueden ser de dos tipos:
•
Programación lineal: Se emplea para aplicaciones simples de automatización, su procesamiento es cíclico o secuencial y es suficiente programar las diferentes instrucciones en un solo bloque o sección de programación. Un procesamiento cíclico o secuencial, consiste en la lectura, interpretación y ejecución de instrucción por instrucción, respetando el orden en que se han programado, salvo las instrucciones de salto. Para ejecutar las instrucciones se utilizan informaciones procedentes de la imagen de proceso de entradas (IPE), memorias internas, memorias intermedias, así como los datos actuales de los temporizadores y contadores. Los resultados se escriben en la imagen de proceso de salidas (IPS). Después de la ejecución del programa se corre un ciclo de datos, esto significa el proceso durante el cual los datos de la IPS se transfieren a los módulos de salida, y simultáneamente, se transfieren a la IPE los datos actuales de los módulos de entrada. Con esta IPE actualizada, vuelve a lanzarse la ejecución del programa, lo que significa repetir todo el proceso desde el inicio. Los PLC’s que realizan solamente este tipo de procesamiento, están diseñados con microprocesadores del tipo (Intel 8086/8088) que se caracterizan por su limitada capacidad para ejecutar un solo programa a la vez. Estos tipos de PLC’s son denominados también PLC’s secuénciales, con capacidad además de ejecutar tareas de regulación, de comunicación, etc. Sin embargo, esta forma de procesamiento dificulta notablemente el trabajo cuando se tiene que procesar diferentes funciones a la vez, y en algunos casos es casi imposible estructurar los programas debido a las siguientes desventajas:
Incremento del tiempo de barrido`, que es proporcional a la complejidad del programa.
En extensos programas es muy tedioso su diagnóstico. Modificación y puesta a punto.
•
Dificultad para la concepción del programa resultando complejo y difícil interpretarlo y actualizarlo.
En muchos casos es indispensable el cumplimiento en tiempo real defunciones avanzadas tales como: o
Medición analógica y regulación.
o
Servoposicionamiento.
o
Comunicación para el diálogo operador y control.
o
Funciones de monitoreo, etc.
Programación estructurada : Cuando se desea programar tareas de automatización muy complejas donde utilizar una programación lineal resulta demasiado laborioso, es conveniente en este caso dividir el problema en partes, de tal forma, que interpretándolo y resolviéndolo en forma parcial mediante bloques y al final unir este conjunto de programas en uno solo, resulta significativamente más fácil para el usuario.
A esta filosofía de programación se le conoce con el nombre de Programación Estructurada, que consiste en la división del programa de aplicación en bloques que se caracterizan por una independencia funcional, donde cada bloque del programa realiza una tarea específica claramente definida. La programación estructurada optimiza el tiempo de escaneo ya que no se ejecutan todos los bloques en cada ciclo de barrido, ejecutándose sólo los que están en actividad en el momento dado. Las ventajas que se obtienen programando en forma estructurada son:
La compresión, solución, simulación y pruebas es mucho más fácil cuando un problema muy complejo es tratado por partes.
El diagnóstico de fallas y por ende su solución es también más fácil, dado que una vez identificado el bloque del programa donde se encuentra la falla, su corrección resulta más rápido que si se afrontara el programa global.
Los programas parciales pueden ejecutarse independientemente por equipos de programadores, cada grupo elaborando bloques individuales; además se pueden usar reiteradamente durante el escaneo del programa, o formar parte de otro programa de aplicación.
Se emplea mejor la capacidad de la memoria dado que pueden llamarse los bloques de programas las veces que se requiera sin que se tenga que programar repetidas veces.
Optimización del tiempo de barrido.
Por otro lado, dependiendo del tipo de procesador que disponga el PLC la programación estructurada puede aprovecharse con menor o mayor eficiencia. Este es el caso, como se mencionó anteriormente, de los PLC diseñados en base a microprocesadores del tipo monotarea, donde la programación estructurada compuesta por una serie de bloques de programación se ejecuta en base al procesamiento secuencial o lineal de un bloque matriz, que representa el núcleo de la estructura.
A continuación se puede ver un ejemplo de una programación estructurada cuya distancia medida por el número de bloques a los que “salta”, se le conoce como Profundidad de Encadenamiento o Anidado.
Donde: o
OB (Bloque de Organización): Se encargan de gestionar el programa de mando. Constituyen la interface entre el sistema operativo (programa del sistema) y el programa de mando (programa de usuario).
o
PB (Bloque de Programa): Son bloques que se ejecutan pero no almacenan información.
o
FB (Bloque Funcional): Estos bloques permiten estructurar la programación del usuario, y además tienen capacidad de memoria, gracias a los bloques de datos. Son bloques que se ejecutan y almacenan información.
o
DB (Bloque de Datos): Es una estructura de datos que tiene un conjunto de localidades que permiten almacenar datos de un FB en la memoria.
Se puede ver entonces que la diferencia principal entre la programación lineal y la estructurada con respecto al procesamiento radica en que una programación lineal, funcionando con microprocesadores mono tarea, se ejecutan los diversos módulos o bloques de programación según un procesamiento secuencial, es decir, uno a continuación del otro, mientras que el programa estructurado, además de poder ejecutarse en forma secuencial (un bloque tras otro), también puede ejecutarse independientemente de si se ejecutó el bloque anterior. Esto significa, que si en algún momento durante el proceso de barrido del programa en el sistema de control se origina una contingencia, puede ejecutarse una tarea de interrupción sin tener que esperar el barrido total del programa.
Práctica
Objetivos:
•
Utilizar FB's y DB's en la programación de los PLC de la familia S7 de la Siemens.
Desarrollo: •
Post-Laboratorio :
Realizar un bloque de Función (FB) para arrancar motores de inducción por conmutación estrella-triangulo ( Y- ∆ ), se debe utilizar bloque de datos (DB) de multiinstancia. El bloque de función debe tener las siguientes señales de entradas y salidas: Entradas: 1. Arranque motor. 2. Parada motor. 3. Falla motor. 4. Tiempo de conmutación de Y- ∆ . 5. Temporizado
6. Habilitación. Salidas: 1. Contactor principal 2. Contactor Y 3. Contactor ∆ 4. Lámpara motor encendido 5. Lámpara motor en Falla. Utilizar el FB programado para arrancar tres motores en secuencia 1 23, en ese orden. Utilizar tiempos de conmutación estrella-triangulo diferentes para los tres motores.
Para el FB programado, se ha empleado el siguiente circuito de mando:
Realizar la tabla de símbolos.
Configurar el hardware. En la configuración del hardware se establece la disposición de los módulos del PLC en el rack, junto con sus especificaciones.
Los módulos en cada slot son los siguientes: o Slot 1: Fuente del PLC. o Slot 2: CPU del PLC. o Slot 4: Módulo de entradas digitales. o Slot 5: Módulo de salidas digitales.
Realizar los bloques de programas S7 necesarios. El circuito de mando implementado en el programa de usuario corresponde al esquema que presenta Klockner-Moeller. o
Diagrama de escalera en el bloque de organización (OB1) : En el OB1 se encuentran únicamente las llamadas al bloque funcional (FB1). Cada vez que el OB1 hace una llamada al FB1, lo hace a través del DB respectivo, que es donde están almacenados los parámetros de los motores, que luego son procesados por el FB1.
Como se puede ver en los bloques de llamada a FB, se han asignado tiempos de conmutación estrella-triángulo diferentes para los tres motores, de 5s (motor 1), de 10s (motor 2) y de 15s (motor 3).
o
Diagrama de escalera en el bloque funcional (FB1) :
o
DB1 :
o
DB2 :
o
DB3 :
Prueba de funcionamiento del programa. Para probar el funcionamiento del programa se ha hecho uso de la herramienta de simulación S7-PLCSIM, que se asemeja mucho a un PLC real en cuanto a las características de funcionamiento. Se han simulado varios casos: o
Todos los motores encendidos en la secuencia correcta y en funcionamiento. Todos los térmicos están cerrados, también los pulsadores de parada de cada motor (como están programados NA, entonces se activan para simular que están cerrados).
o
No se ha encendido el primer motor. Se intenta encender el segundo motor. Todos los térmicos están cerrados, también los pulsadores de parada de cada motor (como están programados NA, entonces se activan para simular que están cerrados).
o
Estaban todos los motores en funcionamiento, pero se ha disparado el relé térmico del motor 3.
o
Todos los motores se arrancan en la secuencia adecuada 1, 2, 3, y comienzan las temporizaciones distintas en cada motor para la conmutación estrella-triángulo.
Realizar los planos eléctricos del sistema automatizado. Conclusión
No cabe duda de que se han podido notar algunas ventajas de emplear una programación estructurada. Más específicamente en el caso del control de arranque por conmutación estrella-triángulo, se ha apreciado que con un solo bloque de programa en el FB (bloque funcional) ha sido posible controlar el arranque de tres motores trifásicos, incluso a pesar de que tienen distintas temporizaciones para la conmutación y de que tienen que cumplir con una secuencia de arranque específica. Esto es un ejemplo de lo conveniente que resulta en muchos casos emplear una programación estructurada al resolver problemas. Se puede notar también el importantísimo papel que desempeñan tanto las variables globales como las locales, además de la valiosa capacidad
de almacenar datos que posee el bloque DB (bloque de datos). Evidentemente, es muy beneficioso emplear una programación estructurada con FB’s y DB’s al momento de elaborar un programa destinado a ejecutar acciones repetidas sobre varios sistemas, ya que en ese caso lo que varía son los parámetros que se manejan en cada caso, situación que es resuelta con la memoria del bloque de datos (DB). Estos conocimientos acerca de la programación de PLC’s deberían resultar muy valiosos para cualquier persona que se adentre en el campo de los autómatas programables.