Problemi e risoluzione

Caratteri mancanti, letture doppie o cifre ripetute: come sistemare il lettore

Se il lettore perde caratteri in punti casuali, il programma non regge la velocità con cui il lettore "digita": si risolve con un piccolo ritardo tra caratteri. Se lo stesso codice viene registrato due volte, il timeout di rilettura dello stesso codice è troppo breve o la modalità di scansione è continua. Cifre ripetute decine di volte indicano invece un tasto rimasto "premuto", tipico del wireless.

Riconosci lo schema dell'errore

Scansiona lo stesso codice dieci volte nel test lettore codici a barre, che mostra anche i tempi tra un carattere e l'altro. Poi confronta con questi schemi. Codice letto: 8001234567890.

Schema A, caratteri persi a caso:
800124567890
80012345690
8001234567890

Schema B, lettura doppia:
8001234567890
8001234567890

Schema C, carattere ripetuto:
800123456777777777777777777

Schema D, sempre lo stesso pezzo mancante:
001234567890
Schema dell'errore e causa
SchemaCausa probabileRimedio
A: caratteri persi in punti diversiProgramma lento, desktop remoto, web app pesanteRitardo tra caratteri di qualche millisecondo
B: stesso codice due volteTimeout di rilettura breve, modalità continua o da bancoAumenta il timeout dello stesso codice
C: un carattere ripetuto a lungoRilascio del tasto perso (Bluetooth, hub USB)Migliora il collegamento; vedi sotto
D: sempre gli stessi caratteri mancantiFormattazione del dato (cifre eliminate di proposito)Controlla le opzioni di trasmissione del lettore

Caratteri persi: il ritardo tra caratteri

Un lettore in emulazione tastiera può inviare un codice di 13 cifre in pochi millisecondi, molto più velocemente di qualsiasi persona. La maggior parte dei programmi lo regge. Alcuni no:

  • Desktop remoto e ambienti virtualizzati, dove ogni tasto viaggia in rete e può arrivare fuori tempo o essere scartato.
  • Applicazioni web che a ogni tasto lanciano una ricerca o un completamento automatico e rallentano la pagina. Vedi lettore in applicazioni web.
  • Vecchi gestionali o terminali emulati che leggono la tastiera a intervalli.
  • Computer molto carichi nel momento della lettura.
  1. Cerca l'impostazione nel manuale. Le voci sono "Intercharacter Delay", "Inter-keystroke delay", "Character delay" o simili. Alcuni lettori hanno anche un ritardo dopo il codice o prima del suffisso.
  2. Parti da un valore basso. Imposta pochi millisecondi (molti manuali offrono valori prestabiliti come 5, 10, 20 ms; i valori disponibili dipendono dal modello).
  3. Prova nel programma reale. Scansiona venti volte. Se l'errore resta, aumenta un passo alla volta. Un ritardo eccessivo rallenta visibilmente la lettura dei codici lunghi, come QR e GS1.

Il funzionamento dei ritardi è spiegato in dettaglio in ritardo tra caratteri.

Se mancano solo i primi caratteri dopo un Invio, il problema può essere il programma che, dopo aver ricevuto il codice precedente, impiega un momento per pulire il campo. Un ritardo dopo il suffisso o un suffisso Tab invece di Invio può bastare.

Letture doppie: modalità e timeout

Nelle modalità a presentazione (lettore da banco) o continua, il lettore resta acceso e rilegge tutto quello che passa davanti. Per evitare di registrare due volte lo stesso prodotto usa un timeout per lo stesso codice (spesso "Same Symbol Timeout", "Reread Delay" o "Double Read Timeout"): per quel tempo lo stesso codice viene ignorato.

  • Timeout troppo breve: un prodotto fermo davanti al lettore viene registrato due o tre volte.
  • Timeout troppo lungo: in cassa non riesci a battere due confezioni identiche una dopo l'altra senza aspettare.

Con un lettore a pistola usato a grilletto, le letture doppie sono rare: se succedono, controlla che il lettore non sia stato messo in modalità continua o a presentazione. Le modalità sono descritte in modalità di scansione.

Caso tipico: in una cassa con lettore da banco, le bottiglie d'acqua vengono registrate due volte. L'operatore le passa lentamente e il lettore le rilegge dopo il timeout. Aumentare un poco il timeout dello stesso codice risolve senza impedire di battere più confezioni uguali con un movimento normale.

Caratteri ripetuti all'infinito

Un tasto premuto in emulazione tastiera è fatto di due messaggi: "premuto" e "rilasciato". Se il secondo va perso, il sistema operativo applica la ripetizione automatica come se tenessi premuto il tasto. Succede quasi solo con lettori senza fili al limite della portata, con batteria scarica o con hub USB difettosi.

  • Avvicina il lettore alla base o al PC e ricarica la batteria.
  • Collega il ricevitore direttamente al PC, senza hub.
  • Controlla gli altri sintomi di instabilità in Bluetooth che si disconnette.

Pezzi mancanti sempre uguali

Se manca sempre lo stesso carattere (per esempio la prima o l'ultima cifra), non è un problema di velocità: il lettore è configurato per non trasmetterlo. Esempi frequenti:

  • cifra di controllo esclusa per EAN, UPC, Code 39 o ITF;
  • UPC-A trasmesso senza lo zero iniziale o, al contrario, convertito in EAN-13 con uno zero in più;
  • regole di formattazione dei dati che tagliano una parte del codice.

Controlla le opzioni della simbologia in abilitare le simbologie e le regole in formattazione dei dati.

Prevenzione

  • Quando introduci un nuovo programma o un desktop remoto, fai una prova di cinquanta letture consecutive prima di andare in produzione.
  • Imposta il ritardo minimo che elimina l'errore, non un valore alto "per sicurezza".
  • In cassa, regola il timeout dello stesso codice con gli operatori, sul flusso reale di lavoro.

Domande frequenti

Perché con il Blocco note funziona e con il gestionale perde cifre?

Il Blocco note riceve i tasti senza elaborazioni; il gestionale magari cerca l'articolo a ogni tasto o gira in sessione remota. È il segnale tipico che serve un ritardo tra caratteri.

Le letture doppie possono dipendere dal programma?

Sì, se il programma considera due Invio come due conferme. Controlla nel test lettore che arrivi un solo codice con un solo suffisso: se è così, la doppia registrazione nasce nel programma.

Il ritardo tra caratteri rallenta il lavoro?

Con pochi millisecondi la differenza non si percepisce sugli EAN. Su un QR di centinaia di caratteri il tempo di digitazione diventa visibile: valuta l'interfaccia seriale per codici molto lunghi.

Fonti e riferimenti

  • USB Implementers Forum, HID Usage Tables e specifica della classe HID (report di pressione e rilascio dei tasti).
  • Product Reference Guide dei produttori, sezioni Keyboard Wedge timing, Same Symbol Timeout e Data Formatting: Zebra, Honeywell, Datalogic.
  • GS1 General Specifications, struttura di EAN-13 e UPC-A: gs1.org.

Altro in Problemi e risoluzione

Tutta la sezione Problemi e risoluzione