control de energia en base a plc148.206.53.84/tesiuami/uami10970.pdf · plc: controlador de ......

44
CONTROL DE ENERGIA EN BASE A PLC T E S I S Que para obtener el título de Ingeniero Electrónico en Computación presenta: Martha Cecilia Castorena Romo Asesor M. en C. Víctor H. Téllez Arrieta México D.F. 2004

Upload: buidung

Post on 29-Sep-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

CONTROL DE ENERGIA EN BASE A PLC

T E S ISQue para obtener el título de IngenieroElectrónico en Computación presenta:Martha Cecilia Castorena Romo

Asesor M. en C. Víctor H. Téllez ArrietaMéxico D.F. 2004

Page 2: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 2

Page 3: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

A MIS PADRES:

JOSE ARMANDO CASTORENA GUARDADOMARTHA ROMO NAJERA

Sabiendo que no existirá una formade agradecer toda una vida desacrificios y esfuerzos. El objetivologrado también es suyo ya que lafuerza que me ayudo a conseguirlofue su APOYO

Page 4: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 4

Page 5: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

AGRADECIMIENTOS

Con Admiración y Respeto a mi asesor M. en C. Victor H. Téllez Arrietaquien su paciencia y orientación ayudo a que fuera posible la realizacióndel presente proyecto.

A mis hermanos José Armando Castorena Romo y Abraham CastorenaRomo que me apoyaron en todo momento.

Y a cada una de esas personitas que me encontré en el transcurso de micarrera Profesores y Compañeros.

Page 6: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 6

Page 7: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 1

Índice

Índice ..................................................................................................................................1Introducción..........................................................................................................................2Antecedentes .......................................................................................................................2Objetivo ...............................................................................................................................2Análisis General....................................................................................................................3¿Qué es LabVIEW?...............................................................................................................4

Uso de la Memoria:............................................................................................................4Instrumento Virtual.............................................................................................................4Barra de Herramientas. ......................................................................................................6Tipos de variables y datos. ................................................................................................9Estructuras y Elementos de Programación. ......................................................................... 10Comunicación Serial. ....................................................................................................... 12

Construcción de Interfaz con LabVIEW. ................................................................................. 13PLC: Controlador de Lógica Programable. .............................................................................. 19

¿CPU S7-200? ............................................................................................................... 19Step 7-Micro/Win 32 ........................................................................................................ 21Juego de operaciones SIMATIC ........................................................................................ 21Juego de operaciones IEC 1131 3 .................................................................................... 21Editor AWL (Lista de instrucciones).................................................................................... 22Editor KOP (Esquema de Contactos) ................................................................................. 22Editor FUP (Diagrama de funciones) .................................................................................. 23Entradas y salidas integradas ........................................................................................... 23Crear Programas............................................................................................................. 24Compilar programas ........................................................................................................ 25Ventana de resultados ..................................................................................................... 26Seleccionar CPU............................................................................................................. 26Cargar Programas. .......................................................................................................... 27Ejecutar Programas. ........................................................................................................ 28

Construcción del Programa Principal con Step 7-Micro/Win 32 .................................................. 29Modo Freeport ................................................................................................................ 29Inicializar el modo Freeport............................................................................................... 29Habilitar Interrupciones .................................................................................................... 31Programa Principal .......................................................................................................... 31Rutina de Interrupción...................................................................................................... 33Esquema Completo ......................................................................................................... 33

Conclusiones...................................................................................................................... 37Bibliografía ......................................................................................................................... 38

Page 8: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 2

Introducción

En la actualidad es indispensable utilizar la energía eléctrica sin importar el medio en el que nos encontramos,así cada vez el consumo y sobre todo el costo de este servicio se incrementa.

Los diferentes campos donde se utiliza energía eléctrica se han visto en la necesidad de implementarprogramas de ahorro de energía, los cuales deben tener características especiales, como bajo costo y quepermitan monitorear los equipos constantemente pero lo principal es que cualquiera que se elija debe reducirel pago por el servicio de energía.

Este proyecto parte de la idea de monitorear las diferentes áreas de la unidad Iztapalapa como son edificios,laboratorios, cubículos, baños, etc. Este monitoreo debe permitirnos observar las diferentes secciones de losedificios indicando si ese cubículo, laboratorio, o pasillos tiene la luz encendida, otra función que necesitamosimplementar es que de forma remota se apaguen las luces de estas áreas.

Para realizar este proyecto hemos decidido utilizar un Controlador de Lógica Programable PLC que estadentro de los sistemas de automatización S7-2001 de Siemens, los cuales son idóneos para controlar tareassencillas y además su software esta basado en Windows2 ofrece la flexibilidad necesaria para solucionar lastareas de automatización.

Para la interfaz utilizaremos LabVIEW3 (Laboratory Virtual Instrument Engineering Workbench) que es unlenguaje de programación utilizando el método grafico.

Este documento intenta servir de guía a los lectores para la utilización de estos instrumentos de software almismo tiempo que se explica la elaboración del proyecto de control y monitoreo de energía.

Antecedentes

Dentro del periodo de actividades de la unidad Iztapalapa de la UAM. Es necesario el consumo de energíaconstante por los laboratorios, cubículos, salones de clase y áreas comunes pero hay periodos como elnocturno y las vacaciones estas áreas en ocasiones se quedan encendidas, hay que hacer notar que esteproyecto no intenta cortar la energía de estas secciones si no que se apagan las luces solamente, ya queexisten áreas como son los laboratorios de computo donde existen servidores que es necesario dejarlosencendidos.

Objetivo

Desarrollar un sistema de control y monitoreo de encendido de luz en áreas comunes a través de unControlador de Lógica Programable (PLC).

1 S7-200 y Step 7-Micro/Win 32 es una marca registrada de Siemens Energy & Automation Inc.2 Windows es una marca registrada de Microsoft Corporation3 LabVIEW 5.0 Graphical Programing for instrumentation es una marca registrada de Nacional

Instruments

Page 9: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 3

Análisis General

Empezaremos por dar una visión general del proyecto. En la siguiente figura podemos observar las grandesetapas de desarrollo de este proyecto.

Etapas de comunicación del Proyecto.

Tenemos que lograr una comunicación entre las diferentes áreas, hemos nombrado paso A la comunicaciónque debe existir entre la PC y el PLC visto desde el punto del usuario, es decir si el usuario quiere apagar laluz de determinada área la PC enviará una señal hacia el PLC la cual será interpretada por este. El siguientetipo de comunicación es el que debe existir entre el PLC y el Medio (paso B), es decir, una vez que el PLCinterpreto la señal que la PC le envió es necesario enviar una señal hacia el medio esta señal debe enviarsea partir de algunas de las salidas del PLC y el Medio debe de recibirla y ejecutarla en este caso será apagarlas luces de algún área. Una vez que el medio a ejecutado la señal será necesario actualizar las entradas delPLC, porque las entradas del PLC, en el desarrollo de este proyecto veremos que es necesario utilizar lasentradas del PLC por cada una de las áreas que estamos monitoreando si alguna a sido apagada esnecesario que el PLC reciba esta señal (paso C) de actualización así el PLC identifica que esa luz ahora estaapagada y le manda una señal (paso D) a la PC que esta monitoreando esas áreas así se actualiza la vistaque se muestra al usuario indicándole que se a apagado el área deseada.

En base a esta explicación vemos que hay diferentes etapas de construcción de este proyecto.

La fase donde se conecta el PLC hacia el medio nosotros no la desarrollaremos.

Construcción de lainterfaz (utilizandoLabVIEW)

Comunicación entreLabVIEW y el PLC

Construcción delprogramaprincipal en el PLC

AB

