Sistema de control d’accés i interbloqueig per al Centre d’Immunologia Molecular

ARTICLE ORIGINAL

Sistema de control d’accés i interbloqueig per al Centre d’Immunologia Molecular

Access control and interlocking system for the Molecular Immunology Center

Eng. Marcel Pedreira Marcel1, Dr. Valery Moreno Vega2

1. Centre d’Immunologia Molecular, l’Havana, Cuba, Correu electrònic: [email protected]. de 2. Departament d’Automàtica, Facultat d’Enginyeria Elèctrica, Institut Superior Politècnic José Antonio Echeverría, l’Havana, Cuba. Correu electrònic: [email protected].

RESUM

En el present treball es mostra el disseny i desenvolupament d’un sistema de control d’accés i interbloqueig al centre d’Immunologia Molecular causa que els sistemes comercials d’aquest tipus instal·lats en aquest centre no compleixen totes les necessitats. El sistema proposat consta de dues targetes electròniques: el controlador de portes i el controlador de interbloqueig, ambdues van ser desenvolupades a força de microcontrolador PIC de Microchip programats usant el compilador PCW de CCS. Aquestes targetes són capaços de comunicar-se amb dispositius de lectura de codi de barres, proximitat, biomètrics o qualsevol altre que transmeti per protocol Wiegand. A més han de ser configurades perquè operin de manera desitjada, per això va ser desenvolupada una aplicació programari de parametrització utilitzant Qt com framework, i implementant pràctiques eficients d’enginyeria de programari. Aquesta aplicació es comunica amb els controladors via RS232 amb protocol Modbus.

Paraules clau: control d’accés, interbloqueig, microcontrolador, Modbus, wiegand, enginyeria de programari.

ABSTRACT

This paper shows the design and development of an access control and interlocking system for the Molecular Immunology Center because the commercial systems installed in this center do not meet all needs . The proposed system consists of two electronic boards: the door controller and the interlock controller, both were developed based on Microxip ‘s PIC microcontroller programada using CCS PCW compiler. These cards are able to Communicate with devices like barcode reading, proximity, Biometric or any other that transmit by Wiegand protocol. They must also be configured to operate in a desired manner and therefore a programari application was developed using Qt es framework, and implementing effective practices of programari engineering. This application communicates with the controllers via RS232 using Modbus protocol.

Key words: access control, interlocking, microcontroller, Modbus, wiegand, programari engineering.

INTRODUCCIÓ

El concepte de control d’accés s’ha utilitzat en diversos contextos, yfrecuentemente s’associa a conceptes de seguretat informàtica i xarxes d’ordinadors. No obstant això, en aquest treball es fa al·lusió a sistema vinculat a les portes d’una edificació. Sota aquests principis, un sistema de control d’accés administra l’ingrés a àrees restringides i evita que persones no autoritzades o indesitjables tinguin la llibertat d’accedir a determinats locals. Així mateix es pot tenir coneixement de l’assistència de personal, horaris d’ingrés i sortida, i també poder tenir un control històric d’entrades de persones a totes les àrees.

Els sistemes de control d’accés estan formats per diversos dispositius o components. Els controladors de porta constitueixen l’element fonamental o d’intel·ligència en un sistema de control d’accés. D’altra banda, els dispositius de lectura s’utilitzen per a la identificació de l’usuari a través d’alguna tecnologia, com pot ser codi de barres, radiofreqüència o biometría.Los elements d’acció final es encargandel bloqueig físic de les portes, éstospueden ser hembrillas o panys electròniques, electroimants, etc. A més, aquests sistemes presenten, normalment, un programari de supervisió que opera sobre tots els controladors disposats en xarxa, i d’aquesta manera realitzar tasques de monitorització i control.Es possible també integrar circuits tancats de televisió, sistemes contra incendis, contra intrusos i mecanismes de interbloqueig. Mitjançant aquests últims, es pot bloquejar l’accés a una àrea comú entre dues portes quan una d’elles s’ha obert.

El Centre d’Immunologia Molecular (CIM), pertanyent a el pol científic a l’oest de la capital cubana, és una institució especialitzada en la investigació, desenvolupament i manufactura de productes biofarmacèutics per a la lluita contra el càncer a partir de el cultiu de cèl·lules de mamífers d’acord amb les regulacions de les bones pràctiques de producció (GMP) .Aquest Centre, a l’igual que altres de l’pol dedicats a la biotecnologia, posseeix àrees de producció denominades sales netes especialment dissenyades per obtenir baixos nivells de contaminació .Aquestes sales tenen els seus paràmetres ambientals estrictament controlats: partícules en l’aire, temperatura, humitat, flux d’aire, pressió interior, il·luminació etc.1

El sistema de control d’accés juga un important paper en aconseguir tal objectiu . Actualment en el CIM es troben en funcionament dos sistemes de control d’accés i interbloqueig de diferents fabricants: KANTECH i Siemens. Aquests sistemes tenen les següents desavantatges en la seva aplicació:

· Arquitectura tancada. Hi incompatibilitat pel que fa a protocols de comunicació, bases de dades etc. Per tal motiu la informació aquesta fragmentada o dividida la qual cosa dificulta una gestió a nivell central.

· Suport tècnic. S’han presentat dificultats amb l’obtenció de la targeta de proximitat i actualment es troben esgotades existint treballadors amb necessitat d’entrar a determinada àrea que no compten amb el mitjà per fer-ho.

· Tot i ser sistemes ben eficients i robustos, s’han donat circumstàncies particulars en què no són eficaços o incapaços de resoldre el problema utilitzant el sistema per si només amb les opcions que porta per definició.

Per aquest motiu s’ha plantejat la necessitat d’implementar un nou sistema de control d’accés i interbloqueig, que sigui desenvolupat totalment en el CIM.Éste permetrà una gestió central de la informació i un major nivell de configuració, personalització i expansió, permetent suplir les necessitats no resoltes pels sistemes de pagament instal·lats en l’actualitat.

En aquest treball es descriu el procés de desenvolupament de sistema proposat per donar solució a la problemàtica anterior. A la secció 2 es dóna una descripció, a grans trets, de l’esmentat sistema posant l’accent en els elements que el componen així com els protocols utilitzats. A la secció 3 es detalla el disseny dels controladors, digui maquinari i firmware, requerit per al seu funcionament. La secció 4 aborda tot el procés de desenvolupament de l’aplicació programari de parametrització de cada un dels controladors. Finalment, en el punt 5 es descriuen els resultats obtinguts en la implementació de sistema a escala pilot.

DESCRIPCIÓ GENERAL delsistema PROPOSAT

La solució presentada consisteix en un sistema compost per dos elements fonamentals: el controlador de porta i el controlador de interbloqueig. Tots dos són targetes electròniques amb finalitats diferents dins de el sistema.

La funció de el controlador de porta és, com el seu nom indica, el control de les portes. Un controlador d’aquest tipus pot controlar un màxim de dues portes. D’aquesta manera s’encarrega de rebre la sol·licitud d’accés que ve de l’element d’identificació, determinar si el codi arribat té accés per la porta especificada segons prèvia configuració i, de ser positiva o vàlida, llavors desbloquejar la porta en qüestió. A la figura 1 es mostra la connexió d’aquest controlador. Cal destacar que aquest és capaç de rebre la codificació enviada des de qualsevol lector que implementi protocol Wiegand format 26. Aquest protocol és obert i es considera un estàndard dins dels sistemes de control d’accés. D’aquesta manera es garanteix la comunicació amb una àmplia gamma de dispositius de lectura que existeixen en l’actualitat.

Un altre element associat a el sistema és un dispositiu per detectar el cas que un usuari desitgi sortir d’un local a través d’ alguna porta controlada, és a dir, per la part contrària en on es troba situat el lector.Estos casos es denominen REX (Request for Èxit) en la majoria dels sistemes de control d’accés, i per això s’inclou en el sistema un element maquinari que notifiqui, a través d’un senyal, aquesta acció a el controlador. Aquest elementopuede ser un sensor de presència o un simple botón.2

El controlador de interbloqueig s’encarrega d’afegir la capacitat de interbloqueig a el sistema. Aquest mecanisme consisteix en el bloqueig d’una o més portes després de la detecció de l’obertura d’una porta determinada. Això es realitza, per descomptat, amb una prèvia configuració de l’controlador, on s’estableix aquesta relació o interacció entre les portes. Aquest sistema pot tenir molts usos o aplicacions i, en el cas de l’CIM, s’utilitza per disminuir els riscos de contaminació creuada, concepte associat a les GMP en el qual una persona sortint de l’àrea neta pugui induir contaminació a la que està entrant. La figura 2 mostra la connexió d’aquest dispositiu.

Aquests dispositius han de ser configurats, o parametritzats, perquè realitzin la funció desitjada. Per a això es desenvolupa una eina de programari que es comuniqui amb aquests a través d’un port RS-232 utilitzant un PC. El protocol de comunicació entre l’aplicació i els dispositius és Modbus.Es va implementar aquest protocol obert perquè els controladors siguin capaços de comunicar-se amb el major nombre de programaris possible, facilitant d’aquesta manera futurasimplementaciones o facilitats a el sistema, com la possibilitat de supervisió central a través d’un SCADA, per citar un exemple.

Les dues targetes estan basades en microcontroladors PIC de Microchip, per la gran difusió que existeix d’aquests dispositius i per la disponibilitat d’aquests amb les seves eines associades per implementar i verificaraplicaciones d’aquest tipus al CIM. La programació dels microcontroladors es va fer utilitzant el compilador PCW de CCS, per motius de coneixement de l’autor i també per disponibilitat legal del programari en el Centre. Les proves de la configuració de maquinari dels dispositius es van realitzar utilitzant el PICSCHOOL, eina consistent en una maqueta o protoboard per a la posada a punt d’aplicacions utilitzant microcontroladors PIC. L’aplicació de parametrització va ser desenvolupada utilitzant el framework Qt, per ser una poderosa plataforma de codi obert molt difosa en aquests moments.

