Cookie
Electronic Team, Inc. uses cookies to personalize your experience on our website. By continuing to use this site, you agree to our cookie policy. Click here to learn more.

Accedi a un dispositivo Modbus RTU tramite una rete — senza un gateway hardware

Editorial Team Editorial Team
Aggiornato: Jul 16, 2026

Il tuo PLC, contatore di energia o controllore di flusso comunica tramite Modbus RTU su un cavo seriale. Il tuo SCADA, HMI o data logger viene eseguito su una macchina dall'altra parte dell'edificio — o dall'altra parte del paese. Questa guida mostra come colmare questa distanza con una porta COM virtuale, così il tuo software esistente non noterà mai la differenza.

Accedi a un dispositivo Modbus RTU tramite una rete

Il problema: seriale da un lato, rete dall'altro

Modbus RTU è ancora il protocollo dominante nei reparti di produzione, nelle sottostazioni e nei siti remoti sul campo. È veloce, deterministico e supportato da praticamente ogni dispositivo industriale prodotto negli ultimi 40 anni. Il problema è che è stato progettato per un cavo corto, non per una rete.

Lo scenario tipico è questo: un master Modbus — una piattaforma SCADA come Kepware, Ignition o un'applicazione personalizzata — deve interrogare i registri su un dispositivo remoto. Il dispositivo ha una porta RS-232 o RS-485. Il software master si aspetta una porta COM locale. Tra loro c'è una LAN aziendale — o una WAN.
Informazione chiave

Se hai già un PC o un dispositivo Linux embedded nel sito remoto — un server, un gateway edge, un Raspberry Pi — non hai bisogno di un device server hardware. Una porta COM virtuale software può svolgere lo stesso compito, utilizzando hardware che possiedi già.
La risposta convenzionale è un server di dispositivi seriali hardware — un Moxa NPort, un Lantronix UDS o un Digi PortServer. Si tratta di dispositivi dedicati che si trovano accanto al dispositivo sul campo, si collegano alla rete e presentano la porta seriale come un socket TCP. Funzionano bene, ma costano $150–$500 per porta, richiedono un'installazione fisica e aggiungono hardware da mantenere in ogni sito remoto.

Modbus RTU vs. Modbus TCP — e perché la differenza è importante

Prima di andare oltre, è utile capire cosa siano effettivamente queste due varianti, perché non sono intercambiabili e la distinzione determina la scelta dell'approccio.
Proprietà
Modbus RTU
Modbus TCP
Trasporto
Cavo seriale (RS-232, RS-485, RS-422)
Rete Ethernet / TCP/IP
Formato del telaio
Binario, checksum CRC-16
Binario con intestazione MBAP, senza CRC
Porta predefinita
Porta COM fisica (ad es. COM3)
Porta TCP 502
Supporto multi-master
No — un master per bus
Sì — più master possono connettersi
Requisito del dispositivo
Qualsiasi dispositivo con porta RS-232/485
Il dispositivo deve supportare Ethernet
Conversione del protocollo
Sì, se il dispositivo è solo RTU
Un gateway Modbus TCP traduce tra queste due varianti a livello di protocollo — parla RTU con il dispositivo seriale e TCP con il client di rete. Comprende i frame Modbus, rimuove o aggiunge l'intestazione MBAP e converte il CRC.

Un reindirizzatore di porta COM virtuale come Serial to Ethernet Connector fa qualcosa di diverso: incapsula in modo trasparente il flusso di byte seriale grezzo su TCP. Il software master continua a inviare frame Modbus RTU a una porta COM — solo che la porta COM è virtuale e i byte viaggiano attraverso la rete prima di raggiungere il dispositivo seriale fisico. Non avviene alcuna conversione di protocollo. Il dispositivo vede frame RTU identici; il software vede una porta COM identica.
Nota

