compilador c

12
JUAN CARLOS BAO GÓMEZ MEMORIA DE SEGURIDAD DOMÓTICA DE INTRUSIÓN CON PROFILAB EXPERT Y CÓDIGO C I N D I C E : 1

Upload: calinhosbao

Post on 27-Sep-2015

10 views

Category:

Documents


1 download

DESCRIPTION

c

TRANSCRIPT

JUAN CARLOS BAO GMEZ

MEMORIA DE SEGURIDAD DOMTICA DE INTRUSIN CON PROFILAB EXPERT Y CDIGO CI N D I C E :

INTRODUCCIN:Se pretende explicar el sistema domtico de intrusin basado principalmente en sensores o detectores de intrusin ya sean perimetrales externos o internos que forman barreras de intrusin realizando la funcin de vigilantes y actuadores cuando se produce una intrusin dentro de nuestra casa, oficina o lugar que quiere protegerse comunicndose con el sistema domtico. Para realizar acabo este proyecto utilizamos como soporte de programas el Profilab expert y Pic c compiler para cdigo c; a travs del hardware que hemos simulado con el isis de Proteus.Las comunicaciones las simularemos realizaremos de manera asncrona utilizando rs232 de niveles TTL ( a diferencia del pc que no los utiliza )y un conector que enlaza con nuestro puerto real o virtual en este caso (y esta para com4) y utilizaremos un adaptador a rs2485 utilizando un emulador

ESQUEMA DE ISIS DEL HARDWARE UTILIZADO:555compim

Figura 1.Consta de 3 circuitos de 3 terminales para poder simular y 4 max 485. Para que funcione de forma automtica la emisin y recepcin utilizamos el integrado 555 cuando llega un dato por el pin 2 activa el monoestable y pone el pin 2 y 3 a 1 quedando para emitir ,pero pasado un tiempo que viene marcado por el condensador C1 de 10nf volvera a 0 y quedara recepcin de datos. Utilizaremos el compim virtual p1 para simular puerto serie. El Visual Serial Ports Emulator nos emular el puerto com4 que vamos a utilizar para las comunicaciones entre el hardware simulado con isis que tenemos en la figura 1 y el Profilab expert. Figura 2.

ESQUEMA COMPLETO EN PROFILAB SISTEMA DOMOTICO DE INTRUSIN:

Figura 3.

Realizar desglose por partes para poder explicar detalladamente cada parte a continuacin

ESQUEMA DOMTICO MINIMALISTA B CON TECLA VIRTUAL Y EXPORTADOR DE TABLASFigura 4.

Vamos a explicar esta parte: cuando se reciben cadenas a travs del puerto com (en nuestro caso utilizamos com4) en la patilla BSY del elemento COM se genera un pulso bajo cada vez que recibe algo, el retorno de carro (/13) nos sirve para adaptarla y a cada pulso corre una lnea hacia abajo en la tabla y no machaca los textos y las leyendas, generndonos pulsos el reloj G1 200 ciclos mquina. Este pulso generado es recibido por la tabla TAB1 en su pin Add que funciona por flanco de bajada y va escribiendo los eventos ocurridos moviendo la tabla en zona 0 o zona 1 o zona2 etc.. descendentemente. Por otro lado la cadena recibida llega al elemento PART y corta la cadenas y las enva a los siguientes elementos Part si es un 1 va en la primera si es un 2 va en la segunda si es un 3 en la tercera as sucesivamente segn las zonas que tengamos activas. Para poder exportar la informacin de los eventos que se va generando en cada zona dentro de una tabla y es posible guardar esta informacin en varios formatos y de varias maneras: manualmente en Word, tabla de excell, txt pero existen unos atajos que consisten asignar una o varias teclas rpidas, hotkey o tecla virtual, pero lo que nos interesa para esta memoria es que a travs de una tecla virtual conectada a una alarma o cronometro programado ya sea por hora, da, mes como nosotros veamos y nos exporte un extracto de todos los eventos sucedidos a la plataforma que queramos e incluso enviarlos por correo electrnico o generando una carpeta programado previamente. El display nos sirve para ver lo que ocurre en el Front panel.oFigura 5.

Figura 6.

Con esta alarma al llegar la hora se pone a nivel alto y se invierte para que lo mande en flanco de bajada. Finalizando esta parte cuando introducimos el cdigo de seguridad 1234 en la casilla correspondiente del front panel y pulsamos la tecla el terminal enviamos telegrama y me devuelve el mismo telegrama que le enviamos solo que con letra minscula enviamos Z0Aon, Z1Aon nos llega z0Aon, z1Aon etc y devuelta se cortan las cadenas que llegan al terminal ,partimos las cadenas lo que llegue despus de z. Todas las zonas despus de desactivarlas deben de contestar una por una pero tenamos el cdigo c incompleto por lo que solo contestaba la zona 0 esto lo veremos en la parte de cdigo c. Figura 7.

PROFILAB EXPLICACIN ESQUEMA DE MACROS:

Figura 8.

