ingeniería electrónica, automática y comunicaciones - sistema de control de acceso e interbloqueo...

22
13/10/2014 Ingeniería Electrónica, Automática y Comunicaciones - Sistema de control de acceso e interbloqueo para el Centro de Inmunología Molecular http://scielo.sld.cu/scielo.php?pid=S1815-59282013000300008&script=sci_arttext 1/22 | Mi SciELO Servicios personalizados Servicios Personalizados Articulo Articulo en PDF Articulo en XML Referencias del artículo Como citar este artículo Enviar articulo por email Indicadores Links relacionados Bookmark Ingeniería Electrónica, Automática y Comunicaciones versión ISSN 1815-5928 EAC vol.34 no.3 La Habana sep.-dic. 2013 ARTICULO ORIGINAL Sistema de control de acceso e interbloqueo para el Centro de Inmunología Molecular Access control and interlocking system for the Molecular Immunology Center Ing. Marcel Pedreira Marcel 1 , Dr. Valery Moreno Vega 2 1. Centro de Inmunología Molecular, La Habana, Cuba, E-mail: [email protected] . 2. Departamento de Automática, Facultad de Ingeniería Eléctrica, Instituto Superior Politécnico José Antonio Echeverría, La Habana, Cuba. E-mail: [email protected] .

Upload: carlos-ramos

Post on 17-Aug-2015

225 views

Category:

Documents


3 download

TRANSCRIPT

13/10/2014 Ingeniera Electrnica, Automtica y Comunicaciones - Sistema de control de acceso e interbloqueo para el Centro de Inmunologa Molecularhttp://scielo.sld.cu/scielo.php?pid=S1815-59282013000300008&script=sci_arttext 1/22|Mi SciELOServicios personalizadosServicios PersonalizadosArticuloArticulo en PDFArticulo en XMLReferencias del artculoComo citar este artculoEnviar articulo por emailIndicadoresLinks relacionadosBookmarkIngeniera Electrnica, Automtica y Comunicacionesversin ISSN 1815-5928EAC vol.34 no.3 La Habana sep.-dic. 2013 ARTICULO ORIGINAL Sistema de control de acceso e interbloqueo parael Centro de Inmunologa Molecular Access control and interlocking system for the MolecularImmunology Center Ing. Marcel Pedreira Marcel1, Dr. Valery Moreno Vega21. Centro de Inmunologa Molecular, La Habana, Cuba, E-mail:[email protected]. 2. Departamento de Automtica, Facultad de Ingeniera Elctrica, Instituto Superior Politcnico Jos AntonioEcheverra, La Habana, Cuba. E-mail: [email protected].

13/10/2014 Ingeniera Electrnica, Automtica y Comunicaciones - Sistema de control de acceso e interbloqueo para el Centro de Inmunologa Molecularhttp://scielo.sld.cu/scielo.php?pid=S1815-59282013000300008&script=sci_arttext 2/22 RESUMENEn el presente trabajo se muestra el diseo y desarrollo de un sistema de control de acceso e interbloqueo en elCentro de Inmunologa Molecular debido a que los sistemas comerciales de este tipo instalados en dicho centro nocumplen todas las necesidades. El sistema propuesto consta de dos tarjetas electrnicas: el controlador de puertasy el controlador de interbloqueo, ambas fueron desarrolladas a base de microcontrolador PIC de Microchipprogramados usando el compilador PCW de CCS. Estas tarjetas son capaces de comunicarse con dispositivos delectura de cdigo de barras, proximidad, biomtricos o cualquier otro que transmita por protocolo Wiegand.Adems deben ser configuradas para que operen de manera deseada, para ello fue desarrollada una aplicacinsoftware de parametrizacin utilizando Qt como framework, e implementando prcticas eficientes de ingeniera desoftware. Esta aplicacin se comunica con los controladores va RS232 con protocolo Modbus.Palabras claves: control de acceso, interbloqueo, microcontrolador, modbus, wiegand, ingeniera de software. ABSTRACTThis paper shows the design and development of an access control and interlocking system for the MolecularImmunology Center because the commercial systems installed in this center do not meet all needs. The proposedsystem consists of two electronic boards: the door controller and the interlock controller, both were developedbased on Microchip's PIC microcontroller programmed using CCS PCW compiler. These cards are able tocommunicate with devices like barcode reading, proximity, biometric or any other that transmit by Wiegandprotocol. They must also be configured to operate in a desired manner and therefore a software application wasdeveloped using Qt as framework, and implementing effective practices of software engineering. This applicationcommunicates with the controllers via RS232 using Modbus protocol.Key words: access control, interlocking, microcontroller, modbus, wiegand,software engineering. INTRODUCCION El concepto de control de acceso se ha utilizado en varios contextos, yfrecuentemente se asocia a conceptos deseguridad informtica y redes de computadoras. Sin embargo, en este trabajo se hace alusin al sistema vinculadoa las puertas de una edificacin. Bajo estos principios, un sistema de control de acceso administra el ingreso a13/10/2014 Ingeniera Electrnica, Automtica y Comunicaciones - Sistema de control de acceso e interbloqueo para el Centro de Inmunologa Molecularhttp://scielo.sld.cu/scielo.php?pid=S1815-59282013000300008&script=sci_arttext 3/22reas restringidas y evita que personas no autorizadas o indeseables tengan la libertad de acceder a determinadoslocales. As mismo se puede tener conocimiento de la asistencia del personal, horarios de ingreso y egreso, ytambin poder tener un control histrico de entradas de personas a todas las reas.Los sistemas de control de acceso estn formados por diversos dispositivos o componentes. Los controladores depuerta constituyen el elemento fundamental o de inteligencia en un sistema de control de acceso. Por otra parte,los dispositivos de lectura se utilizan para la identificacin del usuario a travs de alguna tecnologa, como puedeser cdigo de barras, radiofrecuencia o biometra.Los elementos de accin final se encargandel bloqueo fsico de laspuertas,stospueden ser hembrillas o cerraduras electrnicas, electroimanes, etc. Adems, estos sistemaspresentan,normalmente, un software de supervisin que opera sobre todos los controladores dispuestos en red, yde esta forma realizar labores de monitoreo y control.Es posible tambin integrar circuitos cerrados de televisin,sistemas contraincendios, contra intrusos y mecanismos de interbloqueo. Mediante estos ltimos, se puedebloquear el acceso a un rea comn entre dos puertas cuando una de ellas se ha abierto.El Centro de Inmunologa Molecular (CIM), perteneciente al polo cientfico en el oeste de la capital cubana, es unainstitucin especializada en la investigacin, desarrollo y manufactura de productos biofarmacuticos para la luchacontra el cncer a partir del cultivo de clulas de mamferos de acuerdo con las regulaciones de las buenasprcticas de produccin (GMP).Este Centro, al igual que otros del polo dedicados a la biotecnologa, posee reas deproduccin denominadas salas limpias especialmente diseadas para obtener bajos niveles de contaminacin. Estassalas tienen sus parmetros ambientales estrictamente controlados: partculas en el aire, temperatura, humedad,flujo de aire, presin interior, iluminacin etc.1El sistema de control de acceso juega un importante papel en lograr tal objetivo. Actualmente en el CIM seencuentran en funcionamiento dos sistemas de control de acceso e interbloqueo de diferentes fabricantes: Kantechy Siemens. Estos sistemas tienen las siguientes desventajas en su aplicacin: Arquitectura cerrada. Existe incompatibilidad en cuanto a protocolos de comunicacin, bases de datos etc. Por talmotivo la informacin esta fragmentada o dividida lo que dificulta una gestin a nivel central. Soporte tcnico. Se han presentado dificultades con la obtencin de las tarjetas de proximidad y actualmente seencuentran agotadas existiendo trabajadores con necesidad de entrar a determinada rea que no cuentan con elmedio para hacerlo. A pesar de ser sistemas bien eficientes y robustos, se han dado circunstancias particulares en las que no soneficaces o incapaces de resolver el problema usando el sistema por si solo con las opciones que trae por definicin.Por este motivo se ha planteado la necesidad de implementar un nuevo sistema de control de acceso einterbloqueo,que sea desarrollado totalmente en el CIM.ste permitir una gestin central de la informacin y unmayor nivel de configuracin, personalizacin y expansin, permitiendo suplir las necesidades no resueltas por lossistemas de pago instalados en la actualidad.En este trabajo se describe el proceso de desarrollo del sistema propuesto para dar solucin a la problemticaanterior. En la seccin 2 se da una descripcin, a grandes rasgos, de dicho sistema haciendo hincapi en los13/10/2014 Ingeniera Electrnica, Automtica y Comunicaciones - Sistema de control de acceso e interbloqueo para el Centro de Inmunologa Molecularhttp://scielo.sld.cu/scielo.php?pid=S1815-59282013000300008&script=sci_arttext 4/22elementos que lo componen as como los protocolos utilizados. En la seccin 3 se detalla el diseo de loscontroladores, dgase hardware y firmware, requerido para su funcionamiento. La seccin 4 aborda todo el procesode desarrollo de la aplicacin software de parametrizacin de cada uno de los controladores. Finalmente, en laseccin 5 se describen los resultados obtenidos en la implementacin del sistema a escala piloto. DESCRIPCIN GENERAL DELSISTEMA PROPUESTO La solucin presentada consiste en un sistema compuesto por dos elementos fundamentales: el controlador depuerta y el controlador de interbloqueo. Ambos son tarjetas electrnicas con finalidades diferentes dentro delsistema.La funcin del controlador de puerta es, como su nombre lo indica, el control de las puertas. Un controlador de estetipo puede controlar un mximo de dos puertas. De esta forma se encarga de recibir la solicitud de acceso queviene del elemento de identificacin, determinar si el cdigo arribado tiene acceso por la puerta especificada segnprevia configuracin y, de ser positiva o vlida, entonces desbloquear la puerta en cuestin. En la figura 1 semuestra la conexin de este controlador. Cabe destacar que ste es capaz de recibir la codificacin enviada desdecualquier lector que implemente protocolo Wiegand formato 26. Este protocolo es abierto y se considera unestndar dentro de los sistemas de control de acceso. De esta forma se garantiza la comunicacin con una ampliagama de dispositivos de lectura que existen en la actualidad.13/10/2014 Ingeniera Electrnica, Automtica y Comunicaciones - Sistema de control de acceso e interbloqueo para el Centro de Inmunologa Molecularhttp://scielo.sld.cu/scielo.php?pid=S1815-59282013000300008&script=sci_arttext 5/22Otro elemento asociado al sistema es un dispositivo para detectar el caso de que un usuario desee salir de un locala travs de alguna puerta controlada, es decir, por la parte contraria en donde se encuentra situado el lector.Estoscasos se denominan REX (Request for EXit)en la mayora de los sistemas de control de acceso, y para ello seincluye en el sistema un elemento hardware que notifique, a travs de una seal, esta accin al controlador. Esteelementopuede ser un sensor de presencia o un simple botn.2El controlador de interbloqueo se encarga de agregar la capacidad de interbloqueo al sistema. Este mecanismoconsiste en el bloqueo de una o ms puertas tras la deteccin de la apertura de una puerta determinada. Esto serealiza, por supuesto, con una previa configuracin del controlador, donde se establece esta relacin o interaccinentre las puertas. Este sistema puede tener muchos usos o aplicaciones y, en el caso del CIM, se utiliza paradisminuir los riesgos de contaminacin cruzada, concepto asociado a las GMP en el que una persona saliendo delrea limpia pueda inducir contaminacin a aquella que est entrando. La figura 2 muestra la conexin de estedispositivo.13/10/2014 Ingeniera Electrnica, Automtica y Comunicaciones - Sistema de control de acceso e interbloqueo para el Centro de Inmunologa Molecularhttp://scielo.sld.cu/scielo.php?pid=S1815-59282013000300008&script=sci_arttext 6/22Estos dispositivos deben ser configurados, o parametrizados, para que realicen la funcin deseada. Para ello sedesarrolla una herramienta de software que se comunique con stos a travs de un puerto RS-232 utilizando unaPC. El protocolo de comunicacin entre la aplicacin y los dispositivos es Modbus. Se implement este protocoloabierto para que los controladores sean capaces de comunicarse con el mayor nmero de softwares posible,facilitando de esta manera futurasimplementaciones o facilidades al sistema, como la posibilidad de supervisincentral a travs de un SCADA, por citar un ejemplo.Las dos tarjetas estn basadas en microcontroladores PIC de Microchip, por la gran difusin que existe de estosdispositivos y por la disponibilidad de stos con sus herramientas asociadas para implementar yverificaraplicaciones de este tipo en el CIM. La programacin de los microcontroladores se hizo utilizando elcompilador PCW de CCS, por motivos de conocimiento del autor y tambin por disponibilidad legal de dichosoftware en el Centro. Las pruebas de la configuracin de hardware de los dispositivos se realizaron utilizando elPICSCHOOL, herramienta consistente en una maqueta o protoboard para la puesta a punto de aplicacionesutilizando microcontroladores PIC. La aplicacin de parametrizacin fue desarrollada utilizando el framework Qt,por ser una poderosa plataforma de cdigo abierto muy difundida en estos momentos.Protocolo WiegandEste protocolo es unidireccional y permite el traspaso de datos desde un lector hacia el controlador. A pesar de quefue concebido para los lectores de efecto Wiegand, dada su eficiencia en este mbito, ha sido implementadotambin en lectores con otra tecnologa, como los de proximidad o radiofrecuencia e, incluso, en tecladosnumricos. El protocolo establece lneas de datos, alimentacin y sealizacin. Las lneas de sealizacin son lasusadas para el manejo de la bocina y los leds, que normalmente poseen estos lectores, mientras que la13/10/2014 Ingeniera Electrnica, Automtica y Comunicaciones - Sistema de control de acceso e interbloqueo para el Centro de Inmunologa Molecularhttp://scielo.sld.cu/scielo.php?pid=S1815-59282013000300008&script=sci_arttext 7/22transmisin de datos se realiza a travs de tres hilos: DATA1: Lnea para enviar los unos lgicos. DATA0: Lnea para enviar los ceros lgicos. GND: Lnea de tierra de referencia de ambos.La figura 3 representa grficamente este sistema de transmisin. En estado de reposo las lneas DATA1 y DATA0estn a nivel alto. Para transmitir un bit en `1'se manda un pulso a nivel bajo de 50 s de duracin por la lneaDATA1, mientras DATA0 permanece en alto. Por el contrario, para transmitir un bit en`0' lo que se hace es enviarun pulso bajo, de la misma duracin, pero por la lnea DATA0 mientras la lnea DATA1 permanece en alto. Laseparacin entre cada pulso y el siguiente es de unos 2 ms.Mediante este sistema se puede transmitir cualquier nmero de bits. Existe, sin embargo, un consensointernacional para utilizar un determinado nmero de bits y la interpretacin de los mismos. El formato msutilizado, y por tanto el empleado en este proyecto, es el Wiegand26, que especifica que el primer bit (B0) es laparidad par de los primeros 12 bits transmitidos (B1:12), los ocho siguientes (B1:B8) constituyen un entero de 8bits denominado FacilityCode, los 16 bits siguientes (B9:B24) representan un entero de 16 bits llamado UserCode yel ltimo bit (B25) es la paridad impar de los ltimos 12 bits transmitidos (B13:B24).2Protocolo ModbusEl protocolo Modbus est basado en la arquitectura maestro/esclavo. Diseado en 1979 por la empresa Modicon13/10/2014 Ingeniera Electrnica, Automtica y Comunicaciones - Sistema de control de acceso e interbloqueo para el Centro de Inmunologa Molecularhttp://scielo.sld.cu/scielo.php?pid=S1815-59282013000300008&script=sci_arttext 8/22para su gama de PLCs, se ha convertido en un protocolo de comunicaciones estndar de facto en la industria y esel que goza de mayor disponibilidad para la conexin de dispositivos inteligentes.sto es debido fundamentalmentea las siguientes razones: Es pblico. Su implementacin es fcil y requiere poco desarrollo. Maneja bloques de datos sin suponer restricciones.En ocasiones, en la literatura se refiere a Modbus como una estructura de mensaje, debido a que no especifica unacapa fsica, por loque se puede implementar usando diferentes normas, como RS232, RS422, RS485 e, incluso,sobre Ethernet. Existen dos variantes con diferentes representaciones numricas de los datos y detalles delprotocolo ligeramente desiguales: Modbus RTU y Modbus ASCII.Tambin existe una versin Modbus TCP, pero msbien es el formato RTU estableciendo la transmisin mediante paquetes TCP/IP. La variante utilizada en esteproyecto es la RTU.En una red Modbus cada dispositivo tiene una direccinnica. Cualquier dispositivo puede enviar rdenes, aunquelo habitual es permitirlo solo al maestro y los esclavos se limitan a responder las solicitudes del mismo. Unmensaje Modbus enviado desde el maestro hacia un esclavo contiene la direccin del esclavo, el comando u ordena realizar, los datos asociados al comando, y una informacin redundante o check sum para asegurar la integridadde la recepcin. El protocolo establece una gran variedad de comandos o funciones,y en este proyecto solo sonutilizados los asociados a la modificacin del valor de varios de los registros del esclavo (writeMultipleRegisters) yla solicitud del contenido de dichos registros (readHoldingRegisters). Cabe destacar que el estndar oficialestablece registros de 16 bits entre otras especificaciones.3Luego, como ya se refiri anteriormente, en este proyecto se utiliza protocolo Modbus RTU sobre RS232, donde laPC es el dispositivo maestro y los controladores son los esclavos, aunque se conecta uno a la vez. Por este motivo,no hay necesidad de especificar direcciones para cada uno de los esclavos, pues todos los mensajes enviados porel maestro son broadcast o de difusin (direccin 0) y solo sern recepcionados por el nico esclavo conectado almismo. No obstante, la implementacin de este protocolo brinda la posibilidad de expandir el sistema resultantepara de una manera fcil, sin muchos cambios significativos, introducir un sistema de supervisin o SCADA yconectar los controladores conformando una red Modbus. DESARROLLO DE LOS CONTROLADORES Como se seal previamente, las tarjetas que representan los controladores que componen el sistema propuestoestn basadas en microcontroladores PIC. En este caso se utiliz un 16F877 para cada tarjeta. stees unmicrocontrolador de 8 bits, perteneciente a la gama media de esta familia y que cumple perfectamente con los13/10/2014 Ingeniera Electrnica, Automtica y Comunicaciones - Sistema de control de acceso e interbloqueo para el Centro de Inmunologa Molecularhttp://scielo.sld.cu/scielo.php?pid=S1815-59282013000300008&script=sci_arttext 9/22requerimientos de ambas aplicaciones, dgase cantidad de memoria, nmero de entradas y salidas entre otrosaspectos. A continuacin se expone la configuracin circuital de las mencionadas tarjetas, as como el firmwareprogramado en los microcontroladores para su adecuado funcionamiento.Hardware del controlador de puertaEn la figura 4 se muestra un esquema de la configuracin de hardware de la tarjeta que representa el controladorde puerta.Se utilizaron las lneas del nible alto del Puerto B para la recepcin de los datos enviados desde los dos lectores quese pueden conectar a un controlador pues, segn lo descrito anteriormente sobre el protocolo Wiegand, cada lectorutiliza dos lneas para la transmisin de los datos: DATA0 y DATA1. Se conect de esta forma para usar lainterrupcin por cambio de estado en las cuatro entradas ms significativasdel puerto B. De esta forma, cualquiervariacin en alguno de estos pines interrumpe la operacin del microcontrolador coincidiendo con el arribo de algnbit perteneciente al tren de pulsos correspondiente a un cdigo enviado por un lector. Otras seis lneas deentrada/salida del microcontrolador, esta vez configuradas como salidas, fueron utilizadas para el manejo de loslectores. En este caso se reservaron para la conexin de tres hilos de sealizacin que proveen la mayora de loslectores que implementan el mencionado protocolo para la activacin de los leds rojo y verde, as como la bocina.La memoria externa se conect usando interface I2C, yes la encargada de almacenar los cdigos de los usuariosautorizados a acceder a alguna de las puertas pertenecientes al controlador en cuestin. Se decidi que la memoriafuera externa por dos razones fundamentales:1. La memoria EEPROM interna del microcontrolador no cumple con las necesidades de espacio.13/10/2014 Ingeniera Electrnica, Automtica y Comunicaciones - Sistema de control de acceso e interbloqueo para el Centro de Inmunologa Molecularhttp://scielo.sld.cu/scielo.php?pid=S1815-59282013000300008&script=sci_arttext 10/222. Facilita el mantenimiento y reconfiguracin del sistema al ser posible la exportacin/importacin de los datos.La estructura de esta memoria se muestra en la figura 5. Como se puede apreciar, se utilizan cuatro localizacionespara un cdigo de usuario.En la primera se guarda el Facility Code, que como se dijo anteriormente es un nmerode 8 bits. A continuacin se almacena el User Code, que es de 16 bits, por tanto se usan dos localizaciones paraello, en la primera de stas la parte alta y en la segunda la parte baja de este nmero. Finalmente la cuartalocalizacin del cdigo la ocupa la poltica de acceso, que no es ms que un nmero que identifica el tipo de accesoque tiene el usuario propietario del cdigo en cuestin. En la Tabla 1 se relacionan los tipos de acceso y sucorrespondiente nmero de poltica de acceso.13/10/2014 Ingeniera Electrnica, Automtica y Comunicaciones - Sistema de control de acceso e interbloqueo para el Centro de Inmunologa Molecularhttp://scielo.sld.cu/scielo.php?pid=S1815-59282013000300008&script=sci_arttext 11/22El nmero mximo de usuarios para un controlador se fij a 256, cantidad que satisface perfectamente lasnecesidades de la aplicacin.Luego, con la estructura antes expuesta, una memoria EEPROM I2C de 1Kx8localizaciones es necesaria. Para este objetivo se utiliz el circuito integrado ST24W08M6R que constituye unamemoria con las caractersticas requeridas.El canal asincrnico del puerto serie, o USART del microcontrolador, se reserv para la conexin de la tarjeta a unaPC y realizar la configuracin o parametrizacin del controlador por esta va. Es por sto que las lneas del puertoserie fueron acopladas a un MAX232, circuito integrado que adapta los niveles de voltaje que maneja elmicrocontrolador a los especficos de la norma RS-232. Por esta va se comunica la PC con el microcontroladorusando protocolo Modbus.Se usaron dos lneas ms de entrada/salida del microcontrolador (configuradas como salidas) para elaccionamiento de las puertas. Este puede ser basado en diversos tipos de cierre electrnico: hembrilla, electroimnetc.y,en cualquier caso cabe destacar que estos elementos son alimentados con 24VDC o 12VDC. Luego se acopla estas dos salidas del microcontrolador el circuito necesario para el accionamiento a base de relays.Otras tres lneas de entrada/salida del microcontrolador (esta vez configuradas como entradas) fueron usadas paradetectar las seales REX que, como se dijo anteriormente, pueden proceder de un botn o un sensor de presencia.En cualquier caso debe conectarse el dispositivo sensor a una de las entradas destinadas para sto, endependencia de la puerta que se trate. La configuracin de hardware del controlador de puerta incluye un circuitode acondicionamiento de estas seales digitales a las entradas del microcontrolador, as como una lgica para queuna activacin de cualquiera de estas seales interrumpa al mismo por la lnea correspondiente a la interrupcinexterna.4-5Firmware del controlador de puertaEl papel del controlador de puerta es la recepcin del cdigo enviado desde cualquiera de los dos lectores a travsdel protocolo Wiegand y compararlo con los almacenados en la memoria externa para que, en caso de encontrarsecoincidencia y se aplique la poltica de acceso, se proceda a dar el acceso a la puerta en cuestin. El firmware delmicrocontroladorse obtuvo utilizando el compilador PCW de CSS, como ya se refiri anteriormente, utilizandolenguaje C para la programacin. Este compilador posee diversas facilidades para el programador, en este trabajose utilizaron los drivers que brinda esta herramienta para el manejo de dispositivos I2C y para la implementacinde un dispositivo Modbus esclavo respectivamente. Luego el programa est seccionado fundamentalmente en tresfunciones:1. La funcin principal: main.2. La funcin de atencin por interrupcin por cambio de estado en cualquiera de los cuatro pines mssignificativos del puerto B.3. La funcin de atencin por interrupcin externa.En la figura 6 se muestra el diagrama de flujo de la funcin principal. En esta funcin lo que se hace es encuestar13/10/2014 Ingeniera Electrnica, Automtica y Comunicaciones - Sistema de control de acceso e interbloqueo para el Centro de Inmunologa Molecularhttp://scielo.sld.cu/scielo.php?pid=S1815-59282013000300008&script=sci_arttext 12/22constantemente por el arribo de algn mensaje Modbus. En caso afirmativo, se identifica cul es el comandoenviado desde el maestro a travs del mensaje en cuestin, yse realiza la accin correspondiente, que no es msque la lectura o escritura de los registros, y se enva una respuesta al maestro. Los comandos que se utilizan enesta aplicacin son read Holding Register, para la lectura por parte del maestro de los registros que almacenan loscdigos de usuariodel controlador conectado, y writeMultipleRegisters en caso de que se quiera modificar elcontenido de estos registros.3La figura 7 ofrece un diagrama de flujo de la funcin de atencin a la interrupcin por cambio de estado en loscuatro bits ms significativos del puerto B. El objetivo fundamental de esta funcin es la actualizacin del buffer decdigo Wiegand, pues se ejecutar con la llegada de algn bit correspondiente a dicho cdigo. Esta interrupcinpuede presentarse tanto por un flanco de cada como por uno de subida en cualquiera de los pines mssignificativos del puerto B. Luego, analizando el funcionamiento del protocolo Wiegand, expuesto con anterioridad,se puede inferir que el arribo de un bit por alguna de las lneas de datos, representado por un pulso a nivel bajo,provocara dos interrupciones por cambio de estado en el pin conectado a dicha lnea. Por este motivo se decidirealizar la actualizacin del buffer de cdigo Wiegand solo con la deteccin del flanco de bajada del pulsocorrespondiente a la llegada de un bit, por tanto es necesario primeramente leer el puerto y descartar los posiblescasos en que la interrupcin haya sido motivada por un flanco de subida. En caso afirmativo, es decir que lainterrupcin haya sido motivada por un flanco de bajada, se identifica el pin por el que se produce el pulso para deesta forma actualizar el buffer de cdigo con '1' o '0' segn corresponda (DATA0 o DATA1) y establecer la puertade donde viene el cdigo. Finalmente, se comprueba si se lleg al final del cdigo, en cuyo caso se debedeterminar si el cdigo arribado est autorizado, es decir, si est almacenado en la memoria de cdigos deusuario.En caso afirmativo, se concede el acceso si se aplica la poltica de acceso.La funcin de atencin a la interrupcin externa lo nico que hace es determinar por cual de las dos puertas seprodujo el REX y luego permitir el acceso. Se entiende por conceder acceso por una puerta, la accin dedesbloqueo de la misma por parte del controlador por un perodo de tiempo de cinco segundos.Hardware del controlador de interbloqueoEn la figura 8 se muestra un esquema de la configuracin de hardware de la tarjeta que representa el controladorde interbloqueo.13/10/2014 Ingeniera Electrnica, Automtica y Comunicaciones - Sistema de control de acceso e interbloqueo para el Centro de Inmunologa Molecularhttp://scielo.sld.cu/scielo.php?pid=S1815-59282013000300008&script=sci_arttext 13/22Como se puede apreciar, el hardware del controlador de interbloqueo es mucho ms simple comparado con el delcontrolador de puerta. Est formado, en su estructura bsica, por ocho entradas digitales con los correspondientescircuitos de acondicionamiento a las entradas del microcontrolador, y ocho salidas a relay. Al igual que elcontrolador de puerta, se usa el canal USART del microcontrolador para la comunicacin con la PC a travs deprotocolo Modbus, por tanto tambin es necesario el empleo del circuito integrado MAX232 explicadoanteriormente.4-5Firmware del controlador de interbloqueoLa funcin bsica del controlador de interbloqueo no es ms que encuestar las entradas y, en dependencia de loledo y la configuracin previa realizada,activar las salidas correspondientes. La configuracin se realiza a travs deuna aplicacin de parametrizacin que corre en una PC yque se conecta a la tarjeta va RS-232, la cuales guardadaen la memoria EEPROM interna del microcontrolador. La estructura de esta memoria se muestra en la figura 9.Como se puede apreciar, en las localizaciones de la misma se almacena un nmero que codifica las salidas quedeben activarse cuando se activa alguna entrada.De esta forma, en las dos primeras localizaciones se encuentra lacodificacin de las salidas para la entrada 0, a continuacin la de la entrada 1 y as sucesivamente. Se usaron doslocalizaciones para cada entrada debido a que el protocolo Modbus utiliza registros de 16 bits.13/10/2014 Ingeniera Electrnica, Automtica y Comunicaciones - Sistema de control de acceso e interbloqueo para el Centro de Inmunologa Molecularhttp://scielo.sld.cu/scielo.php?pid=S1815-59282013000300008&script=sci_arttext 14/22El algoritmo de la funcin principal del programa (main) se representa en la figura 10. Est basadofundamentalmente en la constante lectura del puerto que constituye las entradas del controlador para luegomapearla con la configuracin almacenada en la memoria y, de esta forma, conformar el resultado que luego sesaca por el puerto de salida. A continuacin se encuesta por la llegada de un mensaje por protocolo Modbus y,encaso afirmativo, se procede de la mima forma que en el programa del controlador de puerta. Es decir, se identificael comando enviado desde el maestro a travs del mensaje recibido, se realiza la accin correspondiente y se envauna respuesta al maestro. DESARROLLO DE LA APLICACIN DE PARAMETRIZACIN Para la configuracin de los controladores fue necesario desarrollar una aplicacin de software para que, demanera fcil, amigable e intuitiva, el operador llevara a cabo dicha parametrizacin. Esta aplicacin debecomunicarse haciendo uso del puerto serie RS-232 de la PC con los controladores para, de esta forma, escribir yleer la configuracin implementando protocolo Modbus. El desarrollo se llev a cabo usando el framework Qt, porlas razones antes expuestas, con C++ como lenguaje de programacin.Se decidi implementar una aplicacin de parametrizacin diferente para cada controlador por razones decomodidad y claridad. No obstante las dos son muy similares, ysolamente difieren en pequeos aspectos en cuantoa la forma de manejar los datos y representar la informacin. Esto se ilustrar mejor a medida que se vayaabordando el proceso de desarrollo de las aplicaciones, lo cual se describe a continuacin.Aplicacin de parametrizacin del controlador de puertaPara el caso del controlador de puerta se procedi, en un inicio, a hacer un levantamiento de los requisitos de13/10/2014 Ingeniera Electrnica, Automtica y Comunicaciones - Sistema de control de acceso e interbloqueo para el Centro de Inmunologa Molecularhttp://scielo.sld.cu/scielo.php?pid=S1815-59282013000300008&script=sci_arttext 15/22usuario.Requisitos funcionales:1. La aplicacin debe conectarse con el controlador, leer la configuracin existente y representar la informacin.2. El usuario debe tener la posibilidad de agregar y modificar los cdigos, as como la poltica de acceso.3. La aplicacin debe actualizar el controlador cuando se solicite, para de esta forma descargarle todos los posiblescambios en la configuracin realizados por el usuario.Requisitos no funcionales:1. Uso de idioma espaol en todo el proyecto.2. Utilizar un formato y estilo uniforme en todas las ventanas de la aplicacin.A partir del levantamiento de los requerimientos de usuario se definen, entonces, los casos de uso, cuyo diagramase muestra en la figura 11. El actor del sistema es el administrador, que es el nico operador del sistema capaz demodificar y monitorizar la configuracin de los controladores.13/10/2014 Ingeniera Electrnica, Automtica y Comunicaciones - Sistema de control de acceso e interbloqueo para el Centro de Inmunologa Molecularhttp://scielo.sld.cu/scielo.php?pid=S1815-59282013000300008&script=sci_arttext 16/22A partir de los casos de uso se pasa entonces a la etapa de anlisis donde se definen las clases que formarn partede la arquitectura como tal del software y las relaciones entre s. Para el diseo de la aplicacin se us unaestructura de dos capas, compuesta por la capa de presentacin, que representa la interfaz con el usuario, y lacapa de negocios donde se realiza la lgica de la aplicacin as como el acceso a datos.La figura 12 muestra un diagrama de clases de la aplicacin. La capa de negocios est formada por una sola clase:TController, que encapsula todas las operaciones a realizar con los controladores. El acceso a datos se realizausando la librera de cdigo abierto FieldTalk, que posibilita un manejo sencillo del protocolo Modbus sin tener quedominar muchos detalles del mismo. La capa de vista, o presentacin, est estrechamente relacionada con elframework de Qt, el cual brinda las clases necesarias para el desarrollo de la interfaz de usuario, o GUI de laaplicacin de software. La interfaz est compuesta por una ventana principal, que hereda de la clase QMainWindowde la librera de Qt.As mismo se crean dos ventanas de forma dinmica del tipo QDialog, para los casos en que eloperador desee editar los cdigos establecer los parmetros de la conexin con el controlador respectivamente.6-713/10/2014 Ingeniera Electrnica, Automtica y Comunicaciones - Sistema de control de acceso e interbloqueo para el Centro de Inmunologa Molecularhttp://scielo.sld.cu/scielo.php?pid=S1815-59282013000300008&script=sci_arttext 17/22Cabe destacar que la clase TController, que es desde donde se produce el acceso a los datos a travs de la libreraFieldTalk, tiene un miembro que constituye el modelo de los datos, dgase cdigos y poltica de acceso, que semuestran en la vista. Aqu se ha utilizado un patrn de diseo muy difundido en el desarrollo de software llamadomodelo vista controlador (M-V-C), donde se separa el procesamiento de los datos de su presentacin facilitando asla reusabilidad y el mantenimiento. El framework Qt brinda una implementacin ms fcil de este patrn, de modoque se crea un modelo de los datos creando un objeto de tipo QStandardItemModel y se le asocia un objeto visualde tipo QTableView a travs del cual se presenta y modifica la informacin del modelo. De esta forma, en la capade negocios se hace el procesamiento de los datos y la capa de presentacin funge como interfaz con el usuario.7-8Una vez que se tiene el diseo de clases, se hace un anlisis ms profundo de los casos de uso, pero desde unaperspectiva diferente, ya que se analiza la secuencia de interacciones cronolgicas entre objetos individuales delsistema para que pueda ejecutarse completamente cada caso de uso.913/10/2014 Ingeniera Electrnica, Automtica y Comunicaciones - Sistema de control de acceso e interbloqueo para el Centro de Inmunologa Molecularhttp://scielo.sld.cu/scielo.php?pid=S1815-59282013000300008&script=sci_arttext 18/22La figura 13 muestra la secuencia de eventos para el caso de uso Conectar Controlador. En este caso, en laventana principal de la aplicacin, objeto MainWindow de la clase TMainWindow, se brinda la posibilidad a travs deun botn de que el usuario ordene la conexin con el controlador.Inmediatamente se muestra una ventana dedilogo donde se da la posibilidad de especificar los parmetros de la conexin, dgase puerto de la PC, velocidad,etc. Esto ltimo se hace creando un objeto de tipo ConectionDialog heredada de QDialog que presenta los camposasociados a los parmetros mencionados y devuelve sus valores una vez que el usuario acepte en la ventana dedilogo.Una vez que el objeto MainWindow recibela informacin, entonces se crea un objeto de la clase TController yejecuta el mtodo openProtocol de dicho objeto para abrir la conexin con los parmetros especificados. Acontinuacin, el objeto Controller ejecuta el comando readHoldingRegister perteneciente al protocolo Modbus, atravs del cual se lee la configuracin actual del controlador conectado. Con esta informacin, entonces, se procedea actualizar el modelo de los datos, con lo cual se enva una seal o mensaje para la actualizacin automtica de lavista por el mecanismo de Qt para el patrn M-V-C antes mencionado.10El caso de uso Agregar Cdigo, cuya secuencia se ilustra en la figura 14, se inicia una vez que el usuario presioneel botn correspondiente de la ventana principal. Cuando el objeto MainWindow recibe la seal de este evento creaun objeto de la clase EditDialog heredada de QDialog donde se brindan los campos necesarios para la edicin delnuevo cdigo a agregar. Una vez que el usuario termine la edicin, entonces se actualiza el modelo de los datosperteneciente al objeto Controller y ste, automticamente, lanza una seal para la actualizacin de los mismos enla vista.7La secuencia para el caso de uso Editar Cdigo es similar a la de Agregar Cdigo, la diferencia estriba en un ligerocambio en el modo de actualizar los datos en el modelo, pues aqu no se agrega un nuevo registro sino que sedetermina cual es el registro que se quiere cambiar, y se procede a su modificacin.Por ltimo, la figura 15 muestra la secuencia de eventos para el caso de uso Actualizar Controlador. Cuando elusuario lo especifique mediante botn en la ventana principal, el objeto MainWindow instancia la funcin actualizardel objeto Controller.Esta funcin ejecuta el comando writeMultipleRegisters correspondiente al protocolo Modbus,el cual escribe la configuracin de los datos presentes en el modelo en la memoria de configuracin del controladorconectado.Aplicacin de parametrizacin del controlador de interbloqueoEn este caso el producto final es similar al del controlador de puerta, y la diferencia estriba en la presentacin de lainformacin.Es decir, las ventanas son las mismas excepto que los elementos que las conforman cambian. De estaforma, la ventana principal, en lugar de presentar una tabla para representar los cdigos del controlador de puerta,en este caso lo que se tiene es un rbol, donde en cada entrada se muestran las salidas que dependen de ella.Igualmente, esta informacin est basada en un modelo que forma parte de una clase TController perteneciente ala capa de negocio. De la misma forma, la ventana de dilogo para la edicin de la configuracin cambia sucomposicin.13/10/2014 Ingeniera Electrnica, Automtica y Comunicaciones - Sistema de control de acceso e interbloqueo para el Centro de Inmunologa Molecularhttp://scielo.sld.cu/scielo.php?pid=S1815-59282013000300008&script=sci_arttext 19/22Los requisitos de usuario son similares exceptuando el requisito funcional dos del controlador de puerta, pues en elcaso del controlador de interbloqueo no se agregan ni se editan cdigos, simplemente se relacionan salidas con lasentradas. Por tanto el diagrama de casos de uso tiene un ligero cambio al eliminarse los casos de uso agregar yeditar cdigo, e incorporar un nuevo caso de uso llamado Editar Configuracin, lo cual se ilustra en la figura 16. Lasecuencia de eventos para este caso de uso es similar al de agregar y editar cdigo en el controlador de puerta,solo que la ventana de edicines diferente. RESULTADOS Despus de la correspondiente simulacin de los controladores utilizando el software Proteus, se procedi almontaje del hardware de los mismos en PICSCHOOL, que como se dijo anteriormente, consiste en una especie deprotoboard donde se pueden probar los prototipos de aplicaciones basadas en microcontroladores PIC. El resultadoesperado para el controlador de puerta, era que ste recibiera correctamente el cdigo Wiegand enviado desde unlector de proximidad perteneciente al sistema Kantech. Tambin deba comunicarse correctamente con laaplicacin de parametrizacin utilizando protocolo Modbus y, segn la configuracin establecida a travs de esta13/10/2014 Ingeniera Electrnica, Automtica y Comunicaciones - Sistema de control de acceso e interbloqueo para el Centro de Inmunologa Molecularhttp://scielo.sld.cu/scielo.php?pid=S1815-59282013000300008&script=sci_arttext 20/22aplicacin, proveer el acceso a los cdigos programados. As mismo, en el caso del controlador de interbloqueo loque se persegua era que respondiera correctamente en la interaccin entre las entradas y las salidas, segn previaconfiguracin realizada a travs de la aplicacin de configuracin.Las pruebas se fueron realizando de forma gradual, o por pasos. En el caso del controlador de puerta, primero secomprob la comunicacin Modbus a travs de una aplicacin de terceros, que se comporta como maestro,ejecutndose en la PC conectada al kit a travs del puerto serie RS232. Con este software se pudo comprobar quelas respuestas del controlador a los comandos que se le enviaban eran correctas. Seguidamente se procedi a lautilizacin de la aplicacin de parametrizacin desarrollada y se conect un lector de proximidad del sistemaKantech, que transmite usando protocolo Wiegand. Se pudo comprobar que los cdigos configurados yprogramados en el controlador a travs de la aplicacin de parametrizacin, eran aceptados por el controladorcomo correctos inmediatamente despus de ser ingresados a travs del lector, comportndose as correctamenteen su papel como controlador de puerta.De la misma forma, para el controlador de interbloqueo se utiliz el software de terceros para comprobar lacomunicacin Modbus. Se acoplaron las entradas a los conmutadores presentes en el PICSCHOOL y las salidas alos LEDs. De esta forma se pudo verificarque las salidas se activaban con la activacin de las entradas respetandola configuracin programada a travs del software que se desempeaba como maestro Modbus. Luego,continuando con las pruebas, se sustituy el software de terceros por la aplicacin de parametrizacin desarrollada,y se comport igualmente. Por tanto, se puede concluir que el desarrollo de los controladores a escala piloto sellev a cabo satisfactoriamente ydesempeando su labor correctamente, como se esperaba.En cuanto a la utilizacin de los microcontroladores, en el desarrollo del controlador de puerta se usaron 19 lneasde entrada/salida de las 32 disponibles en el PIC16F877, pero las restantes pueden ser utilizadas en futurasexpansiones o adaptaciones si se quiere conectar los controladores en red, por ejemplo. Se us el canal I2C, ascomo el USART y tres fuentes de interrupcin. El firmware ocup el 57% de la memoria ROM o de programa yutiliza el 65% de la RAM, o memoria de datos. En el caso del controlador de interbloqueo, que posee unmicrocontrolador similar, igualmente se utiliz una parte del total de entrada/salida disponibles, en este caso 18.De la misma forma las lneas restantes pueden ser requeridas para una expansin por necesidad de encuestar unmayor nmero de entradas, o accionar mayor cantidad de salidas, por citar dos ejemplos. Tambin se us el canalUSART y solo una fuente de interrupcin. El firmware ocup el 20% de la ROM y utiliza un 39% de la RAM.4 CONCLUSIONES En el trabajo se ha expuesto la concepcin y desarrollo de un sistema de control de acceso e interbloqueo, lo cualincluy la puesta a punto, tanto de los controladores como de la aplicacin de parametrizacin. Estos elementosfueron testeados arrojando resultados satisfactorios. El sistema traer diversas ventajas y beneficios en suimplementacin en el CIM, como sonun mayor soporte tcnico y unamayor personalizacin. El desarrollo de la13/10/2014 Ingeniera Electrnica, Automtica y Comunicaciones - Sistema de control de acceso e interbloqueo para el Centro de Inmunologa Molecularhttp://scielo.sld.cu/scielo.php?pid=S1815-59282013000300008&script=sci_arttext 21/22aplicacin de parametrizacin se hizo teniendo en cuenta una estructura por capas, as como la utilizacin delpatrn de diseo M-V-C, garantizando un mayor mantenimiento y reutilizacin del cdigo, elementos claves en unabuena ingeniera de software. En el desarrollo de los controladores, igualmente, se tuvieron en cuenta diversosfactores para un mayor rendimiento y compatibilidad del sistema, como son: Empleo de protocolo Wiegand en la comunicacin con los lectores. Empleo de protocolo Modbus en la comunicacin con la aplicacin de parametrizacin que corre en la PC. Empleo de memoria externa para almacenar la configuracin en el caso del controlador de puertas, lo cual facilitael mantenimiento o sustitucin de los mismos al posibilitar la importacin/exportacin de los datos.El sistema obtenido funciona de forma autnoma. No obstante, la forma en la que fue diseado brindaposibilidades de expansin sin mucha complicacin, para integrarlo en un sistema de supervisin o SCADA con laimplementacin de una red Modbus. REFERENCIAS 1. Pedreira, M. Supervisin del acceso a locales del Centro de Inmunologa Molecular. Tesis de diploma. CUJAE,2008.2. Cosentino, L. Control de Accesos, Elementos de Identificacin. RNDS. 2008, 168 p.3. Pefhany, S. Modbus Protocol. 2000.4. Microchip Technology Inc. PIC16F87XA Data Sheet. 1998.5. Breijo, E.G. Compilador C CCS y Simulador Proteus para Microcontroladores Pic. Mxico: Marcombo, 2008. 276p. ISBN: 978-970-15-1397-2.6. Eeles, P. Layering Strategies. Cupertino: Rational Software, 2002. 13 p.7. Thelin, J. Foundations of Qt Development. New York: Apress, 2007. 528 p. ISBN: 978-1-59059-831-38. Gamma, E. , Helm, R., Johnson, R., Vlissides, J. Design Patterns: Elements of Reusable Object-OrientedSoftware. 1997. 431 p.9. Schmuller, J. Aprendiendo UML 24 horas. 2004. 398 p.10. FieldTalk Inc. FieldTalk Modbus Master C ++ Library Software manual. 2009.13/10/2014 Ingeniera Electrnica, Automtica y Comunicaciones - Sistema de control de acceso e interbloqueo para el Centro de Inmunologa Molecularhttp://scielo.sld.cu/scielo.php?pid=S1815-59282013000300008&script=sci_arttext 22/22 Recibido: Julio 2013 Aprobado: Septiembre 2013 2014Facultad de Elctrica, Instituto Superior Politcnico Jos Antonio Echeverra, CujaeCalle 114 No. 11901. e/ Ciclova y Rotonda. Marianao 15.La Habana, Cuba. CP [email protected]