Protocol Wiegand

Aquest protocol és unidireccional i permet el traspàs de dades des d’un lector cap al controlador. Tot i que va ser concebut per als lectors d’efecte Wiegand, donada la seva eficiència en aquest àmbit, ha estat implementat també en lectors amb una altra tecnologia, com els de proximitat o radiofreqüència i, fins i tot, en teclats numèrics. El protocol estableix línies de dades, alimentació i senyalització. Les línies de senyalització són les usades per al maneig de la botzina i els leds, que normalment posseeixen aquests lectors, mentre que la transmissió de dades es realitza a través de tres fils:

· DATA1: Línia per enviar els uns lògics.

· DATA0: Línia per enviar els zeros lògics.

· GND: Línia de terra de referència de tots dos.

La figura 3 representa gràficament aquest sistema de transmissió. En estat de repòs les línies DATA1 i DATA0 estan a nivell alt. Per transmetre un bit en `1’se envia un pols a nivell baix de 50 is de durada per la línia DATA1, mentre DATA0 roman en alt. Per contra, per transmetre un bit en`0 ‘el que es fa és enviar un pols baix, de la mateixa durada, però per la línia DATA0 mentre la línia DATA1 roman en alt. La separació entre cada pols i el següent és d’uns 2 ms.

Mitjançant aquest sistema es pot transmetre qualsevol nombre de bits. Existeix, però, un consens internacional per utilitzar un determinat nombre de bits i la interpretació dels mateixos. El format més utilitzat, i per tant l’empleat en aquest projecte, és el Wiegand26, que especifica que el primer bit (B0) és la paritat parell dels primers 12 bits transmesos (B1: 12), els vuit següents (B1: B8 ) constitueixen un enter de 8 bits denominat FacilityCode, els 16 bits següents (B9: B24) representen un enter de 16 bits anomenat UserCode i l’últim bit (B25) és la paritat imparell dels últims 12 bits transmesos (B13: B24). 2

protocol Modbus

El protocol Modbus està basat en l’arquitectura mestre / esclau. Dissenyat el 1979 per l’empresa Modicon per a la seva gamma de PLCs, s’ha convertit en un protocol de comunicacions estàndard de facto en la indústria i és el que gaudeix de major disponibilitat per a la connexió de dispositius inteligentes.Ésto és degut fonamentalment a les següents raons :

· És públic.

· La seva implementació és fàcil i requereix poc desenvolupament.

· Gestiona blocs de dades sense suposar restriccions.

De vegades, en la literatura es refereix a Modbus com una estructura de missatge, pel fet que no especifica una capa física, per loque es pot implementar usant diferents normes, com RS232, RS422, RS485 i, fins i tot , sobre Ethernet. Existeixen dues variants amb diferents representacions numèriques de les dades i detalls de el protocol lleugerament desiguals: Modbus RTU i Modbus ASCII.También ha una versió Modbus TCP, però més aviat és el format RTU establint la transmissió mitjançant paquets TCP / IP. La variant utilitzada en aquest projecte és la RTU.

En una xarxa Modbus cada dispositiu té una direcciónúnica. Qualsevol dispositiu pot enviar ordres, encara que l’habitual és permetre-ho només a l’mestre i els esclaus es limiten a respondre les sol·licituds d’aquest. Un missatge Modbus enviat des del mestre cap a un esclau conté la direcció de l’esclau, la comanda o ordre a realitzar, les dades associades a la comanda, i una informació redundant o check sum per assegurar la integritat de la recepció.El protocol estableix una gran varietat de comandaments o funcions, i en aquest projecte només són utilitzats els associats a la modificació de la valor de diversos dels registres de l’esclau (writeMultipleRegisters) i la sol·licitud de l’contingut d’aquests registres (readHoldingRegisters). Cal destacar que l’estàndard oficial estableix registres de 16 bits entre altres especificaciones.3

Després, com ja es va referir anteriorment, en aquest projecte s’utilitza protocol Modbus RTU sobre RS232, on la PC és el dispositiu mestre i els controladors són els esclaus, encara que es connecta un alhora. Per aquest motiu, no hi ha necessitat d’especificar adreces per a cada un dels esclaus, ja que tots els missatges enviats pel mestre són broadcast o de difusió (direcció 0) i només seran rebuts per l’únic esclau connectat a aquest. Tanmateix, la implementació d’aquest protocol ofereix la possibilitat d’expandir el sistema resultant per d’una manera fàcil, sense molts canvis significatius, introduir un sistema de supervisió o SCADA i connectar els controladors conformant una xarxa Modbus.

