3 ascensores

˜ e implementacion ´ de un Diseno sistema de llamada combinada para una maqueta a escala de tres ascensores usando dos P

Views 74 Downloads 0 File size 9MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

˜ e implementacion ´ de un Diseno sistema de llamada combinada para una maqueta a escala de tres ascensores usando dos PLC CJ1M de OMRON

Proyecto Fin de Grado presentado para optar al T´ıtulo de ´ Ingeniero en Electronica Industrial por

´ Alvaro Lacasa Majo ´ de: Bajo la supervision

Dr. Emilio Jos´e S´anchez Tapia

´ - Donostia San Sebastian

Diciembre, 2014

II

Resumen ´ de una maqueta a escala de tres El presente proyecto trata sobre la programacion ´ (TECNUN) para la ascensores existente en la Escuela de Ingenieros de San Sebastian ´ de una llamada combinada. Dicha maqueta consta de dos PLCs de implementacion forma que un PLC controla dos cabinas y el otro controla a la tercera. Por ello, una parte ´ entre dichos PLCs. importante del presente proyecto ha sido establecer la comunicacion ´ se ha elegido realizando una comparativa entre las tecnolog´ıas Dicha comunicacion ´ se adapta mejor a este caso. En cuanto a la Ethernet y Ethernet/IP para ver cual ´ los PLCs CJ1M empleados de la marca OMRON estan ´ preparados para programacion, ´ en Texto Estructurado. Con ello utilizar el lenguaje Ladder, pero permite la programacion ´ optimizada en Texto Estructurado se busca averiguar si es posible una programacion de las tres cabinas de forma combinada ante llamadas exteriores. Para completar el ´ sistema, la maniobra se monitoriza mediante un SCADA en el que graficamente un operario puede supervisar todo el proceso e interactuar con e´ l.

III

IV

0. Resumen

´Indice general

Resumen

III

´ 1. Introduccion

1

´ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1. Motivacion

1

1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2

2. Estado del arte

5

2.1. Historia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

2.2. Tipos de actuadores encontrados en los ascensores . . . . . . . . . . . . . .

7

2.2.1.

´ el´ectrica . . . . . . . . . . . . . . . . . . . . . Elevadores de traccion

7

2.2.2.

´ Elevadores hidraulicos

9

. . . . . . . . . . . . . . . . . . . . . . . . . .

´ 2.3. Logica de control de los ascensores . . . . . . . . . . . . . . . . . . . . . . . 10 2.3.1.

Algoritmo convencional (Principio de control colectivo) . . . . . . . . 10

2.3.2.

´ Logica difusa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.3.3.

Redes neuronales

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

´ del prototipo 3. Descripcion ´ 3.1. PLC CJ1M (automatas)

15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.2. Otros elementos que componen el prototipo . . . . . . . . . . . . . . . . . . 18 ´ de PLCs: Ethernet vs Ethernet/IP 4. Interconexion

23

´ 5. Programacion

31

5.1. Arquitectura del software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 V

´INDICE GENERAL

VI

´ 5.2. Modulos del software de los PLCs . . . . . . . . . . . . . . . . . . . . . . . . 36 5.2.1.

´ de la cabina Posicion

5.2.2.

Motor

5.2.3.

Apertura y cierre de puertas . . . . . . . . . . . . . . . . . . . . . . . 40

5.2.4.

Respuesta ante llamadas . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.2.5.

´ ´ de las llamadas exteriores a la Logica empleada en la asignacion cabina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

5.2.6.

Comunicaciones entre los PLCs . . . . . . . . . . . . . . . . . . . . . 46

. . . . . . . . . . . . . . . . . . . . . . . . . . . 36

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

´ del espacio 5.3. Optimizacion

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

6. SCADA

53

´ ´ 7. Testeo y uso de automata de simulacion

59

8. Conclusiones y futuros trabajos

65

8.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 8.2. Futuros trabajos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

´Indice de figuras

1.1.

´ Prototipo empleado en el Laboratorio de Robotica de la Escuela

1.2.

Estructura que siguen los programas empleados de la marca OMRON

. .

4

2.1.

´ Primer ascensor accionado por una maquina. Derby, Inglaterra . . . . . .

5

2.2.

´ de elevadores en rascacielos Distribucion

. . . . . . . . . . . . . . . . . . .

6

2.3.

´ Esquema de un elevador electromecanico . . . . . . . . . . . . . . . . . . .

8

2.4.

´ ´ Elevador electromecanico sin cuarto de maquinas . . . . . . . . . . . . . .

9

2.5.

´ Esquema de un elevador hidraulico . . . . . . . . . . . . . . . . . . . . . . . 10

2.6.

Partes de una c´elula neuronal . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.7.

´ Neurona artificial inspirada en una biologica

3.1.

Plataforma sobre la que se asienta el ascensor

3.2.

´ Modulo CJ1M-CPU11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.3.

´ Rango de salida del modulo Mad42 (valores en hexadecimal) . . . . . . . . 17

3.4.

Prototipos de ascensores de 4 plantas . . . . . . . . . . . . . . . . . . . . . . 18

3.5.

Funcionamiento de interruptores reed ante un campo magn´etico

3.6.

Diagrama de las conexiones del prototipo

4.1.

´ de la direccion ´ IP del PLC . . . . . . . . . . . . . . . . . . . . . 24 Modificacion

4.2.

´ del nodo ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Modificacion

4.3.

´ Montaje de una red Ethernet/IP basica . . . . . . . . . . . . . . . . . . . . . 26

4.4.

Red de dos PLCs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.5.

Funcionamiento de los tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 VII

. . . . . .

2

. . . . . . . . . . . . . . . . . 13 . . . . . . . . . . . . . . . . 15

. . . . . 20

. . . . . . . . . . . . . . . . . . . 21

´INDICE DE FIGURAS

VIII

4.6.

´ de las sondas del osciloscopio en los PLCs . . . . . . . . . . . . 28 Colocacion

4.7.