C

D

Page 10: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 4

¿Qué es LabVIEW?

LabView es un lenguaje de programación de alto nivel, de tipo gráfico, y enfocado al uso en instrumentación.Pero como lenguaje de programación, debido a que cuenta con todas las estructuras, puede ser usado paraelaborar cualquier algoritmo que se desee, en cualquier aplicación, como en análisis, telemática, juegos,manejo de textos, etc.Cada programa realizado en LabView será llamado Instrumento Virtual (VI), el cual como cualesquier otroocupa espacio en la memoria en la computadora.

Uso de la Memoria:

La memoria se utiliza para cuatro bloques diferentes como son:

• El Panel Frontal: Donde los datos se muestran y controlan.• El Diagrama de Bloques: En este se aprecia la estructura del programa, su función y algoritmo, de

una forma gráfica en lenguaje G, donde los datos fluyen a través de líneas.• El Programa Compilado: Cuando se escribe en LabViEW, el algoritmo escrito de forma gráfica no

es ejecutable por la computadora, por tanto, LabView lo analiza, y elabora un código ensamblador,con base en el código fuente de tipo gráfico. Esta es una operación automática que ocurre al ejecutarel algoritmo, por tanto no es importante entender como sucede esto. Lo que si es algo para apreciar,es que en este proceso, se encuentran los errores de confección que son mostrados en una lista deerrores, donde con solo darle doble clic al error, se aprecia en el diagrama de bloques, donde ocurreéste, para su corrección.

• Los Datos: Como el algoritmo maneja datos, requiere de un espacio en memoria para estos, lo quehace tomar en cuenta que el computador usado debe tener la memoria suficiente para manejarlos.Por ejemplo, cuando se usan grandes matrices se puede requerir de mucho espacio.

Nota: A un programa VI terminado se le puede borrar el diagrama de bloques para que ocupe menosmemoria, y no pueda ser editado, y seguirá funcionando. El panel nunca puede ser borrado.

Instrumento Virtual.

Un programa creado en LabVIEW es llamado como Instrumento Virtual y consta de tres partes a crear.

• El Panel frontal, donde estarán ubicados todos los indicadores y controles que el usuario podrá vercuando el programa este en funcionamiento. Por ejemplo botones, perillas, gráficas, etc. Cuandodesarrollamos una aplicación o una subrutina tenemos que analizar cuales son las entradas denuestra aplicación estas son representadas por los instrumentos de control y obviamente las salidasde la aplicación representadas por un instrumento indicador el cual mostrará el resultado.

Page 11: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 5

Panel Frontal.

• El diagrama de bloques muestra el programa en código gráfico G. Se usan en este diagramaestructuras de programación, y flujo de datos entre las diferentes entradas y salidas, a través delíneas. El flujo se representa como un cuadro con entradas y salidas. En éste se ve el flujo delprograma, y se compone de cinco tipos de elementos:

1. Las terminales de conexión de los indicadores y de los controles del panel frontal. Se nota quelas líneas del dibujo de la conexión de los controles es más gruesa que la de los indicadores,para diferenciarlos.

2. Las constantes.3. Las funciones y cajas negras, donde se procesan las señales.4. Las estructuras de programación.5. Los cables que conducen las diferentes señales, los cuales varían según la señal que conducen.

Diagrama de Bloques.

• El icono de conexión. Representa un programa que se puede utilizar como subrutina para otroprograma, donde el icono será la caja negra, y las entradas son las conexiones a los controles delprograma subrutina, y las salidas son las conexiones a los indicadores del mismo subprograma. Alcrear el icono, se conecta a través del alambre de soldadura a los indicadores y controles en laforma que se desee que se distribuyan las entradas y salidas en la caja negra, tal como en uncircuito integrado algunos pines corresponden a alguna función en él. La idea es crear un sistema deprogramación modular, donde cada rutina creada llame otras rutinas, y estas a su vez otras demenor nivel, en una cadena jerárquica con cualquier límite deseado. Así cuando se use un módulo,

Page 12: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 6

no se requiere saber como funciona interiormente, simplemente solo basta conocer sus entradas ysalidas para ser así usado.

Para saber el uso de los subvis, la ventana de help ofrece la información pertinente a las entradas y salidas.Esta ventana se puede obtener presionando ctrl.-h o por medio del menú Windows

Ventana de Ayuda.

Barra de Herramientas.

Tanto en el panel frontal como en el diagrama de bloques, existe una barra de herramientas, que sirve tantopara editar el VI, o ejecutarlo según el modo de trabajo que se tenga.

Ejecutar

ModoStop

Corridosucesivo

Puntode paro

Modo decorrido

HighlightImprimirPanel

GrabarPanel

Iconos y su Función.

Con el botón Ejecutar se corre una vez el programa. Cuando está ejecutando, se cambia a rayado comose aprecia en la figura y aparece un botón de Stop con el cual se pede detener el programa. No esrecomendado hacer esto, es preferible crear un algoritmo de paro del programa, con un botón destinadoexclusivamente para esto.

Algunos programas al terminar deben de ejecutar algunas operaciones de cierre, como puede ser en laprogramación de tarjetas de adquisición de datos, o en el cierre de archivos, por lo tanto si se usa el botón destop, este parará el programa totalmente, en el punto en el que se encontraba y no permitirá que completesus rutinas de cierre y esto puede generar errores y perdida de la información.Cuando la flecha aparece rota indica que hay un error en el programa. Al hacer clic se muestra una lista deerrores, y al hacer clic en cada uno de los errores se mostrará en el diagrama la ubicación de la falla.

• Modo cambia entre modo de edición y modo de ejecución. Así está en modo de ejecución.• Corrido sucesivo hace que el programa ejecute una ves tras otra hasta que se le de un paro con el

botón de stop.• Punto de paro al ser presionado cambia a , así, al ser llamado como subrutina, abrirá el panel

frontal para mostrar como cambia, para encontrar errores de lógica, o por simple visualización.• Modo de corrido Al ser presionado cambia a una línea por pasos, así el programa ejecutará paso a

paso. Cada paso se dará al oprimir el icono de un solo paso.

Page 13: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 7

• Highlight Muestra como fluyen los datos y el valor de ellos, a través de las líneas del diagrama debloques.

• Imprimir Panel Imprime el panel frontal actual cuando termina de ejecutar el programa.• Grabar Panel Almacena en un archivo .LOG el estado actual del panel frontal.

Haciendo clic en los menús superiores se aprecian las aplicaciones necesarias para trabajar con LabVIEW,como grabar o cargar programas, como editarlos, tipos de letra etc. Los menús se muestran a continuación.

File. En este menú se encuentran las herramientas para el manejo de archivos, impresión, y guardar lainformación de los programas creados en LabView.Edit. Se tienen los comandos para cortar, copiar, pegar y borrar partes; eliminar cables y editar controles;alinear y distribuir objetos; cambiar objetos entre diferentes planos; y dar las preferencias de manejo delLabView.Operate. Se encuentran herramientas para ejecutar y detener los programas, así como cambiar el modo detrabajo, y hacer que todos los valores en los controles e indicadores queden como valores iniciales al serguardado el programa.Controls. Aparecen todos los tipos de controles e indicadores que se pueden colocar en el panel frontal,como son:

• Numéricos: Permiten la entrada y salida de datos y valores de medición de tipo numérico, ya seaen un número real, enteros, naturales positivos.

• Boléanos: Permiten la salida y la entrada de datos de tipo discreto, on-off.• String & Table: permite la entrada y salida datos de tipo alfanumérico, vistos en un indicador o

control, o en una tabla que también puede cumplir las dos funciones.• List & Ring: Son controles e indicadores que presentan listas de opciones donde el item