DESENVOLUPAMENT DELS CONTROLADORS

Com es va assenyalar prèviament, les targetes que representen els controladors que componen el sistema proposat estan basades en microcontroladors PIC. En aquest cas es va utilitzar un 16F877 per a cada targeta. Aquestés un microcontrolador de 8 bits, pertanyent a la gamma mitjana d’aquesta família i que compleix perfectament amb els requeriments de les dues aplicacions, digui quantitat de memòria, nombre d’entrades i sortides entre altres aspectes. A continuació s’exposa la configuració circuital de les esmentades targetes, així com el firmware programat en els microcontroladors per al seu adequat funcionament.

Maquinari de el controlador de porta

A la figura 4 es mostra un esquema de la configuració de maquinari de la targeta que representa el controlador de porta.

Es van utilitzar les línies de l’nible alt del Port B per a la recepció de les dades enviades des dels dos lectors que es poden connectar a un controlador doncs, segons el descrit anteriorment sobre el protocol Wiegand, cada lector utilitza dues línies per a la transmissió de les dades: DATA0 i DATA1. Es va connectar d’aquesta manera per utilitzar la interrupció per canvi d’estat en les quatre entrades més significativasdel port B. D’aquesta manera, qualsevol variació en algun d’aquests pins interromp l’operació de l’microcontrolador coincidint amb l’arribo d’algun bit pertanyent a el tren de polsos corresponent a un codi enviat per un lector. Sis línies d’entrada / sortida de l’microcontrolador, aquest cop configurades com sortides, van ser utilitzades per al maneig dels lectors. En aquest cas es van reservar per a la connexió de tres fils de senyalització que proveeixen la majoria dels lectors que implementen l’esmentat protocol per a l’activació dels leds vermell i verd, així com la botzina.

La memòria externa es va connectar utilitzant interfície I2C, yes l’encarregada d’emmagatzemar els codis dels usuaris autoritzats a accedir a alguna de les portes pertanyents a el controlador en qüestió. Es va decidir que la memòria fos externa per dues raons fonamentals:

1. La memòria EEPROM interna de l’microcontrolador no compleix amb les necessitats d’espai.

2. Facilita el manteniment i reconfiguració de sistema a l’ésser possible l’exportació / importació de les dades.

L’estructura d’aquesta memòria es mostra a la figura 5. Com es pot apreciar, s’utilitzen quatre localitzacions per a un codi de usuari.En la primera es guarda el Facility Code, que com es va dir anteriorment és un nombre de 8 bits. A continuació s’emmagatzema el User Code, que és de 16 bits, per tant es fan servir dues localitzacions per a això, en la primera d’aquestes la part alta i en la segona la part baixa d’aquest número. Finalment la quarta localització de el codi l’ocupa la política d’accés, que no és més que un nombre que identifica el tipus d’accés que té l’usuari propietari de el codi en qüestió. A la Taula 1 es relacionen els tipus d’accés i el seu corresponent número de política d’accés.

El nombre màxim d’usuaris per a un controlador es va fixar a 256, quantitat que satisfà perfectament les necessitats de la aplicación.Luego, amb l’estructura abans exposada, una memòria EEPROM I2C de 1Kx8 localitzacions és necessària. Per a aquest objectiu es va utilitzar el circuit integrat ST24W08M6R que constitueix una memòria amb les característiques requerides.

El canal asíncron de port sèrie, o USART de el microcontrolador, es va reservar per a la connexió de la targeta a un PC i realitzar la configuració o parametrització de el controlador per aquesta via.És per això que les línies de port sèrie van ser acoblades a un MAX232, circuit integrat que adapta els nivells de voltatge que maneja el microcontrolador als específics de la norma RS-232. Per aquesta via es comunica l’ordinador amb el microcontrolador usant protocol Modbus.

Es van usar dues línies més d’entrada / sortida de l’microcontrolador (configurades com sortides) per a l’accionament de les portes. Aquest pot ser basat en diversos tipus de tancament electrònic: femella, electroimant etc.i, en qualsevol cas cal destacar que aquests elements són alimentats amb 24VDC o 12VDC. Després es va acoblar a aquestes dues sortides de l’microcontrolador el circuit necessari per a l’accionament a força de relays.

Altres tres línies d’entrada / sortida de l’microcontrolador (aquest cop configurades com entrades) van ser usades per a detectar els senyals REX que, com es va dir anteriorment, poden procedir d’un botó o un sensor de presència. En qualsevol cas ha de connectar el dispositiu sensor a una de les entrades destinades per això, en dependència de la porta que es tracti. La configuració de maquinari de el controlador de porta inclou un circuit de condicionament d’aquests senyals digitals a les entrades de el microcontrolador, així com una lògica perquè una activació de qualsevol d’aquests senyals interrompi a la mateixa per la línia corresponent a la interrupció externa.4- 5

Firmware de el controlador de porta

