UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA ELÉCTRICA DEPARTAMENTO DE CIRCUITOS Y MEDIDAS AREA DE INSTRUMENTACIÓN Y CONTROL LABORATORIO DE CONTROL Controladores Programables: Aplicaciones Básicas Práctica No. 4 Uso de Contadores Semestre B-01 Jesús A. Calderón-Vielma / William Gomez 1. OBJETIVOS Los objetivos fundamentales del presente trabajo práctico comprenden: a. b. c. d. Comprender el uso de las operaciones de carga, transferencia y comparación Describir el funcionamiento de los contadores en un PLC Utilizar los contadores Utilizar las instrucciones de comparación. 2. INFORMACIÓN TEÓRICA 2.1. OPERACIONES DE CARGA Y TRANSFERENCIA El PLC Simatic S5 -101 U permite el intercambio de información entre los diferentes tipos de datos almacenados en la memoria del PLC. Tales intercambios no toman lugar directamente , pero se realizan a través de la acción intermediaria de operaciones especiales llamadas operaciones Carga y Transferencia. Estas operaciones mueven información alrededor de la memoria del PLC cargando primero la información y luego transfiriéndola de un área especial de la memoria del procesador llamada el acumulador. La Carga dentro del PLC comprende el movimiento de la información de un área de memoria al acumulador y la Transferencia comprende el movimiento de la información desde el acumulador a la memoria. Una vez que la información ha sido transferida desde el acumulador a otra localidad de memoria, ella puede ser usada para instrucciones adicionales de procesamiento. En muchas funciones , por ejemplo en las funciones de comparación en las que hay que comparar dos valores, se necesitan dos registros internos del procesador . Por está razón los Simatic S5 tienen dos acumuladores, el acumulador 1 se utiliza como acumulador principal por todas las funciones digitales y en el acumulador 2 se almacenan los valores digitales que han de combinarse de cualquier manera con el valor del acumulador 1. Mediante la operación de carga L , se cargan en el acumulador 1 las informaciones de las áreas de operando de entrada E, salida A, bandera M, temporizador T, contador Z, datos D y datos del sistema BS; así como las constantes (en diversas representaciones) e informaciones directas del área de periferia P. El código del lenguaje STL para ejemplo de instrucciones de carga se tiene: L T EB MB 0 1 Carga del byte de entrada 0 Transferencia al byte de bandera 1 2 L T MB AB 1 1 Cargar byte de bandera 1 Tranferencia al byte de salida 1 2.2. OPERACIONES DE COMPARACIÓN Los PLC poseen instrucciones que son capaces de comparar dos valores (Simatic S5 101 U compara valores binarios) y determinar si los valores son iguales o desiguales; si un valor es más grande que otro o si un valor es menor que otro. Además, los dos valores pueden ser comparados para determinar si uno es más grande que o igual a otro, o menor que o igual a. El resultado de la comparación es un RLO 1 si la comparación es verdadera, 0 si la comparación es falsa. Este RLO puede entonces ser usado por instrucciones adicionales de procesamiento. Cuando se manipulan dos valores en una comparación, el PLC emplea dos acumuladores, el principal y el secundario, estos son llamados Acumulador 1 y Acumulador 2. Los valores a ser comparados son cargados en los acumuladores usando la operación carga. Cuando una operación carga es ejecutada el valor especificado en el operando es cargado en el acumulador 1 y el valor actualmente en el acumulador 1 es transferido al acumulador 2. Por tanto, dos operaciones de carga tienen el efecto de colocar valores en ambos acumuladores. Para observar esto se muestra el ejemplo: INSTRUCCION L KF+106 ACUMULADOR 1 106 ACUMULADOR 2 ? DESCRIPCION carga de una constante como valor en punto fijo El valor de 106 es cargado en el acumulador 1. Si habia previamente un valor en el acumulador 1 entonces sería transferido al acumulador 2. INSTRUCCION L KF+218 ACUMULADOR 1 218 ACUMULADOR 2 106 DESCRIPCION carga de una constante como valor en punto fijo Una segunda operación de carga coloca 218 en el acumulador 1 y mueve el 106 al acumulador 2. INSTRUCCION ACUMULADOR 1 ACUMULADOR 2 DESCRIPCION L KF+573 573 218 carga de una constante como valor en punto fijo Si otra operación de carga es ejecutada, el nuevo valor 573 se mueve al acumulador 1. El valor del acumulador 1 218 se movió al acumulador 2 y el viejo valor del acumulador 2 106 es perdido. 3 Antes de realizar la función de comparación se deben cargar los operandos a compara en los acumuladores. Un programa de ejemplo en STEP 5 se muestra: L L >F =M EW DW 10 22 19.0 Carga del valor de la palabra de entrada EW 10 Carga del valor de la palabra de datos DW 22 El contenido de ambos operandos se compara según mayor Si la comparación se cumple, se asigna a la bandera M 19.0 el estado “1” Las comparaciones que se realizan son: ¡=F ><F >F >=F <F >=F Comparación igual a Comparación si son distintos Comparación mayor que Comparación mayor o igual a Comparación menor a Comparación menor o igual a 2.3. CONTADORES Los contadores son instrucciones que proveen las mismas funciones de un contador de lógica alambrada (“hardware”) en aplicaciones de control de procesos. En algunas aplicaciones ellos son usados para activar o desactivar un dispositivo de control luego de que una cuenta ha sido alcanzada. Por ejemplo, un programa de control en STL puede ser usado para contar el número de piezas producidas en una línea de ensamblaje y luego parar la línea de producción después de que un determinado número de piezas ha sido manufacturado. Hay dos instrucciones de contador en el lenguaje de programación STL: Contador hacia arriba (CU- ZV) y contador hacia abajo (CD – ZR). El área de memoria de un PLC reserva una palabra de 16 b para cada contador en una instrucción de contador. Los Siemens Simatic S7 en el lenguaje de lista de instrucciones soporta hasta 256 contadores, pero el número exacto de contadores soportados depende del modelo del CPU usado en la aplicación. Para el Siemens Simatic S5- 101 U el número de contadores es de 16. En el laboratorio se utilizará el contador 1 del PLC Simatic S5-101 U y se inicializará un valor de 10, para observar bien la cuenta hacia adelante y la cuenta hacia atrás. A continuación se presenta la lista de instrucciones a introducir en el programador: U ZV E Z 10 . 1 CUENTA HACIA ADELANTE. 4 U ZR E Z 11 . 1 CUENTA HACIA ATRAS. U L S E KZ Z 1.2 10 1 CARGAR E INICIALIZAR EL CONTADOR. E Z 1.3 1 PUESTA A CERO. U R 1 CONSULTA BINARIA. = A 1.2 A continuación se muestra el diagrama temporizado del programa, en el cual se observa claramente el funcionamiento del mismo: U Z 2.4 EJEMPLO DE APLICACIÓN UTILIZANDO CONTADORES Se tiene un estacionamiento público con capacidad para 10 vehículos. El usuario debe pulsar P0 para entrar y P1 para salir, ( P0 esta representado por E 1.1 y P1 por E 1.0 ). Si se encuentran 10 vehículos en el estacionamiento se inhibe el funcionamiento de la puerta automática y se enciende una señal de "NO HAY PUESTO". De existir puesto disponible, se activa la señal de "HAY PUESTO". Para la implementación de la solución al planteamiento anterior se elaboró el programa en STEP 5 que permite realizar lo antes expuesto. U E ZV Z 11 . 1 CUENTA HACIA ADELANTE. 5 U ZR E Z 1.0 1 CUENTA HACIA ATRAS. U L S E KZ Z 0.0 0 1 INICIALIZACION DEL CONTADOR 1. U L S E KZ Z 01 . 10 2 INICIALIZACION DEL CONTADOR 2. > = < = L Z 1 L Z 2 = F? ? A 0.0 F A 0.1 CARGAR VALORES DE LOS CONTADORES. CIERTO “1” NO CIERTO “0” NO HAY PUESTO HAY PUESTO Al correr el programa anterior se debe observar que al entrar el décimo automóvil se enciende la luz de "NO HAY PUESTO" y simultáneamente se apaga la luz de "HAY PUESTO". Al salir un automóvil del estacionamiento debe cambiar automáticamente el estado de los indicadores, ya que ahora se encuentran 9 automóviles dentro del mismo y 1 puesto desocupado. El número de automóviles que se encuentra en un determinado momento dentro del estacionamiento se podrá observar mediante la función STATUS. Al finalizar el presente ejemplo, se debe entender de una manera mejor, la aplicación de diferentes funciones como: carga de acumuladores, comparación, inicialización, puesta a cero, cuenta hacia adelante y cuenta hacia atrás. Además se deberá entender la importancia de los contadores en la solución de problemas prácticos que se presentan a diario y que pueden ser resueltos con la simple aplicación del PLC y sus diversas funciones. El esquema de conexión de este programa se muestra en la figura 1. Un problema que presenta este programa es el uso innecesario de dos contadores, esto puede ser solventado por uno de dos métodos: a) Comparando con una constante numérica en lugar de hacerlo con el contador 2. b) Usando una consulta binaria en lugar de la comparación numérica. 6 FIGURA 1: Esquema de conexión en mímico del laboratorio SOLUCION a): U ZV E Z 11 . 1 CUENTA HACIA ADELANTE. U L S 1.0 Z 1 E 0.0 KZ 0 Z 1 L Z L > KF 10 CARGAR VALOR DE LA CONSTANTE NUMERICA. = F ? ? CIERTO “1” ? NO CIERTO “0” A 0.0 NO HAY PUESTO F A 0.1 HAY PUESTO U ZR = < = E 1 CUENTA HACIA ATRAS. INICIALIZACION DEL CONTADOR 1. CARGAR VALOR DEL CONTADOR. SOLUCION b): U ZV E Z 10 . 1 CUENTA HACIA ADELANTE. 7 U ZR E Z 11 . 1 CUENTA HACIA ATRAS. U L S E KZ Z 0.0 10 1 INICIALIZACION DEL CONTADOR 1. U Z 1 CONSULTA BINARIA. = M 0.0 U M 0.0 = A 0.1 HAY PUESTO. UN M 0.0 = A 0.0 NO HAY PUESTO. Nota: Compare las soluciones propuestas e indique: ¿Cuál a su criterio es mejor? y ¿Porqué? 2. PRE-LABORATORIO 2.1 . Diseñe los diagramas en escalera y escriba los programas en lenguaje STEP-5 que permitan resolver los ejercicios de alarma descritos a continuación. 2.1.1 EJERCICIO 1 : Sistema de Distribución de Agua Potable Se tiene el siguiente sistema de distribución de agua potable para una población dividida en 4 sectores: B11 Sector A V11 B13 Tanque de Almacenamiento V13 B12 B1 Sector B B21 V1 V12 Sector C V21 B23 V23 Sensor de Flujo B22 B2 Sector D V22 El sistema tiene las siguientes características: 8 • • • • • • • • Un tanque de almacenamiento el cual posee un sensor que se activa cuando el nivel del tanque llega al mínimo permitido. Una válvula principal (V1) la cual permite el paso desde el tanque hasta la planta de distribución. Un sensor de flujo que indica cuando está circulando agua por la tubería y cuando no está circulando. Dos (2) de bombas primarias de 5" (B1 y B2). Cada una posee un sensor que indica cuando ocurre una falla en la misma. En operación normal están encendidas las dos. Cuatro (4) bombas secundarias de 2" (B11, B12, B21, B22) las cuales permiten bombear agua hacia cada sector. Cada una posee un sensor que indica cuando ocurre una falla en la misma. En operación normal están encendidas las cuatro. Dos (2) bombas de reserva de 2" (B13 y B23) las cuales normalmente están apagadas y solo se encienden cuando ocurre una falla en las bombas secundarias correspondientes (Ejm: la bomba B13 se enciende cuando ocurre una falla en la bomba B11 ó cuando ocurre una falla en la bomba B12), para evitar que no haya distribución de agua hacia algún sector. Esta bomba solo puede sustituir una de las dos bombas secundarias en un mismo instante de tiempo. 4 válvulas de distribución (v11, v12, v21, v22) de dos entradas y una salida, que permiten seleccionar la bomba que suministrará el flujo de agua a cada sector. Cada válvula posee dos posiciones: entrada 1 y entrada 2. La posición normal de dicho conjunto de válvulas en la siguiente: Válvula v11: entrada 1, desde la bomba B11 Válvula v12: entrada 1, desde la bomba B12 Válvula v21: entrada 1, desde la bomba B21 Válvula v22: entrada 1, desde la bomba B22 Dos válvulas de falla (v13 y v23) de una entrada y dos salidas, que permiten seleccionar a que sector va a suministrar agua la bomba de reserva correspondiente. Cada válvula posee dos posiciones: salida 1 y salida 2. La posición normal de éste par de válvulas es la siguiente: Válvula v13: salida 1, hacia el sector A Válvula v23: salida 1, hacia el sector C Se debe diseñar e implementar con un PLC un sistema de detección y solución de fallas leves y graves con de activación de alarmas para el sistema de distribución. FALLA LEVE: Falla en alguna de las válvulas de distribución secundarias. FALLA GRAVE: No hay suministro de agua en alguno de los sectores de la población. Se desea que el sistema cumpla con los siguientes objetivos: a) Emitir una señal de ALARMA LEVE en el caso de ocurrir una falla leve. b) Emitir una señal de ALARMA GRAVE en el caso de ocurrir una falla grave 9 c) En caso de falla leve, encender la bomba de reserva correspondiente y colocar la válvula de falla en la posición adecuada, para no detener el suministro de agua al sector. d) Si el nivel en el tanque de almacenamiento llega al mínimo permitido o no está circulando agua en la tubería principal, cerrar la válvula principal y apagar todas las bombas. e) Llevar un control del Nº de Fallas Leves y Fallas Graves que ocurren en el sistema y activar una ALARMA DE MANTENIMIENTO si ocurren más de 10 Fallas Leves o más de 3 Fallas Graves. Esta alarma permitirá programar un mantenimiento general del sistema tras lo cual se debe reinicializar con todo el sistema. 2.1.2 EJERCICIO 2 : Contador de Personas Se desea realizar un programa usando un contador hacia adelante y hacia atrás, para contar las personas en un recinto de 100 personas de capacidad. Para este objeto se han dispuesto a la entrada del recinto dos señales luminosas, instaladas de tal forma que al circular delante de ellas primero se interrumpe una señal y después las dos. A partir de aquí se obtienen las señales para el contador. El esquema siguiente nos da la disposición del contador. Las células fotoeléctricas dan el estado "1" cuando se interrumpe el rayo de luz. Un indicador luminoso señaliza cuando el recinto está ocupado. 2.2 Realice la simulación de los programas a ser introducidos en el PLC, usando El programa S5 y el de SoftLOGIC. 2.3. Realice el programa en : diagrama en escalera (LAD), diagrama de bloque de funciones (FBD) y listado de instrucciones (STL). Todos de acuerdo a la norma IEC 61131-3. 10 2.4 Dibuje el diagrama de instrumentación del proceso de acuerdo a las normas ISA 5.1, tal como lo haría una empresa de automatización. 2.5 Dibuje el diagrama de cableado de las entradas y salidas al PLC SIMATIC S5-101U en cada proceso, de acuerdo a normas para planos de instrumentación. 3. LABORATORIO 1. Al llegar al laboratorio debe entregar en un disco flexible la simulación con extensión .s5d (formato siemens S5D) y todo lo solicitado en el pre-laboratorio. 2. Debe programar el PLC simatic S5 para implementar la solución a los ejercicios propuestos de acuerdo a los programas en STL diseñados, para comprobar su funcionamiento. 3. Mostrar los resultados al profesor. 4. POST-LABORATORIO 1. Realizar el informe correspondiente. 2. Agregar las modificaciones hechas a cada problema de acuerdo a su propia iniciativa. 5. BIBIBLIOGRAFÍA 1. Rojas Ruben. Introducción al uso de los Controladores Lógicos Programables (PLC). Práctica # 4. Laboratorio de Sistemas de Control. Guía de Prácticas. ULA. 1998. 2. Berger Hans. La automatización con S5-115U. SIEMENS, S.A. Berlin. Munich. República Federal de Alemania. 1987. 3. SIEMENS. SIMATIC S5. Programmable Controllers. S5-101U Self-Study Systems. 1989. 4. Hughes Thomas A. Programmable Controllers. Third Edition. ISA. USA. 2001. 11