Se il tuo software master supporta già Modbus RTU e si collega a una porta COM, l'approccio con porta COM virtuale non richiede alcuna modifica al software. Se il tuo software supporta solo Modbus TCP (porta 502), hai bisogno di un gateway — oppure che sia il software stesso a gestire la conversione. La maggior parte delle moderne piattaforme SCADA (Kepware, Ignition, Inductive Automation) supporta entrambe le opzioni e ti consente di scegliere per canale.

Come funziona il tunnel della porta COM virtuale

Serial to Ethernet Connector viene eseguito come servizio in background su due macchine contemporaneamente: il lato server (dove si trova la porta seriale fisica) e il lato client (dove viene eseguito il software master Modbus). Insieme, creano una coppia corrispondente di porte virtuali collegate da una sessione TCP persistente.

[Modbus Master (Kepware / Ignition)] → [Virtual COM5 — SEC client] ⟷ TCP / LAN / WAN ⟷ [SEC server] → [Physical COM1 RS-485] → [PLC / Meter / RTU]

Dal punto di vista dell'applicazione, COM5 si comporta esattamente come una vera porta seriale. La velocità in baud, la parità, i bit di stop e i segnali RTS/CTS vengono tutti inoltrati. L'applicazione imposta 9600 8N1 su COM5 e ottiene esattamente quel comportamento sulla COM1 remota — anche se nel mezzo c'è una connessione TCP.

Questo significa che non sono necessarie modifiche alle configurazioni software esistenti. Se il tuo progetto SCADA comunicava già con un PLC locale su COM3, basta reindirizzarlo alla nuova porta virtuale e funzionerà. Il driver Modbus non sa — né gli importa — che la porta è virtuale.
Modbus RTU su una rete
14 giorni di prova gratuita

Uno-a-molti e molti-a-molti: collegare più dispositivi contemporaneamente

Un semplice tunnel punto-punto è utile, ma Serial to Ethernet Connector va oltre: supporta topologie di connessione uno-a-molti e molti-a-molti, che corrispondono direttamente a come sono costruite le reti Modbus reali.
Un master, molti dispositivi slave

Un master, molti dispositivi slave

Nello scenario industriale più comune, un singolo master Modbus (la tua SCADA remota, HMI o applicazione di acquisizione dati) deve interrogare molti dispositivi di campo — contatori, PLC, RTU, azionamenti — distribuiti in un sito o in più località remote. Con Serial to Ethernet Connector, configuri una connessione Server per ogni porta seriale remota e una corrispondente porta COM virtuale Client per ogni dispositivo sul PC master. L'applicazione master vede un insieme di porte COM virtuali, una per dispositivo, e interroga ciascuna come se fosse una connessione seriale locale.

[Modbus Master SCADA] → COM5 ⟷ TCP ⟷ SEC server → COM1 → [Energy Meter, Site A]
→ COM6 ⟷ TCP ⟷ SEC server → COM1 → [PLC, Site B]
→ COM7 ⟷ TCP ⟷ SEC server → COM1 → [RTU, Site C]
Ogni porta COM virtuale è un canale dedicato e isolato. Il software master interroga ciascuna in modo indipendente, con la propria velocità in baud, intervallo di ID slave e intervallo di interrogazione. Non esiste alcun limite teorico al numero di dispositivi remoti: si aggiunge una coppia Server/Client per ciascuno.
Molti maestri, un dispositivo

Molti maestri, un solo dispositivo

Serial to Ethernet Connector supporta anche il contrario: più applicazioni master Modbus — o più workstation di ingegneria — che accedono simultaneamente allo stesso dispositivo seriale fisico. Questo è utile quando, ad esempio, un sistema SCADA e il laptop di un tecnico della manutenzione devono entrambi leggere dallo stesso contatore di energia o PLC remoto senza scollegare i cavi. Ogni master si connette alla porta del server e ottiene la propria porta COM virtuale, mentre il server gestisce l'accesso alla porta fisica condivisa.
Molti master, molti dispositivi

Molti master, molti dispositivi

