SPECIFICA TECNICA SISTEMA DI ACQUISIZIONE DATI MEDIANTE TERMINALI OPERATORE 1. Finalità del sistema Dovrà essere realizzata una rete di acquisizione dati costituita da terminali in grado di rilevare con diverse modalità di immissione (tastiera, badge magnetico, lettori di bar-code) i dati di interesse e trasmetterli ad una unità centrale di elaborazione. I terminali saranno concepiti per offrire la massima flessibilità di programmazione per essere facilmente adattati alle più svariate esigenze di impiego (controllo accessi, acquisizione dati di produzione, ecc.) 2. Caratteristiche del rilevatore Contenitore plastico di colore nero di dimensioni 135 x 190 x 60 mm (connettori esclusi). Tastiera alfanumerica a 16 tasti (l’immissione dei caratteri avviene con modalità simili a quelle di un telefono cellulare). Display LCD retroilluminato di dimensioni 100 x 25 mm a due righe di 16 caratteri. Orologio/datario con batteria tampone. Memoria flash 4Mbytes. Memoria RAM 8Kbytes. Lettore di badge magnetico. Alimentatore esterno wall-mount 220V ca / 24V cc – 200mA max. Porta seriale di collegamento lettore bar-code (di tipo intelligente). Porta seriale RS485 per la comunicazione con il centro. 3. Architettura del sistema Il sistema di acquisizione è così costituito: Un PC nel quale risiedono principalmente due programmi: o Il primo che chiameremo “POLLING” avrà il compito di dialogare con le unità periferiche; leggerà da tali unità i dati disponibili, invierà i messaggi da visualizzare sui display ed i parametri di funzionamento. o Il secondo che chiameremo “DATABASE” avrà il compito di elaborazione e archiviazione; verrà avviato ciclicamente dal programma di polling che gli trasferirà i dati ricevuti dalle periferiche. Il database comunicherà al polling i messaggi da inviare in risposta. I “DATAMAT” che svolgono la funzione di terminale operatore e che sono collegate via seriale RS485 al PC 3.1. Collegamenti Il collegamento seriale RS485 permette a più Datamat di essere collegati ad un unico cavo. Esistono delle limitazioni software, elettriche e funzionali che impongono un limite massimo al numero di unità in una catena RS485. Questo limite è ipotizzabile come 16, ma può scendere drasticamente per effetto della qualità elettrica dei collegamenti o al fine di migliorare l’efficienza nello scambio dei dati. Per aumentare la quantità di unità connesse al polling si possono aumentare il numero delle porte RS485 installate nel PC. 3.2. Trasferimento dati Il programma polling funge da master per tutte le operazioni: recupera le transazioni dalle centraline, ricostruisce dai dati grezzi provenienti dalle centraline le tabelle ascii secondo le specifiche date e esegue una shell al programma database, il quale elabora le tabelle ascii e produce un file per la risposta da inviare al Datamat dal quale proviene la transazione e quindi termina; il polling provvede a ricollegarsi all’unità remota, invia il messaggio di risposta e la sblocca per permettere una nuova transazione. La shell al programma database avviene per ogni transazione di ogni unità remota e non prima che sia terminata la shell precedente. Il Datamat è in grado di verificare se il colloquio con il polling è attivo. Se non fosse attivo, l’unità registra i dati della transazione su flash, invia un messaggio standard a tempo (interrompibile con un tasto) nel quale informa l’operatore dello stato di off-line e si pone pronta per una nuova transazione. Il polling nel colloquiare con i Datamat si informa sempre se essi abbiano delle transazioni memorizzate localmente. Se così fosse provvede a scaricarle e a trattarle come quelle in tempo reale salvo per un flag contenuto nelle tabelle che informeranno database che le transazioni non sono state verificate; per le transazioni avvenute nello stato di off-line non è possibile far tornare alle centraline alcun messaggio. Nel normale funzionamento i dati della transazione trasformati in forma sintetica (solamente gli input) vengono accumulati nella RAM interna (8Kbytes massimo); solo quando il polling restituisce la risposta alla transazione la RAM viene cancellata e usata per la transazione successiva. Se la centralina dovesse spengersi prima della conclusione dell’elaborazione la transazione potrebbe essere persa. Allo scopo di conservare i dati in caso di black-out l’alimentazione del Datamat in alternativa all’alimentatore murale potrebbe essere collegata ad una batteria esterna dotata di carica-batteria. L’interfaccia grafica del programma di polling permette di monitorare lo stato on-line/offline delle unità collegate, ma non visualizza nulla sulle transazioni in corso. Il polling possiede dei comandi a video che permettono di avviare con parametri diversi il programma database allo scopo di personalizzare le centraline o la struttura di certi file. Le decisioni sono comunque prese da database il quale tramite file informa polling sulle operazioni da eseguire nelle unità remote. Polling possiederà un file di configurazione .ini per il setup hardware e verrà avviato in ambiente Win98 da apposito batch o all’avvio. Una eventuale gestione UPS, o backup dati dovrà essere realizzata esternamente. 3.3. Transazioni Il tipo e il numero delle transazioni disponibili nelle centraline è stabilito con apposita procedura di inizializzazione disponibile nel polling. La programmazione può essere specifica per ogni Datamat il quale tuttavia non può contenere più di 20 differenti transazioni disponibili contemporaneamente. Nel polling comunque è presente un archivio di 100 tipi di transazioni da cui attingere per personalizzare le singole unità. Queste 100 possibili transazioni sono impostate tramite appositi file ascii generati da database con avvio appositamente parametrizzato. Il programma database non può eseguire più operazioni contemporaneamente per cui se viene utilizzato per altre funzioni che non siano l’elaborazioni delle transazioni, tutte le centraline si troveranno nella condizione di off-line. In ogni Datamat avente 2 o più tipi di transazioni memorizzate, si definisce la transazione di default che è quella proposta all’accensione e al termine di ogni transazione; se l’operatore vuole selezionarne un’altra tra quelle disponibili dovrà digitare una sequenza precisa di tasti, sequenza non personalizzabile e comune a tutte le centraline. La transazione nel sistema è realizzata con una funzione nella quale sono inseriti degli step esecutivi chiamati “domande”. Nella centralina, selezionando una transazione, si avvierà la relativa funzione. La funzione viene eseguita applicando le varie domande nell’ordine in cui vengono trovate. Le domande non possono operare come blocchi decisionali. Ogni risposta alle domande viene accettata (nell’ambito del tipo di input previsto). Solo dopo l’elaborazione di database il messaggio di ritorno può informare l’operatore sulla validità dei dati. Possono pertanto passare alcuni istanti dall’immissione alla comparsa del messaggio. Il messaggio di ritorno da database non può contenere a sua volta alcuna domanda, ma si tratta solo di una visualizzazione seguita da una segnalazione acustica (un flag nella risposta seleziona un beep breve oppure lungo); la visualizzazione persiste per un tempo fisso ed è interrompibile con una sequenza di tasti fissi; comunque dopo il messaggio di ritorno la centralina ripropone la transazione di default. Ogni funzione può contenere un massimo di 20 domande. Ogni domanda è così costituita: una stringa di visualizzazione di 16 caratteri x 2 righe; le coordinate del punto di input; il tipo di input (numerico, alfanumerico, badge verso sinistra, badge verso destra, badge bidirezionale, codice a barre, tasti singoli); la lunghezza dell’input (solo tastiera); il valore di default (solo tastiera); il tempo di attesa. Quando il tipo di input è badge bidirezionale nel dato della transazione sarà presente anche un flag che specifica il senso nel quale è stato fatto lo strisciamento. Per identificare il codice del badge all’interno dell’intera banda magnetica si useranno due parametri (punto di inizio e lunghezza); il codice badge tuttavia non può essere più lungo di 5 caratteri mentre la lunghezza massima del codice a barre deve essere 32. Quando una domanda possiede un tempo di attesa significa che la centralina ripropone la stessa domanda (quindi non passa allo step successivo) fino a che il tempo di inattività della centralina non raggiunge i secondi impostati; durante questo tempo non è possibile neanche abortire la transazione per eseguirne un’altra. I dati sintetici dell’intera transazione non devono eccedere la dimensione della RAM (8000 bytes) per cui sono ipotizzabili le seguenti limitazioni: le funzioni di presenza, utilizzando una domanda ripetuta del badge la cui occupazione di memoria è stimabile con 10 caratteri (compresa data e ora), non possono contemplare più di 200 strisciate consecutive (il dato tiene presente di tutte le esigenze di memoria dell’intera transazione); Le funzioni aventi domande ripetute con lettura barcode la cui lunghezza può raggiungere anche i 32 caratteri non possono contemplare più di 100 letture consecutive. All’esaurimento della memoria comunque si avrà la conclusione della transazione con elaborazione di database indipendentemente dal tempo di attesa presente nelle domande. I dati delle funzioni aventi domande ripetute vengono elaborati prima dal polling, il quale ricostruisce n record con uguale struttura, ripetendo i dati in comune e variando solo il dato di risposta alla domanda ripetuta. Non è possibile avere più di una domanda ripetuta per ogni funzione. 3.4. Manutenzione Ogni Datamat è dotato di un tool di setup locale e di diagnostica attivabile con una apposita sequenza di tasti. E’ indispensabile per esempio che le unità abbiano tutte un diverso numero di nodo all’interno di una catena RS485: il numero di nodo sarà impostabile tramite questo tool. Non deve essere confuso il numero di nodo con l’identificativo della unità remota; quest’ultimo deve essere univoco in tutto l’impianto ed è comunque impostabile dal polling. Le unità Datamat possiedono dei flag di stato manipolabili dal polling e/o tramite sequenza speciale di tasti. Tali flag permettono di: disabilitare il lettore barcode nel caso di guasto consentendo l’input da tastiera; disabilitare il lettore badge nel caso di guasto consentendo l’input da tastiera; L’orologio delle unità remote viene sincronizzato con quello del PC da una procedura nel polling richiamabile a comando o programmata; tale procedura allineerà tutte le unità correntemente collegate.