seleccionado se entrega como un valor al programa.• Array & Clusters: Permite agrupar datos para formar matrices ya sean de entrada o salida. Estas

matrices pueden ser de tipo numérico, o de tipo boleano. También se pueden agrupar datos dediferentes tipos de control o de diferentes tipos de indicador, en un cluster, el cual es una agrupaciónque posee una sola terminal en el diagrama de bloques, semejante a un conector de un computador,el cual siendo un solo conector lleva muchas lineas que llevan diferentes señales. en las matricestodas las señales son del mismo tipo.

• Graph: Controles e indicadores de gráficas. Pueden ser gráficas de barrido, graficas XY, o de tonosde colores.

• Path & Refnum: Controles útiles en el manejo de archivos.• Decorations: Se disponen elementos decorativos para el panel frontal.• Controls: Además de poderse ubicar los controles e indicadores presentados en los menús

anteriores, también se pueden usar controles editados por el usuario, como por ejemplo el dibujo deuna bomba, o un pistón neumático.

Ventana de Controles.

Page 14: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 8

Windows en el se encuentran las herramientas para hacer cambios entre ventanas de trabajo. Mostrardiagrama o panel, según la ventana en la que se encuentre. Mostrar la historia de los cambios en elprograma. Visualizar la lista de los errores que posee el VI o programa .Desplegar el contenido del Clipboard.Mostrar el orden jerárquico, en el cual un programa llama subVis. Además hay herramientas para ordenar lasventanas, abrir programas que son usados por el VI principal, y otros.Text se encuentran todas las utilidades para seleccionar tipos, colores, estilos y tamaños de letra.Help presenta las ayudas necesarias sobre el programa, y ofrece la opción para desplegar una ventanadonde se explica cada objeto solo con señalarlo. En la ventana mencionada se explica como son las entradasy salidas de cada subVi, y de cada función.Functions ofrece todas las posibilidades de funciones que se pueden utilizar en el diagrama de bloques,donde al hacer clic se escoge y ubica dentro del programa.

• Structs & Constants: Contiene las estructuras básicas de programación como son las secuencias,los casos, los ciclos For y While, las variables de tipo global y local, y las constantes de todo tipo,como son las numéricas, las alfanuméricas, las boleanas, y algunos números especiales, porejemplo.

• Arithmetic: Presenta las operaciones básicas aritméticas como son suma, resta, multiplicación,números al azar, valor absoluto, compuertas and, or, not y muchas otras. Para ver la función de cadauna usar la ventana de Help <ctrl. + H>.

• Trig & Log: presenta funciones trigonométricas y logarítmicas.• Comparison: Funciones de comparación que devuelven un valor de verdadero o falso según se

cumpla dicha comparación.• Conversion: Conversiones de tipos de variables, de un formato a otro, por ejemplo convertir un

número a otro que ocupe 32 bits en memoria.• String: presenta herramientas para manipular cadenas de caracteres. Por ejemplo convertir todos

los caracteres a mayúsculas, o reportar el valor de la longitud de la cadena.• Array & Cluster: Maneja las herramientas para el uso de matrices y agrupaciones. Ej. dar las

dimensiones de una matriz, en otra de una sola dimensión. Ej. agrupar un conjunto de cables en unosolo par manipular menos líneas.

• File I/O: Para el manejo de archivos y almacenamiento de información en disco.• Time & Dialog: Reportadores de tiempo, esperas, fechas, y cuadros que dan anuncios.• Miscellaneous: Bloques de llamada a códigos en C, o a librerías dinámicas de Windows DLL.

Conversión de datos a binario; manejadores de ocurrencias para ordenar el flujo de datos. Y otrasfunciones de uso avanzado.

• Vi: Para llamar bloques creados como rutinas.• Analysis: Funciones avanzadas de procesamiento de señales, estadísticas, álgebra lineal, filtros,

regresión y otras que requieren de un buen entendimiento matemático.• DAQ: Para la adquisición de datos, lectura y escritura de datos a las tarjetas, lectura y control de

señales análogas y digitales, y control de los circuitos contadores que hay en algunas tarjetas.• Instrument I/O: Comunicación con instrumentos de medición a través de puertos GPIB, serial o

VISA.• Network: Para la comunicación de computadoras en red, y enlace entre diferentes aplicaciones,

como es el caso del DDE, Dynamic Data Exchange, que puede servir para enlazar aplicaciones deLabView con Bases de datos como Access, para actualizarlas simultáneamente los hechos vanocurriendo. Otros parámetros son los de comunicación TCP y UDP para comunicación en red.

• Tutorial. Herramientas para el uso de ejemplos de adquisición de datos sin tener las tarjetas.

Page 15: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 9

• Utility: Útiles para el manejo y análisis de errores en los programas creados. Útiles para el control delos VI (Abrir un VI por ejemplo). Manejadores especiales de archivos. Manejadores de puertos inporty outport

Ventana de Funciones.

Tipos de variables y datos.

El tipo de dato que manejan los indicadores y controles se configura en el pop-up menú de cada control por laopción representation, igualmente con las constantes.

Tipos de variables y datos

Los datos boléanos también tienen su tipo de conector. Para boléanos el color de las conexiones y los cableses de color verde, y para las de tipo alfanumérico son de color rosado.

Representación String y Boleanos

Las matrices son conjuntos de datos de una misma especie. Para crear una matriz se ubica en el panel frontalun cuadro de matriz (Array o arreglo) sacado del menú ARRAY & CLUSTER, y dentro se ubica el control oindicador que se mostrará.El conector será uno solo para la matriz con todos los datos, y se diferencia de los otros conectores por tenerel tipo de datos dibujado entre [ ], en lugar de un recuadro, así se puede poseer una matriz de cualquier clasede número, sea doble, alfanumérico, boleanos, etc.

Page 16: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 10

Las líneas o cables que conducen matrices son más gruesos y aumentan de espesor según sea el número dedimensiones que manejen.

Cuadro de Matriz

Dimensión

# dim

Control

Tamaños de variables

Las agrupaciones o estructuras son conjuntos de datos pero de diferente tipo. Para crear una agrupación seubica en el panel frontal un cuadro de agrupación (cluster o estructura) sacado del menú ARRAY &CLUSTER, y dentro se ubican los controles o indicadores que se mostrarán.El conector será uno solo para la agrupación con todos los datos, y se diferencia de los otros conectores portener dibujado unos cuadritos, en lugar del tipo de dato, así se puede poseer una agrupación con cualquierclase de números, sean dobles, alfanuméricos, boleanos, todos mezclados. Las líneas o cables que conducenagrupaciones son más gruesos.También se pueden crear matrices de agrupaciones, y agrupaciones de matrices.

Cuadro deCluster

Control

Cluster

Línea deagrupación

Línea de datonormal

Línea deboleano

Línea dealfanumérico

Líneas dematrices 1dimensión

Líneas dematrices 3dimensiónes

Líneas de tipo de Variable

Estructuras y Elementos de Programación.

LabView cuenta con las siguientes estructuras:

• Los ciclos While• Los ciclos For• Los cuadros de casos

Page 17: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 11

• Las secuencias

Ciclo While. La instrucción se ejecutara varias veces mientras una condición se este cumpliendo. En elLabView se ejecutarán las funciones que se encuentren dentro del cuadro de ciclo, tomando los valores quequedaron almacenados en la frontera de entrada, y sacando los resultados a la frontera de salida.El término en el ciclo es un contador que se incrementa una unidad cada ocasión que se repite el ciclo.La flecha circular es el parámetro que al recibir un valor de verdadero, permite repetir el ciclo, y al recibir unfalso, lo detiene para que el dato se obtenga en la frontera de salida.