´ en el osciloscopio de la entrada (senal ˜ 1) de un PLC y la Visualizacion ˜ 2) del otro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 salida (senal

5.1.

Ciclo scan en un PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

5.2.

´ GEMMA . . . . . . . . . . . . . . . . . . . . 33 Idea general de la programacion

5.3.

Grafcet del modo mantenimiento

5.4.

Grafcet del modo bomberos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

5.5.

´ de la posicion ´ en funcion ´ de los sensores activados . . . . . . . 37 Asignacion

5.6.

Grafcet que sigue el movimiento del motor . . . . . . . . . . . . . . . . . . . 39

5.7.

Valores que toma la variable de la velocidad en la subida . . . . . . . . . . 40

5.8.

Grafcet que sigue el movimiento de la puerta de cada cabina . . . . . . . . 41

5.9.

´ ´ de los vectores ascensor y Grafcet que da las ordenes al motor en funcion ascensorext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

. . . . . . . . . . . . . . . . . . . . . . . . 35

´ de la planta de la 5.10. Posibles posiciones de las cabinas A y B en funcion llamada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 ´ de la planta de la 5.11. Posibles posiciones de las cabinas A, B y C en funcion llamada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 ´ de datos que se modifican en ambos PLCs . . . . . . . . . . 48 5.12. Comunicacion 5.13. Ejemplo de diferencia de espacio entre Ladder y Texto Estructurado . . . . 49 5.14. Ejemplo de diferencia de espacio entre contadores Ladder y Texto Estructurado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 6.1.

´ SCADA del movimiento de las tres cabinas automaticamente . . . . . . . . 54

6.2.

Cabinas B y C en modo mantenimiento . . . . . . . . . . . . . . . . . . . . . 55

6.3.

SCADA del estado de las alarmas . . . . . . . . . . . . . . . . . . . . . . . . 56

6.4.

SCADA de las variables controlables de la maniobra . . . . . . . . . . . . . 57

6.5.

SCADA de los sensores que se encuentran funcionando en ese momento . 57

7.1.

´ de una pantalla de simulacion ´ Creacion . . . . . . . . . . . . . . . . . . . . 60

7.2.

´ inicial de solo ´ dos cabinas . . . . . . . . . . . . . . . . . . . . . 61 Simulacion

7.3.

´ completa de la maniobra de las tres cabinas . . . . . . . . . . . 62 Simulacion

´Indice de tablas

5.1.

´ de las variables del programa . . . . . . . . . . . . . . . . . . 34 Organizacion

5.2.

´ y lenguaje de la posicion ´ de las cabinas . . . . . . . . . . . . . 37 Localizacion

5.3.

Relaciones entre los posibles valores dados al motor, los voltajes que producen y las velocidades que generan . . . . . . . . . . . . . . . . . . . . 38

5.4.

´ y lenguaje del control del motor . . . . . . . . . . . . . . . . . . 40 Localizacion

5.5.

´ y lenguaje de la apertura y cierre de las puertas . . . . . . . . 42 Localizacion

5.6.

´ y lenguaje de la logica ´ Localizacion empleada para atender las llamadas . 44

5.7.

´ y lenguaje de la posicion ´ de las cabinas . . . . . . . . . . . . . 46 Localizacion

5.8.

´ y lenguaje de la programacion ´ encargada de la comunicacion ´ Localizacion

5.9.

´ =TRUE . . . . . . . . . . . . . . . 50 Ahorro de pasos eliminando la condicion

48

´ =FALSE . . . . . . . . . . . . . . . 50 5.10. Ahorro de pasos eliminando la condicion

IX

X

´INDICE DE TABLAS

Cap´ıtulo 1

´ Introduccion 1.1.

´ Motivacion

´ industrial, la produccion ´ en masa ha ido evolucionando para Desde la revolucion ´ competente en precios y cantidad de produccion. ´ Fueron apareciendo diferentes ser mas ´ eficientes en la produccion. ´ tecnolog´ıas que permiten automatizar los procesos y ser mas Se busco´ un sistema en el que aplicar un automatizado industrial. Buscando por TECNUN, se llego´ hasta el prototipo de un ascensor con dos cabinas controladas por ´ un automata programable de la marca OMRON. En concreto, este tipo de PLC (Programmable Logic Controller) es programado normalmente mediante lenguaje Ladder que se asemeja a un circuito el´ectrico, pero tambi´en es posible emplear Texto Estructurado que se puede equiparar a “C” [1]. A lo largo del Grado, se le ha dado mucha importancia al lenguaje en “C” y sus derivados, ´ comodo ´ por lo que Texto Estructurado es un lenguaje en el que el autor se siente mas a la hora de realizar programaciones complejas. ´ ´ disponible sobre los diferentes Se ha querido llevar a la practica toda la informacion ´ de los PLCs. Se sabe que Ladder es mas ´ eficiente que Texto lenguajes de programacion Estructurado, pero se va a intentar utilizar este segundo para conocer de primera mano ´ de estos controladores. las limitaciones en la programacion ´ es realizando pruebas, y qu´e mejor La mejor forma de conseguir tal informacion ´ del medio de transporte que forma de probarlo que realizando la automatizacion ´ utilizado: el ascensor. A lo largo de la memoria se pueden probablemente sea el mas ver los problemas encontrados y las soluciones propuestas a la hora de desarrollar el ´ programa de la maniobra de las cabinas. Este se ha elaborado en su gran mayor´ıa en ´ ´ permiten el uso de Texto Estructurado, pero no todo, debido a que estos automatas solo ´ ciertos recursos unicamente en Ladder. ´ profundo, se utilizo´ otra maqueta de un Con el fin de hacer un estudio mas ´ para la realizacion ´ de ascensor de una cabina para as´ı establecer una comunicacion una maniobra combinada entre las tres cabinas. Entre todas las tecnolog´ıas existentes ´ entre ambos PLCs, se eligieron Ethernet y Ethernet/IP, de las para realizar la conexion ´ de ellas que posteriormente se realizo´ una comparativa con el fin de determinar cual 1

´ Chapter 1. Introduccion

2 ´ garantizaba la mejor conexion.

Con objeto de desarrollar un automatizado completo, se llevo´ a cabo un SCADA (Supervisory Control And Data Adquisition) a trav´es del cual, un operario puede supervisar e interactuar con la maniobra que se esta´ ejecutando. De esta forma, se consiguen maximizar todas las funcionalidades que ofrecen los PLCs de OMRON.

1.2.

Objetivos

´ de tres El objetivo general de este Proyecto es realizar el control de la posicion ´ ´ de todo elevadores mediante el empleo de dos automatas de OMRON y la supervision el proceso mediante un SCADA. Buscando lograr el correcto funcionamiento de los elevadores en llamada combinada se han empleado los programas: CX-Programmer ´ de los automatas), ´ (gestor de la programacion CX-Designer (simulador del programa) ´ ´ y CX-Supervisor (interfaz hombre-maquina). Para ello, se han puesto en practica los ´ de procesos industriales. conocimientos obtenidos sobre la automatizacion

´ Figura 1.1: Prototipo empleado en el Laboratorio de Robotica de la Escuela Se han empleado prototipos de tres ascensores ya existentes en la Escuela (Figura 1.1), alrededor de los cuales se desarrolla todo el proyecto con los siguientes objetivos particulares: ´ se adapta mejor. Dentro de toda la • Determinar qu´e tecnolog´ıa de comunicacion

Section 1.2. Objetivos

3

´ ´ de OMRON (EtherCAT, EtherNet, EtherNet/IP, gama de modulos de comunicacion CompoNet, DeviceNet, CompoBus/s), se han elegido las tecnolog´ıas de EtherNet y ´ comunmente ´ EtherNet/IP para realizar la comparativa al ser las tecnolog´ıas mas utilizadas en la Escuela. ´ ´ eficiente de programarlo • Desarrollar el codigo de control, buscando la forma mas entre las diferentes opciones que permite CX-Programmer. Las opciones que permite ´ OMRON en sus automatas son: Ladder (diagrama de rel´es), Texto Estructurado (ST) o por SFC (Secuential Function Chart) • Crear un simulador, en CX-Designer, para el programa de control mientras se encuentra en las fases de desarrollo, con el fin de evitar aver´ıas en el prototipo. ˜ ´ es decir, • Anadirle la funcionalidad completa con su correspondiente monitorizacion, ´ realizar el software hombre-maquina (HMI, Human Machine Interface). Realizar dicho SCADA con el programa CX-Supervisor. • Testeo: Comprobar que todas las partes funcionan como se hab´ıa propuesto. El documento se estructura en varios cap´ıtulos. En el primer de ellos se puede ´ de los sistemas de encontrar el estado del arte en el que se habla de la evolucion ´ ´ elevacion, as´ı como las diferentes tecnolog´ıas que se pueden aplicar a la programacion de los ascensores (2). Despu´es se describe el prototipo que se ha empleado para ´ del proyecto con todas sus caracter´ısticas t´ecnicas (3), continuando la realizacion ´ y explicando el con una comparativa de dos tecnolog´ıas distintas de comunicacion ´ de los PLCs (4). En los funcionamiento de la seleccionada para la comunicacion ´ ´ del sistema siguientes cap´ıtulos se puede encontrar como se ha llevado a cabo la creacion ´ separado en funcion ´ principalmente del programa que se ha empleado para de elevacion, ´ del mismo. Por ello, todo lo referente a CX-Programmer empleado en la la realizacion ´ de los PLCs se encuentra en el cap´ıtulo 5, el SCADA realizado con CXprogramacion Supervisor en el 6 y las pruebas realizadas para comprobar el correcto funcionamiento antes de verlo funcionar f´ısicamente elaborado en el CX-Designer se ve en el cap´ıtulo 7. Para comprender mejor el documento, hay que conocer la estructura (ver Figura 1.2) ´ en la que se ejecutan los programas empleados a lo largo del proyecto. La programacion de los PLCs se ha llevado a cabo mediante el programa CX-Programmer. Una vez realizada, se puede optar por transferir el programa a un PLC real o simular el funcionamiento de un PLC en el ordenador. Cuando se transfiere el programa a un PLC real, e´ ste comenzara´ a ejecutarse1 pudiendo monitorizar la maniobra que realiza desde un programa realizado en CX-Supervisor. En el caso de que se desee comprobar el funcionamiento del programa sin introducirlo en el PLC real, CX-Programmer arranca ´ CX-Simulator que crea un PLC virtual donde ejecutar dicho programa. En la simulacion ´ que realiza solo se ven cambiar los valores de los registros dentro de CX-Programmer, por ´ mas ´ graficamente ´ ´ ˜ lo que para ver la simulacion se crea una interfaz grafica disenada en ´ el CX-Designer. En esta ventana interactiva se crean los actuadores que compondran PLC real con el fin de poder simular las alteraciones que sufrir´ıan en la realidad. CXDesigner simplemente lee o modifica los valores que tiene el PLC virtual, por lo que para ´ hombre-maquina, ´ obtenerlos se conecta al CX-Simulator. En cuanto a la interaccion se 1

´ o en modo run para ejecutarse. El PLC ha de estar en modo monitorizacion

´ Chapter 1. Introduccion

4

´ emplea el CX-Supervisor para crear el SCADA de la maniobra. Este puede monitorizar el ´ PLC real o el PLC virtual. Para est´e ultimo, necesita que este el PLC virtual funcionando, es decir, el CX-Simulator funcionando.

CX-Programmer

CX-Designer

CX-Simulator

PLC Real

CX-Supervisor

Figura 1.2: Estructura que siguen los programas empleados de la marca OMRON ´ Para concluir este proyecto, en el ultimo cap´ıtulo se han descrito las conclusiones finales del proyecto y los posibles trabajos futuros que se pueden realizar.

Cap´ıtulo 2

Estado del arte 2.1.

Historia

A lo largo de la historia, se han ido construyendo edificaciones cada vez de mayor altura dificultando, as´ı, su acceso. Para poder elevar los materiales, objetos o personas hasta dichos lugares con la menor energ´ıa f´ısica posible, el hombre se ha visto en la ´ As´ı es como aparecen las primeras formas necesidad de crear elementos de elevacion. ´ [2]. En el comienzo eran muy rudimentarias, como es el caso de las de elevacion ´ ´ palancas, pero posteriormente fueron perfeccionandose surgiendo las gruas elevadoras ´ del agua. Mas ´ adelante, se fue introduciendo propulsadas por personas o por accion ´ de la maquina ´ el motor con la invencion de vapor rotatoria y los motores el´ectricos rotatorios (Figura 2.1). Paralelamente a las mejoras del motor, se inicio´ la teor´ıa de la seguridad del pasajero en los ascensores, siendo Elisha G. Otis el pionero.

´ Figura 2.1: Primer ascensor accionado por una maquina. Derby, Inglaterra ´ vive o trabaja en grandes estructuras Actualmente, gran parte de la poblacion 5

6

Chapter 2. Estado del arte

´ alto del mundo, o meramente debido en parte al fervor por construir el edificio mas ´ por cuestiones de espacio debido al crecimiento de la poblacion. Es en estas grandes edificaciones donde se pueden encontrar sistemas elevadores muy seguros y con una ´ gran eficacia a la hora de mover un gran numero de personas. ´ vertical en un edificio, son varios los A la hora de implantar un sistema de elevacion ´ que mejor se adapte. Algunos de aspectos a tener en cuenta para elegir la combinacion ´ importantes ser´ıan: el numero ´ ´ los mas de pisos, el numero de personas que lo emplear´ıa y el tipo de edificio que sea (oficinas o residencial. . . ). Por ejemplo, si se va a implantar ´ en un bloque residencial de pocas alturas, se colocara´ una sola un sistema de elevacion ´ cabina que llegara´ a todas las plantas y tendra´ una logica de control convencional (2.3.1). Por el contrario, en un edificio de oficinas con muchas alturas el abanico de posibilidades ´ de los ascensores se ampl´ıa. A continuacion ´ se describen algunas de en la distribucion ellas. En el caso de edificios de menos de 50 alturas, se pueden emplear ascensores que ´ de 50 alturas, se colocan paren en todas las plantas. Al contrario, en edificios de mas varios vest´ıbulos en los que hay ascensores que van directos para que se pueda llegar ´ rapidez a la ultima ´ con mas planta. Como se aprecia en la Figura 2.2, se colocan varios ascensores a los que se les asigna un rango de alturas diferentes a los que llegar. Por ejemplo, si una persona desea ir al piso 132, primero tendra´ que coger el ascensor que le lleve directo al segundo vest´ıbulo en la planta 100 para all´ı coger otro que le transporte a la 132.

´ de elevadores en rascacielos Figura 2.2: Distribucion En este tipo de ascensores se suele encontrar en cada planta un dispositivo que ´ ´ organiza automaticamente el trafico de los ascensores. La persona selecciona el piso al que se quiere dirigir y una pantalla le indica qu´e ascensor debe coger.

Section 2.2. Tipos de actuadores encontrados en los ascensores

7

´ en el que trabajan 2 Los elevadores Twin (gemelos) son sistemas de elevacion ´ cabinas simultaneamente por el mismo hueco. El principal objetivo de esta idea, que a primera vista puede parecer una locura, es la de ahorrar espacio eliminando uno de los huecos. Se pueden encontrar dos casos en el que se aplica esto: • Individuales: Las dos cabinas circulan por el mismo hueco, una independiente de la otra, con un sistema de control inteligente que evita las colisiones entre ambas cabinas consiguiendo rendimientos similares en la mitad de espacio. • Paralelos: Son dos cabinas acopladas una encima de la otra, por lo que se mueven al un´ısono, siendo su funcionamiento bastante sencillo: dependiendo de si el destino final de un usuario es una planta par o impar, se introducir´ıa en la cabina ˜ desventaja es que si la persona se encuentra inferior o en la superior. La pequena en una planta impar y necesita ir a una par, se ve obligado a subir o bajar un piso para poder alcanzar su destino. ´ pensados para trayectos de mas ´ de 50 metros de altura y con Ambos casos estan un volumen significativo de gente y viajes entre plantas, como en edificios corporativos. Por lo general, este tipo de ascensores no se emplean para sustituir 2 huecos en 1, sino ´ bien como m´ınimo 4 en 2. Al disponer de varias opciones, se emplea un sistema de mas llamada en el que introduces la planta de destino y por medio de una pantalla te indica en qu´e ascensor debes montarte. ´ Dependiendo de la estructura del edificio y del numero de pisos, se puede disponer de diferentes actuadores que permiten el movimiento de la cabina o cabinas por el hueco.

2.2. 2.2.1.

Tipos de actuadores encontrados en los ascensores ´ el´ectrica Elevadores de traccion

El movimiento de la cabina se genera gracias a un motor el´ectrico del que se transforma su movimiento rotacional en movimiento vertical. Generalmente disponen de un contrapeso cuyo peso es el mismo que el de la cabina vac´ıa para as´ı controlar mejor el movimiento de e´ sta. Evita la necesidad de un motor muy potente para poder ´ facil ´ subir el ascensor cargado y que el descenso sea mas de controlar. ´ la necesidad o las normativas Se utilizan diferentes tipos de motores el´ectricos segun del pa´ıs donde se instalan. Se pueden encontrar: • Una velocidad: En muchos pa´ıses se ha prohibido su uso en nuevas construc´ en las paradas ya que la llegada a los pisos ciones debido a su falta de precision ´ con demasiada rapidez. seleccionados se efectua ´ • Dos velocidades: Son motores trifasicos de polos conmutables que proporcionan ´ a la cabina dos velocidades de movimiento, uno rapido y otro lento. Cuando se

8

Chapter 2. Estado del arte

´ Figura 2.3: Esquema de un elevador electromecanico ´ traslada entre plantas se mueve a maxima velocidad con el fin de minimizar el tiempo de estancia en el ascensor. En cambio, al aproximarse a una planta con ´ de la parada. llamada, ralentiza su velocidad para aumentar la precision ´ de frecuencia: Mediante un variador de frecuencia se logra cambiar la • Variacion ´ confortables. velocidad del motor y de esta forma los viajes que se realizan son mas En la salida y en la llegada a una planta, acelera y decelera respectivamente ´ haciendo que sea practicamente imperceptible el movimiento de la cabina logrando ´ en la parada. una gran precision • Generadores: La eficiencia energ´etica esta´ a la orden del d´ıa, y esto hace que los ´ de subir y bajar la cabina de un modo agradable para el usuario, motores, ademas ´ que ahora tambi´en generen energ´ıa. En este caso, el contrapeso pesa un poco mas la cabina. As´ı se consigue que, cuando esta´ la cabina subiendo y vac´ıa, genere ´ electricidad; si se montan uno o dos usuarios el peso es practicamente el mismo por lo que el esfuerzo que tiene que realizar el motor es m´ınimo, mientras que cuando esta´ la cabina llena y descendiendo, vuelve a generar energ´ıa. Este tipo de ´ mas ´ orientados a bloques de viviendas, pero variando el lastre del motores estan contrapeso puede orientarse para otro tipo de edificios. A la hora de instalar un ascensor, el edificio en el que se va a colocar ha de tener ´ debe disponer de un cuarto de maquinas ´ un hueco por donde moverse, pero ademas, colocado normalmente en la parte superior del hueco. La maquinaria necesaria para mover el ascensor (motor y controles) ocupa mucho espacio y pesa mucho por lo que,

Section 2.2. Tipos de actuadores encontrados en los ascensores

9

´ se ha de contemplar la carga que debe soportar la estructura. Esta necesidad ademas, estructural de disponer de un espacio extra es una clara desventaja ya que ese espacio podr´ıa ser utilizado en otros fines o simplemente ser un ahorro en materiales para la constructora del edificio. Actualmente existe la posibilidad de instalar un ascensor sin la necesidad de un ´ ´ de motores mas ´ pequenos ˜ cuarto de maquinas gracias a la creacion y eficientes, y ´ tambi´en, al avance de la tecnolog´ıa electronica la cual mejora el control de la cabina en menor espacio. Este tipo de ascensores son ideales para construcciones antiguas donde no se dispone de un hueco pensado para alojar un ascensor y mucho menos de ´ su cuarto de maquinas.

´ ´ Figura 2.4: Elevador electromecanico sin cuarto de maquinas

2.2.2.

Elevadores hidr´aulicos

´ accionado por una bomba El movimiento de la cabina se realiza gracias a un piston ´ por unas valvulas ´ ´ (ver Figura 2.5). Solo ´ se que inyecta aceite a presion hasta el piston consume energ´ıa al elevar el ascensor, porque al descender simplemente tiene que abrir ´ ´ en el piston. ´ Por lo general, tiene varias las valvulas controladamente para liberar presion desventajas como es el consumo el´ectrico del motor, ya que es cuatro veces mayor que en ´ el´ectrica (seccion ´ 2.2.1). Pero solo ´ consumen en la subida y esto hace que, los de traccion en conjunto, este consumo el´ectrico sea el doble aproximadamente. Otro inconveniente ´ es que son lentos y no ser´ıan muy apropiados en edificios con gran numero de plantas. ´ seguros. Esto es Frente a esto, se encuentra algo realmente positivo y es que son los mas ´ ´ debido a que, aunque las valvulas que controlan la entrada y salida del aceite del piston ´ se estropeen, tienen un caudal maximo que, si falla, hace que el descenso sea mucho ´ lento que si se rompieran los cables en los elevadores con traccion ´ el´ectrica. mas

10

Chapter 2. Estado del arte

´ Figura 2.5: Esquema de un elevador hidraulico

2.3.

´ Logica de control de los ascensores

´ Con la llegada de los primeros ascensores publicos para personas, tambi´en llego´ el ´ problema de como hacer que vaya a la planta deseada. Para ello, se introdujo el ´ de hacia donde ´ personaje del ascensorista en quien reca´ıa la decision era mejor dirigirse ´ ´ adelante, se introducen los ascensores con botoneras ante multiples llamadas. Mas ´ automaticas. Todos ellos eran, simplemente, ascensores convencionales dotados de memoria. De e´ stos no se tardo´ en evolucionar a sistemas inteligentes, que realizan la ´ eficientemente posible. maniobra lo mas ´ ´ ´ ha A la hora de controlar un unico ascensor, la logica es muy sencilla: el sistema solo ´ que lleva de memorizar todas las llamadas y atenderlas teniendo en cuenta la direccion en ese momento el ascensor. ´ En un edificio en el que se dispone de varios elevadores, la logica de control comienza ´ a los diferentes casos, se han elaborado a complicarse. Para intentar dar solucion diversas teor´ıas, como por ejemplo las redes neuronales, el principio de control colectivo, el algoritmo RL (Reinforcement lerning). . .

2.3.1.

Algoritmo convencional (Principio de control colectivo)

´ empleado en sistemas de transporte vertical sencillo como Es el algoritmo mas edificios residenciales de pocas plantas y con poco volumen de viajes. Se basa en el principio de proximidad, es decir, que ante un conflicto entre dos ascensores por atender ´ proximo ´ una llamada, va el que se encuentre mas [3]. ´ Es muy empleado por la facilidad de implementacion, pero tiene el inconveniente ´ continuamente luchando de no ser eficaz. Se podr´ıa decir que los ascensores estan por atender las llamadas, lo que puede provocar que, en horas de mayor afluencia de personas, las cabinas se aglutinen en una zona del edificio, e induciendo a un largo

´ Section 2.3. Logica de control de los ascensores

11

retraso en atender llamadas de aquellos lugares con menos necesidades.

2.3.2.

´ Logica difusa

´ de nuestro La vida es confusa y difusa, es decir, la forma de procesar la informacion ´ de distintos parametros. ´ alrededor puede tener diferentes interpretaciones en funcion Un ejemplo de ello es que un d´ıa caluroso en invierno, no es lo mismo que un d´ıa ´ de d´ıa caluroso es imprecisa, depende de la e´ poca caluroso en verano [4]. La definicion ˜ de la localizacion ´ en la que nos encontramos y de muchos otros parametros ´ del ano, que inconscientemente nos hacen decir que un d´ıa es caluroso. ´ Siguiendo este razonamiento en el problema de la logica de los ascensores, se ´ encuentran muchos parametros que deber´ıan influir a la hora de asignar las paradas ´ del parametro ´ de los ascensores. Ademas anteriormente mencionado (principio de ´ pequena ˜ a la llamada, hay otros parametros ´ proximidad) de la distancia mas igualmente importantes a tener en cuenta como pueden ser: • tiempo de espera de los pasajeros, • trayecto de los pasajeros, • peso que le da a la llamada, • distancia del viaje, • consumo de los elevadores,. . . ´ de la logica ´ Para la ejecucion difusa se requiere definir unas entradas (como las ´ posteriormente en la toma de decision. ´ anteriormente mencionadas), las cuales influiran A estas entradas, y para cada llamada, se asigna una importancia (baja, media o alta) ´ que aplicando una serie de formulas, nos da una salida que representa la prioridad que tiene un ascensor sobre el resto y pudiendo, de este modo, asignar la llamada al ´ alta. ascensor con la prioridad mas

2.3.3.

Redes neuronales

´ de la naturaleza. Como otras muchas teor´ıas, e´ sta tiene su origen en la emulacion ´ a los problemas mas ´ complejos, no como una secuencia El objetivo es buscar solucion ´ de unos sistemas de computacion ´ capaces de razonar, de pasos, sino como la evolucion ´ pensar y aprender por s´ı mismos. Esta busqueda nos lleva inevitablemente al cerebro de los seres humanos que cumplen con todas las caracter´ısticas mencionadas, e incluso ´ El cerebro es la principal diferencia que poseemos con respecto al resto de seres mas. vivos y es lo que nos hace ser propiamente personas. ´ se explica brevemente el funcionamiento del cerebro de los seres A continuacion humanos, centrado en las diferentes partes que influyen en la teor´ıa de las redes neuronales. [5]

12

Chapter 2. Estado del arte

El cerebro esta´ compuesto por un conjunto de c´elulas nerviosas que, por s´ı solas, ´ son inutiles pero en conjunto, al interaccionar unas con otras, son una herramienta ´ neuronas que todas las estrellas muy potente. Un solo cerebro humano posee mas ´ entre todas las c´elulas nerviosas, la que nos da la del universo y es dicha interaccion facultad de pensar, razonar, movernos, tener emociones y todas las caracter´ısticas que ´ que tiene que procesar no intervienen todas las nos hacen ser personas. En cada accion c´elulas, sino que las diferentes tareas son procesadas por diferentes regiones de toda la masa neuronal, como por ejemplo andar, hablar, imaginar o la simple tarea de procesar ´ las imagenes que nos llegan del sentido de la vista.

Figura 2.6: Partes de una c´elula neuronal Esta´ claro que hoy en d´ıa conseguir simular esta inmensidad de neuronas con su ´ (dar un paso, mover la boca) es practicamente ´ posterior accion imposible. Pero siguiendo con la premisa anterior de las regiones, se podr´ıa desarrollar una red neuronal que ˜ accion ´ determinada. Por consiguiente, antes de realizar una red realizara una pequena ´ simple que actua, ´ hay que estudiar el proceso mas la neurona. La fisiolog´ıa de una neurona individual esta´ compuesta principalmente por 3 partes: dendritas, cuerpo de la ´ Figura 2.6 c´elula y axon. ´ principal es la de • Dendritas: De forma simple, sin meterse en biolog´ıa, su funcion ´ de una neurona a otra. Gracias a esta membrana se transportar la informacion ´ con su posterior resultado. Hay dendritas a produce el intercambio de informacion ´ la entrada (pegados al cuerpo de la c´elula) y a la salida (en el axon). ´ • Cuerpo de la c´elula: Puede tener uno o dos nucleos que se encargan de procesar ´ y dar una respuesta. la informacion ´ • Axon: Se encarga de enviar la respuesta de la c´elula a todas las neuronas ´ mas ´ larga que el conectadas a ella. Del cuerpo de la c´elula sale una ramificacion resto, rodeada (en la gran mayor´ıa de las neuronas) por una capa aislante llamada vaina de mielina y terminada por dendritas. La capa aislante esta´ interrumpida en

´ Section 2.3. Logica de control de los ascensores

13

varios puntos por los nodos de Ranvier. La respuesta de la neurona viaja por las ´ va a lo largo de vainas que tienen que despolarizarse, por lo que la informacion la fibra de forma discontinua. Las vainas no pueden volver a despolarizarse hasta ´ pasado 1 milisegundo (retardo sinaptico), que es el tiempo que tarda en volver a su ´ de los impulsos nerviosos estado de reposo, limitando la frecuencia de transmision a unos 1000 por segundo. El proceso qu´ımico que se produce en la c´elula nerviosa se puede asemejar a un ´ ´ que se transmite son impulsos el´ectricos. Al circuito electronico ya que la informacion tratarlo como un organismo computacional, estamos suponiendo que las neuronas son ´ activadas o bien desactivadas. Por lo tanto, el circuito binarias, es decir, o bien estan el´ectrico equivalente ser´ıa un procesador (cuerpo de la c´elula) programado para activar ´ ´ de unos parametros ´ o desactivar una salida (axon) en funcion de entrada (dendritas) proporcionados por otros procesadores (otras neuronas). El esquema de esta neurona artificial quedar´ıa como la de la Figura 2.7. Salida de otras neuronas

Sinapsis

X1

W1

X2

W2

Xn

Wn

Entradas

Pesos

Cuerpo de la célula



Función de propagación

Axón

Y

Función de activación

Salidas

´ Figura 2.7: Neurona artificial inspirada en una biologica Despu´es de todo lo explicado anteriormente, viene a la cabeza una pregunta clave: ´ ´ de ¿como decide el cuerpo de la c´elula (el procesador) el estado de la salida? Detras ´ que recibe esta pregunta, hay una base muy simple. La neurona clasifica la informacion ´ de las diferentes neuronas a las que esta´ conectada dandoles un peso, una relevancia. En el peso se encuentra el conocimiento que poseen las redes neuronales artificiales. Posteriormente, se realiza el sumatorio de todas las entradas multiplicadas por sus ´ de propagacion ´ y se puede correspondientes pesos. A este proceso se le llama funcion ´ ´ ´ ver en la Figura 2.7. A continuacion pasa a la funcion de activacion, donde se acota el ´ para darle valores entre 0 y 1 a la salida. valor devuelto por el factor de propagacion ´ estas salidas se han usado entre 0 y 1, pero normalmente se suelen Para la explicacion, ´ acotar entre -1 y 1 por cuestiones matematicas. Esta base es seguida por varias teor´ıas que tratan las diferentes formas de dar valores a los pesos, porque no importa lo bien que est´e realizada nuestra red neuronal si los pesos no son los correctos. ´ de estas neuronas artificiales simples consigue resolver diversos probleLa conexion ´ mas relacionados, por ejemplo, con el reconocimiento de formas, patrones, prediccion, ´ optimizacion ´ o control entre tantas otras aplicaciones. Aplicandolo ´ codificacion, al caso

14

Chapter 2. Estado del arte

´ eficiente de mover la cabina particular de los ascensores, concretamente a la forma mas ´ para coger y dejar gente, existen multiples estudios con resultados muy prometedores. Sin ir muy lejos, se pueden encontrar estudios sobre el control de la cabina del ´ ascensor con respecto al modo de distribucion. En el programa realizado en uno de los estudios [6], la red neuronal artificial es capaz de aprender sobre la marcha realizando modificaciones en los pesos de las entradas de las neuronas. De esta forma consiguen que el ascensor se adapte a la demanda espec´ıfica del edificio en el que se encuentra instalado. En los resultados del estudio se puede ver que inicialmente (cuando esta´ aprendiendo) su efectividad es menor que usando otros mecanismos diferentes a ´ las redes neuronales, pero a partir de un numero de llamadas realizadas, el ascensor ´ eficaz. Con ello han demostrado que se acortar´ıan los tiempos se vuelve mucho mas ´ y llamadas que se de espera gracias a que el programa pronostica su futura posicion ´ realizaran.

Cap´ıtulo 3

´ del prototipo Descripcion ´ Con el fin de reflejar las tareas que realizan los automatas programados, se han empleado dos prototipos a escala de laboratorio que reproducen de manera simplificada ´ real que se colocar´ıa el funcionamiento de tres ascensores. Reproducen la instalacion ´ baja y 3 la planta en un edificio de cuatro plantas (Figura 3.1), siendo 0 la planta mas ´ alta. A partir de ahora, el prototipo compuesto por dos ascensores se va a llamar mas ascensorAB (Figura 3.4a) y el prototipo simple que alberga un ascensor, ascensorC (Figura 3.4b).

Figura 3.1: Plataforma sobre la que se asienta el ascensor

3.1.

´ PLC CJ1M (automatas)

´ de 2 PLCs El control de los ascensores se realiza mediante la programacion (Programmable Logic Controller) modulares de la marca OMRON, modelo CJ1M-CPU1115

16

´ del prototipo Chapter 3. Descripcion

ETN. Esta controladora puede ser conectada por el puerto Serial o por el puerto Ethernet ´ del programa (Figura 3.2). En este caso, se utiliza a un PC para su posterior introduccion el puerto Serial para volcar los programas y posteriormente monitorizar el proceso, y el puerto Ethernet como puente de enlace entre los dos PLCs para el intercambio de ´ informacion.

´ Figura 3.2: Modulo CJ1M-CPU11 Las necesidades de los dos prototipos son diferentes, ya que uno va a tener la mitad ´ tiene un modulo ´ de entradas y salidas que el otro. A pesar de esto, el ascensorAB solo ´ de entradas que el ascensorC, con lo que todos los modulos ´ mas que forman los dos PLCs ser´ıan: • CJ1W-ETN21 (ETN21Mode): Se utiliza para poder usar las comunicaciones por ´ Ethernet. A pesar de estar incluido en el modulo principal, se le trata como ´ unidad aparte a la hora de programar el automata. En el cap´ıtulo 4 se precisa ´ el funcionamiento de este modulo. ´ • CJ1W-MAD42 (Analog I/O Unit Input): Es un modulo que dota al PLC de entradas ´ y salidas analogicas, y se utiliza para controlar los motores. Como dispone de ´ ´ multiples modos de operacion, hay que activar las que se vayan a utilizar. Si se quiere controlar la velocidad de la cabina mediante un motor, necesitamos un ´ voltaje de salida positivo o negativo (puesto que va a subir o a bajar) y nada mas, ´ se activara´ la salida analogica ´ por lo que solo dejando el resto de funcionalidades desactivadas. El rango de valores que se han de cambiar vienen dados por la ´ entre -10 VDC y 10 VDC. Figura 3.3; e´ stos fluctuaran ´ • CJ1W-OC211 (Relay Output Unit): Salidas digitales. En el caso del ascensorC solo ´ se utiliza para indicar acciones encendiendo los led que incorpora el modulo. En el ´ de indicar, puede controlar el motor. ascensorAB, ademas • CJ1W-ID211 (DC Input Unit): Entradas digitales. Son entradas que var´ıan en ´ de los diferentes sensores. funcion

´ Section 3.1. PLC CJ1M (automatas)

17

´ Figura 3.3: Rango de salida del modulo Mad42 (valores en hexadecimal) • CJ1W-CT021 (High-speed Counter Unit): Es un contador de alta velocidad que ˜ da la posibilidad de anadir un encoder para medir la velocidad. No se ha utilizado en este caso. ´ Con el fin de poder interactuar con todos los modulos que se pueden incorporar al PLC de OMRON y de proporcionar al programador lugares donde trabajar, la CPU ´ ´ se detallan las empleadas en el dispone de distintas areas de registros. A continuacion proyecto: ´ ´ • CIO: Area de intercambio de datos (CIO 0 - CIO 6143), es decir, de comunicacion ´ entre los diferentes modulos y el programa de la CPU. Para que funcionen todas las partes conectadas del prototipo, se han utilizado: – AscensorAB: ◦ Entradas digitales: CIO 1 (botones) y CIO 2 (interruptores reed1 ). ´ empleado para indicar si las puertas estan ´ ◦ Salidas digitales: CIO 0 (solo abiertas y para la posibilidad de usar el control digital de los motores). ´ ´ de las salidas), CIO ◦ Salidas analogicas (Mad42): CIO 2000 (inicializacion 2001 (motor B) y CIO 2002 (motor A). ´ entre los dos PLCs) ◦ Bus CPU: CIO 1567.14 (bit que indica si hay conexion – AscensorC: ◦ Entradas digitales: CIO 0 (botones e interruptores reed). ´ empleado para indicar si la puerta esta´ abier◦ Salidas digitales: CIO 1 (solo ta). ´ ´ de las salidas) y CIO ◦ Salidas analogicas (Mad42): CIO 2000 (inicializacion 2002 (motor C). ´ entre los dos PLCs) ◦ Bus CPU: CIO 1567.14 (bit que indica si hay conexion ´ ´ ´ • Area de trabajo (WR): Area de variables volatiles del sistema para uso y disfrute del programador (W0 - W511). 1

´ Es un sensor que detecta campos magn´eticos cercanos. Consta de dos filamentos muy proximos entre ´ s´ı encerrados en un tubo de vidrio que reaccionan ante la presencia de un campo magn´etico. Cuando estan los contactos abiertos se cierran, pero si estaban cerrados se abren.

´ del prototipo Chapter 3. Descripcion

18 2. F uent e

1. Mot or

3. PL C

4. Ri el es

1. Mot or

PLANTA3

2. F uent e

PLANTA3 4. Ri el

3. PL C 5. Ampl ic a dor es

PLANTA2

PLANTA2 9. I nt er r upt or r eed

6. Bot oner a

PLANTA1

5. Ampl ic a dor

PLANTA1 7. Ca bi na 9. I nt er r upt or r eed

8. I ma nes

8. I ma nes

6. Pul s a dor es

PLANTA0

PLANTA0

7. Ca bi na

(a) AscensorAB

(b) AscensorC

Figura 3.4: Prototipos de ascensores de 4 plantas ´ ´ ´ (HR): Area ´ • Area de retencion de variables retentivas, que permanecen aun despu´es de un corte de corriente (H0-H1535). ´ • Area de memoria de datos (DM): Mantiene el estado ante fallos (D0-D32767). Se ´ de las comunicaciones entre PLCs. emplea para la configuracion ´ • Area de temporizadores: Lugar donde se almacenan los temporizadores utilizados (T0-T4095).

3.2.

Otros elementos que componen el prototipo

Debido a los recursos empleados en los prototipos, se necesitan varias fuentes de ´ ´ ´ Estas alimentacion. se describen brevemente a continuacion. ´ ´ • Fuente CPU: Con el fin de alimentar la CPU del automata (descrito en la seccion ´ PA202 de la marca OMRON. Sus 3.1), se emplea la fuente de alimentacion caracter´ısticas t´ecnicas son: ´ – Entrada: 100-240 VAC, maximo de: 40 A y 120 Hz – Salida: 5 VDC, 2.8 A • Fuente de entradas y salidas: Los rel´es de entrada y salida del PLC funcionan a 24 ´ de OMRON que, aparte de alimentar la V. A diferencia de otras fuentes de tension

Section 3.2. Otros elementos que componen el prototipo

19

CPU son capaces de alimentar las entradas y salidas, la PA202 no tiene salidas para ´ ´ tal proposito. Esto induce a la necesidad de emplear otra fuente de alimentacion. En este caso se ha empleado la fuente MDR-20 de la marca Mean Well con las siguientes caracter´ısticas: – Entrada: 100-240 VAC, 50-60 Hz – Salida: 5 VDC, 1 A ´ • Amplificador para el motor: El modulo de salida MAD32, proporciona una ˜ ´ salida de -10 V a 10 V. Para no danar este modulo y proporcionar al motor la ´ ˜ potencia requerida en cada ocasion, se anade un amplificador entre ambos. El amplificador usado es el LSC 4-Q-DC servoamplifier de la marca Maxon Motor cuyas caracter´ısticas t´ecnicas son: ´ de funcionamiento: 12-30 VDC – Tension – Entrada: -10 V a 10 V ´ – Salida: maximo de 30 VDC, 2 A Tiene varias formas de funcionamiento: compensador IxR, regulador del voltaje, regulador de corriente, control de velocidad con encoder, control de velocidad con ´ tacometro DC,. . . Tambi´en se puede regular el rango del voltaje que entra: de -3.9 V a 3.9 V o de -10 V a 10 V. En este caso, el amplificador trabaja en el modo de regulador del voltaje y acepta un rango de valores de -10 V a 10 V puesto que es lo ´ que llega desde el modulo Mad42 del PLC. ´ Los amplificadores son los encargados de dar potencia a los motores. Estos son bidireccionales a los que posteriormente se les transforma su movimiento rotacional en desplazamiento vertical para las cabinas. En el ascensorAB, se tienen dos motores (uno ´ para cada cabina) de 24 VDC con una velocidad a maxima potencia de 80 rpm, mientras ´ que en el ascensorC el motor es tambi´en de 24 VDC pero con una velocidad a maxima potencia de 47 rpm. La diferencia de revoluciones por minuto, hace que la cabina C vaya ´ despacio que las cabinas AB. Dado que con estas reproducciones de ascensores mas a escala de laboratorio simplemente se quiere probar el correcto funcionamiento de ˜ diferencia de velocidades entre las las llamadas, no se tendra´ en cuenta esta pequena cabinas. Siguiendo con la premisa anterior, para simular las llamadas es necesario saber ´ se encuentra la cabina. Al no ser necesaria una cabina completa, se en qu´e posicion ´ ha utilizado una caja de plastico unida al motor mediante un cable que permite el ´ en la que se encuentra desplazamiento vertical, para ir indicando visualmente la posicion la cabina en todo momento. ´ ´ Visualmente se sabe la posicion, pero para lograr que el automata conozca la ´ de la cabina, se han empleado interruptores reed (3.5). Estos interruptores ubicacion ´ colocados por parejas en cada planta de tal modo que cuando estan ´ los dos estan ´ esta´ uno de los activados significa que se encuentra en el piso, mientras que si solo dos, significa que esta´ saliendo de la planta ya sea hacia arriba o hacia abajo. El funcionamiento de estos interruptores es muy simple: cuando se les acerca un campo

´ del prototipo Chapter 3. Descripcion

20

´ formados por dos magn´etico, se activan (conducen corriente). Esto se debe a que estan ´ piezas conductoras muy proximas entre ellas pero que no se tocan hasta que mediante magnetismo se chocan y conducen. Para provocar este campo magn´etico, la cabina tiene colocados dos imanes separados a la misma distancia que los dos interruptores ´ que tiene la indicadores de una planta. Por lo tanto, en definitiva se conoce la posicion ´ o desactivacion ´ de estos interruptores. cabina gracias a la activacion

NO

SI

Figura 3.5: Funcionamiento de interruptores reed ante un campo magn´etico Como el fin de este prototipo es la de atender correctamente las llamadas que se produzcan, son necesarios unos mandos o botones f´ısicos que simulen las llamadas que se realizar´ıan desde el interior de la cabina y desde el exterior de la misma en cada planta de un ascensor real. Con el fin de guiar la cabina a lo largo de su trayecto por su desplazamiento a trav´es del hueco, se dispone de dos rieles a cada lado de la cabina. ´ En el ascensor AB tambi´en se dispone de un modulo digital con el que controlar el ´ de la salida que active el PLC, el modulo ´ motor. En funcion proporciona un voltaje de ±5 VDC o ±10 VDC al motor. En este proyecto, no se ha empleado debido a que restringe ´ ´ funcionalidad con respecto a la salida analogica proporcionada por el modulo Mad32 descrito anteriormente.

Section 3.2. Otros elementos que componen el prototipo

AscensorAB

AscensorC

Fuente MDR-20

Fuente PA202 CJ1M-CPU11 Ethernet

C M

Amplificador

21

Mad42 OC211

Serial Conexión Ethernet

Fuente PA202 CJ1M-CPU11 Ethernet

Amplificador

Amplificador

ID211

M OC211

Módulo digital

ID211

Botones

ID211

Sensores Reed

CTO21

Fuente MDR-20

M

Mad42

Botones

Sensores reed

A

CTO21

Figura 3.6: Diagrama de las conexiones del prototipo

B

22

´ del prototipo Chapter 3. Descripcion

Cap´ıtulo 4

´ de PLCs: Ethernet vs Interconexion Ethernet/IP Como son dos PLCs que han de conectarse entre s´ı, hay que buscar una tecnolog´ıa ´ de los dos PLC con el fin de que trabajen como si fuera adecuada para realizar la union ´ uno solo. Para ello, los automatas programables de OMRON admiten diversidad de tipos de conexiones: EtherCAT, EtherNet, EtherNet/IP, CompoNet, DeviceNet, CompoBus/s. ´ famosas y mas ´ usadas hoy en d´ıa son Ethernet y Ethernet/IP Dado que las redes mas (basado en Ethernet), se ha realizado una comparativa entre las dos tecnolog´ıas con el ´ se adapta mejor al caso de la comunicacion ´ de los dos prototipos fin de determinar cual de ascensores. El nombre Ethernet viene del concepto f´ısico del e´ ter1 (´ether) [7] y de red (net). Se trata de una red LAN correspondiente a la capa f´ısica del modelo OSI cuyo e´ xito se basa en su sencillez y la posibilidad de alcanzar una transferencia de datos de 10 Gbit/s. ˜ ´ de unir un Fue disenado por Bob Metcalfe y David Boggs en 1970 con la intencion ´ deb´ıa de ser de alta velocidad puesto ordenador con una impresora. La comunicacion ´ a enviar a la impresora era de gran tamano. ˜ Hay que tener en cuenta que la informacion ´ que la impresora se asemejaba a las impresoras laser de hoy en d´ıa. Este sistema, ideado en 1970 y mejorado en la actualidad, comparte el mismo ´ ´ que simula un dialogo ´ principio. Basicamente consiste en un protocolo de conexion entre ´ entre dos individuos, primero va el dos personas. Cuando se inicia una conversacion ´ a e´ ste por parte del otro personaje. A continuacion, ´ saludo con la posterior contestacion ´ expone el tema que le ha llevado a iniciar el primero que ha empezado la conversacion ´ al que el personaje que esta´ escuchando responde si ha comprendido la conversacion, ´ tratada, se despiden. Lo el asunto. Tras ratificar el buen entendimiento de la cuestion ´ Ethernet, la cual primero comprueba que no haya otro mismo ocurre en la transmision ´ (el saludo inicial). Una vez que el otro dispositivo conectado para establecer la conexion dispositivo le ha dado el visto bueno para que comience el env´ıo de datos, comienza a ´ Cuando el mensaje enviado ha sido correctamente recibido, el transferir la informacion. ´ y cierra la conexion. ´ receptor env´ıa una confirmacion 1

Hipot´etica sustancia extremadamente ligera que se cre´ıa que ocupaba todos los espacios vac´ıos como si fuese un fluido y por el que viajaban las ondas electromagn´eticas. Gracias al fracaso del experimento de Michelson y Morley, se asentaron las bases de la teor´ıa de la relatividad de Einstein.

23

24

´ de PLCs: Ethernet vs Ethernet/IP Chapter 4. Interconexion

En este tipo de transmisiones pueden producirse colisiones de datos interfiriendo ´ de en el mensaje final. Por ello, implementaron un protocolo (CSMA/CD) de deteccion ´ escucha el colisiones y de acceso al medio. Por un lado, antes de enviar informacion canal y si esta´ libre env´ıa los datos, en caso contrario se mantiene a la espera de que se ´ desocupe. Por otro lado, tiene un sistema que detecta cuando se produce una colision ´ esperando un tiempo aleatorio antes de volver a enviar la informacion. ´ de la red es muy importante conocer las direcciones IP de los Para la configuracion diferentes dispositivos que se van a conectar. Dichas direcciones han de pertenecer a la ´ misma red para que se puedan conectar entre s´ı. Las pruebas realizadas y la conexion entre los PLCs de los ascensores se han realizado bajo la misma red: 10.10.10.XX. Al trabajar bajo la misma subred: 255.255.255.0, cambiando las XX por valores entre 0 ´ IP de un y 255 se consigue especificar el dispositivo. Si se desea cambiar la direccion PLC, desde CX-Programmer hay que ir a la parte izquierda a tabla de entradas y salidas y posteriormente a la unidad Ethernet. En la ventana emergente se puede cambiar la ´ IP del PLC y la mascara ´ direccion de red (ver Figura 4.1).

´ de la direccion ´ IP del PLC Figura 4.1: Modificacion Cuando se finaliza, hay que transferir los cambios realizados al dispositivo clicando sobre Transf.(de PC a unidad). Importante que para todos los ajustes que se realicen en ´ el PLC, este ha de estar en modo programacion. ´ con definir la IP no es suficiente para establecer la comunicacion. ´ Solo Hay que definir qu´e nodo empleara´ la tarjeta de red Ethernet, ya que un mismo PLC puede tener ´ ´ pero cada uno tiene un numero ´ diferentes modulos de comunicacion de nodo distinto. Mediante CX-Integrator se definen los nodos que va a tener el PLC. Se puede acceder a trav´es de CX-Programmer clicando en Herramientas  Configuracion ´ de red. Al iniciar CX-Integrator, aparece una ventana preguntando por la forma en la que se va a conectar ´ desde el al PLC. Se elige Serial Port puesto que es mejor realizar e´ sta configuracion puerto serie. La siguiente ventana es para especificar el tipo de red que vamos a montar pero para la red Ethernet no interesa por lo que se pulsa en Cancelar. Una vez que no ´ ventanas, hay que ir a Herramientas  Iniciar tabla de rutas donde se aparecen mas ˜ Vista principal se puede nos abrira´ una ventana como la de la Figura 4.2. En la pestana ´ ´ distribuidos los nodos, mientras que en la pestana ˜ Vista ver un esquema de como estan de tabla se pueden modificar. El SIOU es el nombre que le da OMRON a las unidades

25 2 . Por lo tanto, en SIOU hay que escribir el valor de la unidad ´ asignadas a cada modulo ´ en la que se encuentra la red Ethernet y en red local el numero de nodo asignado. Como ´ se aprecia en la Figura 4.1 y en la 4.2 la unidad asignada para el modulo de Ethernet, en este caso, es la 1 por lo que en SIOU hay que escribir 1 y establecerle un nodo, que en este caso se le ha concedido el nodo 2.

´ del nodo ethernet Figura 4.2: Modificacion ´ entre dos PLCs, se han asignado el mismo nodo Al tratarse de una comunicacion a ambas unidades Ethernet para evitar confusiones. En el cap´ıtulo 5 se describe con ´ detalle el codigo ´ mas que hay que implementar en los PLCs para poder realizar la ´ mediante Ethernet. comunicacion En el caso de la red Ethernet/IP, en el que IP significa Industrial Protocol, tambi´en corresponde a la capa f´ısica del modelo OSI y en l´ıneas generales es muy parecido a Ethernet pero son protocolos incompatibles entre s´ı. La principal diferencia que hace incompatibles a estos protocolos es que Ethernet/IP es un bus de campo con capacidad ´ en tiempo real y esta´ pensado para usarse en entornos industriales. de conexion ´ de un sistema informatico ´ Se puede definir tiempo real como la interaccion con su entorno f´ısico respondiendo a los est´ımulos del entorno dentro de un plazo de tiempo determinado. ´ principal tras estos razonamientos es que el modulo ´ La conclusion Ethernet/IP ´ funciona en tiempo real, lo que realiza las mismas funciones que Ethernet y, ademas, ´ mas ´ segura del PLC con el entorno. Pero para el caso que se permite una interaccion ´ entre 2 PLC, la red esta´ tratando, puede ocurrir que al ser de una simple conexion ´ Ethernet sea suficientemente rapida como para considerarla tiempo real. Esto pasar´ıa ´ por ejemplo con un termometro que env´ıa su temperatura cada medio minuto: puede ´ no considerarse que funciona en tiempo real ya que la temperatura de una habitacion ´ ´ ˜ var´ıa muy rapido. De poder considerarse tiempo real, se evitara la necesidad de anadir el ´ modulo adicional de Ethernet/IP al PLC puesto que Ethernet viene integrado en el CJ1M. 2 ´ La unidad de cada modulo es asignado mediante el disco selector que se encuentra f´ısicamente en cada ´ modulo.

26

´ de PLCs: Ethernet vs Ethernet/IP Chapter 4. Interconexion

´ de las pruebas, se emplearon dos PLC existentes en la Escuela que Para la realizacion ´ dispon´ıan de los modulos Ethernet/IP y de Ethernet (que viene integrado con la CPU). ´ basica ´ La configuracion para una red Ethernet/IP consiste en un switching hub3 que comunica la unidad Ethernet/IP del PLC al ordenador (Figura 4.3). Gracias al empleo del switching hub se pueden realizar conexiones virtuales punto a punto, necesarias para la ´ en tiempo real. Como en todo intercambio de datos, es necesario conocer comunicacion a qui´en van dirigidos, es decir, que todos los miembros de la red han de tener asignado ´ IP estatica ´ una direccion para poder interactuar correctamente con el medio.

´ Figura 4.3: Montaje de una red Ethernet/IP basica ´ Lo primero de todo es asignar a cada PLC de la red una IP estatica de la forma ´ comentada anteriormente. A continuacion, hay que configurar la red Ethernet/IP de los PLCs que se van a conectar, para lo que se ha de emplear el programa Network Configurator que se encuentra dentro del paquete de CX-One de los programas de OMRON. Una vez arrancado el Network Configurator, hay que realizar los siguientes pasos: ´ Option  • Hay que indicar que se esta´ creando una red Ethernet/IP desde el menu Select interface  Ethernet I/F. • Conectarse a dicha red desde Network  Conect y seleccionando la IP del ordenador ´ desde el que se esta´ realizando la configuracion. ˜ • Una vez conectado, se anaden los dispositivos que van a pertenecer a la red seleccionando su IP (previamente fijada) desde Network  Upload. En la figura 4.4 se ve una red de dos PLCs. • Clicando dos veces seguidas en uno de los dispositivos que aparecen, se accede al ´ para anadir ˜ ´ menu los tags y tag set (explicados a continuacion). Una vez configurada la red, hay que tener en cuenta que las comunicaciones en Ethernet/IP son c´ıclicas y se realizan mediante tags (tags Data Links) Figura 4.5. Un tag 3

´ de un PC a todos los PC conectados a la red, puede haber Hub (concentrador): env´ıa la informacion colisiones. Switch-hub (conmutador): artilugio con la inteligencia suficiente para establecer un puente de union entre dispositivos, eliminando las colisiones.

27

Figura 4.4: Red de dos PLCs

´ entre una posicion ´ de memoria de un nodo remoto con una posicion ´ es una conexion ´ ´ entre del nodo local. Los tags se agrupan en tag set. Un tag set crea una unica conexion ´ ´ es entre dos nodos Ethernet/IP para el intercambio de informacion. La comunicacion tag sets, no entre tags. Los tags se pueden configurar como salida (Target) o como entrada (Originator). ´ puede estar conectada a una salida, mientras que una salida puede Una entrada solo conectar a varias entradas. El Originator es el que realiza la llamada al Target pidiendo ´ los datos y el Target se limita a darselos.

Figura 4.5: Funcionamiento de los tags El resultado obtenido utilizando la tecnolog´ıa Ethernet/IP es la simultaneidad de

´ de PLCs: Ethernet vs Ethernet/IP Chapter 4. Interconexion

28

todos los env´ıos sin esperar a que se termine el ciclo scan 4 del PLC, una vez especificado ´ punto a punto. Con lo cual se el tiempo de refresco de los datos y por ser una conexion ´ conectados permanentemente. podr´ıa decir que los puntos estan En el caso de la red Ethernet es un poco diferente, OMRON ofrece Function Blocks4 ´ sin necesidad de tener apenas conocimientos sobre ellas. que permite la comunicacion ´ a trav´es del programa, ya que se ha de esperar El principal problema es la configuracion ´ se transmita y solo ´ se puede enviar a que termine el ciclo scan para que la informacion o recibir un paquete de datos en cada ciclo. ´ Para comprobar el tiempo que tarda en enviarse la informacion, se emplearon dos ´ PLCs del laboratorio y un osciloscopio electronico. A uno de los PLCs se le introdujo un ´ send enviaba constantemente el estado de programa muy simple en el que la funcion sus entradas digitales a las salidas digitales del otro PLC. Conectando el osciloscopio ´ tigger para congelar la imagen como se muestra en la Figura 4.6 y utilizando la funcion cuando se produzca el cambio, podemos observar el retraso que se produce en el env´ıo. ˜ 1 es la entada al En la Figura 4.7 se muestra uno de los ensayos en el que la senal ˜ 2 es la salida del PLC que los recibe. Para cambiar el PLC que env´ıa los datos y la senal valor de la entada se ha empleado un interruptor externo que al activarlo muestra en el osciloscopio un cambio en el voltaje de 0 a 24 V. En la salida, el cambio que se produce es de 24 a 0 V, porque cuando no esta´ activada la diferencia de potencial entre la sonda y la referencia es de 24 V. Monitorizando estos cambios y despu´es de sucesivos ensayos, se comprobo´ que se produc´ıa un retraso en la salida respecto de la entrada de entre 14.5 ms a 18 ms aproximadamente.

Sonda 1

Sonda 2

Switching-hub

PLC 2

PLC 1

Ethernet

Ethernet

Entrada Digital

24 V

Salida digital

8K

24 V

´ de las sondas del osciloscopio en los PLCs Figura 4.6: Colocacion Esta medida no es del todo precisa debido al rebote producido por el interruptor, pero se ha considerado despreciable ya que normalmente es menor que 1 ms y las medidas que sufr´ıan un retraso mayor por este motivo se desechaban. Este rebote se podr´ıa haber solucionado si en vez de enviar el est´ımulo activando la entrada digital del PLC, se hubiera activado la salida virtualmente (es decir, desde el ordenador) y e´ sta fuese el est´ımulo que hiciera cambiar la salida del otro PLC. 4

Se explicara´ en el cap´ıtulo 5

29 ´ Como medida valida se coge una media de 15 ms de retraso por ser un valor razonable, ya que 10 ms se emplean en el ciclo scan y el resto es el tiempo entre que se produce el cambio en la entrada y el fin del ciclo scan. Es decir, mientras el programa ´ recibe el cambio en la entrada. Esta variacion ´ en la entrada se encuentra en ejecucion, no afecta al programa hasta que no termina el ciclo scan en el que se encuentra (tiempo variable). Cuando termina el ciclo, vuelve a ejecutarse el programa, pero esta vez con las variables de entrada actualizadas y, por lo tanto, preparadas para enviar. Pero una ´ hasta que no termina el ciclo (tiempo de 10 ms desde que ha empezado el ciclo vez mas, ´ Posteriormente, hasta que lo termina) no se ejecuta la orden de enviar la informacion. tenemos el tiempo que tarda en enviarse el mensaje y de actualizarse la salida del otro ´ ´ PLC, pero este ultimo se produce instantaneamente sin esperar al ciclo scan porque la variable es directamente la salida.

´ en el osciloscopio de la entrada (senal ˜ 1) de un PLC y la salida Figura 4.7: Visualizacion ˜ 2) del otro (senal Resumiendo, de los 15 ms medios de retraso 10 ms son debidos al ciclo scan y los 5 ´ el tiempo en el ms restantes debidos al momento en el que se activa el interruptor mas ´ env´ıo de la informacion. Con todos estos datos sobre la mesa, se decidio´ que, a pesar de que el retraso fuese ´ de 15 ms, no superar´ıa los 25 ms (dos ciclos scan mas ´ algo del env´ıo), por lo que de mas ´ entre los 2 prototipos de ascensores se puede considerar que la para la comunicacion ´ es en tiempo real. Por este motivo y por el expuesto anteriormente (no es comunicacion ˜ ´ componentes a los prototipos) se empleo´ el protocolo Ethernet. necesario anadir mas ´ se Puesto que simplemente son dos los ascensores que hay que conectar, la conexion ha realizado directamente utilizando un cable de Ethernet con un crossover (cruce) que une las salidas de uno con las entradas del otro para evitar el empleo de un switch.

30

´ de PLCs: Ethernet vs Ethernet/IP Chapter 4. Interconexion

Cap´ıtulo 5

´ Programacion ´ ´ a la que se van a Antes de comenzar la programacion, hay que conocer la funcion ´ que desempenar´ ˜ ıan, por ejemplo, dedicar los ascensores, ya que es distinta la funcion en un bloque de oficinas que en uno residencial. Para el caso de los prototipos, se ha supuesto que los ascensores se encuentran en un bloque residencial, es decir, las personas que se encuentran en el exterior de la cabina y llaman al ascensor se considerara´ que desean bajar, exceptuando en la planta baja que se imaginara´ que pretenden subir. ´ Una vez definido el modo de funcionamiento, y antes de explicar el codigo empleado, hay que conocer un dato importante del modo en el que se ejecuta el programa en ´ los automatas de OMRON; se trata del ciclo scan comentado anteriormente. Como su nombre indica, es una secuencia de comandos que se ejecuta c´ıclicamente y en un tiempo determinado. Como se puede ver en la Figura 5.1, los pasos que ejecuta el ciclo scan son los siguientes: ´ inicial: solo ´ se ejecuta una vez al inicio en el arranque del PLC. 1. Inicializacion ´ del proceso: revisa el hardware y las areas ´ 2. Supervision de memoria. ´ del programa secuencialmente. 3. Ejecucion ´ 4. Tiempo de ciclo del programa: tiempo maximo que tiene el programa para ejecutarse. ´ el programa. 5. Refresco de las entradas y salidas digitales del PLC segun 6. Servicio puertos perif´ericos. ´ 7. Refresco de las entradas y salidas analogicas. 8. Servicio unidad de comunicaciones. ´ ´ de todos los El ciclo scan como maximo es de 10 ms, siendo el tiempo de ejecucion pasos constante menos el del programa del usuario (paso 4 Figura 5.1). Esto influye en el programa que ha de tener un principio y un fin, de forma que pueda pasar al paso siguiente. Por lo tanto, se corre un gran riesgo al programar bucles, puesto que si no 31

´ Chapter 5. Programacion

1

2

3

4

5

6

7

8

2

3

4

Inicialización

Supervisión del proceso

Ejecución del programa

Tiempo ciclo de programa

Refresco I/O

Servicio puerto periféricos

Analógico I/O

Servicio unidad de comunicación

Supervisión del proceso

Ejecución del programa

Tiempo ciclo de programa

32

t 0

Ciclo scan

Figura 5.1: Ciclo scan en un PLC ´ termina antes del tiempo estipulado, el automata se parara´ indicando un error en el ´ Tambi´en cabe mencionar que el programa se que se ha excedido el tiempo de ejecucion. ´ qu´e partes del ejecuta de forma secuencial, por lo que hay que tener en consideracion ´ ´ codigo van antes y cuales al final. ´ de los PLCs de OMRON, se ha empleado CX-Programmer presente En la programacion ´ ´ de los PLCs en en el paquete de programas de CX-One. Este, permite la programacion tres lenguajes: ´ parecida a una instalacion ´ el´ectrica, • Ladder (diagrama de rel´es): programacion puesto que se creo´ pensando en los electricistas. Simulando una circuito el´ectrico, tiene contactos que afectan a rel´es de salida. Tambi´en se pueden encontrar contadores, temporizadores y otras instrucciones que ayudan al programador en su tarea. • Texto Estructurado (ST): lenguaje con grandes similitudes a “C”. Tipo de lenguaje ´ al tipo empleado por los programadores de hoy en d´ıa. que se acerca mas ´ mediante la creacion ´ de Grafcet, • SFC (Secuential Function Chart): programacion la cual es muy visual pero poco eficiente a la hora de compilar. ´ con CX-Programmer son los llamados Otra de las caracter´ısticas de la programacion bloques de funciones (FB). Son trozos de programa (en Ladder o Texto Estructurado) a los que se les puede llamar desde cualquier parte del programa principal pudiendo tener variables entrantes y salientes de dichas funciones. Especialmente interesante cuando ´ se desea emplear el mismo codigo en diferentes partes del programa, produciendo salidas ´ de las entradas. diferentes en funcion ´ de los ascensores se ha usado Ladder y Texto Estructurado, Para la programacion ´ a la hora de compilar. Aunque ocupe menos, descartando SFC por su mala optimizacion

Section 5.1. Arquitectura del software

33

´ Texto Estructurado no es tan eficiente como Ladder a la hora de traducir el codigo a ´ lenguaje de maquina. A pesar de que para programaciones de estos PLCs es mejor el ´ ´ empleo de este ultimo, se ha intentado utilizar al maximo Texto Estructurado por su ´ mas ´ semejanza al lenguaje de “C”porque permite al autor realizar una programacion sencilla de programas muy complejos . ´ ´ En la proxima seccion, se pasa a explicar todo el procedimiento empleado en la ´ de los PLCs, as´ı como las funciones que desempenan. ˜ programacion

5.1.

Arquitectura del software

´ general del programa realizado se puede ver gracias al modelo GEMMA de La vision funcionamiento de las cabinas mostrado en la Figura 5.2. En e´ l se ven los diferentes modos de funcionamiento de los ascensores as´ı como las paradas que se pueden ´ Tambi´en se incluyen las alarmas debidas a un mal producir y su posterior actuacion. funcionamiento, pero e´ stas son comprobadas desde el ordenador que monitoriza la maniobra para no emplear la memoria de los PLCs, que es escasa.

Procedimiento de parada

Proceso de funcionamiento

Inicialización variables arranque Preparación: Ir a la planta 0

Corrección error

Reinicio variables Modo Automático

Parada emergencia

Cambio entre modos Modo Bomberos

Modo Manual

Error en funcionamiento

Proceso en defecto

´ GEMMA Figura 5.2: Idea general de la programacion ´ se han Para realizar esta maniobra, las variables empleadas en la programacion ordenado de una forma precisa con el fin de facilitar las cosas si se quieren modificar o ˜ ´ Concretamente, se han organizado en los registros de las variables volatiles ´ anadir mas. ˜ (W) y retentivas (H) como se indica en la tabla 5.1. Tambi´en se les ha anadido la letra ´ ´ ´ en mayuscula referente a la cabina en la que se emplea para que el codigo sea mas ´ ´ visual y simple, se ha facilmente interpretado y programado. Para llevar un registro mas realizado un fichero en Excel donde se clasifican las diferentes variables por: nombre, ´ de su funcion. ´ Ademas ´ de las variables del programa, tambi´en tipo, registro, descripcion

´ Chapter 5. Programacion

34 ´ las variables empleadas en los sensores y actuadores. estan Grupo de variables ´ datos en C Recepcion Env´ıo de datos en C

Registro H000 - H019 H020 - H029

Cabina A

W100 W100 W120 W170

-

W199 W119 W169 W199

Booleanos Enteros Vectores

W200 W200 W220 W270

-

W299 W219 W269 W299

Booleanos Enteros Vectores

W300 W300 W320 W370

-

W399 W319 W369 W399

Booleanos Enteros Vectores

W400 W400 W420 W470

-

W499 W419 W469 W499

Booleanos Enteros Vectores

Cabina B

Cabina C

Variables generales

Tipo

´ de las variables del programa Tabla 5.1: Organizacion A pesar de que no todas las variables se emplean en cada ascensor, han sido incluidas en los 2 PLCs aunque no se utilicen para evitar posibles errores de variables duplicadas, puesto que es muy sencillo cambiar las variables en Excel y copiarlas en CX-Programmer. ´ Las variables de enviar y recibir datos se encuentran en el area retentiva (H) puesto ´ de los distintos modos y de la parada de emergencia que las variables de activacion se encuentran en el saco de variables a enviar desde el ascensorC. Es interesante que ´ despu´es de una perdida de corriente, para se guarde el valor de estas variables aun ´ con el usuario. Teniendo en cuenta que el resto de variables que mejorar la interaccion se env´ıan y reciben no importa si son retentivas o no y que (como se ha explicado en el cap´ıtulo 4) es mejor enviar y recibir un conjunto de datos, se han introducido todas en ´ el area retentiva. ´ y desactivacion ´ de ciertas variables, se puede cambiar la Mediante la activacion actividad que realiza cada uno de los ascensores. Cada cabina se rige por 3 diferentes modos de funcionamiento: ´ dividida en bloques que realizan toda la ma• Modo autom´atico: Programacion ´ niobra de forma autonoma y que son iguales para el caso de las tres cabinas a ´ de lo siguiente: en funcion ´ del modo en que se encuentren los otros excepcion ´ entre los 2 PLCs, trabajan de forma diferente ascensores y de si hay conexion

Section 5.1. Arquitectura del software

35

´ con respecto a la logica empleada para atender las llamadas realizadas desde el ´ con el otro exterior del ascensor. Para el caso del ascensorAB, si no hay conexion ´ una de las cabinas se encuentra en modo automatico, ´ PLC y solo la cabina en ´ de forma individual; en cambio, si estan ´ los dos en automatico ´ dicho modo actua su funcionamiento es de forma combinada. De la misma forma, cuando hay ´ entre ambos PLCs, pueden funcionar combinadamente tres o dos cabinas conexion o individualmente teniendo en cuenta en qu´e modo se encuentran. • Modo mantenimiento: Pensada, como bien su nombre indica, para el mantenimiento del ascensor pudiendo un operario mover la cabina por el hueco del ´ ascensor sin necesidad de ir de planta en planta como exige el modo automatico, su funcionamiento se puede ver en la Figura 5.3. El desplazamiento vertical se realiza mediante la botonera interior de la cabina de la cual se quiere realizar el ´ de la planta 0 para bajar a maxima ´ movimiento, empleando el boton velocidad (motor a -10 V), el de la planta 1 para bajar despacio (motor a -5 V), el de la ´ planta 2 para subir despacio (motor a 5 V) y el de la planta 3 para subir a maxima velocidad. Para facilitar al operario las labores de mantenimiento en el hueco del ascensor, puede abrir o cerrar las puertas con los botones disponibles en el interior de la cabina (estos botones no se encuentran f´ısicamente en los prototipos, pero ´ de todo el proceso explicado en cap´ıtulo 6). s´ı en la pantalla de monitorizacion ´ o Para entrar en este modo, se puede realizar desde la pantalla de monitorizacion, mediante un atajo en el teclado de la cabina, concretamente pulsando los botones de las plantas 0 y 3 a la vez.

Ningún botón presionado

Quieto Botón 3

Sube 10 V

Botón 2

Sube 5 V

Botón 1

Baja -5 V

Botón 0

Baja -10 V

Figura 5.3: Grafcet del modo mantenimiento ˜ • Modo bomberos: Disenado para actuar cuando se produce un incendio en el ´ de que ninguna persona pueda bajar en e´ stos evitando edificio. Con la intencion as´ı accidentes innecesarios, en cuanto se activa este modo, la cabina baja hasta la planta 0 y abre las puertas para que nadie se quede encerrado dentro (ver Figura 5.4). No importa el modo en el que se encontrara anteriormente, este modo ´ exceptuando la parada de emergencia. El tiene prioridad sobre todos los demas

´ Chapter 5. Programacion

36

´ se puede realizar mediante la pantalla de monitorizacion ´ acceso a este modo solo (comentado en el cap´ıtulo 6).

Quieto

Bajar Posición ≠ Planta 0

Abrir puertas Posición = Planta 0

Figura 5.4: Grafcet del modo bomberos ´ que estuviera realizando la cabina • Parada de emergencia: Detiene cualquier accion y restablece todas las variables del sistema para que arranque despu´es como si ´ fuese la primera vez. Para tal proposito, se tiene una seta de emergencia que activa ´ que reinicia el proceso (actuadores solo ´ disponibles en la la parada y un boton ´ del sistema). pantalla de monitorizacion ´ Con el fin de facilitar la posterior busqueda de posibles errores y programar de forma ´ ordenada, se ha dividido el programa en modulos conectados entre s´ı. Los diferentes bloques empleados para lograr el funcionamiento de los ascensores se describen a ´ continuacion.

5.2. 5.2.1.

´ Modulos del software de los PLCs ´ de la cabina Posicion

´ de los ascensores gracias a la pareja de sensores colocados en Se conoce la posicion ´ incluso cuando se cada planta. Con el fin de que el programa conozca dicha posicion encuentra entre sensores, se tiene una variable llamada posicionA (variando entre A, B y C para asignarla a las diferentes cabinas). Dicha variable cambia como se muestra en la Figura 5.5 ´ muy util ´ Aplicando este sistema, se puede obtener informacion para las posteriores ´ partes del programa. As´ı pues, se puede conocer el numero de valores que va a tomar ´ en funcion ´ del numero ´ la variable posicion de plantas que tenga el edificio puesto que ´ (no pisos ∗ 3) − 2. De este modo, los prototipos son de 4 plantas por lo sigue la expresion ´ ´ son 10 que van de 0 a 9. De que el numero de valores que tomara´ la variable posicion ´ entre 3, obtenemos la planta en la que se esta forma, dividiendo el valor de la posicion ´ un valor entero, al dividirlo entre 3 nos da un valor entero encuentra. Al ser la posicion en el que se desprecian los decimales. El problema de funcionar as´ı es, por ejemplo, ´ es 2 (como se puede ver en la cuando se acerca a la planta 1: el valor de la posicion Figura 5.5) que al dividirlo entre 3 nos da 0, 666; si se desprecian los decimales nos da

´ Section 5.2. Modulos del software de los PLCs

H3

37

9

Planta 3 L3

H2

8

7

Planta 2

6 L2

H1

5

4

Planta 1

3

L1

H0

2

1

Planta 0 L0

0

´ de la posicion ´ en funcion ´ de los sensores activados Figura 5.5: Asignacion ´ 0 cuando en realidad esta´ acercandose a la planta 1. Para arreglar este error y que en cuanto se detecte uno de los sensores de la planta, se sepa que esta´ llegando a la planta ´ hay que restar 1 al valor de la posicion ´ (posicion + 1)/3. Esta correccion ´ se en cuestion, ´ del proceso para poder mostrar por la pantalla, la planta en realiza en la monitorizacion ´ la que se encuentra la cabina incluso en las posiciones proximas. Cabe destacar que el prototipo no tiene sensores de fin de carrera, por lo que, para las posiciones 0 y 9 de la Figura 5.5 no se emplean los dos sensores de la planta como en la plantas intermedias, sino el de abajo y el de arriba respectivamente de cada planta. ´ f´ısica de los sensores en el prototipo Con esto se consigue que a pesar de que la posicion ´ de estas posiciones evitando no sea exacta, las cabinas no van a bajar ni subir mas futuros problemas.

AscensorC AscensorAB Llamado desde:

´ Localizacion ´ PosicionAscensor Tarea Start en la seccion ´ llamada PosicionAscensor Bloque de funcion ´ Posicion Tarea Start seccion ´ Posicion Tarea Start seccion

Lenguaje Ladder Texto Estructurado Ladder Ladder

´ y lenguaje de la posicion ´ de las cabinas Tabla 5.2: Localizacion ´ Como se ve en la Tabla 5.2, en el ascensorAB se ha introducido el codigo en un bloque ´ porque es una parte del codigo ´ de funcion que se repite en las dos cabinas. Tambi´en hay que remarcar que uno esta´ en Ladder mientras que el otro en Texto Estructurado. Esto

´ Chapter 5. Programacion

38

se debe a que se necesito´ liberar espacio en el ascensorC y se empleo´ este m´etodo que ´ 5.3. se ha detallado en la seccion ´ cambie, la cabina ha de moverse por el hueco del ascensor. Este Para que la posicion ´ alta cuyo movimiento movimiento se realiza gracias al motor situado en la parte mas viene regido por el siguiente bloque.

5.2.2.

Motor

´ Se parte del programa que se encarga de dar las ordenes necesarias al motor para que realice el movimiento. Como se ha explicado en el cap´ıtulo 3 la velocidad del motor ´ se modifica a trav´es del modulo Mad42 variando el voltaje que recibe el motor de -10 V a +10 V. Para ello hay que dar valores a la salida CIO 2002 (para el caso de la cabina A y ´ C) y a la CIO 2001 (para la cabina B) siguiendo la grafica 3.3. Algunos valores extra´ıdos ´ de la grafica son los siguientes: Valor 2000 1000 64536 63536

Voltaje salida 10 V 5V -5 V -10 V

´ Direccion  ↑ ↓ 

Velocidad ´ maxima m´ınima m´ınima ´ maxima

Tabla 5.3: Relaciones entre los posibles valores dados al motor, los voltajes que producen y las velocidades que generan ´ la variable de la velocidad esta´ goberEl valor que va recibiendo en cada situacion nada por otra variable llamada direccion motor, que puede tomar los valores −1, 0 y 1 produciendo lo que se traduce en bajada, paro y subida respectivamente. Para explicar la forma de actuar, que se puede ver en la Figura 5.6, se supondra´ que el motor se ´ del motor es 0 y la velocidad de salida es encuentra en reposo, es decir que la direccion 0 y que se le va a dar la orden de subir (−1) y posteriormente la de parar (de nuevo 0). Estando el motor en reposo, llega la orden de subir por lo que la variable de la velocidad cambia de 0 a 1000 (la velocidad m´ınima es de 5 V, porque para tensiones menores el motor no se mueve) y cada vez que recibe un pulso va aumentando su valor de 10 en 10 ´ hasta un maximo de 2000, consiguiendo que la velocidad vaya aumentando linealmente con el tiempo. Es posible cambiar el lapso de tiempo en el que se env´ıan los pulsos influyendo de ´ y desaceleracion ´ de la cabina. Para ello, se esta forma en la velocidad de aceleracion dispone de una variable llamada aceleracion en la que se puede introducir un valor ´ entre 2 y 100 que indica el numero de ciclos que tienen que pasar entre cada env´ıo de ´ pulsos. De este modo, como la diferencia entre la m´ınima y la maxima velocidad que alcanza la variable del motor es de 1000 unidades que van aumentando de 10 en 10 ´ y sabiendo que un ciclo son 10 ms, se (aumenta 100 veces), con la variable aceleracion ´ 5.1. Por puede conocer el tiempo que tarda en acelerar la cabina mediante la ecuacion ´ es de 2, el m´ınimo consiguiente, como el m´ınimo valor que puede tomar la aceleracion tiempo que puede tardar el motor en pasar gradualmente de 5 V a 10 V ser´ıa de 2000 ms. Como se aprecia en el anterior ejemplo, coinciden los segundos que tarda en acelerar

´ Section 5.2. Modulos del software de los PLCs

39

Llegada a una planta

Quieto Dirección motor = 1

Dirección motor = -1

Acelera hacia arriba

Acelera hacia abajo Máxima velocidad

Sube

Baja Dirección_motor = 0

Desacelera hacia arriba

Desacelera hacia abajo Mínima velocidad

Minima velocidad subiendo

Minima velocidad bajando

Figura 5.6: Grafcet que sigue el movimiento del motor ´ por lo que se puede afirmar que la variable aceleracion ´ es el con la variable aceleracion, ´ ´ numero de segundos que tarda el motor en pasar de m´ınima a maxima velocidad y todo ello dentro del rango de 2 a 100 segundos.

T iempo en acelerar = 100 · aceleracion · 10ms

(5.1)

´ de subir que estaba realizando la cabina, cuando se Prosiguiendo con la accion acerca a la planta de destino recibe la orden de detenerse (direccion motor = 0) desde ´ ´ adelante (ver 5.2.4). A pesar de la orden, la cabina otra parte del codigo, explicado mas ´ no se para instantaneamente, sino que frena de forma gradual hasta alcanzar los 5 V ´ esta´ regida por la (velocidad = 1000) llega a una planta y se detiene. Esta desaceleracion ´ por lo que la pendiente sera´ la misma pero de signo misma variable que la aceleracion, opuesto. Al modificar la velocidad de la cabina se consigue que, cuando se encuentra viajando ´ de una planta a otra, vaya a la maxima velocidad posible (10 V), pero que conforme se acerca a la planta vaya a la velocidad m´ınima para que la posterior parada en la planta ´ exacta posible. Puesto que estos cambios bruscos en la velocidad de la cabina sea lo mas ´ y desaceleracion ´ har´ıan el viaje muy molesto, se ha implementado dicha aceleracion de la cabina pudiendo cambiar su pendiente con el fin de que se pueda adaptar a diferentes motores y situaciones. De todos modos, hay que tener cuidado con la variable aceleracion, ´ puesto que si se le da un valor muy alto, aparte de que tardar´ıa mucho en

´ Chapter 5. Programacion

40

´ comenzar a subir a maxima velocidad, no le dar´ıa tiempo a desacelerar por completo ´ incomodo ´ lo que provocar´ıa una frenada muy brusca haciendo el viaje mas y la parada menos exacta. Aceleración

Desaceleración

Voltaje salida

10 V

5V

0V Salida del piso

Uno de los sensores del piso de destino activo

Llegada al piso de destino

Figura 5.7: Valores que toma la variable de la velocidad en la subida Hay que destacar que mientras se encuentra realizando la maniobra de subida o de bajada, tiene un mecanismo de seguridad para que, aunque cambie la orden de subir a ´ Tambi´en, bajar o al rev´es sin haberse detenido antes la cabina, no cambie su direccion. ´ en el ascensorAB se utiliza dentro de un bloque de igual que en la parte de la posicion, funciones porque es empleado por las dos cabinas. AscensorC AscensorAB Llamado desde:

´ Localizacion ´ Motor Tarea GeneralAscensorC en la seccion ´ llamada motor Bloque de funcion ´ Tarea AutomaticoA seccion1 ´ Tarea AutomaticoB seccion1

Lenguaje Texto Estructurado Texto Estructurado Ladder Ladder

´ y lenguaje del control del motor Tabla 5.4: Localizacion

5.2.3.

Apertura y cierre de puertas

Todos los ascensores de hoy en d´ıa, por seguridad para el usuario que se monta en la cabina, tienen implementado un mecanismo que abre y cierra unas puertas correderas. Se ha querido implementar este dispositivo en los prototipos, pero ante la falta de puertas a controlar f´ısicamente, se ha visto en la necesidad de simular la existencia ´ se puede apreciar un led del PLC (uno por cada de estas compuertas. F´ısicamente solo cabina) que se enciende cuando se supone que la puerta deber´ıa estar abierta, pero en el cap´ıtulo 6 se vera´ que se puede apreciar el movimiento en la pantalla del ordenador. Como se muestra en la Figura 5.8, este algoritmo funciona en los tres modos e incluso ´ cuando esta´ en parada de emergencia de formas distintas descritas a continuacion: • Cuando se activa la parada de emergencia, si estaba la puerta cerrada se mantiene

´ Section 5.2. Modulos del software de los PLCs

Puerta cerrada

Abrir puerta Orden abrir puerta

Puerta completamente abierta

41

Puerta abierta

Espera 10 seg o Botón cerrar

Cerrar puerta

Quieto Botón cerrar

Abrir puerta

Abrir puerta

Cerrar puerta

Abrir puerta

Cerrar puerta

Figura 5.8: Grafcet que sigue el movimiento de la puerta de cada cabina igual, pero si se encontraba un poco abierta se termina de abrir y se mantiene abierta. Se ha realizado as´ı pensando en que si estaba un poco abierta se supone que la cabina estar´ıa en una planta y de esta forma pueden salir los pasajeros, ´ probable es que estuviera entre plantas y tendr´ıan pero si estaba cerrada lo mas que esperar a que llegaran los bomberos para sacarlos. • En el modo bomberos, abre las puertas cuando se le ha dado la orden de abrir que es cuando la cabina se encuentra en la planta baja, permitiendo de esta forma dejar salir a los pasajeros. • En el modo de mantenimiento, para que el t´ecnico pueda revisar con facilidad el hueco del ascensor y de esta forma poder realizar reparaciones, puede, mediante ´ se los botones de abrir y cerrar del interior de la cabina (que en este caso solo pueden manejar desde el SCADA), abrir o cerrar la puerta sin necesidad de que e´ sta llegue al final del recorrido. Obviamente si llega al final del recorrido, aunque ´ pulsando cualquiera de los botones no se desplazara´ mas ´ la el t´ecnico continue puerta. ´ • Mientras se encuentra en el modo automatico, su funcionamiento es igual a cualquier otro ascensor. Comenzando con la puerta cerrada (si estaba abierta, no ´ que pulsar cualquier boton ´ para cerrarla), la accion ´ se inicia cuando recibe hay mas ´ ´ de el comando de abrir las puertas del algoritmo que da las ordenes en funcion las llamadas que se realicen al ascensor. Al recibir la orden, la variable cnt vel comienza a incrementar su valor de 2 en 2 en cada ciclo de scan que pasa, hasta ´ un maximo marcado por la variable vel puertas que ha tenido que ser previamente asignado. Cuando la puerta se encuentra completamente abierta, espera un tiempo tambi´en fijado con anterioridad en la variable tiempo puertas. Durante este periodo de espera, se puede proceder a cerrar la puerta antes de que termine la demora ´ de cerrar del interior de la cabina. Una vez terminado el tiempo pulsando el boton ´ de cerrar, las puertas comienzan a cerrarse, es decir, la variable o pulsado el boton cnt vel comienza a disminuir su valor pero en este caso de 1 en 1. Si en mitad de

´ Chapter 5. Programacion

42

´ de abrir, se detiene y las puertas comienzan a abrirse. este proceso se pulsa el boton Cuando ha terminado el proceso, si el ascensor se encuentra en una planta y se ´ de abrir, la puerta comenzara´ de nuevo el pulsa desde dentro de la cabina el boton proceso descrito con anterioridad. Hay que remarcar que el tiempo que tarda en abrirse o cerrarse la puerta y el tiempo que se mantiene abierta, son tiempos que pueden ser modificados durante la maniobra, pero que siempre han de tener un valor entre 2 y 10000 para el correcto ´ funcionamiento. Estas dos variables fijan el numero de ciclos que pasan. De este modo, si se quiere que tarde un segundo en esperar a cerrar las puertas, en la ´ de cerrar las puertas habra´ que precisar un valor de 100 a ambas variables. accion ´ que la apertura se realiza a doble velocidad Hay que tener tambi´en en consideracion que el cierre, por lo que si tarda 1 segundo en cerrarse, tardara´ 0,5 segundos en abrirse.

AscensorC AscensorAB Llamado desde:

´ Localizacion ´ Tarea GeneralAscensorC en la seccion AperturaPuertas ´ llamada Bloque de funcion AperturaPuertas ´ Apertura puertas Tarea Start seccion ´ Apertura puertas Tarea Start seccion

Lenguaje Texto Estructurado Texto Estructurado Ladder Ladder

´ y lenguaje de la apertura y cierre de las puertas Tabla 5.5: Localizacion

5.2.4.

Respuesta ante llamadas

´ ´ del movimiento de la cabina, Antes de comenzar con toda la logica que hay detras ´ ´ hay que conocer algunos datos: las ordenes de hacia donde tiene que ir la cabina se guardan en un vector de cuatro posiciones llamado ascensor junto con la letra de ´ 0 corresponde a la planta la cabina que est´e moviendo. En este vector, la posicion 0 y as´ı sucesivamente hasta 3, siendo cada uno de estas posiciones un boleano que ´ las botoneras internas influyen cambia de 0 a 1 cuando tiene que ir a ese piso. Ademas, directamente sobre este vector, mientras que las botoneras exteriores han de enviar la orden a la cabina adecuada (se ve en el apartado 5.2.5) empleando para ello otro vector igual al anterior llamado ascensorAext (variando la A por B y C para las otras dos cabinas). ´ Se ha creado un algoritmo (llamado logica motor) que se encarga de interpretar los destinos a los que tiene que ir, es decir, analizar los vectores ascensor y ascensorext ´ anteriormente comentados y env´ıa la orden al algoritmo del motor indicandole la ´ ´ ´ a seguir (mediante la variable direccion motor). Las ordenes direccion que env´ıa segun las llamadas realizadas desde la botonera interior son las de ir a los pisos indicados ´ ´ que lleva la e ir parandose en todas las plantas con llamadas respetando la direccion cabina. Por ejemplo, si el ascensor se encuentra en la planta 1 y se recibe la orden desde la botonera interior de subir a la planta 2, el algoritmo env´ıa la orden de subir ´ y cuando se encuentra proximo a la planta 2 env´ıa la orden de parar. No es necesario

´ Section 5.2. Modulos del software de los PLCs

43

´ al motor cuando ha llegado a la planta, puesto que de eso se enviar ninguna orden mas encarga el algoritmo del motor; pero s´ı que es necesario enviar la orden de abrir la puerta al algoritmo de apertura de puertas explicado en 5.2.3. Este movimiento descrito es muy ´ ´ simple, pero si hay varias ordenes desde la cabina, el algoritmo de logica motor atiende ´ en la que se mov´ıa. Por ejemplo, volviendo a todas ellas teniendo en cuenta la direccion ´ de que la cabina se encuentra en reposo en la planta 1, se realizan varias a la situacion llamadas. Primero se llama desde la planta 2 y cuando se esta´ moviendo la cabina, se realiza la llamada desde la planta 0 y despu´es desde la 3. El movimiento que realizara´ el ascensor es el de subir desde la planta 1 al nivel 2, abrir la puerta, esperar a que se cierre la puerta y como estaba subiendo, termina de subir al piso 3 aunque se haya ´ llamado antes a la planta 0. Una vez atendida la llamada de la altura 3, al no haber mas ´ plantas), bajar´ıa a la planta 0. Si llamadas superiores (en el caso de que hubiese mas mientras esta´ bajando al nivel 0, se produce otra llamada que est´e en un piso inferior ´ en la que se encuentra la cabina en ese momento, e´ sta se detendra´ en a la posicion ´ en la que se esos pisos antes de llegar a la planta baja, siempre respetando la direccion mueve.

Quieto Dirección=0

Subir Dirección=1

Abrir puerta

Bajar Dirección=-1

Frenar Dirección=0

Frenar Dirección=0

Abrir puerta

Abrir puerta

Más pisos por arriba

No más pisos por arriba

No más pisos por abajo

Más pisos por abajo

´ ´ de los vectores ascensor y Figura 5.9: Grafcet que da las ordenes al motor en funcion ascensorext En el caso de que las llamadas sean recibidas desde el exterior de la cabina, las ´ ordenes que env´ıa el algoritmo son un poco diferentes a las de las llamadas internas. Esto se debe a que como se ha supuesto que este prototipo ir´ıa en un bloque residencial, se considera que cuando un usuario llama a la cabina desde el exterior, por lo general e´ ste desea bajar a la planta baja. Tomando el ejemplo anterior, la cabina comenzara´ a subir a la planta 2 pero no se detendra´ ah´ı sino que subira´ hasta el nivel 3 para recoger

´ Chapter 5. Programacion

44

al usuario que desea bajar y posteriormente bajara´ al piso 2. De este modo, siempre que se monte una persona en la cabina desde una planta que no sea la 0, e´ sta se ´ del encontrara´ bajando. En la Figura 5.9 se pueden ver estas dos formas de actuacion ´ algoritmo de logica motor. En los dos casos, ya sea atendiendo a llamadas interiores o a las exteriores, la cabina permanecera´ parada mientras la puerta se encuentre abierta. Al mismo tiempo que se ´ de abrir las puertas, ser restablece la posicion ´ de los vectores que indican env´ıa la accion ´ hacia donde ha de ir la cabina (ascensor y ascensorext). De esta manera, si se produce una llamada desde la misma planta en la que se encuentra el ascensor con la puerta ´ que si se pulsara el boton ´ para abrir la puerta. Si abierta, se realizara´ la misma accion se encontrase la puerta cerrada y se llamase a la cabina desde la misma planta en la ´ que se localiza, la cabina no se movera´ y la puerta se abrira.

AscensorC AscensorAB Llamado desde:

´ Localizacion ´ ControlMotor Tarea GeneralAscensorC en la seccion ´ llamada ControlMotor Bloque de funcion ´ Tarea AutomaticoA seccion1 ´ Tarea AutomaticoB seccion1

Lenguaje Texto Estructurado Texto Estructurado Ladder Ladder

´ y lenguaje de la logica ´ Tabla 5.6: Localizacion empleada para atender las llamadas

5.2.5.

´ ´ de las llamadas exteriores a la Logica empleada en la asignacion cabina

Al contrario de las llamadas realizadas desde el interior de la cabina que son ´ en el algoritmo de directamente asignadas a los vectores para su posterior interpretacion ´ ´ anterior), para las llamadas que se realizan la logica del motor (explicado en la seccion desde los botones exteriores a la cabina, hay que asignar la cabina que va a realizar dicha ´ orden. El algoritmo logica externa es el encargado de realizar esta labor de asignacion. ´ ´ se tuvo en cuenta el principio de control colectivo (visto en el En su programacion apartado 2.3.1), es decir, que la llamada sera´ atendida por el ascensor que se encuentre ´ cerca en ese momento. Al funcionar el PLC del ascensorC como maestro y el otro mas ´ conectados, sus programas son diferentes: como esclavo cuando estan ´ ´ funciona cuando no estan ´ • El algoritmo de la logica externa del ascensorAB solo conectados los dos PLCs, haciendo que funcionen las dos cabinas como si no ´ Para ello, se tiene en cuenta el estado en el que se encuentran existieran mas. ´ de cada cabina hasta la planta de las cabinas y la distancia desde la posicion ´ el estado dando prioridad a la cabina que la llamada. En primer lugar se evalua se encuentra en reposo. Si no hay ninguna cabina en reposo, se calculan todos los casos mostrados en la Figura 5.10, que son todas las posiciones posibles que pueden tener las cabinas respecto a la llamada. Una vez determinado el caso en el ´ de ellas tiene la m´ınima distancia que se encuentran las cabinas, se calcula cual para asignarle la llamada, teniendo en cuenta que tiene prioridad la cabina A sobre la B en caso de que las distancias sean iguales.

´ Section 5.2. Modulos del software de los PLCs

45

´ de la situacion ´ en que esta´ es muy importante porque, por La comprobacion ejemplo, en el primer caso de la Figura 5.10 en que la llamada se encuentra por debajo de las dos cabinas: si las dos se encuentran bajando se le asigna la llamada ´ cerca. Pero por el contrario, si se encuentran las dos a la que se encuentre mas cabinas subiendo, la llamada no es asignada a ninguna de las cabinas hasta que una de ellas no cambie su estado a reposo o bajando.

A

B

A

B Piso llamada B

A

A

B

´ de la planta de la Figura 5.10: Posibles posiciones de las cabinas A y B en funcion llamada ´ ´ de forma • En el ascensorC, el algoritmo de control de la logica externa actua ´ de las llamadas se realiza de manera diferente en continua, pero la asignacion ´ de si estan ´ conectados o no los PLCs. Cuando no hay conexion ´ entre los funcion ascensores funciona igual que la botonera interna, es decir, pasan directamente ´ se encuentra e´ l funcionando. las llamadas externas al ascensorC puesto que solo ´ todos conectados, el algoritmo procede igual que el del En cambio, cuando estan ´ pero en vez de tener dos cabinas a las que ascensorAB (cuando no tiene conexion) ´ asignar las llamadas, se tienen tres. El numero de casos a tener en cuenta aumenta al doble, de 4 a 8 (como se ve en la Figura 5.11), dando como resultado que el ´ ´ del doble. Al ser el espacio disponible para la programacion ´ de los codigo ocupa mas PLCs fijo, no se ha podido incluir el algoritmo completo del ascensorC, dejando una ´ para que no sea parte en la tarea LogicaExternaPorIncluir que no tiene asignacion ´ transferido al PLC. La parte excluida del programa es la referente a la asignacion de una llamada a una cabina cuando se encuentran las tres en funcionamiento, que simplemente espera a que una de las tres cabinas se encuentre libre para ´ dicha parte ocupa el 40 % del espacio disponible en designarle la llamada. Solo el PLC. En este caso, en que son tres ascensores en funcionamiento para cuatro ´ plantas, apenas se nota la ausencia de dicha parte del codigo.

A

B

C

A

B

A C

A B

C

C B

C A

B

B A

C

B A

C

A

B

C

Piso llamada

´ de la planta de la Figura 5.11: Posibles posiciones de las cabinas A, B y C en funcion llamada

´ ˜ En los dos algoritmos de la logica externa, se han empleado pequenas partes de ´ codigo que asignan la orden a la cabina cuya distancia sea la m´ınima respecto a la

´ Chapter 5. Programacion

46

´ ´ planta de la llamada. Estos trozos de codigo actuan cuando se activa su variable en ´ del caso que se necesite (ya sea calcular la m´ınima distancia entre la cabina A funcion ´ y B o entre la B y C) y desactivandose inmediatamente despu´es de haberse ejecutado. Tambi´en, se ha implementado un mecanismo para excluir las cabinas que se encuentren ´ en modo mantenimiento de la logica externa, para no perder ninguna llamada externa mientras se realizan labores de mantenimiento en una de ellas. Para llevarlo a cabo, se cambia el estado de la cabina cuando se encuentra en mantenimiento a −4 (puede ser cualquier valor menos −1, 0 y 1) consiguiendo que no sepa identificar el estado en el que se encuentra la cabina. Este mecanismo no se ha incluido para el caso del modo bomberos puesto que al activarse cambian todas las cabinas y no individualmente como sucede en el modo mantenimiento. ´ empleada en los Para lograr el correcto funcionamiento de toda la programacion ascensores, los valores iniciales de las variables juegan un papel muy importante, por lo ´ de las cabinas que son aplicados en el primer ciclo scan. Un ejemplo de ello es la posicion que pueden haber sido movidas manualmente mientras el PLC estaba desactivado, por lo que el valor inicial de las cabinas es −4, un valor imposible de alcanzar, para indicar ´ que no se conoce el valor de la posicion. Estos valores iniciales se vuelven a aplicar para casi todas la variables cuando se cambia entre modos o se produce una parada ´ de emergencia. Uno de los casos en que no se aplica es para la variable posicion, ´ se encuentra la consiguiendo con ello que el PLC sepa en todo momento en qu´e posicion cabina y por consiguiente, lo conozca el operario que supervisa el proceso. AscensorC

´ Localizacion ´ Comunicaciones Tarea Start en la seccion

Lenguaje Ladder

´ y lenguaje de la posicion ´ de las cabinas Tabla 5.7: Localizacion

5.2.6.

Comunicaciones entre los PLCs

En el cap´ıtulo 4 se han comentado las caracter´ısticas de la red Ethernet, pero no el ´ codigo realizado para llevar acabo esta tarea. Debido a las limitaciones de la capacidad ´ mas ´ adelante), se decidio´ que de la memoria que tienen los PLCs (que se describiran el ascensorC ser´ıa el PLC maestro y el ascensorAB el esclavo. Esto influye a la hora de asignar las variables que se van a enviar y recibir desde el ascensorC a trav´es de las ´ env´ıan un grupo de variables consecutivas, se funciones send y recv. Como e´ stas solo realizaron dos grupos de variables de 20 palabras (16 bits cada palabra). Las variables que se reciben en el ascensorC del ascensorAB son del registro H0 al H19 y las que se ´ env´ıan al ascensorAB del H20 al H39. Se han asignado al area retentiva porque entre todas las variables se incluyen algunas como la parada de emergencia, ya que se desea ´ fallo. Como lo que se pretende es solo ´ emplear una mantener el valor despu´es de algun ´ de env´ıo y de recepcion ´ de datos, todas las demas ´ variables se convirtieron instruccion en retentivas (el resto de variables no importa que sean retentivas o no). ´ ´ queda Ya sabemos qu´e areas de memoria se quiere enviar y recibir, por lo que solo configurar las funciones send y recv. Para ello, siguiendo los pasos del manual de OMRON, hay que especificar en unos registros consecutivos cualquiera (elegidos para esto los registros de D0 a D4) los siguientes datos:

´ Section 5.2. Modulos del software de los PLCs

47

• Longitud del mensaje a transmitir: 20 palabras como bien se ha comentado antes. • Red de destino: en este caso esta´ configurada como la 2 (explicado en el cap´ıtulo 4). ´ del nodo de destino dentro de la red Ethernet, que en este caso es 2 • Direccion (explicado en el cap´ıtulo 4). ´ bien realizados. • Se le exige una respuesta de env´ıo o recepcion ´ ´ se establece en el puerto 4 (hay que elegir • El puerto logico usado en la transmision uno de los puertos comprendidos entre 0 y 7). • No se van a realizar reintentos de reenviar los datos ante un fallo en la comuni´ porque al ser una comunicacion ´ tan simple la probabilidad de producirse cacion ´ colisiones es practicamente nula. ´ de la respuesta es el m´ınimo posible, es decir, 0,1 s. • El tiempo de supervision ´ y visto su correcto funcionamiento, se comenzo´ con Una vez establecida la conexion ´ de los ascensores. Para que no coincidiera el env´ıo con la recepcion ´ de la programacion datos en un mismo ciclo de scan, se utilizo´ la variable interna de los PLCs de OMRON ´ (un pulso de reloj de 0,02 s) encargada de activar y desactivar el env´ıo y la recepcion. De este modo, cada 0,04 segundos se hab´ıa conseguido enviar y recibir correctamente ´ Al refrescarse tan rapido, ´ la informacion. se podr´ıa decir que las variables enviadas al ascensorAB son una copia del ascensorC y al rev´es cuando se reciben. Esto quiere decir ´ pueden ser modificadas por el ascensorC, que las variables enviadas al ascensorAB solo lo que produjo un fallo. El problema aparecio´ cuando se quiso emplear una misma variable en ambos PLCs, la cual deb´ıa activarse en el ascensorC y cuando cumpliera ´ en el ascensorAB, desactivarse. En teor´ıa, simplemente hay que crear 2 su funcion variables: una en el grupo de enviar y otra en el grupo de recibir. El ascensorC enviar´ıa la ´ el ascensorAB transmitir´ıa la que esta´ activada hasta que termina orden de activacion, ´ que desactiva y al detectar el ascensorC el paso de 1 a 0, desactivar´ıa la orden. la accion Lo que ocurr´ıa era que cuando el ascensorAB terminaba la orden que el ascensorC le hab´ıa encomendado y coincid´ıa con que el ascensorC se encontraba enviando datos, la orden se volv´ıa a repetir, por lo que por ejemplo se abr´ıan varias veces las puertas del ascensor. ´ se env´ıe durante El problema se soluciono´ haciendo que la orden del ascensorC solo un periodo corto de tiempo (concretamente 1 segundo despu´es de generarse la orden), ´ reseteandose pasado ese tiempo. As´ı el ascensorC env´ıa la orden al ascensorAB, e´ ste la ´ sobre la variable que posteriormente recibe el ascensorC para avisar que recoge y actua ha terminado la orden (Figura 5.12). ´ del env´ıo y recepcion ´ de los datos realizado en Ladder, solo ´ se La programacion encuentra en el PLC del ascensorC como se detalla en la tabla 5.8 para que no se produzcan fallos en el env´ıo de los datos. ´ realizada, finalmente el tiempo de env´ıo y En definitiva, con la programacion ´ de datos se alarga aun ´ mas ´ de lo estipulado despu´es de los ensayos realizados recepcion ´ (tarda un m´ınimo de 0,04 segundos en enviar y recibir toda la informacion). A pesar ´ se de todo, al finalizar el proyecto y realizar las pertinentes pruebas de comprobacion,

´ Chapter 5. Programacion

48

1

ascensorC

ascensorAB

0

0

Orden: 1

2

ascensorC

ascensorAB

0

0 Generación orden en ascensorAB

Generación de la orden 0

0

3

1

4

5

ascensorC

ascensorAB

ascensorC

1

1

1

Orden enviada y recibida 1

1

ascensorAB 1

ascensorC

ascensorAB

0

0

Después de 1 segundo 1

0

Orden realizada 0

0

0

´ de datos que se modifican en ambos PLCs Figura 5.12: Comunicacion

AscensorC

´ Localizacion ´ Comunicaciones Tarea Start en la seccion

Lenguaje Ladder

´ y lenguaje de la programacion ´ encargada de la comunicacion ´ Tabla 5.8: Localizacion ´ que se realiza entre los 2 PLCs es en tiempo puede seguir afirmando que la transmision real. ´ del codigo ´ En cuanto a los problemas en la dimension y las diferentes formas de ´ optimizarlo, se pasan a describir en la siguiente seccion.

5.3.

´ del espacio Optimizacion

´ La capacidad de almacenar el programa en los PLCs se mide en pasos. Estos son ´ muy importantes ya que es necesario conocer el numero de pasos que el PLC necesita ´ para ejecutar una instruccion. Por ejemplo, para mover datos de una variable a otra ´ MOV que necesita 3 pasos (o darle un valor a una variable) se emplea la instruccion ´ para ser ejecutada; las condiciones (AND, OR, >= ,. . . ) emplean 4 pasos. . . El numero ´ maximo de pasos que admiten estos PLCs es de 6144 pasos cada uno. Teniendo en ´ cuenta que cuando se carga un programa vac´ıo sin nada de codigo comienza con 618 pasos ocupados, quedan un total de 5526 pasos para uso del programador. Se ha visto que el total de pasos que se pueden emplear no es muy grande, por lo que se han tenido ´ del codigo ´ que estudiar posibles soluciones para la optimizacion programado para sacar ´ el maximo partido a los PLCs. Lo primero que se advirtio´ es que las variables ya tienen su espacio asignado desde el inicio, por lo tanto, no emplean pasos a la hora de crear variables. Esto se ha explicado

´ del espacio Section 5.3. Optimizacion

49

´ ´ en el Cap´ıtulo 3. Concretamente, se dispone de 511 registros en el area volatil W con ´ 16 bits cada registro y 1535 en el area retentiva H con 16 bits por registro. Esto quiere ´ decir que el numero de variables que se pueden emplear no es un impedimento y hay que programar haciendo que las variables tengan mucho peso. entrada1

entrada2

salida

2 IF entrada1 AND NOT(entrada2) THEN

1

salida:=TRUE;

ELSE

3

salida:=FALSE; END_IF;

Salida:=entrada1 AND NOT(entrada2);

Figura 5.13: Ejemplo de diferencia de espacio entre Ladder y Texto Estructurado ´ en lenguaje Ladder es mas ´ optimizado ya que se acerca Para realizar la misma accion, ´ al lenguaje maquina. ´ ´ sencillo en el que se puede ver este hecho es mas El ejemplo mas el de dos contactos en Ladder que activan una salida (Figura 5.13 1 ). Estos comandos ´ de activar y desactivar una ocupan un total de 3 pasos para realizar la simple accion ´ de las dos entradas. Realizando lo mismo en Texto Estructurado, salida en funcion ´ para un programador es como se la forma habitual de programar esta misma accion ´ muestra en la Figura 5.13 2 . Aplicando esta forma de escritura del codigo, se emplean 36 pasos, pero si se tiene en cuenta que no se esta´ programando en “C”, se puede escribir ´ cercano al de maquina ´ lo mismo en un lenguaje mas resultando lo que se puede ver en ´ la Figura 5.13 3 en el que se emplean 18 pasos de extension. Por lo tanto, es mejor programar en Ladder y en el caso de que se desee usar Texto Estructurado, hay que ´ ´ tener en mente que se esta´ programando un PLC para escribir el codigo de la forma mas eficiente. ´ interna Otro caso es el de los contadores y timers: en Ladder existe una funcion que activa unos contadores internos evitando el empleo de muchos pasos, pero en Texto ´ de los PLCs (solo ´ se puede emplear Estructurado no se pueden emplear para esta version en los PLCs CJ2M). La diferencia de pasos es considerable, ya que en Ladder se emplean ´ 4 pasos mientras que en Texto Estructurado se utilizan 43 pasos para la misma accion como se muestra en la imagen 5.14 (uno cuenta ascendente y el otro descendente).

T0000 TIM 0000

#100

cnt:=cnt+1; IF cnt=1000 THEN cnt:=0; END_IF;

Figura 5.14: Ejemplo de diferencia de espacio entre contadores Ladder y Texto Estructurado ´ de que es mejor emplear los timer y contadores en Ladder, Esto lleva a la conclusion

´ Chapter 5. Programacion

50

pero no en todos los casos, puesto que se puede querer conocer el valor que tiene en todo momento el timer o el contador para emplearlo en otra parte del programa. En el caso de Texto Estructurado el contador se realizar´ıa como el de la Figura 5.14 y los valores que va tomando cnt se puede emplear en otro lado del programa. En cambio en Ladder, ´ interna que realiza la misma accion, ´ solo ´ se puede conocer a pesar de tener una funcion ´ cuando termina de contar. Como consecuencia, si se desea conocer el valor del contador o del temporizador programandolo en Ladder habr´ıa que realizar un algoritmo parecido al de Texto Estructurado, es decir, sin usar las funciones internas del PLC. ´ Como bien se acaba de demostrar, al hacer el codigo en Ladder se emplean menos ´ pasos, pero como se desea emplear al maximo el Texto Estructurado por la facilidad de ´ que da a las personas acostumbradas a la programacion, ´ comprension se han tenido ´ que buscar diferentes t´ecnicas para optimizar el codigo. Cuando se emplean las condiciones IF para ver si una variable boleana esta´ activada ´ de igualdad. Esto quiere decir, que si o desactivada, no hay que emplear la condicion ´ queremos arrancar una parte del codigo cuando una variable boleana se active, no hay ´ emplea 4 pasos extra que que escribir la parte =TRUE porque al realizar la comparacion ´ eficiente de escribir no tendr´ıa por qu´e realizarlos. A la derecha de 5.9 se ve la forma mas lo mismo. IF condicion=TRUE THEN ´ ... END IF;

IF condicion ´ THEN ... END IF;

´ =TRUE Tabla 5.9: Ahorro de pasos eliminando la condicion Si por el contrario se quiere realizar cuando la variable no est´e activada, en vez de ´ a =FALSE, se sustituye por un NOT. igualar la expresion IF condicion=FALSE THEN ´ ... END IF;

IF NOT(condicion) ´ THEN ... END IF;

´ =FALSE Tabla 5.10: Ahorro de pasos eliminando la condicion ´ Conforme se iba escribiendo el codigo, se vio que hab´ıa muchas partes que o bien se ´ ´ de los repet´ıan o bien se empleaba el mismo codigo para diferentes variables. En funcion requerimientos se han usado unos u otros: • Al operar uno de los PLCs en dos cabinas al mismo tiempo, hay muchas partes ´ ´ de la cabina que del codigo que se repiten pero con diferentes variables en funcion ´ que ofrece CXse est´e manejando. Para este caso es interesante usar la opcion Programmer de los bloques de funciones. En ellos se introduce, ya sea en Texto Estructurado o en Ladder, el algoritmo encargado del movimiento del motor por ejemplo, y se indican unas entradas y salidas. Posteriormente, hay que darles los valores correspondientes a las distintas cabinas para que funcionen en cada caso ´ por separado. El problema es que hay que llamar a la funcion, para darle estos ´ se puede realizar desde Ladder. Se podr´ıa decir que de este modo valores, y solo

´ del espacio Section 5.3. Optimizacion

51

se restringe su uso, pero no es del todo cierto, porque desde Ladder le indicas las ´ con variables globales que mas ´ entradas y salidas que ha de tener dicha funcion adelante pueden ser usadas en Texto Estructurado. ´ Como en todo, hay que tener cuidado de como se usa. Un ejemplo ser´ıa la cantidad ´ puesto que cuantas de variables que se ponen de entrada y salida de la funcion, ´ sean, mas ´ pasos emplearan ´ llegando a no ser eficaz su uso. Otro motivo mas para tener cuidado es que es eficaz cuando se usa varias veces, es decir, si se ´ han programado diferentes bloques de funciones en el ascensorAB, lo logico es emplear lo mismo en el ascensorC puesto que su funcionamiento es muy similar, ´ pero habr´ıa que sacar el codigo de los bloques de funciones porque se estar´ıan derrochando pasos. ´ • En algunos casos, cierta parte del codigo se repite aleatoriamente por el programa, pero no necesita variables de entrada y de salida para funcionar correctamente. ´ de Para estos casos se ha empleado un sistema de llamada basado en la activacion ´ ´ una variable cada vez que se necesite ejecutar esa parte del codigo, desactivandose ´ una vez se termina de ejecutar. Este m´etodo es muy empleado en la logica de las ´ de control del llamadas exteriores 5.2.5, pero tambi´en dentro del bloque de funcion motor. En cuanto a estas llamadas a trozos de programa, se puede pensar que tambi´en ´ se se puede hacer con las subrutinas o interrupciones. Pero en ambos casos, solo ´ pueden emplear en Ladder limitando de este modo su empleo. Estas funcionar´ıan ´ ´ que se ha llamado como si se copiara el codigo de la subrutina en la posicion siguiendo el orden secuencial. Estas subrutinas o interrupciones pueden ser ´ llamadas desde varios sitios del codigo. ´ Siguiendo con la busqueda para utilizar los m´ınimos pasos posibles, el CXProgrammer ofrece el empleo de diferentes tareas que pueden ser activadas o desactiva´ das con el fin de que ciertas partes del codigo funcionen cuando se den las condiciones ´ ´ necesarias. Tambi´en se puede emplear para separar el codigo en partes y que quede mas ´ ordenado, pero es una practica no muy acertada. Esto se debe a que cada vez que se ˜ anade una tarea en Ladder, e´ sta ocupa 41 pasos y en el caso del Texto Estructurado, ´ bonito en diferentes tareas, ocupa 37 pasos. Por lo que, a pesar de que quede todo mas ´ interesante incluir todo el codigo ´ principalmente en el caso del ascensorC, es mas en ´ ´ una unica tarea en el que se incluyan todos los bloques de funciones y todo el codigo empleado para conseguir el movimiento. En la realidad no es as´ı, porque parte del ´ codigo se ha realizado en Texto Estructurado, pero otra parte esta´ en Ladder para liberar espacio. Por ejemplo, en el caso de cambiar entre modos de funcionamiento (explicado en 5.1) que primero se realizo´ en Texto Estructurado pero posteriormente se paso´ a ´ espacio. Ladder para conseguir mas ´ espacio, finalmente no se A pesar de todos estos intentos de conseguir mas ´ consiguio´ incluir todo el codigo necesario para el perfecto funcionamiento de las tres ´ cabinas. No se ha podido incluir una parte de la logica empleada en la llamadas externas ´ como PLC maestro, encargada de asignar la llamada a una del ascensorC, que actua de las tres cabinas cuando se encuentran las tres funcionando. Para situar mejor el ´ ´ ´ problema en cuestion, el codigo necesario en las cabinas A y B para la logica externa

52

´ Chapter 5. Programacion

cuando funcionan separadas de la C, emplea 1137 pasos, mientras que esta misma ´ parte del codigo en el PLC del ascensor C que se encarga de las tres cabinas, utiliza 3928 pasos. De estos 3928 pasos, 2500 son de la parte en el que se encuentran las tres cabinas funcionando. Quitando esta parte y realizando todos las optimizaciones que fueron posibles, se llego´ a obtener un espacio de 1996 pasos, por lo que faltar´ıan 504 ´ ´ pasos para poder incluir todo el codigo completo, cosa que no se consiguio. A partir del programa incluido en ambos PLCs y descrito anteriormente, se consigue ´ el funcionamiento de las 3 cabinas que puede ser monitorizado mediante la conexion del ascensorC al ordenador por el puerto serie. Para ello se ha empleado el programa CX-Supervisor como se pasa a describir en el apartado siguiente.

Cap´ıtulo 6

SCADA ´ y control del movimiento de los ascensores se realiza El proceso de supervision mediante el SCADA (Supervisory Control And Data Adquisition) elaborado en el programa CX-Supervisor. El software es ejecutado en un ordenador conectado a los PLCs mediante el puerto serie, como se ve en la imagen 3.6. Se podr´ıan haber realizado todas las conexiones por Ethernet, pero para ello habr´ıa sido necesario un switch que dirigiera ´ el trafico. Como no es as´ı, todas las variables que se quieren monitorizar del ascensorAB, son transferidas al PLC del ascensorC puesto que es el que se conecta posteriormente al ordenador. ´ En la interfaz grafica desarrollada, mientras los ascensores se encuentran en modo ´ automatico, se puede ver el movimiento vertical de las cabinas a trav´es de su respectivo hueco. Este movimiento no se ve igual de fluido que en la realidad, ya que depende de ´ de los sensores hall que indican la posicion ´ en la que se encuentra. Es por la activacion ello que el movimiento de las cabinas en el SCADA va con un poco de retraso, lo que hace aparentar un error al abrirse las puertas de las cabinas cuando llegan a una planta con llamada. Esto se debe a que el movimiento de la cabina no comienza hasta que no se detecta un cambio en los sensores, por lo que al llegar a una planta comienza a abrir ´ ´ hasta el piso. la puerta a la vez que realiza la ultima transicion Como se ha comentado en el cap´ıtulo anterior, el movimiento que realizan las puertas de las cabinas es virtual, es decir, el prototipo no tiene puertas f´ısicas que mover por lo que se ha simulado su apertura y cierre. En el SCADA se interpreta la variable de la velocidad de apertura y cierre de las puertas para reproducir el desplazamiento de e´ stas. Al ser dicha variable modificable, el estado en el que se encuentra la puerta se calcula dividiendo la velocidad de la puerta actual entre la variable modificable. ´ ´ de En el caso del modo automatico, las puertas se abren cuando se pulsa el boton apertura de puertas o cuando una cabina llega a un piso con llamada. Las llamadas a los ´ ascensores se pueden realizar mediante las botoneras disponibles en la interfaz grafica. Para las llamadas desde el interior de la cabina se emplean los interruptores colocados a la izquierda del esbozo de los ascensores, mientras que para las llamadas realizadas desde el exterior de las cabinas (en las plantas) se encuentran entre los huecos de los ascensores. Se pueden emplear indistintamente las botoneras entre los ascensores A y ´ de las llamadas a las diferentes plantas y a las distintas B o entre B y C. La asignacion ´ en verde de la casilla correspondiente (como cabinas se revela mediante la iluminacion 53

54

Chapter 6. SCADA

´ Figura 6.1: SCADA del movimiento de las tres cabinas automaticamente

se puede apreciar en la Figura 6.1). Cuando se quieren realizar tareas de mantenimiento en alguno de los ascensores, hay ´ mantenimiento en la parte supeque activar el modo mantenimiento. Pulsando el boton ´ donde se puede activar o desactivar el rior izquierda de la pantalla, se entra en un menu modo mantenimiento de cada ascensor. Al activarse el modo mantenimiento, los botones interiores cambian su actividad para que el operario pueda moverse verticalmente por el hueco del ascensor sin necesidad de ir de planta en planta. Es por ello que, para evitar confusiones al trabajador, las botoneras interiores de la cabina desaparecen y aparecen en la ventana emergente otros botones indicando las velocidades con las que ´ cuya se movera´ la cabina al ser pulsados. En la ventana principal aparece un boton ´ es la de avisar que una cabina se encuentra en modo mantenimiento y poder funcion desactivarlo sin necesidad de entrar en la ventana de mantenimiento. Si se produce un incendio en el edificio, por motivos de seguridad los vecinos no ´ deben emplear el ascensor. En el caso de querer activar el modo bomberos, no hay mas ´ bomberos y las tres cabinas comenzaran ´ su descenso a la planta que pulsar el boton baja, abriendo las puertas al llegar a ella. Cuando se sale del modo de bomberos, como medida de seguridad se activa la seta de emergencia para poder recolocarlos en caso de ´ que sea necesario antes de volver al modo automatico. El prototipo del laboratorio no dispone del mecanismo f´ısico necesario para realizar ´ una parada de emergencia, por lo que se ha implementado en el SCADA. Este se encuentra en la parte superior derecha y esta´ compuesto por una seta de emergencia

55

Figura 6.2: Cabinas B y C en modo mantenimiento

´ para que se queda bloqueada al pulsarla, siendo necesaria una segunda pulsacion ´ de reset, que elimina la emergencia desbloquearla. A su izquierda se encuentra el boton ´ de reset indica en todo momento el estado y reinicia el proceso. Una luz debajo del boton de la emergencia (activada o desactivada). La seta de emergencia se pulsa al producirse un mal funcionamiento de los ascensores por lo que, cuando se quita la emergencia, se cambian los modos de los ascensores a mantenimiento. Esto se hace para poder ´ posicionar las cabinas correctamente antes de volver al modo automatico. Es importante (pero no imprescindible) que se est´e monitorizando el proceso continuamente para que la maniobra funcione de forma segura. Esto se debe a que en el SCADA se detectan los funcionamientos incorrectos de las cabinas durante su ´ funcionamiento en el modo automatico. Concretamente, se comprueba que la cabina no ´ ´ se encuentre desplazandose con las puertas abiertas y que la velocidad maxima con la que se mueven las cabinas no supere cierto valor de seguridad. Al producirse una de estas llamadas se abre una ventana emergente indicando la ´ alarmas se incidencia ocurrida detallando la hora y el d´ıa. Pinchando sobre el boton accede a otra ventana emergente desde la que se puede ver en todo momento el estado de las alarmas, pudiendo desactivarlas si se considera que ya no deber´ıa estar activada. Puede aparecer otra posible alarma cuando las variables controlables se encuentran fuera del rango permitido. Son tres las variables que se pueden modificar y se ´ variables. Sus encuentran en otra ventana emergente que se abre a trav´es del boton valores pueden ser cambiados o bien pinchando sobre el valor e introduciendo el valor

56

Chapter 6. SCADA

Figura 6.3: SCADA del estado de las alarmas ´ y menos situados a su derecha que deseado o bien empleando los botones de mas aumenta o disminuye en una unidad su valor. En el caso de las alarmas debidas al movimiento de la cabina con la puerta abierta, ´ se activa automaticamente la seta de emergencia. Para el resto de alarmas no sucede esto, debido a que no se han considerado tan peligrosas. ´ Una ultima ventana emergente que se puede abrir es la de los sensores. En ella se pueden visualizar todos los sensores magn´eticos, los botones de las cabinas activados y los valores que va tomando la velocidad de la cabina con su respectivo valor en ´ voltaje resultante. Esta ventana es totalmente visual con el fin de obtener la maxima ´ del proceso que se esta´ llevando a cabo. informacion

57

Figura 6.4: SCADA de las variables controlables de la maniobra

Figura 6.5: SCADA de los sensores que se encuentran funcionando en ese momento

58

Chapter 6. SCADA

Cap´ıtulo 7

´ Testeo y uso de automata de ´ simulacion Antes de emplear el prototipo para ver el funcionamiento final de los ascensores, se empleo´ CX-Designer para comprobar que se hab´ıa realizado bien la maniobra, en ´ concreto, verificar que estaba bien el codigo de los PLCs antes de introducirlo para que no estropeara los prototipos. Tambi´en sirve para comprobar que el SCADA funciona correctamente con los PLCs. ´ del programa, pero lo que CX-Programmer tambi´en puede realizar una simulacion ´ muestra es como van cambiando los valores de los registros. Se ha empleado CX´ Designer que permite ver y modificar estos valores pero de forma grafica, es decir, ´ ´ a lo permite crear botones, luces, indicadores num´ericos, graficas,. . . que acercan mas que ocurrir´ıa en la realidad. ´ arrancada desde CX-Programmer para recoger CX-Designer emplea la simulacion los datos. Pero realmente, CX-Programmer simplemente es un editor de programa que emplea CX-Simulator para simular lo programado. Por lo tanto, CX-Designer no funciona si no esta´ activo CX-Simulator y e´ ste a su vez no funciona si no esta´ el programa abierto en CX-Programmer. CX-Designer, que se encuentra dentro del paquete de CX-One, es un programa muy ´ de simulaciones. En la parte central hay un panel en el que intuitivo para la creacion ˜ ´ un led, hay que seleccionar el tipo de actuador que se quiere anadir, ya sea un boton, ´ ´ de un valor,. . . Por ejemplo si se quiere crear un una grafica, solo texto, visualizacion ´ del pulsador que modifica el registro CIO 1.02 hay que: seleccionar el primer boton ´ en el lugar deseado y por ultimo ´ panel central, dibujar el boton especificar el registro ´ que va a modificar. Para asignarle un registro, se puede realizar rapidamente desde la barra superior (como se muestra en la Figura 7.1), pulsando dos veces seguidas sobre el pulsador o haciendo clic derecho sobre el pulsador. Por defecto aparece que el registro es el SERIALA:00000.00. SERIALA: es un comando interno del CX-Designer por lo que no ´ se cambiara´ la parte a continuacion ´ de los puntos, hay que modificarlo, por lo que solo es decir, para el registro CIO 1.02 quedar´ıa SERIALA:00001.02. En el caso de querer ˜ ´ ˜ anadir otro tipo de area, como la retentiva (H) simplemente hay que anadir la letra del ´ ´ como se har´ıa en CX-Programmer. area en cuestion

59

´ ´ Chapter 7. Testeo y uso de automata de simulacion

60

Arranque de la simulación

Aceso rápido al registro

Doble clic para entrar en sus propiedades

Selección del tipo de actuador: botón, led, gráficas,...

´ de una pantalla de simulacion ´ Figura 7.1: Creacion

´ se puede modificar el registro que emplea el boton, ´ No solo sino que tambi´en se puede cambiar el color, el nombre y muchos otros aspectos haciendo clic derecho sobre ´ y entrando en propiedades. el elemento en cuestion ´ la simulacion ´ con sus Una vez incluidos todos los elementos que compondran ´ pulsando el boton ´ mostrado respectivos registros, se procede a iniciar la simulacion ´ en la Figura 7.1 o yendo a Herramientas  Prueba. Aparecera´ un cuadro de dialogo en el que hay que especificar a qu´e dispositivo se va a vincular. En este caso, como se ´ quiere simular el programa realizado en CX-Programmer, hay que seleccionar la opcion ´ conectar a CX-Simulator. De esta forma se crea un PLC virtual en el que probar el codigo y a la vez poder visualizar los cambios que se producen, pudiendo interactuar con las ´ de la simulacion ´ variables implicadas. Hay que destacar, que no permitira´ la ejecucion si no se encuentra el CX-Programmer abierto con el programa a testear. ´ creada fue modificandose ´ Volviendo al caso de los ascensores, la simulacion atendiendo a los requisitos que se necesitaban en cada caso. En gran medida fue ´ ´ de la tarea provocado por la forma de programar el codigo realizando bloques en funcion ˜ ´ se inicio´ con el movimiento del motor que, como se ha que desempenan. La programacion ´ de la direccion ´ solicitada explicado en el apartado 5.2.2, da valores al motor en funcion ´ de la cabina. En la Figura 7.2 se ven cuatro botones debajo de la A y y de la posicion ´ para que vaya hacia arriba, hacia de la B: al pulsarlos cambia el valor de la direccion ´ la activacion ´ y desactivacion ´ abajo, se pare o no tenga valor. Como es una simulacion, de los sensores magn´eticos debe hacerse de forma manual. Los botones de los sensores se colocaron indicando con una H (High) si es el sensor de arriba o con una L (Low) el de abajo de la planta. Con el fin de saber la velocidad que va adquiriendo la cabina durante el movimiento, se dispone de un recuadro num´erico que va adquiriendo los valores que se le dar´ıan al motor en cada caso. ´ ˜ ´ elementos Cuando se termino´ el analisis del motor, se fueron anadiendo los demas implicados en el movimiento. La base del funcionamiento de dos cabinas es igual al de

61

´ inicial de solo ´ dos cabinas Figura 7.2: Simulacion

´ condiciones las que tiene que cumplir la logica ´ tres con la diferencia de que son mas ante ´ de las cabinas A y llamadas realizadas en el exterior. Primero se realizo´ la programacion ´ adelante se anadi ˜ ´ final B y mas o´ la cabina C como se ve en la Figura 7.3. La simulacion ´ ´ realizada, aportaba muchos datos acerca de donde estaban los errores de programacion. ´ Por ejemplo, se ve a qu´e ascensor ha enviado la orden de llamada exterior iluminandose ´ Las luces de las luces situadas a la derecha de los pulsadores de la cabina en cuestion. la izquierda se iluminan cuando se produce una llamada desde el interior de las mismas. Hay que destacar la presencia de dos botoneras para las llamadas exteriores. Esto es ´ se puede simular uno de los programas de los PLCs a la vez, siendo debido a que solo ´ solo ´ se ven los registros de las llamadas exteriores de los dos PLCs diferentes. Ademas, si se han dirigido bien las llamadas exteriores teniendo que simular que las cabinas A y B se encuentran movi´endose cambiando su estado. Para cambiar el estado de las cabinas vale con presionar las flechas de subida o de bajada situadas encima de las ´ de conexion ´ que simula la existencia de puertas. Asimismo, hay que recalcar el boton ´ entre ambos PLCs puesto que funciona de forma diferente el programa comunicacion con o sin ella. ˜ Hay varias razones por la que se han anadido las tres cabinas en una misma pantalla ´ de las tres cabinas a la vez. Una de a pesar de que no se pueda ejecutar la simulacion ´ de las llamadas exteriores las razones se acaba de comentar y es la de ver la asignacion cuando se encuentran los tres ascensores conectados. La otra es comodidad, puesto que ´ una vez que se simula uno de los programas y se quiere simular el otro a continuacion, ´ que detener la simulacion ´ en CX-Programmer y activar la otra. no hay mas Gracias a CX-Designer, se pudieron comprobar diferentes casos para confirmar el

62

´ ´ Chapter 7. Testeo y uso de automata de simulacion

´ completa de la maniobra de las tres cabinas Figura 7.3: Simulacion ´ lo esperado: correcto funcionamiento del programa segun ´ ´ • Se comprobo´ que siempre que se activaba el modo automatico, la primera accion ´ se fue que realizaba era la de ir a la planta baja. Para efectuar dicha comprobacion ´ de la cabina cambiando entre todos los estados posibles observando la actuacion ´ cuando se volv´ıa al estado automatico. Con esta prueba, tambi´en se revisa que las variables cuyos valores han de ser modificados entre los modos, se cambien correctamente. • Se demostro´ el orden en el que se atienden las llamadas teniendo en cuenta la diferencia entre las interiores y exteriores: – Las llamadas interiores tiene que atenderse respetando el estado de la cabina, es decir, si se encuentra subiendo, primero tiene que terminar de atender las ´ antes de ocuparse las que se encuentran llamadas superiores a su posicion por debajo. – Para las llamadas exteriores su funcionamiento es igual a las interiores cuando la cabina esta´ bajando. Pero en el momento en que tiene que atender varias ´ llamadas superiores a su posicion, ha de ocuparse en primer lugar de la ´ alta. llamada mas – Tambi´en se verifico´ que, mientras se encuentra la cabina subiendo, atiende correctamente las llamadas interiores y exteriores, es decir, que atiende todas ´ atiende las llamadas interiores que se encuentra en su ascenso, pero que solo ´ alta. En el caso de que coincida una llamada interior la llamada exterior mas ´ alta, la cabina ha de y una exterior habiendo una llamada exterior mas

63 pararse en dicha planta eliminado ambas llamadas y posteriormente atender la llamada superior. Se realizo´ el funcionamiento de este modo debido a que la cabina esta´ obligada a pararse en dicha planta y puede ser que los usuarios decidan montarse en la cabina a pesar de que vaya a ascender. • Se confirmo´ que la cabina no comenzaba la parada antes de tiempo, es decir, una cabina que se encuentre saliendo de una planta y en ese preciso instante se realiza una llamada a dicha planta, primero debe atender la llamada superior y luego volver a la planta. Este test se realizo´ porque el programa pod´ıa considerar ´ uno de los sensores de la planta que se esta´ acercando a la planta, ya que solo esta´ accionado y activar´ıa la parada. La consecuencia ser´ıa que la cabina se desplazar´ıa a la m´ınima velocidad hasta la siguiente planta con llamada. • Se probaron todos los casos supuestos en la Figura 5.11 en los que se tienen que asignar correctamente las llamadas exteriores. Para ello, se colocaron en la ´ las cabinas en las posiciones indicadas y se observo´ que las llamadas simulacion eran enviadas a la cabina correcta teniendo en cuenta el orden de prioridad de los ´ ascensores, siendo A el primero, B el segundo y C el ultimo. ´ Al no poder simular los dos programas simultaneamente, hubo que ir especificando ´ y el estado de las cabinas para comprobar su funcionamiento combinala posicion do. ˜ o´ la simulacion ´ a otras personas permiti´endoles interacCabe destacar que se ensen tuar con ella para constatar que se hab´ıan contemplado todos los escenarios posibles.

64

´ ´ Chapter 7. Testeo y uso de automata de simulacion

Cap´ıtulo 8

Conclusiones y futuros trabajos 8.1.

Conclusiones

A lo largo de esta memoria se han explicado los tres programas (CX-Programmer, ´ del programa de control de los CX-Supervisor y CX-Designer) empleados en la creacion prototipos de 3 ascensores, as´ı como una comparativa entre dos posibles tecnolog´ıas de ´ entre PLCs y la razon ´ por la que se ha optado por Ethernet. comunicacion A pesar de que es mejor la tecnolog´ıa Ethernet/IP, se ha comprobado que para el caso ´ v´ıa Ethernet, de la maniobra de las tres cabinas es posible el empleo de la comunicacion ´ en tiempo real entre ambos PLCs. Es por ello pudiendo considerarla como una conexion ´ que tras las pruebas realizadas con las dos tecnolog´ıas, se ha empleado la que es mas ´ ´ economica puesto que ya se encuentra integrado en el modulo CJ1M. ´ de los PLCs se supuso que los ascensores se encuentran Como para la programacion en un bloque residencial, se considera que todo usuario que desea emplear los ascensores desea bajar, exceptuando los de la planta baja que desean subir. La gran ´ es Texto Estructurado, el cual es muy mayor´ıa del lenguaje empleado en la programacion ˜ similar a “C”, organizado en bloques que separan las diferentes tareas que desempenan ´ de posibles errores sea mas ´ rapida. ´ para que la localizacion Se dispone de comentarios ´ ´ de lo programado. En todo momento a lo largo del codigo como ayuda a la comprension ˜ se realizo´ el programa de tal forma que fuese muy sencillo anadir o eliminar plantas al sistema. ´ importantes de la programacion ´ en Texto Estructurado es Uno de los aspectos mas que hay que comprender bien su funcionamiento y la memoria que ocupa el empleo ´ de un codigo ´ de las diferentes instrucciones para la realizacion optimizado. A pesar de ´ del codigo, ´ todos los m´etodos empleados para la optimizacion no se ha podido incluir ´ que se deseaba anadir. ˜ toda la programacion La parte excluida, aunque importante, no es indispensable para el correcto funcionamiento de las cabinas. Debido al problema de espacio al emplear el Texto Estructurado, se puede concluir que en estos PLCs de ´ ´ optimizado se realiza en Ladder. OMRON el codigo mas ´ del sistema realizado en CX-Supervisor, se ha En cuanto a la monitorizacion ´ ´ demostrado que se puede realizar una interfaz grafica de facil uso para el operario que 65

66

Chapter 8. Conclusiones y futuros trabajos

tenga que supervisar la maniobra. ´ de los automatas, ´ En las fases iniciales de la programacion es necesaria una ´ previa antes de ejecutar el programa en un PLC real. Es por ello que comprobacion ´ de se ha probado CX-Designer estableciendolo como sistema valido para la simulacion los PLCs de OMRON. El sistema completo ha sido testado y validado con ensayos realizados en el prototipo ´ (TECNUN). Al finalizar del laboratorio de la Escuela de Ingenieros de San Sebastian las verificaciones oportunas, se puede afirmar que el prototipo de los tres ascensores funciona correctamente de manera combinada entre las tres cabinas.

8.2.

Futuros trabajos

´ programado se le ha realizado lo indispensable para lograr Al prototipo de elevacion el desplazamiento vertical de cualquier posible usuario que se introdujera en el mismo. Tambi´en se le han agregado algunos extras con el fin de realizar un movimiento agradable al usuario y que sea eficiente en su funcionamiento. A pesar de ello, es posible ˜ ´ funcionalidades para mejorarlos. anadir mas ´ funcionalidades La principal labor que habr´ıa que realizar antes de implementar mas ´ ´ ´ en el codigo es la de continuar la busqueda de mecanismos para optimizar al maximo ´ el codigo realizado en Texto Estructurado. Aunque se han confeccionado diferentes ´ en la que se emplee el m´ınimo espacio posible, m´etodos para realizar una programacion ´ que ocupa el programa puesto que es un l´ımite sigue siendo un problema la extension que no se puede rebasar y se encuentra actualmente al l´ımite. Con nuevos mecanismos y con los ya mencionados en esta memoria, hay que ´ revisar exhaustivamente el codigo programado. Esto se debe a que cuando se empezo´ a ´ programar no se ten´ıa en cuenta la capacidad que puede soportar el automata, por ´ lo tanto, a pesar de haber repasado completamente el codigo, muy probablemente se ´ importante de todas es la ya comentada en la memoria puedan realizar mejoras. La mas ´ 5.3) sobre pensar que se esta´ programando un PLC, no un (concretamente en la seccion ´ programa de ordenador. Por tanto instrucciones como se ven en la Figura 5.13 2 estan ´ optimizadas si se escriben como en 3 . mas Una posible forma de aumentar el espacio es cambiar la forma en la que se asignan ´ no influya el las llamadas exteriores, por ejemplo, haciendo que para dicha asignacion ´ la distancia m´ınima a dicha llamada. Puede darse el caso estado de la cabina, sino solo ´ uno de los de que se encuentren los tres ascensores en la planta baja y que sea solo ascensores el que atienda todas las llamadas, provocando que la espera del usuario a ˜ la cabina se alargue. Entonces se le anadir´ ıa la variable carga de trabajo. En ella se almacenar´ıa la cantidad de acciones que debe realizar una cabina, dando la orden a la cabina que menor carga de trabajo tenga y menor sea su distancia. Siguiendo con la comodidad del usuario que va a emplear la cabina, ser´ıa interesante ´ en la que, pasado un tiempo de inactividad de las cabinas, se aplicar una operacion ´ probable que se solicite su llamada. Por ejemplo, coloquen en posiciones donde es mas

Section 8.2. Futuros trabajos

67

que se colocasen dos de ellas en la planta baja y la tercera en un piso intermedio. Como ´ ´ este prototipo es de cuatro plantas, que se colocase en la ultima planta. Otra opcion ser´ıa que se fuesen moviendo las cabinas para intentar que siempre haya un ascensor ´ ´ en la planta baja y otro en la planta intermedia (en este caso la ultima) para mejorar aun ´ los tiempos de espera. mas ´ se emplea para las llamadas y como atajo para cambiar entre el modo El teclado solo ´ ˜ mantenimiento y el automatico, por lo que otra funcionalidad que podr´ıa anadirse ser´ıa ´ atajos de teclado. Los atajos del teclado, aparte de conmutar entre la posibilidad de mas los diferentes modos de funcionamiento, podr´ıan obligar a la cabina a ir directamente a ˜ ´ a lo que ocurre un determinado piso ignorando el resto de llamadas. Para cenirnos mas en la realidad, habr´ıa que pulsar los botones de cerrar las puertas y el piso de destino y deber´ıa funcionar inclusive en el modo bomberos. En cuanto a los mecanismos de seguridad implementados en el ascensor, son ´ diversos los que se pueden aplicar. Se destacan algunos a continuacion: ´ de un encoder en el motor con el fin de conocer la velocidad y la • Colocacion ´ exacta que esta´ tomando la cabina en todo momento. De esta forma se direccion podr´ıa limitar la velocidad de las cabinas. ´ • Finales de carrera por debajo de la planta baja y por encima de la ultima planta, ˜ para restringir un mal funcionamiento de las cabinas y evitar danos estructurales. ´ de sobrecarga en la cabina. • Sistema de deteccion • Bater´ıas de emergencia, para que el ascensor pueda terminar el movimiento que estaba realizando cuando se queda sin corriente y as´ı evitar que quede alguien atrapado. • Sensores de temperatura para detectar si se recalienta el motor o si se ha producido un incendio. El prototipo f´ısico es mejorable creando una cabina que disponga de una puerta ˜ corredera. A dicha cabina se le puede anadir un detector de infrarrojos en la puerta para impedir que se cierre e´ sta cuando haya un objeto o persona pasando en ese momento. ´ interior en la cabina que solo ´ se Tambi´en se podr´ıa crear un sistema de iluminacion encienda cuando se abra la puerta o haya pasajeros a bordo. ´ de un sistema de adquisicion ´ de todos los Ser´ıa de gran utilidad la implementacion ´ cambios que se van produciendo en el sistema para la posterior busqueda de las posibles ´ de las posiciones que toma la cabina para su causas de fallos o para la recopilacion posterior estudio. A partir de e´ l, se puede modificar la prioridad de acceso de una cabina ´ frecuentes. La recopilacion ´ a una planta utilizando las estad´ısticas de los lugares mas de los datos se puede realizar desde el SCADA realizado en CX-Supervisor, sin necesidad de emplear sistemas adicionales. ´ importante que se puede realizar es el de cambiar Para finalizar, el cambio mas ´ el concepto de como se asignan las llamadas exteriores a las diferentes cabinas, es ´ decir, cambiar el algoritmo convencional empleado por el de la logica difusa o las redes

68

Chapter 8. Conclusiones y futuros trabajos

neuronales explicados en el cap´ıtulo 2. Esto implicar´ıa obligatoriamente el cambio de controlador de la maniobra o el empleo de los PLCs de OMRON para el control de la ´ un sistema externo con mas ´ memoria y capacidad de procesamiento donde cabina mas ´ de las llamadas exteriores. Esta reestructuracion ´ se deber´ıa a implementar la asignacion la complejidad de todo el sistema y a la necesidad de mucha memoria y mucha capacidad de procesamiento. ´ Con todos estos datos, ser´ıa necesario hacer un estudio rapido para saber si ´ horas de trabajo en la optimizacion ´ del codigo ´ compensa realmente invertir mas para conseguir implementarlo completamente o probar a utilizar otro PLC en el que la capacidad de almacenamiento del programa no sea un impedimento. Llegado a este ´ definitiva, ya que se puede optimizar el punto, el empleo de otro PLC es la solucion ´ permitir´ıa la adicion ´ de mejoras en la maniobra como programa ya realizado y ademas ˜ ´ mecanismos de seguridad. anadir mas

Bibliograf´ıa [1] PLCopen. http://http://www.plcopen.org//. [2] The Elevator Museum. http://www.theelevatormuseum.org/. [3] Andrew G Crites, Robert H / Barto. Elevator group control using multiple reinforcement learning agents. Machine Learning, 33(2-3):235–262, 1998. [4] Rosso Mateus A. E. / Soriano J. J. Sistema de control inteligiente para un grupo de elevadores. Ciencia e Ingenier´ıa Neogranadina,, 2008. [5] David M. Freeman, James A. / Skapura. Redes neuronales: Algoritmos, aplicaciones y tecnicas de programacion. ´ ´ 1993. ¨ [6] Erdem Imrak C. / Ozkirim M. Determination of the next stopping floor in elevator traffic control by means of neural networks. Journal of electrical & electronics engineerig - Istambul university, 2006. [7] Keith W. Ross James F. Kurose. Redes de computadoras. Un enfoque descendente. Quinta edition, 2010. ´ H. E. Garrido Mac´ıas. Sistema de control [8] E.G. / Mej´ıa Becerril F. / Moreno Alarcon de posicion ´ de un motor a pasos, aplicado a un elevador utilizando redes neuronales artificiales. PhD thesis, Instituto polit´ecnico nacional.

69