el paper de l’controlador de porta és la recepció de el codi enviat des de qualsevol dels dos lectors a través del protocol Wiegand i comparar-lo amb els emmagatzemats a la memòria externa perquè, en cas de trobar coincidència i s’apliqui la política d’accés, es procedeixi a donar l’accés a la porta en qüestió. El firmware de l’microcontroladorse va obtenir utilitzant el compilador PCW de CSS, com ja es va referir anteriorment, utilitzant llenguatge C per a la programació. Aquest compilador posseeix diverses facilitats per al programador, en aquest treball es van utilitzar els drivers que brinda aquesta eina per al maneig de dispositius I2C i per a la implementació d’un dispositiu Modbus esclau respectivament. Després el programa està seccionat fonamentalment en tres funcions:

1. La funció principal: main.

2. La funció d’atenció per interrupció per canvi d’estat en qualsevol dels quatre pins més significatius del port B.

3. La funció d’atenció per interrupció externa.

A la figura 6 es mostra el diagrama de flux de la funció principal. En aquesta funció el que es fa és enquestar constantment per l’arribo d’algun missatge Modbus. En cas afirmatiu, s’identifica quin és l’ordre enviada des del mestre a través de l’missatge en qüestió, yse realitza l’acció corresponent, que no és més que la lectura o escriptura dels registres, i s’envia una resposta a l’mestre. Els comandaments que s’utilitzen en aquesta aplicació són read Holding Register, per a la lectura per part de l’mestre dels registres que emmagatzemen els codis de usuariodel controlador connectat, i writeMultipleRegisters en el cas que es vulgui modificar el contingut d’aquests registros.3

la figura 7 ofereix un diagrama de flux de la funció d’atenció a la interrupció per canvi d’estat en els quatre bits més significatius del port B. l’objectiu fonamental d’aquesta funció és l’actualització de la memòria intermèdia de codi Wiegand, doncs s’executarà amb l’arribada d’algun bit corresponent a aquest codi. Aquesta interrupció es pot presentar tant per un flanc de caiguda com per un de pujada en qualsevol dels pins més significatius del port B. Després, analitzant el funcionament de l’protocol Wiegand, exposat anteriorment, es pot inferir que l’arribo d’un bit per alguna de les línies de dades, representat per un pols a nivell baix, provoqués dues interrupcions per canvi d’estat al pin connectat a aquesta línia. Per aquest motiu es va decidir realitzar l’actualització de la memòria intermèdia de codi Wiegand només amb la detecció de flanc de baixada de l’pols corresponent a l’arribada d’un bit, per tant és necessari primerament llegir el port i descartar els possibles casos en què la interrupció hagi estat motivada per un flanc de pujada. En cas afirmatiu, és a dir que la interrupció hagi estat motivada per un flanc de baixada, s’identifica el pin pel qual es produeix el pols per d’aquesta manera actualitzar el buffer de codi amb ‘1’ o ‘0’ segons correspongui (DATA0 o DATA1) i establir la porta d’on ve el codi. Finalment, es comprova si es va arribar a la fi de el codi, en aquest cas s’ha de determinar si el codi arribat està autoritzat, és a dir, si està emmagatzemat a la memòria de codis de usuari.En cas afirmatiu, es concedeix l’accés si s’aplica la política d’accés.

La funció d’atenció a la interrupció externa l’únic que fa és determinar per quina de les dues portes es va produir el REX i després permetre l’accés. S’entén per concedir accés per una porta, l’acció de desbloqueig de la mateixa per part de l’controlador per un període de temps de cinc segons.

Maquinari de el controlador de interbloqueig

A la figura 8 es mostra un esquema de la configuració de maquinari de la targeta que representa el controlador de interbloqueig.

Com es pot apreciar, el maquinari de el controlador de interbloqueig és molt més simple comparat amb el de el controlador de porta. Està format, en la seva estructura bàsica, per vuit entrades digitals amb els corresponents circuits de condicionament a les entrades de el microcontrolador, i vuit sortides a relay. A l’igual que el controlador de porta, s’usa el canal USART de el microcontrolador per a la comunicació amb la PC a través de protocol Modbus, per tant també és necessari l’ús de l’circuit integrat MAX232 explicat anteriormente.4-5

Firmware de el controlador de interbloqueig

la funció bàsica d’el controlador de interbloqueig no és més que enquestar les entrades i, en dependència del que s’ha llegit i la configuració prèvia realitzada, activar les sortides corresponents. La configuració es realitza a través d’una aplicació de parametrització que corre a un PC ique es connecta a la targeta via RS-232, la quals guardada a la memòria EEPROM interna de l’microcontrolador. L’estructura d’aquesta memòria es mostra a la figura 9. Com es pot apreciar, en les localitzacions de la mateixa s’emmagatzema un nombre que codifica les sortides que han d’activar-quan s’activa alguna entrada.De aquesta manera, en les dues primeres localitzacions es troba la codificació de les sortides per a l’entrada 0, a continuació la de l’entrada 1 i així successivament. Es van usar dues localitzacions per a cada entrada a causa de que el protocol Modbus utilitza registres de 16 bits.