Le due topologie possono essere combinate liberamente. Una grande installazione potrebbe avere dozzine di dispositivi seriali remoti, ciascuno servito dalla propria istanza di SEC Server, con più workstation di ingegneria o nodi SCADA ciascuno dotato di un insieme di porte Client virtuali. Il risultato è una rete seriale virtuale completa — flessibile, definita dal software e che non richiede hardware aggiuntivo oltre a quello già in uso.
Consiglio pratico

Quando più master condividono l'accesso a una porta seriale fisica, è importante che il polling Modbus sia serializzato: solo un master deve inviare una richiesta alla volta, poiché Modbus RTU non dispone del rilevamento delle collisioni. La maggior parte delle piattaforme SCADA mette automaticamente in coda le richieste. Se la tua non lo fa, configura i master in modo che utilizzino finestre di polling non sovrapposte oppure usa porte fisiche separate per ciascun master.

Configurazione passo dopo passo

Quanto segue presuppone che tu abbia due macchine Windows sulla stessa rete (o connesse tramite VPN). Lo stesso principio si applica a Linux utilizzando l'edizione da riga di comando.
1
Installa Serial to Ethernet Connector su entrambe le macchine — Esegui il programma di installazione sulla macchina server (quella con la porta RS-232/485 fisica collegata al tuo dispositivo Modbus) e sulla macchina client (quella su cui viene eseguito il tuo software SCADA o Modbus master). Lo stesso programma di installazione copre entrambi i ruoli.
Installa Serial to Ethernet Connector su entrambe le macchine
2
Crea una connessione Server sulla macchina con la porta fisica — Apri l'app, fai clic su Add connection → Serial over Ethernet → Server. Seleziona la porta COM fisica (ad es. COM1), imposta il baud rate e il formato del frame in modo che corrispondano al tuo dispositivo (ad es. 9600 8N1 per la maggior parte dei dispositivi Modbus RTU) e scegli una porta TCP su cui ascoltare (predefinita 5000). Fai clic su Connect — il servizio è ora in ascolto.
Crea una connessione al server sulla macchina con la porta fisica
3
Crea una connessione Client sulla macchina master Modbus — Sulla seconda macchina, fai clic su Add connection → Serial over Ethernet → Client. Inserisci l'indirizzo IP della macchina server e la stessa porta TCP (5000). Il software creerà una nuova porta COM virtuale (ad es. COM5) e si connetterà. Vedrai uno stato Connected in entrambe le istanze.
Crea una connessione Client sulla macchina master Modbus
4
Indirizza il tuo software master Modbus alla nuova porta virtuale — In Kepware, Ignition, ModRSsim o qualunque strumento tu usi, cambia la porta COM del canale con la nuova porta virtuale (COM5). Mantieni tutte le altre impostazioni — baud rate, parità, ID slave, frequenza di polling — identiche. La comunicazione dovrebbe iniziare immediatamente.
5
Verifica con un poll Modbus — Usa Modbus Poll o QModMaster per inviare una richiesta di lettura manuale (Function Code 03) all'ID slave del tuo dispositivo. Se i registri restituiscono valori, il tunnel funziona end-to-end. Se ricevi un timeout, controlla che il baud rate sulla porta virtuale corrisponda a quello della porta fisica e che nessun firewall stia bloccando la porta TCP 5000.
Suggerimento RS-485

I bus multi-drop RS-485 (molti dispositivi, un solo cavo) sono completamente supportati. Configura la porta COM fisica sul lato server con il controllo RTS abilitato se il tuo adattatore USB-to-RS485 lo richiede per la commutazione della direzione half-duplex. La porta virtuale sul lato client rispecchierà automaticamente lo stesso comportamento RTS.

Configurazioni comuni e tipi di dispositivi

