Esplora E-book
Categorie
Esplora Audiolibri
Categorie
Esplora Riviste
Categorie
Esplora Documenti
Categorie
FingerClock
SmartClock
Net536
Ecco il cuore di tutti i terminali. Un potente
sistema di elaborazione a 32 bit assemblato su
circuito stampato a sei strati che garantisce
un alto grado di immunita’ ai disturbi, basse
emissioni, affidabilita’ e dimensioni
contenute.
La gamma
Tutti con interfaccia ethernet 10-100 e servizi UDP, TCP/IP e FTP e DHCP.
Protocollo di comunicazione
Quanto sotto riportato e’ importante solo per coloro che intendono scrivere un
programma di comunicazione .
Sono utilizzati due distinti protocolli di comunicazione da e verso i terminali. Il
protocollo FTP ed il protocollo TVTD. Il primo e’ un protocollo standard mentre il
secondo e’ di nostra progettazione. WLTCom.dll utilizza esclusivamente il protocollo
TVTD.
Protocollo TVTD
Era nato circa dieci anni fa per essere usato su linee seriali RS232 e RS485. TVTD
permette il trasferimento di stringhe con solo caratteri ASCI. I messaggi hanno la
struttura riportata nella seguente tabella:
Nel primo caso inviamo il comando 91,CLEAR (formattazione del disco dei transiti).
Questo comando utilizza la password “CLEAR” nel campo data in trasmissione e non
riporta dati in ricezione.
91CLEAR
stringa da inviare. Si noti che la virgola non e’ presente in quanto serve solo alla DLL
come carattere separatore.
02 81 39 31 43 4c 45 41 52 d4 0d
Caratteri (in esadecimale) inviati al terminali completi di header
T01Rx0000
Risposta asci dal terminali. T01 indica terminale numero 1 e Rx0000 indica codice
errore zero.
01 81 54 30 31 52 78 30 30 30 30 c1 0d
Risposta (in esadecimale) dal terminale completa di header
Nel secondo caso inviamo il comando 03 (richiesta versione e data e ora). Questo
comando non utilizza il campo data in trasmissione ma richiede dati in ricezione
01 81 57 42 30 31 20 32 2e 30 37 20 30 38 2d 30 38 2d 30 33 20 31 38 3a 35 39 3a 32
38 e5 0d stringa(in esadecimale) ricevuta con header
Si noti che quando in ricezione sono richiesti dati il pacchetto “T01Rx0000” viene
omesso.
Nota:
se non si conosce la password l’unico modo di collegarsi con il terminale e’ tramite
WLTCom.dll (via seriale o TCP/IP o UDP),leggendo ltcom.cfg (RFILE,ltcom.cfg).
Trasmissione di file
Per trasmettere un file al terminale trasmettere un record per volta con il comando
F0filename XXXX string
Dove filename =nome del file XXXX= numero record in esadecimale string = data
Al termine utilizzare lo stesso comando con numero record = 0xFFFF senza string per
chiudere il file nel terminale. Ad esempio per trasmettere il file delle causali con tre
causali :
F0ltcom.cau 0000 causale numero uno
F0ltcom.cau 0001 causale numero due
F0ltcom.cau 0002 causale numero tre
F0ltcom.cau FFFF
Ricezione di files
Per ricevere un file dal terminale sono implementati due comandi.
F3filename ritorna il numero dei record del file in decimale
F1filename XXXX ritorna il record XXXX del file.
Se XXXX eccede il numero di record del file in memoria viene ritornato errore 0001 dal
terminale.
Per leggere un file conviene prima utilizzare il comando F3 per conoscerne la dimensione
ed eventualmente calcolare il tempo di trasferimento; poi utilizzare piu’ volte (in loop) il
comando F1 partendo da XXXX=0000 poi XXXX=0001 ecc. fino a quando il terminale
ritorna 1.
Cancellazione di un file
Per cancellare un file nel terminale utilizzare
F2filename
F0filename XXXX string Scrive string nel record XXXX del file filename
F1filename XXXX Legge il record XXXX dal file filename
F2filename Cancella il file filename
F3filename Ritorna il numero di record del file filename
Tabella 2 Comandi per la gestione dei files
Nota:
XXXX e’ un valore esadecimale a 16 bit e parte da zero
Technodrive SRL Arluno Milano 12
www.technodrive-srl.it Ver. 5.09
WLTCom.dll
WLTCom.dll , fornita gratuitamente anche in formato sorgente , permette di interfacciarsi
sia in modo comando che sotto forma di scambio di files di testo. Un unica funzione e’
resa disponibile da WLTCom.dll :
Importante: La dll considera sempre OPT e dati separati da una virgola (es.91,CLEAR).
In realta’ nel pacchetto inviato al terminale la virgola viene omessa rispettando il
protocollo TVTD. Quando i comandi vengono trasmessi direttamente (ad esempio via
FTP) la virgola deve essere omessa.
I tempi sono in secondi ed i valori sopra indicati sono di default , quando wltcom.ini non
e’ presente.
Figura 2
Esempio di un file (fltcom.txt) che sincronizza l’orologio del terminale e legge il file dei
transiti non ancora scaricati, copiandolo poi nel file transit.dat , utilizzando una porta
seriale.
#opencom,COM1:57600 1 c:\ltcom
#txtime
#rfile,ltcom.trn
copy ltcom.trn transit.dat
#comclose
Esempio di un file (fltcom.txt) che sincronizza l’orologio del terminale e legge il file dei
transiti non ancora scaricati, copiandolo poi nel file transit.dat , utilizzando un indirizzo
IP.
#Opencom,TCP:192.168.000.001._192.168.000.002._4660_4661 01 c:\wltcom
#txtime
#rfile,ltcom.trn
copy ltcom.trn transit.dat
#comclose
uso:
fltcom fltcom.txt
Nell’ultimo esempio che utilizza un modem il file ltcom.tlf deve essere creato e deve
contenere la stringa di inizializzazione del modem.
Ecco un esempio di file ltcom.tlf
AT&FX3&D0&K0DT
Importante :
mentre LTCom imposta in maniera automatica i parametri di comunicazione, utilizzando
FLTcom occorre inizializzare questi ultimi. Per fare cio’ usare il comando opencom ed il
comando comclose al termine della procedura.
OpenCom,COM1:57600 1 c:\ltcom
apre com1 a 57600 per terminale 1 path c:\ltcom
Nota:
Se la password e’ impostata a “00000” non sara’ richiesta alcuna password di
configurazione da tastiera.
Technodrive SRL Arluno Milano 20
www.technodrive-srl.it Ver. 5.09
I comandi seriali 94,numero parametro valore parametro ed il comando 95,numero
parametro permettono rispettivamente di scrivere e leggere un singolo parametro di
configurazione. Dopo aver modificato dei parametri con il comando 94, usare 97,STORE
per salvare definitivamente le modifiche effettuate in memoria flash.
Nota:
Considerato che questi parametri sono seggetti a continui aggiornamenti si consiglia di
leggere il file ltcom.cfg dal terminale aggiornato.
Importante !
F5,STDBBBBBBBBBCCCCHHMMSSddmmyyII
Tracciato di un transito
Senso Tipo g.sett Num.badge Causale Ore Min Sec Giorno Mese Anno Id
S T D BBBBBBBBB CCCC HH MM SS dd mm yy II
Technodrive SRL Arluno Milano 27
www.technodrive-srl.it Ver. 5.09
Tabella 6 Tracciato record di un transito
0 Transito nullo
E Transito in entrata
U Transito in uscita
T Transito per accesso
Tabella 7 Senso
1 Transito locale di presenze / accessi
2 Transito accessi remoto
3 Transito rifiutato dal controllo accessi
4 Transito con causale numerica
5 Transito con causale menu a tendina
6
7 Consumo mensa
8 Non usato
9 Transito inserito da seriale
A
B Transito virtuale trasmesso al terminale
C Transito di prenotazione mensa
Tabella 8 Tipo di transito
0 Domenica
1 Lunedi
2 Martedi
3 Mercoledi
4 Giovedi
5 Venerdi
6 Sabato
Tabella 9 Giorno settimana
file ltcom.tra
Il file ltcom.tra utilizza le stesse risorse di ltcom.trn ma permette lo scarico con diversa
modalita’ , conveniente quando lo stesso avviene via modem.
Il numero massimo di transiti memorizzabili e’ definito dalla dimensione di ltcom.trn in
ltcom.mem
Il trasferimento avviene con pacchetti di 5 transiti e l’ordine e’ dal piu’ vecchio.
All’interno del pacchetto i transiti sono separati da un carattere CR (13) e LF (10).
Il trasferimento inizia con la richiesta da parte del host (PC) del pacchetto 0 , poi del
pacchetto 1 e cosi via. E’ possibile richiedere piu’ volte lo stesso pacchetto in modo da
poter riprendere una scarico interrotto causa problemi di comunicazione.
Il file e’ supportato da WLTCom.dll versione 4.09 e successive.
Si noti da sinistra il numero badge (da 1 a 9 cifre) ed il messaggio che al massimo occupa
60 caratteri.
Non usato
Esempio del file ltcom.cau senza peso 8, La prima riga e’ on commento. Le successive
sono i testi che non devono occupare piu’ di 40 caratteri. Il primo testo corrisponde al
codice 01 ,il secondo 02 ecc.
Il secondo esempio prevede 8 sommato al parametro 25 . Il codice riportato nello scarico
viene prelevato dal primo campo della descrizione anziche’ dall’indice del menu’ a
tendina.
Questa funzione (codificata con ‘E’) permette la visualizzazione del numero di badge in
accordo con i parametri di configurazione impostati.
La pressione di un tasto avvia la richiesta di un badge successivo.
DEL o CLEAR concludono la funzione.
Deve essere creato ed inviato il file ltcom.adv. Ogni riga del file non deve superare 160
caratteri. Tipicamente questa funzione permette di memorizzare nel terminale una o piu’
pagine per ogni dipendente. Le pagine vengono visualizzate quando il dipendente , prima
di timbrare, preme il tasto relativo a questa funzione. L’inserimento nel testo di alcune
sequenza di escape consente la formattazione del testo.
Se si vogliono utilizzare piu’ tipi di informazioni deve essere creato un menu a tendina
numero #10 con un massimo di 9 selezioni (vedi capitolo relativo). In tal caso, dopo la
richiesta del badge, il terminale propone il menu a tendina e poi il messaggio di tipo
corrispondente alla selezione effettuata. Se il menu non e’ stato creato il terminale
visualizza direttamente il testo di tipo 0 (zero). In caso di funzionamento OnLine la
richiesta dal terminale al server contiene numero badge e tipo di richiesta , selezionata dal
menu a tendina.
Da sinistra troviamo:
1. Ore e minuti della chiusura rele
2. Giorni della settimana dove la suoneria e’ attiva (vedi nota)
3. Numero del rele interessato
4. Tempo dell’impulso in secondi (vedi nota)
nota: La lettera ‘F’ dei giorni della settimana indica un giorno festivo che deve essere
specificato nel file ltcom.hdy. In un giorno festivo suona solo se F e giorno attuale sono
selezionati oppure se solo F e’ selezionata.
Nota: Esistono due casi particolari del tempo dell’impulso utili per programmare
intervalli di tempo molto lunghi (contenuti nella settimana)
001=il rele si attiva par un tempo indefinito
000=il rele si disattiva.
Giorni festivi
Il file ltcom.hdy contiene l’elenco dei giorno festivi dell’anno. Ovviamente questo file, se
utilizzato, deve essere aggiornato e trasmesso ogni anno.
Ecco un esempio di ltcom.hdy:
;day month
14 03
25 12
01 01
Segue ora una dettagliata descrizione dei files utilizzati. Si ricorda che ltcom.bdg,
ltcom.mdl e ltcom.tba sono impiegati sia nella modalita’ autonoma che in quella con
concentratore; ltcom.rea e’ utilizzato solo dal concentratore.
Il file ltcom.bdg
Ltcom.bdg e’ gestito in due diversi formati , esteso o normale. Il formato esteso gestisce
sia il funzionamento autonomo che quello come concentratore, con 15 politiche
massime di accesso. Il formato normale gestisce solo il funzionamento autonomo ma
supporta fino a 255 politiche di accesso . Il terminale riconosce in modo automatico il
tipo di file inviato e durante la rilettura dello stesso applica il commento corrispondente.
Se ltcom.bdg di tipo normale e’ impiegato in un concentratore, tutti i terminali slaves
connessi seguiranno la politica definita nel campo En2 di ltcom.bdg.
da sinistra vediamo:
• Il numero di matricola (badge) fino a 9 cifre numeriche
da sinistra vediamo:
• Il numero di matricola (badge) fino a 9 cifre numeriche
• un carattere di abilitazione 1=abilitato 0=disabilitato
• Il codice PIN sempre a 5 cifre numeriche da inserire anche se non utilizzato.
• Due campi En1 En2 che indicano il modello settimanale (da ltcom.mdl) relativo
alla testina locale e secondaria del terminale. 000 indica badge disabilitato.
• Date di inizio e fine abilitazione badge.
• Contatore a scalare
Il file ltcom.mdl
;dom lun mar mer gio ven sab fes
01 01 01 01 01 01 01 02 ;Mod #A 001
02 02 02 02 02 02 02 02 ;Mod #B 002
03 04 05 06 07 08 09 13 ;Mod #C 003
Il file ltcom.tba
;HIn MIn HOut MOut Pin PinOnly Head Finger AntEn TtaEn TouEn MemEn CntEn Rel1En Rel2En
RelExt
00 00 23 59 1 0 0 1 0 1 0 0 0 1 0 00
00 00 00 00 1 0 0 1 0 1 0 0 1 0 0 00
15 55 18 00 1 1 0 0 1 0 1 0 0 1 0 00
09 00 12 30 1 1 0 1 0 1 0 0 1 0 0 00
;Start group # 02
00 00 23 59 1 0 1 0 1 0 1 0 1 0 0 00
00 00 00 00 0 1 0 0 0 0 0 0 0 0 0 00
00 00 00 00 0 1 0 0 0 0 0 0 0 0 0 00
09 00 12 30 1 0 0 0 1 0 0 0 0 0 0 00
Il file ltcom.rea
Importante:
Dopo l’invio di ltcom.mem e’ necessario riavviare il terminale.
Nel record di esempio di ltcom.bdg sopra riportato al primo lettore e’ stato assegnato il
modello settimanale ‘F’, al secondo ‘C’ ed al terzo ‘D’ mentre la testina principale del
concentratore segue il modello ‘A’ e quella secondaria il modello ‘B’.
Attenzione :
E’ indispensabile settare il “ritardo trasmissione “ dei terminali slaves a 5 mS.
A Azione Commento
1 Abilita accessi Utilizza ltcom.bdg, tba e mdl per autorizzare i transiti
2 Usa comando 50 Solo presenze
4 Usa comando 55 Evita di configurare il tracciato badge su terminale remoto.
Utilizza i parametri del concentratore.
Indispensabile per lunghezza badge > 9 caratteri
8 Usa comando 12 Solo per MiniClock e modelli precedenti
16 Usa comando 17 Solo per MiniClock e modelli precedenti. Evita di configurare
la tessera sul lettore MBR.Utilizza i parametri del
Technodrive SRL Arluno Milano 44
www.technodrive-srl.it Ver. 5.09
concentratore
32 Non usato
64 Abilita ricezione Solo per terminali biometrici
templates
128 Cartellino Permette visualizzazione transiti nel concentratore
dove la parte a destra della virgola corrisponde ad una riga (record) di ltcom.bdg.
Non e’ invece possibile eliminare un record dalla memoria. Per disabilitare un badge
inviare con il comando 43 il record contenente il badge da disabilitare con il flag ‘E’ =0.
Importante:
La trasmissione del file ltcom.bdg aggiorna i valori dei contatori con i valori riportati nel
file stesso. Risulta quindi importante leggere il file dal terminale prima di inviarlo
modificato.
Esempio del file ltcom.for che determina le fasce orarie del senso di transito.
;S HH:MM HH:MM
E 08:00 08:30
U 12:00 12:30
E 14:00 14:15
U 17:30 17:45
T 23:00 23:59
Con il parametro #17 = 9 ,10 il senso di transito viene determinato dalla testina
(Entrata/uscita) ma e’ possibile forzarlo su Transito premendo il tasto CLEAR. Dopo un
transito o un tempo di 10 secondi il sistema si riposiziona su Entrata/Uscita da testina.
Con il parametro #17 = 14, 15 il senso di transito e’ determinato dalla tastiera/fasce orarie
se viene utilizzato un codice PIN mentre se viene utilizzato un badge il senso viene
determinato dal senso con cui il badge viene passato.
Nota:
Anche nella modalita’ con fasce orarie (par. #17=3 oppure 6) sono attivi i medesimi tasti
ma il loro effetto e’ limitato a 10 secondi dopo la loro pressione.
Non e’ possibile l’utilizzo contemporaneo delle due categorie e la selezione dipende dal
parametro 77 di ltcom.cfg (1 = Mifare 0 = disco in flash)
Ogni utente viene identificato con un codice numerico decimale con lunghezza da 1 a 9
cifre. A ciascun utente possono essere associate fino a sette templates. Tutti i templates e
attributi di un utente sono salvati in un file. Nel caso Mifare® il file viene salvato sul
badge Mifare® protetto da chiave di accesso. Nel caso di disco flash viene salvato sul
disco ; il nome del file e’ del tipo XXXXXXXX.TPL dove XXXXXXXX e’ il codice utente
espresso in esadecimale.
Esempio :
codice utente 1 nome file 00000001.TPL
codice utente 123456789 nome file 075BCD15.TPL
Menu biometrico
Per inserire, cancellare o modificare i templates direttamente dal terminale tutte le
funzioni sono disponibili nel menu biometrico. Lo stesso differisce se il terminale e’ in
tecnologia Mifare® oppure con disco in flash.
Per accedere al menu biometrico premere l’icona di configurazione (“conf” se
SmartClock ). Digitare la password (12345 se default) poi scorrere fino a menu
biometrico e premere Enter. E’ possibile accedere direttamente al menu biometrico
digitando la password definita dal parametro 0068 della configurazione.
Verifica utente
Avvicinare il badge e seguire le indicazioni del display. Verifica il corretto
funzionamento del sensore con i templates presenti nel badge.
Formatt. Mifare
Serve per formattare/cancellare un badge gia utilizzato da un nostro terminale.
Seguire le indicazioni del display.
ATTENZIONE Non rimuovere il badge durante la formattazione.
Impronte utente
Serve per visualizzare i templates presenti in un badge
Avvicinare il badge Mifare® e seguire le indicazioni del display
Utilizzare le frecce up/down
Livello FAR
E’ possibile variare il FAR di un utente. Il valore di default e’ 100. Sono ammessi valori
compresi tra 0 e 200. 200 rappresenta la massima severita’ del sistema.
Seguire le indicazioni del display
Aggiungi impronta
Serve per aggiungere ulteriori templates ad un utente gia creato.
Inserire da tastiera il codice numerico da associare all’utente o passare il badge
Seguire le indicazioni del display
Identifica utente
Esegue il test dell’identificazione utente
Seguire le indicazioni del display e verificare il corretto codice utente.
Importante: dopo l’inserimento/aggiunta di impronte e’ necessario lanciare la funzione
sincronizza ( presente in questo menu ) prima di testare l’identificazione.
Elimina utente
Elimina un utente dal disco flash locale
Inserire da tastiera il codice numerico dell’utente o passare il badge dell’utente da
eliminare .
Formattazione DB
Elimina tutti gli utenti (file *.TPL) dal disco flash locale. In caso di identificazione
eseguire la procedura di sincronizzazione (“Sincronizza DB” ).
Impronte utente
Visualizza tutti i templates di un utente presenti nel disco flash locale. I dati sono estratti
dal file relativo a quel utente.
Sincronizza DB
Questa procedura copia tutti i templates presenti nel disco flash locale nel database dei
modulo di identificazione. Questa procedura deve essere avviata dopo aver
creato/aggiunto o eliminato utenti e solo se l’identificazione viene utilizzata.
Questa procedura e’ disponibile anche via mgm con comando E0,SG_Syncro
Livello FAR
E’ possibile variare il FAR di un utente. Il valore di default e’ 100. Sono ammessi valori
compresi tra 0 e 200. 200 rappresenta la massima severita’ del sistema.
Seguire le indicazioni del display
Syncro Remote Sl
Condivide i templates del disco locale flash con i terminale slave connessi via RS485.
Deve essere caricato ltcom.rea e deve essere sommato 64 al flag ‘A’ .
Questa procedura e’ disponibile anche via mgm con comando SG_SyncroRemote
Codici errore
-1 Errore di memoria del terminale
-2 Errore funzione Enroll del sensore
-3 Errore comunicazione verso sensore
-4 Errore comunicazione dal sensore
-5 Errore richiesta ID
Cmd X Y String
70 0 0 Clear display
70 0 n Emette n Beep
70 n 0 Seleziona font : 1=default 2=font13 3=times16
70 1-40 1-16 Stampa string sul display posizione x,y
Tabella 24 comando 70 per getione display
Campo Descrizione
Mode Vedi tabella successiva
String Stringa di default(*) o elemento di default del menu a tendina o numero
badge per richiesta impronta
PosX Posizione x cursore
PosY Posizione y cursore
Len Lunghezza massima stringa o numero elementi di un menu a tendina
MenutNum Numero del menu a tendina da richiamare
Tabella 25 campi del comando 72
(*) Per inserire una stringa nulla utilizzare il carattere ‘_’ .
Esempio : 72,2 _ 1 2 6
i vari elementi devono essere sommati per avere input da piu’ dispositivi in
contemporanea
Comando 74 MessageBox
74,string
Visualizza una finestra centrale sul display che mostra la stringa string con font times16.
I puntatori utilizzati per gestire il buffer circolare devono essere inizializzati utilizzando il
comando 91,CLEAR.
Ecco un esempio di file ltcom.mtn utilizzato per la gestione della prenotazione mensa. I
numeri dei menu non devono necessariamente essere sequenziali. Notare che i testi sono
stati volutamente troncati a 20 caratteri.
;Testo per menu a tendina
@ 1 6
Spaghetti al pesto
Spaghetti in bianco
Pennette matriciana
Lasagne al forno
Ravioli ai funghi
Tagliatelle pomodoro
@ 2 6
Cotoletta alla milan
Scaloppine al marsal
Arrosto di vitello
Bistecca di manzo
Involtini della casa
Affettato misto
@ 3 6
patate fritte
Patate prezzemolate
Piselli in umido
Funghi trifolati
Covolfiori al forno
Insalata mista
@ 4 4
frutta di stagione
Torta alle mele
Budino al cioccolato
Piatto di formaggi
Se il file ltcom.mtn non comprende tutti i quattro menu, saranno considerati solo i primi
elencati nel file.
Al massimo sono possibili 10 scelte per ogni categoria .
EC5000000015012316584118020500
Il transito e’ di tipo #C
Nel campo causali sono indicate le selezioni per le quattro scelte effettuate .
Nell’esempio 0123 indicano prima scelta nei primi, seconda nei secondi, terza nei
contorni e quarta nella frutta. Al massimo si possono effettuare 10 selezioni per ogni
scelta in quanto il campo causali prevede solo valori numerici (da 0 a 9).
E75000000015000016584118020500
Il transito e’ di tipo #7
Trattandosi di consumo mensa nel campo causali saranno memorizzati quattro zeri.
L’invio dei transiti dipende dallo schedulatore gestito dal terminale. Le funzioni FTP
Client dipendono dal parametro 57 della configurazione e dal file ftpccfg.dat che deve
essere creato ed inviato al terminale.
Funzione Peso
Abilitazione FTP Client 16
Abilitazione scarico tabelle 32
Tabella 30 paremetro 57 di ltcom.cfg
File generati
Ogni scarico genera e trasmette un file con nome univoco. Il nome e’ composto da
quattro caratteri presi da ftpccfg.dat [ID] seguiti da un codice numerico a quattro cifre e
suffisso .trn (esempio test0000.trn, test0001.trn ecc. )
Il formato dei record e’ identico a ltcom.trn
L’ultima riga contiene nome del file e numero di record trasmessi . I primi quattro
caratteri del nome file sono sostituiti da quattro ‘x’.
E14002000003000010254425100701
E14002000003000012454425100701
xxxx0090.trn 00000032 000005f6
Funzione Peso
Abilita modem GPRS 1
Disconnessione dopo ogni scarico 2
Tabella 31 paremetro 57 di ltcom.cfg
File generati
Ogni scarico genera e trasmette un file con nome univoco. Il nome e’ composto da
quattro caratteri presi da gprscfg.dat [ID] seguiti da un codice numerico a quattro cifre e
suffisso .trn (esempio test0000.trn, test0001.trn ecc. )
Il formato dei record e’ identico a ltcom.trn
L’ultima riga contiene nome del file, numero di record trasmessi e checksum a 32 bit
calcolato sommando tutti i byte trasmessi.
Segue esempio di un file generato contenente 2 transiti.
E14002000003000010254425100701
E14002000003000012454425100701
Test0090.trn 00000032 000005f6
1. Visualizzazione transiti
2. Stampa mensile
3. Ristampa ticket
Visualizzazioni transiti
Permette di visionare sul display i transiti di un badge o di tutti i badge (se il numero
impostato e’ zero). Con le frecce e’ possibile navigare in tutta la memoria transiti del
terminale. CLEAR conclude la procedura. Questa procedura visualizza tutti i tipi di
transito in memoria.
Stampa mensile
Permette la stampa di tutti i transiti mensili di un badge. Vengono richiesti numero badge
e mese preso in considerazione. Vengono stampati fino a otto transiti per giorno. Sono
presi in considerazione solo i transiti di presenze.
Ristampa ticket
Consente la stampa di transazioni gia effettuate. Inizialmente viene richiesto il numero di
badge ed in seguito il tipo di transito da prendere in considerazione. Con ENTER e’
possibile stampare le transazioni piu’ vecchie. Con CLEAR si conclude la procedura. E’
necessario abilitare la stampante (parametro #0029 della configurazione) in accordo con
la tabella del capitolo precedente.
Peso funzione
1 Abilita lettore Mifare
2 Utilizza numero seriale univoco come numero matricola
4 Abilita le funzioni di programmazione (tabella seguente)
8 Non protegge i badge dopo la programmazione
Comando Effetto
FA,CLEAR Cancella tutta la memoria del badge
FA,PROGRAM nbadge Scrive il numero di badge nbadge in accordo con
la struttura dati Technodrive in modo che lo stesso
sia interpretato come numero di matricola dal
terminale. nbadge e’ un valore numerico massimo
9 cifre. E’ possibile utilizzare questo comando solo
se il badge e’ nuovo o cancellato. La struttura
viene scritta nel blocco zero.
FA,WRITE nBlk sData Scrive la stringa di caratteri sData nel blocco nBlk
del badge. sData deve avere lunghezza fissa di 16
caratteri. nBlk e’ un interi compreso tra uno e
MaxBlk.
FA,READ nBlk Ritorna il contenuto del blocco nBlk. nBlk e’ un
interi compreso tra uno e MaxBlk.
FA,ENQUIRY Ritorna alcuni parametri tipici del badge.
Numero seriale univoco 10 cifre
Numero massimo di blocchi MaxBlk 3 cifre
Numero di badge 9 cifre
Codice impianto 9 cifre
Configurazione
Il primo modulo deve essere configurato con ID=1 ed i successivi con ID 2,3 ecc.
La velocita’ dei moduli deve essere configurata in accordo con quella della COM4 del
terminale.
L’abbinamento matricola/led e’ rappresentato dal file ltcom.blk . Ecco un esempio:
;badge commento
000000003 ABCDEFGHIJKLMNOP
000000005 AAAAAAAABBBBBBBB
000000008 C@@@@@@@@@@@@@@@
000000009 ABC@ZZZZZZZZZZZZ
Password distributore
La password distributore abilita alcune funzioni particolari come la memorizzazione del
logo per il display.
• E’ possibile memorizzare la password una sola volta.
• La password deve essere composta da 8 caratteri alfanumerici.
Chiave distributore
La chiave distributore serve per legare i terminali al software
• E’ possibile memorizzare la chiave una sola volta.
• La chiave deve essere composta da 8 caratteri alfanumerici.
Se la password distributore non e’ stata ancora inserita, una qualsiasi password con
lunghezza 8 caratteri sara’ ritenuta valida.
Verifica password
Per abilitare alcune funzioni occorre preventivamente autorizzare le stesse verificando la
password distributore. Per fare cio’ usare la sintassi:
Per inserire la scritta occorre prima verificare la password distributore e poi inviare il
seguente comando:
11,LcdLabel string
dove string e’ una stringa di lunghezza compresa tra 7 e 20 caratteri (16 per SmartClock
e MiniClock++).
Per disabilitare la funzione inviare una stringa con meno di sei caratteri.
L’ elettroserratura deve essere gestita dal rele #1 del terminale mentre un indicatore di
porta aperta deve essere connesso tra l’INPUT1 e GND . Il contatto dell’indicatore deve
essere senza potenziale e di tipo NC (contatto chiuso a porta chiusa).
Il parametro #73 della configurazione determina il tempo (in decimi di secondo) massimo
di porta aperta mentre il parametro #74 determina le modalita’ di funzionamento secondo
la seguente tabella.
Funzione Peso
parametro #74
Abilitazione buzzer locale in caso di allarme 1
Abilitazione scatto rele #2 in caso di allarme 2
Memorizzazione transito tipo 8 in caso di allarme 4
In caso di apertura forzata della porta l’allarme inizia solo dopo il tempo 8
impostato nel parametro #73 della configurazione
[ICO01] 5 300 1
[ICO02] 150 300 2
[ICO03] 300 300 3
[ICO04] 450 300 4
[TIME_DATE] 30 50 07E0
L’ultima riga del file di esempio determina la posizione (x y) ed il colore dei font
utilizzati per data e ora. Il colore e’ espresso in esadecimale ed indica il colore RGB a 16
bit.
Debugger
Per iniziare lo sviluppo di programmi basic settare il par. #35 di ltcom.cfg a #0004 e
connettersi al terminate via TCP/IP con un applicativo tipo HyperTerminal. L’indirizzo
IP e la porta dipendono dai parametri #0045 e #0051 di ltcom.cfg .
Un messaggio di Hello… dovrebbe essere visualizzato su HyperTerminal.
I comandi disponibili sono :
Comando Funzione
NEW Inizializza tutta la memoria Basic
LOAD “filename.bas” Carica un programma dal file filename.bas
SAVE “filename.bas” Salva il programma nel file filename.bas
RUN Lancia il programma filename.bas
DO RENAME Cambia la numerazione dell righe con passo 10
DO NUM Applica i numeri di riga
DO UNNUM Elimina i numeri di riga
DIR “*.*” Visualizza tutti i files sul disco del terminale
KILL “filename” Cancella il file filename
COPY “file1”,”file2” Copia il file file1 su file2
NAME “file1” as “file2” Rinomina file1 come file2
Tabella 39 Comandi da consolle basic
I comandi LOAD , SAVE e DIR operano sul disco flash interno del terminale. Per
trasferire i files da e per il terminale utilizzare LTCom oppure connettersi con FTP.
File Funzione
COM1: Porta seriale com1
COM2: Porta seriale com2
COM3: Porta seriale com3
COM4: Porta seriale com4
BDG1: Badge #1
BDG2: Badge #2
ETHR: Porta Ethernet TCP/IP
10 cls
20 print "programmazione di un badge 13.56"
30 risp$=td1356$("10")
40 print risp$
50 risp$=td1356$("120031323334353637383940414243444546")
60 print risp$
70 risp$=td1356$("1100")
80 print risp$
ABS( number )
ASC( string$ )
ATN( number )
CALL subroutine-name
CASE ELSE | IF partial-expression | constant
CHR$( number )
CINT( number )
CLEAR
CLOSE [[#]file-number]...
CLS
COS( number )
CSNG( number )
CVD( string$ )
CVI( string$ )
CVS( string$ )
DATA constant[,constant]...
DATE$
DEF FNname(arg...)] = expression
DEFDBL letter[-letter](, letter[-letter])...
DEFINT letter[-letter](, letter[-letter])...
DEFSNG letter[-letter](, letter[-letter])...
DEFSTR letter[-letter](, letter[-letter])...
DELETE line[-line]
DIM variable(elements...)[variable(elements...)]...
DO [WHILE expression]
ELSE
ELSEIF
END IF | FUNCTION | SELECT | SUB
EOF( device-number )
ERASE variable[, variable]...
ERL
ERR
ERROR number
EXP( number )
FIELD [#] device-number, number AS string-variable [, number AS string-variable...]
FILES filespec$
FUNCTION
FOR counter = start TO finish [STEP increment]
GET [#] device-number [, record-number]
Technodrive SRL Arluno Milano 86
www.technodrive-srl.it Ver. 5.09
GOSUB line | label
GOTO line | label
HEX$( number )
IF expression THEN [statement [ELSE statement]]
INPUT [# device-number]|[;]["prompt string";]list of variables
INSTR( [start-position,] string-searched$, string-pattern$ )
INT( number )
KILL file-name
LEFT$( string$, number-of-spaces )
LEN( string$ )
LET variable = expression
LINE INPUT [[#] device-number,]["prompt string";] string-variable$
LIST line[-line]
LOAD file-name
LOC( device-number )
LOCATE line, column
LOF( device-number )
LOG( number )
LOOP [UNTIL expression]
LSET string-variable$ = expression
MID$( string$, start-position-in-string[, number-of-spaces ] )
MKD$( number )
NAME old-file-name AS new-file-name
NEW
NEXT [counter]
OCT$( number )
ON variable GOTO|GOSUB line[,line,line,...]
ON ERROR GOSUB line/label
OPEN "O"|"I"|"R", [#]device-number, file-name [,record length] file-name FOR
INPUT|OUTPUT|APPEND AS [#]device-number [LEN = record-length]
OPTION BASE number
PRINT [# device-number,][USING format-string$;] expressions...
PUT [#] device-number [, record-number]
QUIT
RANDOMIZE number
READ variable[, variable]...
REM string
RESTORE line
RETURN
RIGHT$( string$, number-of-spaces )
RND( number )
Technodrive SRL Arluno Milano 87
www.technodrive-srl.it Ver. 5.09
RSET string-variable$ = expression
RUN [line][file-name]
SAVE file-name
SELECT CASE expression
SGN( number )
SIN( number )
SPACE$( number )
SPC( number )
SQR( number )
STOP
STR$( number )
STRING$( number, ascii-value|string$ )
SUB subroutine-name
SWAP variable, variable
TAN( number )
TIME$
TIMER
TROFF
TRON
VAL( string$ )
WEND
WHILE expression
WRITE [# device-number,] element [, element ]....
Il file FC_536.LDR , fornito dalla Technodrive srl, contiene il firmware che e’ comune a
tutti i modelli di terminali con core 536; esso si adatta automaticamente a tutti i terminali.
Il firmware e’ aggiornabile sia tramite WLTCom.dll che FTP.
Per aggiornare con WLTCom.dll usare il comando TX536 oppure inviare il file al
terminale con il comando tfile,nomefile e quindi riavviare il terminale.
Per aggiornare con FTP e’ sufficiente inviare il file FC_536.LDR e quindi fare ripartire il
terminale.
Programma di StartUp
StartUp e’ un firmware sempre residente ed aggiornabile solo in fabbrica. Il suo scopo e’
quello di permettere il caricamento del firmware finale in qualsiasi condizione.
All’accensione del terminale il controllo del programma viene sempre passato al
programma di StartUp il quale, in condizioni normali, trasferisce poi il controllo al
firmware finale. Se esso non e’ presente o e’ difettoso, lo startup permette di comunicare
comunque e quindi di trasferire il firmware finale al terminale. Esistono due modalita’ di
StartUp :
1. StartUp di root o modo #0
2. StartUp normale o modo #3
Il primo ripristina tutti i parametri di comunicazione con i valori di fabbrica (vedi tabella)
mentre il secondo utilizza i parametri di comunicazione esistenti del terminale. Il primo
caso e’ utile quando il terminale e’ nuovo o quando non si vogliono utilizzare i parametri
in memoria.
Configurazione
La testina deve essere configurata con LTCom via porta seriale RS485. E’ necessario
dotarsi di un convertitore RS232/RS485 . In alternativa e’ possibile utilizzare un qualsiasi
terminate Technodrive dotato di interfaccia Ethernet abilitando la funzione “BRIDGE”.
Per la funzione “BRIDGE” fare riferimento relativo paragrafo di questo manuale .
La configurazione dipende dal file ltcom.cfg che puo essere letto/scritto con i comandi
rxconfig/txconfig oppure rfile,ltcom.cfg/tfile,ltcom.cfg .
Solo i parametri in neretto sono utilizzati; i rimanenti sono riservati per future
implementazioni.
Se i Dip 1-6 sono tutti OFF durante i primi 5 secondi dopo l’accensione il terminale
utilizza i parametri di configurazione di default (speed=19200 id=1 ritardo
trasmissione=5 ) rendendo sempre possibile la comunicazione. In questa modalita’ i due
led lampeggiano tre volte al secondo.
Nota:
Se i Dip 1-6 sono tutti a OFF tutti i Dip 1-8 sono disabilitati ed i parametri ID e Speed
vengono prelevati da Ltcom.cfg. In questa situazione durante i primi 5 secondi
dall’accensione il terminale utilizza ID=1 e Speed=19200.
Cella# Cella# Cella# Cella# Cella# Cella# Cella# Cella# Cella# Cella#1
1 4bit 2 4bit 3 4bit 4 4bit 5 4bit 6 4bit 7 4bit 8 4bit 9 4bit 0 4bit
Byte #1 Byte #2 Byte #3 Byte #4 Byte #5
Codice Numero tessera a 32 bit
produttore
Codifica a 13 Codifica a 13 cifre
000-255 0000000000-4294967295
Codifica a 20 Codifica a 20 cifre
0000-1515 0000000000000000-1515151515151515
Esempi:
Cella# Cella# Cella# Cella# Cella# Cella# Cella# Cella# Cella# Cella#1
1 0x0f 2 0x0e 3 0x0d 4 0x0c 5 0x0b 6 0x0a 7 0x09 8 0x08 9 0x07 0 0x06
Codifica 13 Codifica 13
254 3703216246
Note: