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.