• Indexing. Los ciclos se pueden utilizar para crear matrices simplemente acumulando los datos en lafrontera de salida, sin permitir que el último borre el primero, y más bien apilándolos uno tras otro enmatriz. Esto se logra sacando el pop-up menú de el punto negro de la frontera de salida, el cual es elelemento de memoria o buffer, y seleccionando Enable indexing . Se aprecia que el cable de salidaahora es mas grueso, y debe llevar los datos a un indicador de matriz.

• Shift Register. Se puede hacer que los resultados de un ciclo sirvan como datos para la próximaiteración, mediante unas memorias llamadas Shift Register, las cuales se crean sacando el pop-upmenú del ciclo en una de las fronteras. Se crean unas memorias en las fronteras de entrada y salida.Después del ciclo el dato resultado colocado en el shift de la frontera de salida, pasa y ocupa el lugardel shift de la frontera de entrada para participar en las funciones del ciclo. El tipo de dato manejadopuede ser cualquiera. El dato inicial siempre debe ser definido, pues en la primera iteración estasmemorias de entrada se encuentran vacías. Esto se logra conectando un valor a las memorias.

Ciclo For. Se comporta similar al ciclo While. Este hace un número definido de iteraciones el cual esta dadopor el valor que se coloca en el parametro . Este siempre debe ser definido. También se puede usar paracrear matrices, y también puede usar valores de ciclos anteriores con los Shift register. El ciclo For tambiéncuenta con un elemento que sirve de contador.

Case. Es una estructura de comparación y ejecución condicionada donde de acuerdo a algún parámetro serealizan las operaciones de un cuadro u otro. Si el parámetro de condición es del tipo verdadero-falso cuandoéste es verdadero se ejecuta un contenido, y cuando es falso se ejecuta otro. De esta forma solo son posiblesdos opciones de ejecución.Si el parámetro es un número, se ejecuta un cuadro cuyo número de identificación corresponde al valor deentrada. En este caso puede haber tantas opciones de ejecuciones como se desee. Para obtener estaestructura, buscarla en el submenú de estructuras & constantes, en el menú de funciones. Para agregar uncuadro de caso cuando se usa un parámetro de selección numérico, solo basta seleccionar el pop-up menúde la estructura, dando click con el botón derecho y seleccionando Add Case After para un caso de númerosiguiente, o Add Case Before . Dentro de este pop menú, se encuentran otros parámetros de control de estasestructuras. Para ver el contenido de cada caso, solo basta seleccionarlo con las flechas del indicador delcaso.

Las Secuencias. Recordemos que LabView es un lenguaje de tipo multiproceso, puede ejecutar varias partesdel programa simultáneamente. Además las funciones se van operando cuando llegan todos los parámetrosde entrada de cada una lo que no da mucha certeza de que función se realiza primero. Pero si por algunarazón se desea que un conjunto de operaciones se realice antes que otro, se puede agregar una estructurade secuencias, la cual ejecuta el contenido del primer cuadro, luego el del segundo, y así sucesivamente talcomo en una cinta de fotos para cine, cada foto sigue a la otra. Para agregar un cuadro adicional tal como enlas estructuras case, se logra por medio del pop-up menú en el borde del marco, Add Frame. Para seleccionarel cuadro en el que se edita se usa el indicador en el extremo superior del marco.

Page 18: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 12

Cuadros de Fórmula. Cuando se realizan operaciones matemáticas complejas donde hay muchos cálculosdistintos, un mejor camino es tomar todas esas funciones y juntarlas en un cuadro de fórmula, donde seescribe la operación de una forma textual. Al cuadro se le agregan unos conectores de entrada y salida dedatos, con el nombre de los parámetros inscritos. Para agregar entradas o salidas hacerlo por medio del pop-up menú Add Input o Add Output. Para escribir y corregir usar la herramienta de texto. Como regla despuésde cada función se debe colocar un punto y coma .El cuadro de fórmula se encuentra en el menú defunciones, estructuras y constantes.

Comunicación Serial.

Se trasmite la información por un puerto que puede ser el COM1 o el COM2, de forma serial, es decir, através de un solo cable, y cada bit pasa uno tras otro a alta velocidad. Para la comunicación entrecomputadoras se establece un protocolo común para que la información sea entendida por ambos. Se debedefinir el tamaño de los BUFFER para almacenar datos mientras se realiza la comunicación. También se debedefinir si hay Handshaking, el cual consiste en que la que recibe cuando valla a tener lleno el buffer deinformación mande una instrucción (Si es por software es un comando <ctrl.-S>, si es por hardware por unalínea) para detener la transmisión, y otra para reanudar la transmisión de información (Por software <ctrl.-Q>,por hardware una línea).

Se debe tener cuidado al trasmitir caracteres como <ctrl.-Q> y <ctrl.-S> porque pueden ser tomados comoinstrucciones.LabView cuenta con funciones para iniciar, escribir y leer el puerto serial.

Los VI s disponibles para la manipulación de datos mediante el puerto serial se encuentran en la paleta defunciones en el submenú Instrument I/O à Serial . El VI Serial Port es el encargado de inicializar el puerto ylas demás características correspondientes a cada puerto.

El VI Serial Port Write se encarga de escribir los datos que deseamos transmitir al puerto serie.

El rectángulo conteniendo un indica el puerto serie a utilizar, mientras que en el recuadro que contiene la bse escribe la información a transmitir en forma de cadena.

Para realizar la lectura del puerto serial de la computadora, utilizamos dos VI s, que son Bytes at serial Porty Serial Port Read . Estos deben estar interconectados.

Page 19: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 13

Nuevamente en el recuadro con el número se indica el número de puerto a leer; en esta ocasión elterminal abc representa un indicador, que es donde se colocarán los datos leídos del puerto serial. Paramostrar se presenta la figura del panel frontal del VI

Serial

Pero queremos saber que pasa si no se puede utilizar el puerto serial, es decir si otra aplicación lo estáutilizando o si simplemente Windows no pudo abrir el puerto especificado, para esto utilizamos VI s de errorque se encuentran en la paleta de funciones en el submenú Time & Dialog .

VI.Error

Y además mostrar una señal visual en caso de que en determinado cierto tiempo no se reciba nada en elpuerto serie, para realizar esto LabVIEW cuenta con un VI ya de ejemplo que podemos utilizar llamado SerialRead With Timeout .

Serial Read With Timeout.

Construcción de Interfaz con LabVIEW.

En la siguiente imagen se muestra el diagrama de bloques del VI Serial Read With Timeout en el tenemos 3etapas del trabajo realizado por este programa.

• Inicialización del Puerto Serie. Donde se requiere de un subVI llamado Serial Port Init quenecesita como datos el número de puerto y la cadena que se quiere transmitir, este también

Page 20: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 14

considera el hecho de que pudiera existir un problema al inicial el puerto serial, en caso de queexista un error éste mostrara un mensaje indicando el problema que se genero.

• Escritura. En esta etapa podemos observar una estructura CASE que tiene 2 casos dependiendodirectamente del valor que se obtenga al analizar si existe o no un error en la etapa de inicializacióndel Puerto Serie. Si no existe error, es decir, el valor del CASE es Falso la escritura se realizamediante una subVI llamada Serial Port Write el cual recibe el número de puerto por el cual sequiere transmitir, la cadena que se quiere transmitir y se considera que puedan existir errores en estaetapa así que se debe mandar un mensaje de error. Si el valor del CASE es verdadero quiere decirque existe un error en la parte de inicialización del puerto serie y únicamente se transmite a lasiguiente etapa ese error.