Il tunnel funziona con qualsiasi dispositivo che supporti Modbus RTU. Configurazioni più frequenti:


  • PLC (Siemens S7, Allen-Bradley, Schneider Modicon) — Programmazione remota e polling dei dati in tempo reale sulla LAN dell'impianto.
  • Contatori di energia e gas (Eastron, Carlo Gavazzi, Socomec) — Lettura dei contatori in sottostazioni o sale quadri da un sistema centrale di gestione dell'energia.
  • Azionamenti a frequenza variabile (Danfoss, ABB ACS, Siemens SINAMICS) — Lettura dei registri di velocità/coppia e scrittura remota dei setpoint.
  • RTU e relè di protezione (Schweitzer SEL, GE Multilin) — Lettura dei registri di stato e dei log eventi da sottostazioni remote tramite WAN/VPN.
  • Bilance industriali e pese a ponte (Mettler-Toledo IND, Rice Lake) — Lettura dei valori di peso da un sistema centrale di dispatch o ERP.
  • Inverter solari (SMA, Fronius, Growatt) — Monitoraggio della produzione, dei dati di stringa e dei codici di guasto da una piattaforma centrale di monitoraggio.
  • Strumenti di portata e pressione (Yokogawa, Endress+Hauser) — Acquisizione dei dati di processo senza sostituire il cablaggio di campo legacy RS-485.
  • HMI e pannelli operatore (Weintek, Kinco) — Condivisione della porta COM di un singolo pannello tra più workstation di ingegneria.

Software vs. Hardware Server di dispositivi seriali: confronto onesto

Entrambi gli approcci funzionano. La scelta giusta dipende dal fatto che tu abbia già un PC all'estremità remota e da quanto dai valore alla semplicità di implementazione rispetto all'indipendenza dal dispositivo.
Criterio
Serial to Ethernet Connector
Server per dispositivi hardware (Moxa / Lantronix / Digi)
Costo iniziale per porta
✓ Licenza software, una tantum
Hardware da $150 a $500 per porta
Installazione fisica richiesta
✓ No — si installa su un PC esistente
Sì — montaggio su rack o guida DIN in loco
Funziona senza un PC all'estremità remota
Serve un PC/server/SBC
✓ Sì — dispositivo autonomo
Conversione del protocollo (RTU → TCP)
No — solo tunnel trasparente
Molti modelli includono questo opzionalmente
Supporto multi-drop RS-485
✓ Sì
✓ Sì
Uno-a-molti / molti-a-molti
✓ Sì — coppie di porte virtuali illimitate
Limitato dal numero di porte fisiche per unità
Configurazione remota
✓ Tramite l'interfaccia utente del software o la riga di comando
Interfaccia web o Telnet
Funziona tramite VPN / WAN
✓ Sì — è una connessione TCP
✓ Sì
Funziona su Linux / embedded
✓ Sì — edizione CLI per RPi, x86
L'hardware è il dispositivo Linux
Nessuna modifica all'app master Modbus
✓ Basta reindirizzare la porta COM
✓ Stesso modello di driver per porta virtuale
Ideale quando
Un PC o SBC si trova già sul sito
Nessun PC all'estremità remota

Problemi comuni e come risolverli

Timeout Modbus a ogni polling

La causa più comune è una mancata corrispondenza del baud rate. Verifica che la porta fisica sul lato server e la porta virtuale sul lato client siano impostate sullo stesso baud rate e formato di frame del dispositivo di campo. I dispositivi Modbus RTU usano per impostazione predefinita 9600 8N1, ma alcuni vengono forniti con 19200 o 38400. Controlla il manuale del dispositivo oppure usa prima un monitor seriale sulla porta fisica.

La connessione si interrompe dopo pochi secondi

Verifica se un firewall aziendale o Windows Defender Firewall sta chiudendo le connessioni TCP inattive. Aggiungi una regola in entrata sul computer server per la porta TCP 5000. Se operi su una WAN, conferma che la VPN o il router NAT non stiano interrompendo la connessione per timeout; abilita il keepalive TCP nelle impostazioni di Serial to Ethernet Connector per evitarlo.

Collisioni half-duplex RS-485

Se stai utilizzando un adattatore RS-485 che richiede il controllo software RTS per la commutazione della direzione, abilita la modalità RTS toggle sulla porta fisica nella configurazione lato server. Questo garantisce che il pin di abilitazione alla trasmissione dell'adattatore venga pilotato correttamente prima di ogni frame di richiesta Modbus. Senza questa impostazione, potresti vedere risposte illeggibili o nessuna risposta.