Utilizaremos las macro para resolver las comunicaciones en domtica de una manera ms sencilla y son equivalentes a funciones de cdigo literal. Por un lado tenemos un editor para la introduccin de datos y un elemento RD donde contiene la direccin de la carpeta donde est la clave para la comprobacin de que sea la misma ala clave introducida .El elemento R POIN1 cuando se arranca el programa resetea la salida Q a 0 de los monoestables generando un pulso descendente y con esto queda reseteado los monoestables. Con el elemento KEY elegimos la tecla virtual Z el COMPARADOR compara lo del fichero con lo que se introduce. Cuando tecleo el cdigo pasa a nivel bajo se resetea el monoestable 0,5 segundos por ejemplo cuando se produce el pulso de bajada y A=B pasa a la entrada del segundo monoestable. Con el elemento Key esta tecla virtual, cuando recibe pulso de bajada (A=B) y que cuando llegue Z resetate recibe un pulso el monoestable igual que si se tecleara una letra y pasa de alto abajo. Es conveniente todos los temporizadores y monoestables resertearlos al principio. El segundo monoestable pasa de nivel alto a bajo durante 8 segundos que es el tiempo de guarda que se tiene para apagar la alarma en caso de que seamos nosotros los que entremos por ejemplo y enviar por el puerto serie la cadena adecuada al evento de intrusin y rearmar la alarma en este supuesto en el caso de que fuera una verdadera intrusin habra una interrupcin por el puerto serie y saltara la alarma actuando el sistema como nosotros hemos prediseado.A la salida de la macro por el pin 5 Q2 se encuentra la puerta lgica OR (si en la entrada tenemos un 1 lgico a la salida tendremos un 1 lgico), el elemento ADD unido ala salidas Out de las macros concatena las cadenas salientes para visualizarlas en el display y a su vez enviarlas por el puerto serie.

VAMOS A EXPLICAR UNA MACRO INTERNAMENTE:Figura 9.

Tenemos varios pines que son de la propia macro imaginemos nos como si fuese un integrado con sus entradas y sus salidas como son E/D, OUT, Q1, Q2, IN1, IN2. Tenemos un pulsador PB1 con una pulsacin conmuta a nivel alto y con otra conmuta a nivel bajo y tenemos R (pon1) resetea por nivel bajo esta negado no es por flanco de bajada sino por nivel (el elemento lgico NAND1 es una & And negada que si tiene a la entrada 0 a la salida 1).El pin1 E/D procede exteriormente del monoestable que enva nivel alto por flanco de bajada, entonces el elemento R pon1 que est invertido resetea por nivel bajo el contador binario que siempre juega entre 0 y 1; a su salida va a la entrada de dos monoestables un monoestable con entrada invertida otro no, ambos a su reset estn conectados a R (pon2) que se resetea despus de hacer la pulsacin y envan a la salida de ambos a una puerta OR (Recordemos: si tiene a la entrada un 1 tendr un 1 a la salida y si tiene un 0 a la entrada se tendr un 0 a la salida) muestran una cadena u otra cada 200ms pongo la que me interesa durante un tiempo, despus tenemos los delayer invertido pasado un tiempo de 100 ciclos mquina nos envan, hasta aqu llegamos ahora vuelvo atrs para explicar que las cadenas llegan desde el pin2 y pin3 y llegan a elemento COPY para ser concatenadas con ADD y enviadas a fuera de la macro por los pines de salida. Los elementos & AND1 & AND2 invertido a la entrada de COPY cuando est a nivel 1 copio la cadena despus de 100 ciclos mquina genera pulso de bajada y cuando est a otro nivel copio la otra

VEAMOS AHORA LA EXPLICACION DEL ESQUEMA MINIMALISTA C:Figura 10.

Como ya explicamos anteriormente tenemos un introductor o editor de datos para introducir la clave de activacin desde el Front panel esa clave introducida una vez pulsado intro el elemento RD que contiene la direccin donde se encuentra la verdadera clave ambas pasan al comparador y si ambas son iguales (A=B) nos presenta un nivel alto a la salida del comparador y pasa al monoestable Mf2 por flanco de bajada al estar invertida su entrada y durante 8 segundos que es el tiempo que se tiene para apagar la alarma sino se devolvera por el puerto serie desde la zona de intrusin el mensaje de Atraco que lo veremos ms adelante desde el cdigo C.Ahora vamos a los pulsadores cuando pulsamos un pulsador pasa ese nivel a un monoestable con el objeto de convertir las pulsaciones irregulares en exactas gracias al monoestable por eso no se ha puesto solo el monoestable y de ah pasamos a una puerta OR como ya sabemos la puerta lgica OR si tiene un 1 en la entrada habr un 1 en la salida y si hay un cero en la entrada habr un cero en la salida, bien pues cuando pulsamos el pulsador y despus de pasar por el monoestable y de ah pasamos al componente lgico AND & a la cual llega ese pulso alto del monoestable pasados los 8 segundos y llega la salida de la puerta lgica y despus de 100 ciclos mquina es enviado a la entrada de los monoestables conectados a ambos puertos com4 para enviar las cadenas copiadas por flanco de bajada. El elemento R (pon2) resetea los monoestables al arrancar el programa al igual que el explicado anteriormente R (pon1).El led tambin est conectado a la salida del monoestable que enva pulso alto despus de los 8 segundos.Arriba vemos como las cadenas son copiadas por el elemento COPY copia el carcter entre la Z y la A para que con el elemento ADD concatenaremos las cadenas y sern enviadas a los monoestables que despus de 100 ciclos mquina sern enviadas las cadenas por flanco de bajada por el puerto com4.

9