L’algoritme de la funció principal de el programa (main) es representa a la figura 10. Està basat fonamentalment en la constant lectura del port que constitueix les entrades de el controlador per després mapearla amb la configuració emmagatzemada en la memòria i, d’aquesta manera, conformar el resultat que després es treu pel port de sortida. A continuació es enquesta per l’arribada d’un missatge per protocol Modbus i, en cas afirmatiu, es procedeix de la mima manera que al programa de el controlador de porta. És a dir, s’identifica la comanda enviat des del mestre a través de l’missatge rebut, es realitza l’acció corresponent i s’envia una resposta a l’mestre.

DESENVOLUPAMENT DE L’APLICACIÓ D’PARAMETRITZACIÓ

Per a la configuració dels controladors va ser necessari desenvolupar una aplicació de programari perquè, de manera fàcil, amigable i intuïtiva, l’operador portés a terme aquesta parametrització. Aquesta aplicació s’ha de comunicar fent ús del port sèrie RS-232 de PC amb els controladors per, d’aquesta manera, escriure i llegir la configuració implementant protocol Modbus. El desenvolupament es va dur a terme utilitzant el framework Qt, per les raons abans exposades, amb C ++ com a llenguatge de programació.

Es va decidir implementar una aplicació de parametrització diferent per a cada controlador per raons de comoditat i claredat. No obstant això les dues són molt similars, ysolamente difereixen en petits aspectes pel que fa a la forma de gestionar les dades i representar la informació. Això s’il·lustrarà millor a mesura que es vagi abordant el procés de desenvolupament de les aplicacions, la qual cosa es descriu a continuació.

Aplicació de parametrització de el controlador de porta

Per al cas de el controlador de porta es va procedir, en un inici, a fer un aixecament dels requisits d’usuari.

Requisits funcionals:

1. L’aplicació ha de connectar-se amb el controlador, llegir la configuració existent i representar la informació.

2. L’usuari ha de tenir la possibilitat d’agregar i modificar els codis, així com la política d’accés.

3. L’aplicació ha d’actualitzar el controlador quan es sol·liciti, per d’aquesta manera descarregar-tots els possibles canvis en la configuració realitzats per l’usuari.

Requisits no funcionals:

1. Ús d’idioma espanyol en tot el projecte.

2. Utilitzar un format i estil uniforme en totes les finestres de l’aplicació.

A partir d’l’aixecament dels requeriments d’usuari es defineixen, llavors, els casos d’ús, el diagrama es mostra a la figura 11. L’actor de el sistema és l’administrador, que és l’únic operador de sistema capaç de modificar i monitoritzar la configuració dels controladors.

A partir dels casos d’ús es passa llavors a l’etapa d’anàlisi on es defineixen les classes que formaran part de l’arquitectura com a tal de programari i les relacions entre si. Per al disseny de l’aplicació es va usar una estructura de dues capes, composta per la capa de presentació, que representa la interfície amb l’usuari, i la capa de negocis on es realitza la lògica de l’aplicació així com l’accés a dades.

la figura 12 mostra un diagrama de classes de l’aplicació. La capa de negocis està formada per una sola classe: TController, que encapsula totes les operacions a realitzar amb els controladors. L’accés a dades es realitza usant la llibreria de codi obert FieldTalk, que possibilita un maneig senzill de el protocol Modbus sense haver de dominar molts detalls de la mateixa. La capa de vista, o presentació, està estretament relacionada amb el framework de Qt, el qual brinda les classes necessàries per al desenvolupament de la interfície d’usuari, o GUI de l’aplicació de programari. La interfície està composta per una finestra principal, que hereta de la classe QMainWindow de la llibreria de Qt.Así mateix es creen dues finestres de forma dinàmica de l’tipus QDialog, per als casos en què l’operador desitgi editar els codis o establir els paràmetres de la connexió amb el controlador respectivamente.6-7

Cal destacar que la classe TController, que és des d’on es produeix el accés a les dades a través de la llibreria FieldTalk, té un membre que constitueix el model de les dades, digui codis i política d’accés, que es mostren a la vista. Aquí s’ha utilitzat un patró de disseny molt difós en el desenvolupament de programari anomenat model vista controlador (M-V-C), on se separa el processament de les dades de la seva presentació facilitant així la reusabilitat i el manteniment. El framework Qt brinda una implementació més fàcil d’aquest patró, de manera que es crea un model de les dades creant un objecte de tipus QStandardItemModel i se li associa un objecte visual de tipus QTableView a través del qual es presenta i modifica la informació de el model . D’aquesta manera, a la capa de negocis es fa el processament de les dades i la capa de presentació funge com a interfície amb el usuario.7-8