• Lectura. Esta etapa esta dentro de una estructura CASE, que depende de los errores generados enlas 2 etapas anteriores es decir, este CASE puede tomar el valor de verdadero cuando ha existido unerror de inicialización del puerto serie o un error en la escritura del puerto serie. Cuando el CASE esFalso quiere decir que no se encontró error alguno en las 2 etapas anteriores y que se puede realizarla lectura del puerto serial en este caso utilizamos el subVI Serial Read With Timeout este necesitael número de puerto del cual tomaremos la cadena, el número de bytes a leer, el tiempo de espera,este regresa un error en caso de existir si no solo muestra lo leído en el puerto.

Etapas en la comunicación Serial

Este VI tiene los tres pasos básicos que se necesitan para este proyecto, es por eso que, se tomó como basey poco a poco se le añadieron controles e indicadores para llegar a la interfaz de usuario que se necesitaba,generando así el siguiente diagrama de bloques final.

Page 21: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 15

Diagrama de Bloques de Proyecto Final

No se explicaran nuevamente las 3 etapas principales, los elementos nuevos en este diagrama de bloquesson los siguientes:

Estructura Case

En la etapa de escritura en el puerto se agregaron 4 controles booleanos que controlan, cada uno, unaestructura del tipo CASE que para cuando éste toma un valor Verdadero se escribirá en el puerto solo unaletra minúscula a, b, c y d respectivamente según el control que se active, entonces si encendemos unos delos controles o lo ponemos en verdadero este escribirá la letra minúscula correspondiente y al recibirla el PLClo interpretara como la señal para apagar la luz del área determinada, es decir, estos controles son los que,una vez que se a identificado si hay alguna zona con la luz encendida, enviaran la señal necesaria paraapagar la luz. Se utilizan solo 4 controles porque el PLC en el que se trabajó cuenta solo con 4 salidas.

Page 22: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 16

Comparación del valor recibido para mostrar encendida la luz

En la etapa de Lectura se reciben las señales enviadas por el PLC que pueden ser de dos tipos las letrasmayúsculas A, B, C y D , que el programa interpretara como una luz encendida en determinada área y lasletras minúsculas a, b, c y d que serán interpretadas como una luz apagada en determinada zona. Acontinuación se muestra la relación que existe entre las letras y las áreas.

• A, a: Controlan los Laboratorios A y B.• B, b: Controlan los Laboratorios C y D.• C, c: Controlan los Almacenes de Materiales 1 y 2.• D, d: Controlan las áreas comunes como son el pasillo y los baños H y M.

Para saber si la luz se debe mostrar encendida o apagada en el panel frontal (interfaz de usuario) se debehacer una comparación, por ejemplo en la figura anterior tenemos una comparación con las letras D y d, en elcaso de que la señal recibida sea igual a cualquiera de estas dos opciones, representado en una compuertaor , entramos a una estructura del tipo case que cuando es Verdadera se hace una nueva comparación para

saber si es estrictamente igual a una D en caso verdadero se manda una señal hacia los 3 indicadorespasillo , baño h , baño m para que se vea la luz encendida, en otro caso no se realiza actividad.

El Panel Frontal Final se muestra en la siguiente figura

Panel Frontal Final Interfaz de Usuario.

Page 23: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 17

A continuación mostramos un ejemplo del comportamiento que tiene esta interfaz de usuario.

En esta figura se muestra el panel frontaldentro de un periodo de reconocimientocuando este listo para leer o escribir en elpuerto el indicador alerta cambiara a coloramarillo, hay que notar que contamos conotros 2 indicadores llamados Serial Error yRead Timeout estos se encargan de

mostrar al usuario si ha ocurrido un error enla comunicación, o si el tiempo de espera hallegado a su fin.

Aquí se muestra un momento en el cual se aleído del puerto una B indicando que loslaboratorios C y D están con la luzencendida, vea que los laboratorios hancambiado de color, simulando así que la luzesta encendida, mas adelante se explicacomo se pueden editar los indicadores paraque tomen la forma que nosotros deseamos.En la pantalla negra se muestra también lacadena que se esta leyendo del puerto.

Cuando se activa el control de Laboratorios Cy D se escribe una haciendo que el PLCmande la señal para que se apague la luz, enla Figura vemos el momento en el que unavez activado el control y se ha cambiado yalos indicadores de los laboratorios C y Dregresando al color original.

Page 24: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 18

Para el cambio de vista de un control, debemos seleccionar de la paleta de herramientas, el control quepermite cambiar el tamaño, la posición y seleccionar los controles.Seleccionamos el botón que queremos modificar y en el menú Edit de la barra de herramientas,seleccionamos el submenú EditControl , con lo que se abrirá el control para modificarlo, Ahora con el botónderecho sobre el control hacemos click y se despliega en submenú en el cual seleccionamos Import Picture ,y se despliega el submenú que contiene True y False como opciones, las imágenes de este proceso semuestran a continuación.

Edición de los controles

Para que la opción Import Picture esté habilitada debemos haber copiado la imagen que queremosaparezca en el control con anterioridad, es decir debemos tener la imagen en el portapapeles deWindows.

Las opciones True y False de un botón indican el estado del mismo, si un botón se encuentra presionado, suestado será True, es decir el valor que representa a este control y que puede ser utilizado es True, éste valorse puede utilizar para activar una estructura de control. El valor False de un botón representa al botón sinpresionar, es decir si un botón no se encuentra presionado tendrá como valor False.

Botón False y se representación en la interfaz

Botón True y se representación en la interfaz

Con esto se termina la parte de Interfaz de Usuario ahora se enfoca la atención hacia el trabajo en el PLC nosin antes conocer un poco de estos instrumentos.

Page 25: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 19

PLC: Controlador de Lógica Programable.

Un PLC o autómata programable es un sistema de automatización, diseñado para controlar en tiempo realprocesos secuenciales, que acompañado por un software de programación permite al usuario crear diversastareas tan complicadas como se desee.Un PLC o autómata programable suele emplearse en procesos desde caseros hasta industriales que tenganuna o varias de las siguientes necesidades:

• Procesos de producción periódicamente cambiantes.• Procesos secuenciales.• Maquinaria de procesos variables.• Instalaciones de procesos complejos y amplios.• Chequeo de programación centralizada de las partes del proceso.• Señalización y control.

Entre las ventajas que ofrece un PLC, tenemos:

• Menor tiempo de elaboración de proyectos.• Posibilidad de añadir modificaciones sin costo añadido en otros componentes.• Mínimo espacio de ocupación.• Menor costo de mano de obra.• Mantenimiento económico.• Posibilidad de gobernar varias máquinas con el mismo autómata.• Menor tiempo de puesta en funcionamiento.

¿CPU S7-200?

La CPU S7-200 es un equipo autónomo compacto que incorpora una unidad central de procesamiento (CPU),una fuente de alimentación, así como entradas y salidas digitales.

• CPU ejecuta el programa y almacena los datos para la tarea de automatización o el proceso.• El sistema se controla mediante entradas y salidas digitales (E/S). Las entradas vigilan las señales

de los dispositivos de campo (p.ej. sensores e interruptores), mientras que las salidas supervisan lasbombas, motores u otros aparatos del proceso.

• La fuente de alimentación suministra corriente a la CPU y a los módulos de ampliación conectados.• El (los) puerto(s) de comunicación permite(n) conectar la CPU a una unidad de programación o a

otros dispositivos que intervengan en el proceso.• Los diodos luminosos indican el modo de operación de la CPU (RUN o STOP), el estado de las

entradas y salidas físicas, así como los posibles fallos del sistema que se hayan detectado.• Utilizando módulos de ampliación se pueden agregar entradas y salidas (E/S) adicionales a la CPU.

