Gestione controllo accessi

Molti sono i sistemi per il controllo accessi, tra i nostri prodotti annoveriamo SH4, un compatto sistema di controllo che si appoggia ad un database di utenti. Questi sistemi agiscono secondo una loro logica predefinita è può essere difficile adattarli alle proprie necessità. Con SlimLine sistema programmabile PLC è possibile gestire il controllo accessi in modo molto più versatile.

Nella gamma dei nostri prodotti per il controllo accessi esistono diverse soluzioni per il riconoscimento dell’utente, in questo articolo presentiamo una soluzione basata sul lettore RFID R3 connesso a 2 ingressi digitali di un modulo CPU SlimLine che viene acquisito tramite il FB WiegandDcd. Il lettore è dotato anche di una tastiera numerica quindi oltre al FB di decodifica codice TAG (Wiegand 26 bits) è stato realizzato un FB di decodifica del codice tasto (Wiegand 8 bits).

Il FB OWRdIdentifier permette di acquisire lettori di TAG 1-Wire, sia a contatto che RFiD, il FB RFiDMWD7xTAGRd permette di acquisire lettori di TAG RFiD connessi in seriale RS485.

RFID-R3 connesso a SlimLIne

Programma eDoorkeeper

L’applicazione eDoorkeeper con il relativo codice sorgente (Download) illustra come utilizzando la ricca libreria di funzioni e FB disponibili si possa realizzare un semplice controllo accessi, può essere modificata per adattarla alle proprie necessità, vedi capitolo in fondo all’articolo. Il programma utilizza il server HTTP del sistema SlimLine per gestire una interfaccia web (Vedi articolo), collegandosi con un browser è possibile visualizzare le pagine.

La pagina Home.htm visualizza lo stato di funzionamento, gli I/O digitali, il valore del TAG acquisito e gli eventuali errori, la pagina è aggiornata in AJAX. Per l’aggiornamento è definita la pagina Values.htm che viene ciclicamente acquisita dalla pagina Home.htm utilizzando le API fetch.

La pagina Tags.htm permette di definire fino a 16 TAGs con il relativo codice (O codice da tastiera) e l’utente ad esso abbinato. I valori definiti sono memorizzati nella memoria ritentiva dello SlimLine.

Trasferire utilizzando un client FTP le pagine dalla cartella Web del programma nella cartella C:/Web dello SlimLine, trasferire anche la pagina e-style.css con gli stili. Digitando nel browser http://xxx.xxx.xxx.xxx/Home.htm viene visualizzata la pagina principale da cui potremo navigare tra le pagine.

Screenshot pagine web programma eDoorkeeper

Come funziona il programma

Il programma controlla il codice della TAG e/o il codice imputato da tastiera ricercando tra i TAGs definiti e se trova corrispondenza comanda una uscita logica di apertura porta. Se il codice è errato dopo 3 tentativi blocca l’apertura per un tempo. Tutte le operazioni eseguite sono salvate in un file di log sul filesystem interno dello SlimLine di tutti gli eventi. Le varie sequenze operative sono suddivise in POUs separati.

POU: WebIOStatus

Questo programma esegue l’appoggio degli I/O su variabili WORD allocate in DB100 per la visualizzazione dello stato degli I/O nella pagina Home.

POU: RFIDR3Acquisition

Questo prrogramma eseguito in task Fast ogni 150 uS esegue l’acquisizione del lettore RFID tramite gli ingressi digitali e su lettura TAG con il FB WiegandDcd o su inputazione codice da tastiera con il FB WiegandKbd ritorna il codice in TAGID ed attiva la variabile TAGRd.

FB: WiegandKbd

Questo FB gestisce l’inputazione del codice numerico da tastiera, riceve in ingresso il codice Wiegand ad 8 bits del tasto premuto ed alla pressione del tasto ENT ritorna il codice inputato.

POU: Doorkeeper

Questo programma gestisce il cuore dell’intera procedura, l’esecuzione e suddivisa in sequenze. Nella sequenza 0, alla attivazione della variabile TAGRd viene cercato nell’elenco dei TAGs definiti il codice TAG (Variabile TAGID). Se trovato viene gestita l’uscita digitale di apertura porta.

Se non trovato viene gestito un contatore di errori ed al terzo tentativo viene eseguita una temporizzazione di attesa. In questo modo se si tenta un attacco provando i codici a caso si allungano i tempi di verifica.

FB: LogWrite

Utilizzando il FB StringToLogFile esegue la scrittura del log operazioni su di un file, viene creato un file per ogni mese, sono mantenuti solo gli ultimi 6 mesi.

Implementazioni possibili

Il programma eDoorkeeper è una base che può essere modificata per adattarla alle proprie necessità vediamo possibili modifiche.

  • Per aumentare la sicurezza è possibile richiedere un ulteriore codice numerico alla lettura del TAG per abilitare l’apertura porta. In questo modo se viene sottratto il TAG senza codice PIN non è possibile accedere.
  • Per la gestione di più accessi, alla lettura del TAG RFID è possibile da tastiera digitare il numero della porta da cui si desidera accedere.
  • I codici TAGs possono essere scritti su di un file CSV che poi viene trasferito via FTP sul sistema, in questo modo si amplia il numero delle TAGs gestibili, vedi programma TAGFinder in questo articolo. Abbinando alle varie TAGs l’indicazione del periodo in cui la TAG è valevole si può abilitare l’accesso a certi locali solo in determinati periodi.
Was this article helpful?