2 puertas - una habitación - control de acceso

2

Me encargaron el diseño de la lógica para los dormitorios. El diseño del dormitorio es que dos habitaciones comparten un baño (roomL-door-bathroom-door-roomR). Estoy teniendo problemas para diseñar la lógica para ello. Aquí están los requisitos:

  • Si una persona de la sala L ingresa, la persona de la sala R tiene prohibido ingresar.
  • Una persona no puede moverse entre las habitaciones a través del baño.
  • (Deseado pero opcional) Si un cuarto de baño está ocupado por una persona de roomL, nadie puede entrar.

Cada puerta tendrá una cerradura electromagnética (normalmente abierta en caso de emergencia), por lo que puedo bloquear la puerta a través del software. Estaba pensando esto:

  1. Las puertas normalmente están desbloqueadas. Si una persona abre la puerta desde la habitación L, la puerta de la habitación R se bloqueará.
  2. Tendría, digamos, 30 segundos para presionar el botón ocupado (el temporizador está ahí para evitar que las personas dejen la puerta abierta).
  3. Después de presionar ambas puertas se bloquearán.
  4. Cuando se presiona nuevamente el botón, se desbloqueará la puerta de la que vino la persona (PLC recordará la última puerta abierta).
  5. Cuando una persona sale de la habitación y cierra la puerta, se abrirá la puerta de la otra habitación (nuevamente, 30 segundos después de presionar el botón, las puertas se desbloquearán).

¿Es este un buen diseño?

ACTUALIZAR

Así que he renovado el diseño y la lógica que se puede ver en el siguiente diagrama. ¡No veo ningún agujero en este nuevo diseño, pero un par de ojos nuevos no podría doler!

    
pregunta CodeBreaker

2 respuestas

2

Creo que este procedimiento funciona mejor.

Ambas puertas deben permanecer cerradas, por lo que necesita una puerta más cerca y una alarma si está abierta. También debe tener un sensor de movimiento dentro del baño. Las manijas en ambos lados de las puertas deberían ser interruptores momentáneos.

  1. ambas puertas deberían estar normalmente cerradas.
  2. Girar cualquiera de las manijas de entrada debe verificar si Toidy no está reservado en otra habitación y, si no, abre la puerta y reserva la habitación. Una luz de cortesía ocupada en el exterior de ambos lados sería una buena característica.
  3. La puerta de cierre de la puerta debe bloquearse.
  4. El sensor de movimiento ahora está activado. Si no hay nadie cerca, suelte la bandera y la luz reservadas y regrese al estado 1.
  5. salir aunque la puerta de entrada ahora está habilitada.
  6. En el intento, abra la puerta de salida, abra la puerta y vuelva al estado 3.

Problemas:

  1. ¿Qué sucede cuando se corta la electricidad?
  2. ¿El camino del baño es parte del plan contra incendios?
  3. Diviértete explicando a las chicas que es un sensor de movimiento y no una cámara.
  4. Se necesita algún tipo de anulación para permitir que alguien ingrese en caso de que el ocupante tenga una emergencia médica. (Que tipo de derrota todo el propósito ..)
  5. Detectar ocupados puede ser complicado, especialmente si hay un puesto o área oculta (ducha). Además, el movimiento solo puede ser un problema. Siéntese en la lata por un tiempo. Estando en unos baños que tenían luces activadas por movimiento, se apagan mientras hacía mi trabajo ... y agitar los brazos no ayudó.
respondido por el Trevor_G
1

Aunque esto no es una respuesta directamente, podría ayudarlo a mejorar sus propios requisitos.

Sugiero que, en lugar de escribir en un texto que es más difícil de detectar, haga un diagrama con estados. De esta manera, es probable que encuentre los flujos mucho más fáciles, y también facilita las pruebas porque conoce todos los estados y eventos de un estado a otro.

Definir estados:

  • DoorL: abierto / cerrado
  • DoorR: abierto / cerrado

Eventos:

  • botón pulsado
  • Temporizador de inicio
  • pasaron 30 segundos

También puede tener en cuenta el sensor de ocupación según el comentario de Neil_UK como estado (ocupado / no ocupado) y eventos (inicio de ocupación, finalización de ocupación).

    
respondido por el Michel Keijzers

Lea otras preguntas en las etiquetas