(La CPU 221 no se puede ampliar.)• El rendimiento de la comunicación se puede incrementar utilizando módulos de ampliación.• Algunas CPUs tienen un reloj de tiempo real incorporado, en tanto que otras pueden disponer de un

cartucho (opcional) de reloj de tiempo real.• Un cartucho EEPROM que puede conectarse en serie (opcional) sirve para almacenar programas de

la CPU y transferir programas de una CPU a otra.

Page 26: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 20

• Un cartucho de pila (opcional) permite prolongar el respaldo de los datos en la RAM.

PLC partes.

Tanto las entradas como las salidas están aisladas de la CPU según el tipo de autómata que utilicemos.Normalmente se suelen emplear opto acopladores en las entradas y relés/opto acopladores en las salidas.

Aparte de estos elementos podemos disponer de una Unidad de alimentación (algunas CPU la llevanincluida). Una Unidad o consola de programación: que nos permitirá introducir, modificar y supervisar elprograma de usuario. Dispositivos periféricos: como nuevas unidades de E/S, más memoria, unidades decomunicación en red, etc. Interfaces: facilitan la comunicación del autómata mediante enlace serie con otrosdispositivos (en este caso una PC).

En los siguientes apartados comentaremos la estructura de cada elemento:

• Memoria Dentro de la CPU vamos a disponer de un área de memoria, la cual emplearemos paradiversas funciones:

1. Memoria del programa de usuario: aquí introduciremos el programa que el autómata va aejecutar cíclicamente.

2. Memoria de la tabla de datos: se suele subdividir en zonas según el tipo de datos (comomarcas de memoria, temporizadores, contadores, etc.).

3. Memoria del sistema: aquí se encuentra el programa en código máquina que monitoriza elsistema (programa del sistema o firmware). Este programa es ejecutado directamente por elmicroprocesador que posea el autómata.

4. Memoria de almacenamiento: se trata de memoria externa que empleamos para almacenarel programa de usuario, y en ciertos casos parte de la memoria de la tabla de datos. Sueleser de uno de los siguientes tipos: EPROM, EEPROM, o FLASH.

• CPU La CPU es el corazón del autómata programable. Es la encargada de ejecutar el programa deusuario mediante el programa del sistema (es decir, el programa de usuario es interpretado por elprograma del sistema). Sus funciones son:

1. Vigilar que el tiempo de ejecución del programa de usuario no excede un determinadotiempo máximo (tiempo de ciclo máximo). A esta función se le suele denominar Watchdog(perro guardián).

2. Ejecutar el programa de usuario.3. Crear una imagen de las entradas, ya que el programa de usuario no debe acceder

directamente a dichas entradas.4. Renovar el estado de las salidas en función de la imagen de las mismas obtenida al final del

ciclo de ejecución del programa de usuario.5. Chequeo del sistema.

Page 27: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 21

Generalmente se dispone de dos tipos de Entrada/Salida (E/S): Digital y Analógica. Las E/S digitales sebasan en el principio de todo o nada, es decir o no conducen señal alguna o poseen un nivel mínimo detensión. Estas E/S se manejan a nivel de bit dentro del programa de usuario. El sistema utilizará E/S digitalespara controlar los interruptores de apagado/encendido de las luces. Las E/S analógicas pueden poseercualquier valor dentro de un rango determinado especificado por el fabricante. Se basan en conversores A/D yD/A aislados de la CPU (óptica o por etapa de potencia). Estas señales se manejan a nivel de byte o palabra,8 o 16 bits dentro del programa de usuario. Las E/S son leídas y escritas dependiendo del modelo y delfabricante, es decir, pueden estar incluidas sus imágenes dentro del área de memoria o ser manejadas através de instrucciones específicas de E/S.Todo autómata, salvo casos excepcionales, posee la opción de poder comunicarse con otros dispositivos(como una PC). Lo normal es que posea una E/S serie del tipo RS-232 / RS-422.A través de esta línea se pueden manejar todas las características internas del autómata; incluida laprogramación del mismo, y suele emplearse para monitorización del proceso en otro lugar separado omediante la red.

Step 7-Micro/Win 32

El software Step 7-Micro/Win 32 permite realizar programas para los PLC s en las CPU s S7-200 de unamanera sencilla, ofrece numerosos tipos de operaciones que permiten solucionar una gran variedad detareas de automatización. Se dispone de dos juegos básicos de operaciones, SIMATIC e IEC 1131-3. Elsoftware de programación STEP 7-Micro/WIN 32 permite elegir entre diferentes editores para crear programasde control utilizando dichas operaciones. Por ejemplo, se pueden crear programas en un entorno deprogramación gráfico, así como utilizando un editor textual, similar al lenguaje ensamblador. Para crearprogramas se debe tener claro el tipo de juego de operaciones a utilizar (SIMATIC o IEC 1131-3), y el tipo deEditor a utilizar (Lista de instrucciones, Esquema de contactos o Diagrama de instrucciones).Utilizaremos el juego de operaciones SIMATIC y el tipo de editor de código de Esquema de contactos KOP.

Juego de operaciones SIMATIC

La mayoría de los sistemas de automatización ofrecen los mismos tipos básicos de operaciones, pero por logeneral existen pequeñas diferencias en cuanto al aspecto y al funcionamiento entre los productos de losdistintos fabricantes. El juego de operaciones SIMATIC es el ofrecido por Siemens. Un gran número de dichasoperaciones tienen un aspecto y un funcionamiento diferentes si se comparan con otras marcas de sistemasde autómatas programables.Por lo general, el tiempo de ejecución de las operaciones SIMATIC es más breve. El juego de operacionesSIMATIC se puede utilizar con los tres editores (KOP, AWL y FUP).

Juego de operaciones IEC 1131 3

Durante los últimos años, la Comisión Electrotécnica Internacional (CEI) o International ElectrotechnicalComisión (IEC) ha desarrollado una norma que se dedica a numerosos aspectos de la programación deautómatas programables (denominados sistemas de automatización en la terminología SIMATIC). Elobjetivo de dicha norma es que los diferentes fabricantes de autómatas programables ofrezcan operacionessimilares tanto en su aspecto como en su funcionamiento. Existen algunas diferencias básicas entre losjuegos de operaciones SIMATIC e IEC 1131 3.

• El juego de operaciones IEC 1131 3 se limita a las operaciones estándar comunes entre losfabricantes de autómatas programables. Algunas operaciones incluidas en el juego SIMATIC noestán normalizadas en la norma IEC 1131 3. (Éstas se pueden utilizar en calidad de operaciones no

Page 28: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 22

normalizadas. No obstante, entonces el programa ya no será absolutamente compatible con lanorma IEC 1131 3).

• Algunos cuadros aceptan varios formatos de datos. A menudo, esto se denomina sobrecarga. Porejemplo, en lugar de tener cuadros aritméticos por separado, tales como ADD_I (Sumar enteros),ADD_R (Sumar reales) etc., la operación ADD definida en la norma IEC 1131 3 examina el formatode los datos a sumar y selecciona automáticamente la operación correcta en la CPU. Así se puedeahorrar tiempo al diseñar los programas.

• Si se utilizan las operaciones IEC 1131, se comprueba automáticamente si los parámetros de laoperación corresponden al formato de datos correcto. Dicha comprobación no es obvia para elusuario. Por ejemplo, si se ha intentado introducir un valor de entero en una operación para la que sedeba utilizar un valor binario (on/off), se indica un error. Esta función permite reducir los errores desintaxis de programación.

Editor AWL (Lista de instrucciones)