Più slave su un bus RS-485 non rispondono

Il multi-drop RS-485 funziona normalmente — una porta COM virtuale sul lato client può interrogare tutti gli ID slave sul bus. Assicurati che il tuo software master Modbus stia inviando richieste unicast con ID slave specifici (1–247) e non richieste broadcast (ID slave 0), che non generano risposte. Aggiungi ritardi tra le interrogazioni se il bus è fortemente carico.

Test rapido di connettività (Linux / Windows WSL):

nc -zv 192.168.1.50 5000
# Expected: Connection to 192.168.1.50 5000 port [tcp/*] succeeded!
# If this fails, the firewall is blocking the TCP port

Domande frequenti

No. L'approccio della porta COM virtuale significa che il tuo software continua a utilizzare il driver Modbus RTU e si rivolge a una porta COM, esattamente come ha sempre fatto. L'unico cambiamento è quale numero di porta COM selezioni. Nessuna porta TCP, nessun indirizzo IP, nessuna modifica del protocollo all'interno dell'applicazione.
Sì. La singola porta fisica RS-485 può avere molti slave collegati ad essa (fino a 32 su un bus standard, 256 con ripetitori). La porta COM virtuale sul lato master rappresenta quell'intero bus. Il tuo master Modbus invia frame indirizzati ai singoli ID slave (1–247) e ciascun dispositivo risponde al proprio indirizzo, esattamente come farebbe su una connessione seriale locale.
Non esiste un limite rigido imposto dal software stesso. Ogni dispositivo seriale remoto riceve la propria coppia di porte Server/Client. In pratica, il limite è la larghezza di banda della rete e la capacità di polling della tua applicazione master Modbus. Le installazioni con decine di porte COM remote sono comuni, in particolare negli ambienti di misurazione dell'energia e SCADA.
Su una LAN locale, la latenza aggiuntiva è tipicamente di 1–5 ms — trascurabile per le applicazioni di polling. Su una WAN o VPN dipende dalla qualità del collegamento, ma la maggior parte delle applicazioni SCADA e di acquisizione dati utilizza intervalli di polling misurati in secondi, rendendo irrilevanti anche 50–100 ms di latenza aggiuntiva. Per sicurezza, imposta il timeout Modbus ad almeno 3× il tempo di andata e ritorno previsto.
Serial to Ethernet Connector supporta una modalità di accesso condiviso in cui più porte virtuali client si connettono alla stessa porta server. Il funzionamento con Modbus dipende dal tuo software master: Modbus RTU è un protocollo richiesta/risposta e le richieste simultanee da più master andranno in collisione sul bus. La maggior parte delle piattaforme SCADA gestisce questo aspetto tramite la propria coda delle richieste; se la tua non lo fa, usa porte fisiche separate per ogni master oppure serializza l'accesso a livello di applicazione.
Sì, purché il router del sito remoto abbia un IP raggiungibile (statico o DDNS) e la porta TCP sia inoltrata. In pratica, la maggior parte dei router cellulari industriali supporta l'inoltro delle porte o i tunnel VPN, che sono l'opzione più sicura. Abilita l'impostazione keepalive in Serial to Ethernet Connector per ripristinare correttamente la connessione dopo brevi interruzioni della rete cellulare.
Il tunnel TCP predefinito non è crittografato, il che è una pratica standard sulle reti di impianto isolate. Per i siti connessi tramite WAN, l'approccio consigliato è eseguire il tunnel all'interno di una VPN — IPsec o WireGuard — che crittografa l'intera sessione. Anche un tunnel SSH è semplice da configurare per configurazioni Linux-to-Linux.
Serial to Ethernet Connector
Acessar a porta serial remota pela rede IP para Windows
14-giorni disponibili di prova gratuita
Il prezzo della licenza parte da $259.95
Disponibile per