Una vegada que es té el disseny de classes, es fa una anàlisi més profunda dels casos d’ús, però des d’una perspectiva diferent, ja que s’analitza la seqüència d’interaccions cronològiques entre objectes individuals de el sistema perquè pugui executar-se completament cada cas uso.9

la figura 13 mostra la seqüència d’esdeveniments per al cas d’ús Connectar Controlador. En aquest cas, a la finestra principal de l’aplicació, objecte MainWindow de la classe TMainWindow, es brinda la possibilitat a través d’un botó que l’usuari ordeni la connexió amb el controlador.Inmediatamente es mostra una finestra de diàleg on es dóna la possibilitat d’especificar els paràmetres de la connexió, digui port de PC, velocitat, etc. Això últim es fa creant un objecte de tipus ConectionDialog heretada de QDialog que presenta els camps associats als paràmetres esmentats i retorna els seus valors un cop la vostra acceptació a la finestra de diàleg.

Una vegada que l’objecte MainWindow rep-informació, llavors es crea un objecte de la classe TController i executa el mètode openProtocol d’aquest objecte per obrir la connexió amb els paràmetres especificats. A continuació, l’objecte Controller executa la comanda readHoldingRegister pertanyent a el protocol Modbus, a través del qual es llegeix la configuració actual de l’controlador connectat. Amb aquesta informació, llavors, es procedeix a actualitzar el model de les dades, amb la qual cosa s’envia un senyal o missatge per a l’actualització automàtica de la vista pel mecanisme de Qt per al patró MVC abans mencionado.10

el cas d’ús Afegir Codi, la seqüència es mostra a la figura 14, s’inicia una vegada que l’usuari pressioni el botó corresponent de la finestra principal. Quan l’objecte MainWindow rep el senyal d’aquest esdeveniment crea un objecte de la classe EditDialog heretada de QDialog on es brinden els camps necessaris per a l’edició de el nou codi a afegir. Una vegada que l’usuari acabi l’edició, llavors s’actualitza el model de les dades pertanyent a l’objecte Controller i aquest, automàticament, llança un senyal per a l’actualització dels mateixos en la vista.7

La seqüència per el cas d’ús Edita Codi és similar a la d’Afegiu Codi, la diferència rau en un lleuger canvi en la manera d’actualitzar les dades en el model, doncs aquí no s’afegeix un nou registre sinó que es determina quin és el registre que es vol canviar, i es procedeix a la seva modificació.

Finalment, la figura 15 mostra la seqüència d’esdeveniments per al cas d’ús Actualitzar Controlador.Quan l’usuari s’especifiqui mitjançant botó a la finestra principal, l’objecte MainWindow instància la funció actualitzar de l’objecte Controller.Esta funció executa la comanda writeMultipleRegisters corresponent a l’protocol Modbus, el qual escriu la configuració de les dades presents en el model en la memòria de configuració d’el controlador connectat.

Aplicació de parametrització de el controlador de interbloqueig

En aquest cas el producte final és similar a el de el controlador de porta, i la diferència rau en la presentació de la informació.És dir, les finestres són les mateixes excepte que els elements que les conformen canvien. D’aquesta manera, la finestra principal, en lloc de presentar una taula per representar els codis de el controlador de porta, en aquest cas el que es té és un arbre, on en cada entrada es mostren les sortides que en depenen. Igualment, aquesta informació està basada en un model que forma part d’una classe TController pertanyent a la capa de negoci. De la mateixa manera, la finestra de diàleg per a l’edició de la configuració canvia la seva composició.

Els requisits d’usuari són similars exceptuant el requisit funcional dues de el controlador de porta, ja que en el cas de el controlador de interbloqueig no s’agreguen ni s’editen codis, simplement es relacionen sortides amb les entrades. Per tant el diagrama de casos d’ús té un lleuger canvi a l’eliminar-se els casos d’ús agregar i editar codi, i incorporar un nou cas d’ús anomenat Edita Configuració, la qual cosa es mostra a la figura 16. La seqüència d’esdeveniments per a aquest cas d’ús és similar a el de afegir i editar codi al controlador de porta, només que la finestra de ediciónes diferent.

RESULTATS

Després de la corresponent simulació dels controladors utilitzant el programari Proteus, es va procedir a l’ muntatge de el maquinari dels mateixos en PICSCHOOL, que com es va dir anteriorment, consisteix en una mena de protoboard on es poden provar els prototips d’aplicacions basades en microcontroladors PIC. El resultat esperat per al controlador de porta, era que aquest rebés correctament el codi Wiegand enviat des d’un lector de proximitat que pertany a sistema KANTECH. També havia de comunicar-se correctament amb l’aplicació de parametrització utilitzant protocol Modbus i, segons la configuració establerta a través d’aquesta aplicació, proveir l’accés als codis programats. Així mateix, en el cas de el controlador de interbloqueig el que es perseguia era que respongués correctament en la interacció entre les entrades i les sortides, segons prèvia configuració realitzada a través de l’aplicació de configuració.

