Proteus, grazie alla sua potenza espressiva, alla sua versatilità e facilità d'uso è
particolarmente adatto per l'impiego in settori come l'Identificazione Automatica, in cui
è richiesta efficienza, massima produttività e flessibilità.
Le problematiche che Proteus è in grado di risolvere sono numerose e diversificate; ad
esempio:
- emulazione di tastiera: utilizzando le funzioni per l'introduzione di tasti nel
buffer di sistema ed eseguendo il linguaggio come servizio, in pochi minuti si possono
collegare dispositivi seriali e di rete (vedi gli esempi scanner.prt
e cb1000.prt), senza la necessità di acquistare hardware
dedicato e poco versatile; in Proteus è facile costruire nuovi protocolli e quindi
sostituire gli apparecchi collegati con quelli di altri produttori, oppure modificare la
modalità di introduzione dati, aggiungendo preamboli, postamboli e ritardi come
necessario; Proteus viene fornito con numerosi esempi, che implementano i seguenti
protocolli di comunicazione: Datalogic® DTP, Ack-Nak PC32, Sysnet, Wedge
(protocollo F64/F67), Special Protocol, Eavesdrop; seriale con controllo di flusso
hardware, software o assente; ActiveSync; file; socket; questo permette di collegare, tra gli altri, i
seguenti dispositivi:
- Datalogic®: F630, F660, F732, F734, F725, 7400, 8600 Kyman, 9600 Viper®; Proteus
può sostituire gli emulatori di tastiera DPS-8000, F64 e F67;
- Symbol®: CB1000;
- tutti gli scanner industriali che scaricano con il solo controllo di flusso
hardware/software;
- tutti i dispositivi Windows CE/Pocket PC;
- tutti i dispositivi che permettono di scaricare i dati in un file;
- acquisizione di dati in background: eseguito come servizio, Proteus può
catturare dati provenienti da varie sorgenti (file, dispositivi seriali e di rete,
attraverso socket e named pipe), elaborarli e salvarli o ritrasmetterli in vari formati
(vedi cb1000db.prt);
- print server intelligente: utilizzando stampanti dedicate (es. trasferimento
termico), è spesso necessario integrare nel proprio sistema informativo degli spool,
cioè sequenze di istruzioni nel linguaggio della stampante; spesso ciò comporta dei
problemi, in quanto non tutti gli host hanno la possibilità di inviare sequenze di
istruzioni senza aggiungere caratteri di controllo; ogni modifica ai layout
richiede inoltre la ricompilazione dei programmi sul sistema, con tutti i problemi che
ciò può comportare; scrivendo un programma Proteus che acquisisca un file trasferito dal
gestionale per originare la stampa, contenente solo i dati variabili, è molto semplice
inviare la stampa ad uno o più dispositivi, anche con linguaggi diversi; la modifica ai
layout può essere effettuata anche quando gli utenti stanno lavorando, senza
interruzione, ed è estremamente agevole essendo Proteus uno dei linguaggi più versatili
per quanto riguarda l'elaborazione delle stringhe (vedi send.prt,
sendlpt.prt);
- programmi con interfaccia a carattere: utilizzando terminali in radiofrequenza
collegati in tempo reale, una delle opzioni più semplici (ed economiche) consiste nel
connettere gli operatori al sistema attraverso un Telnet Server; Proteus permette di
realizzare velocemente ed efficacemente programmi con interfaccia a carattere interagibili
con client VT; rispetto alle possibili alternative:
- sviluppo con ambienti di programmazione a 16 bit (che rallentano moltissimo il server);
- sviluppo in Visual C++ (con tutte le complicazioni che derivano dalla mancanza di
funzioni ad alto livello);
Proteus permette di risparmiare tempo e di ottenere applicativi a 32 bit che possono
utilizzare i componenti di accesso ai dati di Microsoft®, sfruttando nel contempo
tutte le possibilità di Windows ed occupando pochissime risorse sul server (vedi codqt.prt);
- gestione di dispositivi di linea ed applicatori: se si desidera creare
applicativi che non richiedano l'interazione dell'operatore, la strada migliore è quella
di realizzare un servizio; in questo modo, il computer può rimanere in fase di richiesta
del nome utente/password, mentre in background l'applicativo svolge le sue funzioni; molti
problemi che si verificano sui computer in prossimità di linee automatiche sono causati
dagli operatori che interferiscono con i programmi di gestione; la scrittura di un
servizio in Proteus è semplicissima e non richiede conoscenze particolari del sistema;
- programmi di conversione: spesso i dispositivi di identificazione automatica
forniscono i dati in formati non omogenei, che devono essere preventivamente trattati per
l'introduzione nel proprio sistema informativo; Proteus permette di scrivere semplici
procedure di conversione che, con poche righe di codice, adattano i dati in ingresso a
quanto atteso dalle vostre procedure, senza richiedere l'utilizzo di linguaggi complessi o
poco versatili.
Implementazione di
protocolli
A titolo di esempio, forniamo alcuni esempi di protocolli sviluppati in Proteus, per
effettuare l'emulazione di tastiera con terminali del produttore italiano Datalogic®:
Programma |
Descrizione |
formula.prt |
software per l'emulazione di tastiera con apparecchi della famiglia Formula
(protocollo Sysnet): Modo 1/2, Powergen, Easygen |
acknak32.prt |
software per l'emulazione di tastiera con apparecchi della famiglia MW, MS (protocollo
Ack-Nack PC32) |
sprotocol.prt |
software per l'emulazione di tastiera con apparecchi della famiglia Formula
(Special Protocol): Modo 1/2 |
dtps.prt |
software per l'emulazione di tastiera con apparecchi 7400, 8600 Kyman, 9600
Viper (protocollo DTP) |
wedgef64.prt |
software per l'emulazione di tastiera con protocollo Wedge (sostituisce gli emulatori
F64 e F67) |
actsync.prt |
software per l'emulazione di tastiera per dispositivi ActiveSync (Windows® CE/Pocket PC) |
filewedg.prt |
software per l'emulazione di tastiera di qualsiasi file nel sistema |
Partendo da questi programmi è estremamente semplice implementare un proprio
protocollo, oppure estendere questi concetti ad apparecchi simili.
Il vantaggio di un approccio di questo tipo è evidente anche dal punto di vista della
sicurezza: i dati sono bufferizzati internamente e trasmessi in emulazione di tastiera solo
quando il terminale ha completato correttamente il trasferimento.
Ciò è possibile grazie alla grandissima capacità di memoria dei PC: un dispositivo
hardware per l'emulazione di tastiera ha solo qualche centinaio di bytes di memoria e non
può quindi memorizzare completamente tutti i dati in ingresso, con lo svantaggio che, nel
caso in cui lo scaricamento si interrompa per un qualsiasi motivo (terminale
inavvertitamente sollevato dalla culla di scarico, spostamento dei cavi, falsi contatti),
non è possibile distinguere i dati trasferiti da quelli residui; questo può comportare
perdite di tempo ed informazioni duplicate, che l'approccio con Proteus elimina
completamente.
Altre funzionalità molto utili che si possono ottenere con questo approccio sono:
- l'ordinamento dei dati prima dell'invio;
- l'accorpamento delle informazioni (es. sommare le quantità ed inviare un unico articolo
con la quantità pari alla somma dei dati rilevati);
- l'eliminazione di informazioni non rilevanti presenti in ogni lettura (es. data, ora,
codice del terminale, ecc.).
Inoltre, tutti i dati inviati da Proteus in emulazione di tastiera possono essere
salvati contemporaneamente su un file di testo oppure in un database, permettendo un
ulteriore livello di sicurezza. Infine, avendo un dispositivo hardware in meno nella
catena, si ha un componente in meno che si può rompere: questo assicura continuità
operativa ed un risparmio nei costi di gestione.