El editor AWL (Lista de instrucciones) de STEP 7-Micro/WIN 32 permite crear programas de controlintroduciendo la nemotécnica de las operaciones. Por lo general, el editor AWL se adecua especialmente paralos programadores expertos ya familiarizados con los sistemas de automatización (PLCs) y con laprogramación lógica. El editor AWL también sirve para crear ciertos programas que, de otra forma, no sepodrían programar con los editores KOP ni FUP. Ello se debe a que AWL es el lenguaje nativo de la CPU, adiferencia de los editores gráficos en los que son aplicables ciertas restricciones para poder dibujar losdiagramas correctamente.

Ejemplo Editor AWL.

Editor KOP (Esquema de Contactos)

El editor KOP (Esquema de contactos) de STEP 7-Micro/WIN 32 permite crear programas con componentessimilares a los elementos de un esquema de circuitos. Básicamente, los programas KOP hacen que la CPUemule la circulación de corriente eléctrica desde una fuente de alimentación, a través de una serie decondiciones lógicas de entrada que, a su vez, habilitan condiciones lógicas de salida. Por lo general, la lógicase divide en unidades pequeñas y de fácil comprensión llamadas segmentos" o Networks". El programa seejecuta segmento por segmento, de izquierda a derecha y luego de arriba a abajo, según lo determine elprograma. Tras alcanzar la CPU el final del programa, comienza nuevamente en la primera operación delmismo.Las operaciones se representan mediante símbolos gráficos que incluyen tres formas básicas. Contactos.Representan condiciones lógicas de "entrada" similares a interruptores, botones, condiciones internas, etc.Bobinas. Representan condiciones lógicas de "salida" similares a lámparas, arrancadores de motor, relésinterpuestos, condiciones internas de salida, etc. Cuadros. Representan operaciones adicionales tales comotemporizadores, contadores u operaciones aritméticas.

Page 29: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 23

Ejemplo del Editor KOP.

Editor FUP (Diagrama de funciones)

El editor FUP (Diagrama de funciones) de STEP 7-Micro/WIN 32 permite visualizar las operaciones en formade cuadros lógicos similares a los circuitos de puertas lógicas. En FUP no existen contactos ni bobinas comoen el editor KOP, pero sí hay operaciones equivalentes que se representan en forma de cuadros. La lógica delprograma se deriva de las conexiones entre las operaciones de cuadro. Ello significa que la salida de unaoperación (p.ej. un cuadro AND) se puede utilizar para habilitar otra operación (p.ej. un temporizador), conobjeto de crear la lógica de control necesaria. Dichas conexiones permiten solucionar numerosos problemaslógicos.

Ejemplo del Editor FUP.

Entradas y salidas integradas

Page 30: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 24

El sistema se controla mediante entradas y salidas (E/S). Las entradas vigilan las señales de los dispositivosde campo (p.ej. sensores e interruptores), mientras que las salidas supervisan las bombas, motores u otrosaparatos del proceso. Se dispone de entradas y salidas integradas (en la CPU), así como de E/S adicionales(en los módulos de ampliación). Las CPUs S7-200 disponen de un número determinado de entradas y salidasdigitales.

Principales Características del CPU 221

La CPU 221 solo cuenta con 6 entradas físicas y 4 salidas físicas representadas utilizando una para lasentradas y una para las salidas.

Entradas Salidas

I0.0I0.1I0.2I0.3I0.4I0.5

Q0.0Q0.1Q0.2Q0.3

Crear Programas

Para crear programas utilizando el editor KOP, nos ayudamos de la barra de herramientas de operaciones, enla cual también se representan líneas para enlazar diversas operaciones.

Page 31: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 25

Barra de OperacionesTambién pueden introducirse operaciones mediante el Árbol de operaciones que se encuentra debajo de labarra de herramientas de Operaciones.

Lista de Operaciones

Compilar programas

Una vez creado el programa el siguiente paso es compilarlo, para hacer esto, se utilizan los botones que seencuentran en la barra de herramientas estándar donde el primero se utiliza cuando se quierecompilar solamente la ventana visible ya sea de código, datos o sistema, el segundo se utiliza para compilartodos los bloque del proyecto. También podemos seleccionar compilar desde el menú CPU

Compilar Programas

Page 32: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 26

Ventana de resultados.

Al compilar, en la ventana de resultados se indicarán los posibles errores que hayan ocurrido. Si se detectanerrores, se indicará tanto su ubicación (segmento, fila y columna) como su tipo. Se puede hacer doble clic enun error para acceder en el editor de programas al correspondiente segmento donde se ha presentado elerror.No podemos proseguir a cargar el programa en la CPU hasta que tengamos una compilación cero errores, esdecir una compilación exitosa.

Ventana de Resultados

Seleccionar CPU.

Para cargar programas en la CPU del PLC, tenemos primero que seleccionar el tipo de CPU. En el menúCPU, se selecciona Tipo, en nuestro caso seleccionaremos el CPU 221.

Tipo de CPU

Seleccionando leer CPU se detecta automáticamente el tipo de CPU que esta conectado en la PC. Hay queseleccionar Comunicación para establecer el puerto de comunicación al que será conectado el PLC y poderrealizar la comunicación entre el PLC y la PC.

Page 33: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 27

Configurar la Comunicación

Cargar Programas.

Si la comunicación se ha establecido correctamente entre el PC donde se ejecuta STEP 7-Micro/WIN 32 y elPLC, el programa de usuario se puede cargar en dicha CPU.Cuando un bloque de programa, un bloque de datos o un bloque de sistema se carga del PC en la CPU, dichobloque sobrescribe el que se encuentra actualmente en la CPU, es decir, que con anterioridad se hubieracargado un programa. Hay que cerciorarse de que deseamos sobrescribir el bloque contenido en la CPUantes de iniciar el proceso de carga.Antes de cargar en la CPU se debe verificar que ésta se encuentre en modo STOP. Examinamos el LEDindicador del modo de operación de la CPU. Si la CPU no está en modo STOP, haga clic en el botón "STOP"de la barra de herramientas o elija el comando STOP del menú CPU.

Modo STOP

Page 34: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 28

Ahora hacemos clic en el botón "Cargar en CPU" de la barra de herramientas o en el comando Cargar enCPU del menú Archivo. Aparecerá el cuadro de diálogo "Cargar en CPU".

Cargar en CPU

Por defecto, las casillas de verificación "Bloque de programa", "Bloque de datos" y "Configuración CPU" (elbloque de sistema) aparecerán seleccionadas la primera vez que se elija el comando Cargar en CPU. Si nonecesita cargar un bloque en particular, retire la marca de verificación en cuestión.Haga clic en el botón "Aceptar" para iniciar el proceso de carga.

Ejecutar Programas.

Para ejecutar programas cargados en la CPU, debemos hacer clic en el botón RUN o en el comando RUN delmenú CPU. Con esto la CPU cambiará de modo STOP a modo RUN y se empezará a ejecutar el código.Para detener la ejecución del código, basta con cambiar la CPU de modo RUN a modo STOP haciendo clicen el botón STOP como ya se había indicado antes.

Modo STOP

Page 35: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 29

Modo RUN

Construcción del Programa Principal con Step 7-Micro/Win 32

Modo Freeport