Les proves es van anar realitzant de forma gradual, o per passos. En el cas de el controlador de porta, primer es va comprovar la comunicació Modbus a través d’una aplicació de tercers, que es comporta com a mestre, executant-se en la PC connectada a el kit a través del port sèrie RS232. Amb aquest programari es va poder comprovar que les respostes de l’controlador als comandos que se li enviaven eren correctes. Seguidament es va procedir a la utilització de l’aplicació de parametrització desenvolupada i es va connectar un lector de proximitat de sistema KANTECH, que transmet usant protocol Wiegand. Es va poder comprovar que els codis configurats i programats al controlador a través de l’aplicació de parametrització, eren acceptats pel controlador com correctes immediatament després de ser ingressats a través del lector, comportant-se així correctament en el seu paper com a controlador de porta.

De la mateixa manera, per al controlador de interbloqueig es va utilitzar el programari de tercers per comprovar la comunicació Modbus. Es van acoblar les entrades als commutadors presents al PICSCHOOL i les sortides als LEDs. D’aquesta manera es va poder verificarque les sortides s’activaven amb l’activació de les entrades respectant la configuració programada a través del programari que s’exercia com a mestre Modbus. Després, continuant amb les proves, es va substituir el programari de tercers per l’aplicació de parametrització desenvolupada, i es va comportar igualment. Per tant, es pot concloure que el desenvolupament dels controladors a escala pilot es va dur a terme satisfactòriament ydesempeñando la seva tasca correctament, com s’esperava.

Quant a la utilització dels microcontroladors, en el desenvolupament de el controlador de porta es van usar 19 línies d’entrada / sortida de les 32 disponibles al PIC16F877, però les restants poden ser utilitzades en futures expansions o adaptacions si es vol connectar els controladors en xarxa, per exemple. Es va usar el canal I2C, així com el USART i tres fonts d’interrupció. El firmware va ocupar el 57% de la memòria ROM o de programa i utilitza el 65% de la RAM, o memòria de dades.En el cas de el controlador de interbloqueig, que posseeix un microcontrolador similar, igualment es va utilitzar una part de l’total d’entrada / sortida disponibles, en aquest cas 18. De la mateixa manera les línies restants poden ser requerides per a una expansió per necessitat d’enquestar 1 major nombre d’entrades, o accionar major quantitat de sortides, per citar dos exemples. També es va usar el canal USART i només una font d’interrupció. El firmware va ocupar el 20% de la ROM i utilitza un 39% de la RAM.4

CONCLUSIONS

En el treball s’ha exposat la concepció i desenvolupament d’un sistema de control d’ accés i interbloqueig, la qual cosa va incloure la posada a punt, tant dels controladors com de l’aplicació de parametrització. Aquests elements van ser testejats llançant resultats satisfactoris. El sistema portarà diversos avantatges i beneficis en la seva implementació en el CIM, com sonun major suport tècnic i unamayor personalització. El desenvolupament de l’aplicació de parametrització es va fer tenint en compte una estructura per capes, així com la utilització de el patró de disseny M-V-C, garantint un major manteniment i reutilització de el codi, elements claus en una bona enginyeria de programari. En el desenvolupament dels controladors, igualment, es van tenir en compte diversos factors per a un major rendiment i compatibilitat de sistema, com són:

· Ocupació de protocol Wiegand en la comunicació amb els lectors.

· Ocupació de protocol Modbus en la comunicació amb l’aplicació de parametrització que corre a la PC.

· Ocupació de memòria externa per emmagatzemar la configuració en el cas de el controlador de portes, la qual cosa facilita el manteniment o substitució dels mateixos a l’possibilitar la importació / exportació de les dades.

El sistema obtingut funciona de forma autònoma. No obstant això, la forma en què va ser dissenyat brinda possibilitats d’expansió sense gaire complicació, per integrar-lo en un sistema de supervisió o SCADA amb la implementació d’una xarxa Modbus.

REFERÈNCIES

1. Pedreira, M. “Supervisió de l’accés a locals d’el Centre d’Immunologia Molecular”. Tesi de diploma. CUJAE, 2008.

2. Cosentino, L. “Control d’Accessos, Elements d’Identificació”. RNDS. 2008, 168 pàg.

3. Pefhany, S. Modbus Protocol. 2000.

4. Microxip Technology Inc PIC16F87XA Data Sheet. 1998.

5. Breijo, E.G. Compilador C CCS i Simulador Proteus per Microcontroladors Pic. Mèxic: Marcombo, 2008. 276 pàg. 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àg. ISBN: 978-1-59059-831-3

8. Gama, I., Helm, R., Johnson, R., Vlissides, J. Design Patterns: Elements of Reusable Object-Oriented Software. 1997. 431 p.

9. Schmuller, J. Aprenent UML 24 hores. 2004. 398 p.

10. FieldTalk Inc. FieldTalk Modbus Master C ++ Library Software manual. 2009.

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *