USB, Bluetooth e wireless

Lettori di codici a barre seriali RS232: collegamento, parametri e alimentazione

Un lettore RS232 invia i dati come flusso seriale su un connettore DB9 (o simile): il dispositivo ricevente deve aprire la porta con gli stessi parametri del lettore, di solito velocità, bit di dati, parità e bit di stop (es. 9600 8N1). Molti lettori seriali non prendono corrente dalla porta e richiedono un alimentatore esterno o un cavo con presa di alimentazione.

Dove si usa ancora la seriale

L'RS232 sembra superata, ma resta comune in:

  • registratori di cassa e bilance con ingresso seriale per il lettore;
  • macchinari, PLC e sistemi industriali (vedi lettori industriali);
  • software gestionali scritti per leggere da porta COM;
  • terminali e sistemi embedded senza stack USB HID.

Sui PC moderni spesso la soluzione più semplice è un lettore USB in COM virtuale: il software vede una porta seriale senza cavi seriali veri.

I parametri da far coincidere

Parametri seriali e valori tipici
ParametroValori comuniSe non coincide
Velocità (baud rate)9600 (molto comune), 19200, 38400, 115200Caratteri casuali o nessun dato
Bit di dati8 (a volte 7)Caratteri sbagliati
ParitàNessuna (N), pari (E), dispari (O)Errori o caratteri alterati
Bit di stop1 (a volte 2)Errori sporadici
Controllo di flussoNessuno, RTS/CTS hardware, XON/XOFFIl lettore non trasmette o si blocca
TerminatoreCR, CR+LF, nessunoIl software non capisce dove finisce il codice

La notazione "9600 8N1" significa 9600 baud, 8 bit di dati, nessuna parità, 1 bit di stop. I valori predefiniti del lettore sono nel Product Reference Guide, nella sezione RS232; quelli del ricevente nel suo manuale. Il terminatore si configura come suffisso: vedi aggiungere Invio o Tab e la tabella caratteri di controllo ASCII.

Cablaggio e alimentazione

Due aspetti causano la maggior parte dei problemi d'installazione:

Alimentazione

Una porta seriale standard non fornisce alimentazione. I lettori RS232 risolvono in tre modi: alimentatore esterno collegato al cavo, cavo con presa per prelevare alimentazione dalla tastiera o da USB, oppure alimentazione fornita su un pin del connettore da registratori e terminali che lo prevedono (non standard, dipende dal dispositivo). Se il lettore non si accende, prima di tutto verifica questo punto (vedi lettore che non si accende).

Non collegare un alimentatore "che ha lo stesso spinotto": tensione e polarità devono essere quelle indicate dal produttore del lettore. Un alimentatore sbagliato può danneggiare il lettore in modo permanente.

Cavo diritto o incrociato

Tra due dispositivi entrambi configurati come DTE può servire un cavo null modem (TX e RX incrociati). I cavi seriali dei lettori sono generalmente costruiti per collegarsi direttamente al PC; per registratori, bilance e PLC serve spesso un cavo specifico o un adattatore, indicato dal produttore del dispositivo ricevente. Approfondisci in cavi e interfacce.

Usare un lettore RS232 su un PC moderno

  1. Adattatore USB-seriale di buona qualità: Windows crea una porta COM, visibile in Gestione dispositivi sotto "Porte (COM e LPT)". Alcuni adattatori richiedono il driver del produttore del chip.
  2. Alimenta il lettore con il suo alimentatore: l'adattatore non lo fa.
  3. Apri un terminale seriale sulla COM creata, con i parametri del lettore.
  4. Leggi un codice di prova: se vedi i dati corretti, configura il software con gli stessi parametri. Se vedi simboli casuali, la velocità non coincide.

Un lettore RS232 non scrive nei programmi come una tastiera. Se ti serve inserire i dati in Excel o nel browser, servono un programma "wedge" che legga la seriale e simuli la tastiera, oppure un lettore USB HID.

Diagnosi rapida

Sintomi di una connessione seriale e possibili cause
SintomoPossibili cause
Nessuna luce, nessun beepManca l'alimentazione
Beep ma nessun datoCavo non adatto, TX/RX invertiti, controllo di flusso RTS/CTS attivo su un lato solo, porta COM sbagliata
Dati illeggibili (simboli strani)Baud rate, parità o bit di dati diversi
Codici attaccati tra loroManca il terminatore CR o CR+LF
Funziona a trattiConnettore allentato, cavo danneggiato, adattatore USB economico

Ricorda che sul lato lettore molti modelli usano connettori a innesto modulare simili a quelli di rete: sono interfacce proprietarie, non porte Ethernet. Il cavo seriale giusto è quello specifico per il modello e per l'interfaccia RS232.

Cosa vedi in un terminale seriale

Con parametri corretti e terminatore CR+LF, leggendo tre codici ottieni righe pulite:

8001234567897
ABC-1234
2301234003491

Con la velocità sbagliata (per esempio lettore a 9600 e terminale a 115200) vedi invece sequenze di simboli casuali o nessun carattere, anche se il lettore emette regolarmente il beep di lettura. Con la parità sbagliata alcune cifre possono uscire giuste e altre no: è il segnale tipico di un problema di parametri, non del cavo. Se il terminale mostra i codici tutti attaccati su una riga, manca il terminatore: aggiungilo come suffisso sul lettore.

Un terminale seriale è anche il modo più rapido per capire se il problema è del lettore o del software: se nel terminale i dati sono corretti, il lettore è a posto e va rivista la configurazione del programma ricevente.

Domande frequenti

Posso trasformare un lettore USB in RS232 cambiando cavo?

Su molti lettori professionali multi-interfaccia sì: si cambia cavo e si seleziona l'interfaccia RS232 con il codice del manuale. Sui lettori economici con cavo fisso in genere no.

Quale baud rate scegliere?

Quello richiesto dal dispositivo ricevente. Se puoi scegliere, 9600 è ampiamente supportato e più che sufficiente per codici lineari; per QR e codici 2D lunghi una velocità maggiore riduce il tempo di trasmissione.

Un registratore telematico accetta lettori seriali?

Alcuni modelli sì, con un cavo e una configurazione specifici. Vedi lettore e registratore telematico e controlla il manuale del registratore.

Fonti e riferimenti

Altro in USB, Bluetooth e wireless

Tutta la sezione USB, Bluetooth e wireless