El programa de usuario puede controlar el puerto serie de la CPU. La comunicación a través de este puerto sedenomina modo Freeport (comunicación programable por el usuario). Eligiendo el modo Freeport, el programaKOP controla el puerto de comunicación utilizando interrupciones de recepción y de transmisión, así como lasoperaciones Transmitir mensaje (XMT) y Recibir mensaje (RCV). En modo Freeport, el programa KOPcontrola todo el protocolo de comunicación. Las marcas especiales SMB30 (para el puerto 0) y SMB130 (parael puerto 1, si la CPU dispone de dos puertos) se utilizan para elegir la velocidad de transferencia y la paridad.Cuando la CPU pasa a modo STOP se inhibe el modo Freeport y se restablece la comunicación (p.ej. accesoa través de la unidad de programación). En el caso más simple se puede enviar un mensaje a la impresora oa la pantalla con sólo utilizar la operación Transmitir mensaje (XMT). Otros ejemplos incluyen la conexión a unlector de código de barras, una báscula o una soldadora. En todo caso, el programa deberá soportar elprotocolo con el que la CPU se comunica en modo Freeport. Para poder utilizar el modo Freeport, es precisoque la CPU esté en modo RUN. El modo Freeport se habilita ajustando el valor 01 en el campo de seleccióndel protocolo de SMB30 (puerto 0) o de SMB130 (puerto 1). Estando en modo Freeport, la CPU no se puedecomunicar con la unidad de programación.

Inicializar el modo Freeport

SMB30 y SMB130 se utilizan para inicializar el modo Freeport en los puertos de comunicación 0 y 1,respectivamente, permitiendo elegir la velocidad de transferencia, la paridad y el número de bits por carácter.La tabla muestra los bytes de control del modo Freeport.

Page 36: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 30

Cada bloque se explica a continuación.

• Cargar la marca especial SM0.1 para procesar este segmento sólo en el primer ciclo. Transferir laconstante 9 (binario 1001) al byte de marcas SMB30 (registro de control Freeport para el puerto 0).Esta combinación binaria configura el puerto de comunicación para el modo Freeport, 9600 bits, 8bits de datos por carácter y sin paridad.

• Transferir la constante 1 al byte VB100 de la memoria de variables para indicar la longitud delmensaje (de un carácter ASCII).

• Transferir el valor hexadecimal 41 al byte VB101 de la memoria de variables para indicar que elcarácter ASCII es "A" ("A" en el juego de caracteres ASCII = "41" en la notación hexadecimal).

Page 37: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 31

FREEPORT

Habilitar Interrupciones

El siguiente paso es Habilitar las interrupciones para poder atender el puerto serie a petición de un nuevodato. En el código anterior se resume lo siguiente, cargar marca especial SM0.1 para procesar este segmentosólo en el primer ciclo. Asociar el evento de interrupción 8 a la rutina de interrupción INT_0 para habilitarINT_0. Habilitar todos los eventos de interrupción usando (ENI).

Habilitar interrupción

Programa Principal

Ahora comienzan las rutinas que permiten saber que luz está encendida y así poder apagarla en caso de queno se necesite. Todas las rutinas todas las redes (Networks) realizan lo mismo, solo que se activan con unaentrada diferente y transmiten un valor diferente al puerto serie.

Page 38: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 32

Ciclo Principal del Proyecto.

La entrada representada por el contacto con etiqueta Laboratorio_A está relacionada con la entrada físicaI0.0 del PLC, ésta a su vez está conectada a un contacto que detecta el flanco positivo de una señal decorriente, es decir, un cambio de 0 a 1. Por lo tanto, en esta red lo primero que se hace es cargar la señal dela entrada I0.0 y si se detecta un flanco positivo (lo que significa que se ha encendido la luz), se habilitará lasalida Q0.0 que está relacionada con la bobina etiquetada Carácter_A .Posteriormente se colocará en la región de memoria VB101 una (61 hexadecimal) mediante el bloqueMOV_B y se transmitirá desde la región de memoria VB100 al puerto 0 mediante el bloque XMT. Hay querecordar que esta red se va ejecutando de izquierda a derecha y de arriba hacia abajo, es por esto que se lesuele llamar diagrama escalera.

La siguiente rutina cambia en que al detectar un flanco negativo, es decir, un cambio de 1 a 0 en la entradaI0.0, se transmitirá al área de memoria una y posteriormente se transmitirá ésta al puerto serie. La seintroduce mediante el código 61 en hexadecimal.Y todas las letras que queramos transmitir las introduciremos en hexadecimal.

Page 39: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 33

Rutina de Interrupción

En ésta rutina lo que se verifica es el carácter recibido, esto se hace mediante el uso del contacto decomparación.El byte de marcas SMB2 contiene cada carácter recibido de los puertos 0 ó 1 durante la comunicaciónFreeport, éste contacto compara el carácter en SMB2 con el valor hexadecimal especificado. Si el caráctercontenido en SMB2 es el deseado se resetea la salida especificada.

Tomemos como ejemplo la red 2 (Network 2). Si el carácter recibido en SMB2 es igual al carácter ASCII , ala salida Q0.0 se le da un reset y se pone a 0. A continuación se presenta el diagrama completo de lainterrupción.

Rutina de Interrupción

Esquema Completo

A continuación se presenta el programa completo del PLC realizado en Step 7-Micro/Win 32. Por su longitudse presenta en bloques y un bloque va tras otro, la continuación del programa se indica mediante la secuenciade Networks.

Page 40: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 34

Page 41: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 35

Page 42: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 36

Page 43: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 37

En un principio, cuando se hablaba de desarrollar un sistema de control y monitoreo de encendido de Luz através de un controlador de Lógica Programable, el diseño de este proyecto se escuchaba muy complejo.Pero todo se transformo en una programación amigable cuando se encontró el software para realizar eldiseño de Interfaz de Usuario LabVIEW y su forma de comunicación por el puerto serial, la comprensión queda también saber el funcionamiento de modo freeport para el PLC (hay que recordar que se utilizó para lacomunicación serial), abrió una gran gama de ideas para la realización de nuevos proyectos. Con esto lo quequiero decir es que el principal problema de este proyecto fue hacer que se comunicaran el PLC con elprograma realizado en LabVIEW. Cuando estas dos partes se comunican no importa, en cierta forma, elprograma que se tenga que ejecutar por un lado en LabVIEW o dentro del PLC, en este caso es el monitoreode la luz de los laboratorios y el envió de la señal para apagar determinada área, pero el número de proyectosque pueden resultar de una comunicación serial es igual a la imaginación del programador.

Conclusiones

El lector puede notar que el formato de este documento tiende ha ser el de un manual, pues bien este es unobjetivo logrado, ya que el grupo de personas que se enfocan hacia la programación de PLC esta creciendoconstantemente, el presente documento puede servir de base para un nuevo sistema ya sea para laaplicación practica o para otro proyecto terminal.

Se puede concluir que dentro del desarrollo de una programación donde intervienen 2 elementos como eneste caso fue el Programa LabVIEW y el PLC es necesario entender como se comunican. Después es solomanipular los datos recibidos para darle la aplicación requerida haciendo de la programación más eficiente.Otro punto importante es el saber utilizar los ejemplos u otros proyectos ya realizados, analizando estospodemos crear, construir o perfeccionar una idea y así llevarla a cabo.

Por ultimo, el sistema de Control de energía en base a PLC presentado cumple los objetivos propuestos,así como también minimiza el uso de energía siendo amigable con el usuario.

Page 44: CONTROL DE ENERGIA EN BASE A PLC148.206.53.84/tesiuami/UAMI10970.pdf · PLC: Controlador de ... Editor FUP (Diagrama de funciones) ... Pero como lenguaje de programación, debido

Control de Energía en Base a PLC

Martha Cecilia Castorena Romo 38

Bibliografía

• Manual en línea de LabVIEW 5.0. GraphicalPrograming for Instrumentation,National InstrumentsThe software is the Instrument .

Copyright 1998.

• Manual en línea de Step 7-Micro/Win 32 Version3.1.1.6, Siemens Energy & Automation Inc.Copyright 1996-1999.