Crea una porta COM virtuale - soluzione software di Eltima


Le porte seriali virtuali sono essenziali quando i programmi software legacy devono connettersi ai dispositivi della porta COM che non possono essere collegati al computer con il software a causa della mancanza di porte seriali fisiche. Il dispositivo può anche inviare dati seriali all'app tramite Internet o LAN tramite connessione TCP/IP, indipendentemente dalla distanza tra loro.

In questo articolo troverai un breve tutorial sull'emulatore di porta seriale virtuale che ti spiegherà come creare interfacce seriali virtuali nel tuo computer con l'aiuto di un software per driver di porta virtuale semplice ma efficiente. E spero che le informazioni fornite in questo articolo ti anticipino le forme più tradizionali di test e debug delle app seriali.

Sommario:

  1. FAQ
  2. Come creare una porta seriale virtuale?
  3. Using VSPD with programming languages
  4. Informazioni sulla porta COM e comunicazione seriale
  5. A cosa serve una porta COM virtuale?
  6. Conclusione

Virtual COM Port Driver di Eltima Software consente di creare un numero illimitato di coppie di porte seriali collegate tramite cavo null modem virtuale.
VSPD logo

Virtual Serial Port Driver

Creare coppie di porte COM virtuali in Windows
5 Rango basato su 86+ utenti, Recensioni(97)
Scarica 14 dias do ensaio totalmente funcional
Virtual Serial Port Driver


Per chiarire cosa stiamo descrivendo nell'articolo leggi nella sezione FAQ.

Domande frequenti

Una comunicazione seriale significa che i bit di dati sono organizzati in un ordine specifico e vengono trasportati uno dopo l'altro tramite un cavo seriale, il che garantisce l'integrità dei dati. Alcuni altri vantaggi di questo tipo di connessione includono un cablaggio semplice e una trasmissione affidabile dei dati su connessioni a lunga distanza.
Per creare una porta seriale virtuale in Windows 10, è necessaria una soluzione software professionale Virtual Serial Port Driver. Non richiede hardware e cavi aggiuntivi. Per creare una porta seriale virtuale, leggere le istruzioni dettagliate di seguito.
Una porta seriale virtuale è un pacchetto software che emula completamente quelli reali. Quindi il tuo sistema operativo e tutte le utility lo riconoscono e interagiscono con esso come se fosse una vera interfaccia COM.
Accade spesso che quando lavora, l'utente deve affrontare il problema della mancanza fisica di una porta COM. Quindi un grande vantaggio delle interfacce seriali virtuali è che possono essere utilizzate per il test e il debug del software quando non è disponibile una porta COM fisica nel sistema.
1. Il software collega le porte seriali virtuali con un cavo null-modem virtuale in modo che le porte COM possano essere utilizzate per comunicare i dati tra diverse applicazioni tramite l'interfaccia RS232. Configurato a tale scopo, le porte virtuali non utilizzano le impostazioni predefinite della velocità di trasferimento dei dati.

2. Grazie a un simulatore di porte seriali è possibile scambiare dati tra due o più applicazioni senza utilizzare la complessa tecnologia software di comunicazione tra processi e condivisione delle risorse. In questo modo, per fornire lo scambio di dati, un programmatore si affida alle porte COM virtuali anziché a quelle fisiche. Di norma, la velocità di trasferimento dei dati tramite porte COM virtuali è maggiore rispetto alla trasmissione dei dati tramite porte seriali reali.

3. Inoltre, un grande vantaggio delle interfacce seriali virtuali è che possono essere utilizzate per il test e il debug del software quando non è disponibile una porta COM fisica nel sistema.

Come creare una porta seriale virtuale e usarla?


La maggior parte dei computer non ha più connettori DB9 che li collegavano direttamente all'hardware industriale o commerciale, tuttavia ora è possibile creare una porta COM virtuale e utilizzarla per trasmettere dati sulla rete. La porta COM virtuale consente di risparmiare tempo e ridurre le spese utilizzando software legacy non modificato.

Quindi, se ti stai chiedendo come creare una porta seriale virtuale e utilizzarla a qualsiasi distanza, usa l'app Virtual Serial Port Driver per creare coppie di porte seriali virtuali connesse tramite cavo virtuale null-modem. Se stai cercando una soluzione per aggiungere la porta COM in Windows 10, il nostro tutorial ti aiuterà a risolvere i problemi della porta COM di Windows 10 con due metodi..

Crea Virtual Serial Port ora
Prova gratuita di 14 giorni

Per creare una coppia di porte seriali virtuali seguire i passaggi:

  1. Apri la finestra principale dell'app e vai alla scheda "Gestisci porte". blank
  2. Scegli le porte dall'elenco o inserisci i loro nomi manualmente. Con i nomi, hai opzioni illimitate per nominare le tue porte in base alle tue preferenze. Tuttavia, tieni d'occhio le app che potrebbero non supportare nomi personalizzati per le porte. Per le sessioni RDP è conveniente utilizzare l'opzione "Crea porte solo per questa sessione utente" in modo che la sessione successiva ti consenta gli stessi nomi. Virtual Serial Port Emulator
  3. Fare clic sul pulsante "Aggiungi coppia" e le porte COM virtuali sono pronte per l'uso. blank
  4. Ripetere i passaggi precedenti tutte le volte necessarie per creare un numero richiesto di porte. blank

I vantaggi di Virtual Serial Port di Eltima


  • Con un Virtual Serial Port Driver, dovrai aggiungere un numero illimitato di coppie di porte COM virtuali collegate tramite un cavo null-modem virtuale. Inoltre, il software consente di rimuovere tutte le coppie create con un clic.

  • Una volta create e configurate, le porte seriali virtuali verranno ricreate automaticamente al riavvio del sistema prima dell'accesso dell'utente. Inoltre, non è necessario chiudere le porte se è necessario modificare le impostazioni della coppia virtuale o eliminare completamente una coppia.

  • L'app consente non solo di creare porte COM virtuali, ma di assegnare loro tutti i nomi desiderati, inclusi quelli già utilizzati dalle porte fisiche esistenti. Gli utenti saranno in grado di trovare facilmente un'interfaccia virtuale richiesta nel gruppo "Porte" di Gestione dispositivi.

  • I driver software hanno superato con successo i test WHQL (Microsoft Windows Hardware Quality Labs) e sono firmati digitalmente da Microsoft. Ciò significa che non riceverai alcun avviso durante la creazione di porte COM virtuali su Windows 10, Windows Server 16, Windows XP, ecc.

  • Virtual Serial Port Driver supporta completamente le linee di segnale hardware standard tra cui DTR/DSR/CTS/RTS/DCD/RI, ecc. E il controllo del flusso software (Xon/Xoff).

  • L'emulazione null modem è un altro vantaggio che si ottiene con questa utility. Virtual Serial Port Driver consente di emulare una connessione di linea seriale virtuale e la sua interruzione. Inoltre, il software offre vari schemi null-modem virtuali, che possono essere salvati come modello.

  • Inoltre, Virtual Serial Port Driver viene fornito con vspdctl.dll, che consente di controllarne la funzionalità direttamente dalla propria applicazione. Utilizzando questa libreria di collegamenti dinamici, sarai in grado di creare ed eliminare coppie di porte COM virtuali al volo, senza dover fare affidamento sull'utilità di configurazione standard e sulla sua GUI.

Utilizzo di VSPD con linguaggi di programmazione


★ VSPD con C/C++

Per utilizzare la funzionalità dell'emulatore di porte virtuali in C e C ++, è necessario caricare dinamicamente il file DLL, selezionare le funzioni richieste e chiamarle. Ecco un esempio di come è possibile farlo in Visual C ++:

Puoi anche vedere un ottimo esempio di come programmare una porta COM virtuale usando Visual Basic e Visual C++ per la comunicazione tra AVR e PC usando Virtual Serial Port Driver.

typedef bool (stdcall *CreatePairFn)(char *Port1, char *Port2);
typedef bool (stdcall *DeletePairFn)(char *Port);
typedef bool (stdcall *DeleteAllFn)(void);
typedef bool (stdcall *SetStrictBaudrateFn) (char *Port, bool StrictBaudrate);
typedef bool (stdcall *SetBreakFn) (char *Port, bool bBreak);
typedef bool (stdcall *QueryBusFn) (void* InBuffer, long sizeInBuffer, void* OutBuffer, long sizeOutBuffer);
typedef bool (stdcall *SetWiringFn) (char *Port, void *Buffer, long sizeBuffer);
typedef bool (stdcall *SetAccessListFn) (char *Port, void *Buffer, long sizeBuffer);
typedef bool (stdcall *CreatePairExFn)(char *Port1, char *Port2, char * UserSession);
typedef bool (stdcall *CreatePairWFn)(WCHAR *Port1, WCHAR *Port2);
typedef bool (stdcall *CreatePairExWFn)(WCHAR *Port1, WCHAR *Port2, WCHAR * UserSession);
typedef bool (stdcall *DeletePairWFn)(WCHAR *Port);
typedef bool (stdcall *SetStrictBaudrateWFn) (WCHAR *Port, bool StrictBaudrate);
typedef bool (stdcall *SetBreakWFn) (WCHAR *Port, bool bBreak);
typedef bool (stdcall *SetWiringWFn) (WCHAR *Port, void *Buffer, long sizeBuffer);
typedef bool (stdcall *SetAccessListWFn) (WCHAR *Port, void *Buffer, long sizeBuffer);
typedef bool (stdcall *DeletePairExFn)(char *Port, char * UserSession);
typedef bool (stdcall *DeletePairExWFn)(WCHAR *Port, WCHAR * UserSession);
typedef bool (stdcall *GetUserSessionFn)(char *Session, int &iSize);
typedef bool (stdcall *GetUserSessionWFn)(WCHAR *Session, int &iSize);
typedef bool (stdcall *SetStrictBaudrateExWFn) (WCHAR *Port, WCHAR * UserSession, bool StrictBaudrate);
typedef bool (stdcall *SetStrictBaudrateExFn) (char *Port, char * UserSession, bool StrictBaudrate);
typedef bool (stdcall *SetBreakExWFn) (WCHAR *Port, WCHAR * UserSession, bool bBreak);
typedef bool (stdcall *SetBreakExFn) (char *Port, char * UserSession, bool bBreak); typedef bool (stdcall *SetAccessListExWFn) (WCHAR *Port, WCHAR * WCHAR, void *Buffer, long sizeBuffer);
typedef bool (stdcall *SetAccessListExFn) (char *Port, char * WCHAR, void *Buffer, long sizeBuffer);

Esempio di codice:

bool CreateVSPair(char *Port1, char *Port2) {
OSVERSIONINFO VersionInfo;
HINSTANCE libInst;
libInst = LoadLibrary(VSPDCTL.DLL);
if (!libInst)
return false; /* Couldn't load library */
/* Substitute the typedefs above for functions other than CreatePairFn */
CreatePairFn CreatePair=(CreatePairFn)GetProcAddress(libInst, CreatePair);
if (CreatePair==0) return false; /* Couldn`t find function */
returnvalue=CreatePair(Port1, Port2); /* For example, Port1 = COM5 and Port2 = COM6 */
FreeLibrary(libInst);
return returnvalue;
};

★ VSPD con Visual Basic

L'installazione delle funzioni VSPD è molto più semplice per gli utenti di Visual Basic. Tutto quello che devi fare è incollare le seguenti righe nel file di origine di Visual Basic:

Declare Function CreatePair Lib "VSPDCTL.DLL" (ByVal Port1$, ByVal Port2$) As Boolean
Declare Function DeletePair Lib "VSPDCTL.DLL" (ByVal Port$) As Boolean
Declare Function DeleteAll Lib "VSPDCTL.DLL" () As Boolean
Declare Function SetStrictBaudrateName Lib "VSPDCTL.DLL" (ByVal Port$, ByVal StrictBaudrate As Boolean) As Boolean
Declare Function SetStrictBaudrateHandle Lib "VSPDCTL.DLL" (ByVal Handle As Long, ByVal StrictBaudrate As Boolean) As Boolean
Declare Function CreatePair Lib "VSPDCTL.DLL" (ByVal Port1$, ByVal Port2$) As Boolean
Declare Function DeletePair Lib "VSPDCTL.DLL" (ByVal Port$) As Boolean
Declare Function DeleteAll Lib "VSPDCTL.DLL" () As Boolean
Declare Function SetStrictBaudrate Lib "VSPDCTL.DLL" (ByVal Port$, ByVal StrictBaudrate As Boolean) As Boolean
Declare Function SetBreak Lib "VSPDCTL.DLL" (ByVal Port$, ByVal bBreak As Boolean) As Boolean
Declare Function QueryBus Lib "VSPDCTL.DLL" (ByVal InBuffer As String, sizeInBuffer As Long, ByVal OutBuffer As String, sizeOutBuffer As Long) As Boolean
Declare Function SetWiring Lib "VSPDCTL.DLL" (ByVal Port1$, ByVal Buffer As String, sizeBuffer As Long) As Boolean

Inserisci VSPDCTL.DLL nella directory del tuo programma. Ora la funzione può essere chiamata direttamente.


★ VSPD con Delphi

Ecco le dichiarazioni di funzione per Delphi:

Function CreatePair(Port1, Port2 : PChar) : Boolean; stdcall; external "VSPDCTL.DLL";
Function DeletePair(Port : PChar) : Boolean; stdcall; external "VSPDCTL.DLL";
Function DeleteAll : Boolean; stdcall; external "VSPDCTL.DLL";
Function SetStrictBaudrateName(Port: PChar, StrictBaudrate: Boolean) : Boolean; stdcall; external "VSPDCTL.DLL";
Function SetStrictBaudrateHandle(hPort: THandle, StrictBaudrate: Boolean) : Boolean; stdcall; external "VSPDCTL.DLL";
Function CreatePair(Port1, Port2 : PChar) : Boolean; stdcall; external "VSPDCTL.DLL";
Function DeletePair(Port : PChar) : Boolean; stdcall; external "VSPDCTL.DLL";
Function DeleteAll : Boolean; stdcall; external "VSPDCTL.DLL";
Function SetStrictBaudrate(Port: PChar, StrictBaudrate: Boolean) : Boolean; stdcall; external "VSPDCTL.DLL";
Function SetBreak (Port: PChar, bBreak: Boolean) : Boolean; stdcall; external "VSPDCTL.DLL";
Function QueryBus (InBuffer: Pointer, sizeInBuffer: Integer, OutBuffer: Pointer, sizeOutBuffer: Integer) : Boolean;
stdcall; external "VSPDCTL.DLL";
Function SetWiring (Port: PChar Buffer: Pointer, sizeBuffer: Integer) : Boolean; stdcall; external "VSPDCTL.DLL";

Delphi può caricare ArmAccess in modo dinamico o statico. Ecco un codice di esempio per il caricamento dinamico:

Function CreatePairFn(PortName1, PortName2 : String) : Boolean;
Type TCreatePair = function(Port1, Port2 : PChar) : Boolean; stdcall;
Var Handle : THandle;
CreatePair : TCreatePair;
Begin
CreatePairFn := False;
Handle := LoadLibrary("VSPDCTL.DLL");
If (Handle <> 0) Then
Begin
@CreatePair:=GetProcAddress(Handle, "CreatePair");
If (CreatePair <> Nil) Then
CreatePairFn := CreatePair(PChar(PortName1), PChar(PortName2));
FreeLibrary(Handle);
End;
End;

Informazioni sulla porta COM e comunicazione seriale


La comunicazione seriale circa un decennio fa era uno dei modi più popolari per collegare varie apparecchiature e dispositivi a un computer. Oggi, tuttavia, la porta COM non è così comune come una volta. Ma anche se una buona vecchia porta di comunicazione è stata sostituita in una certa misura con un'interfaccia USB, migliaia di moderni dispositivi industriali, strumenti di laboratorio, apparecchiature mediche, ecc., Usano ancora RS-232 come porta di ingresso / uscita standard.


Allo stesso tempo, nonostante i numerosi vantaggi offerti dalle porte seriali, i nuovi PC hanno smesso di essere spediti con un'interfaccia RS-232. Ciò causa un grande inconveniente quando si tratta di testare e eseguire il debug di software basato su seriale, utilizzando app seriali legacy, ecc.

A cosa serve una porta COM virtuale?


Because of the physical lacking of the serial port the best possible option, will be to create a virtual serial port that fully emulates the configuration and settings of a true COM port and communicates data with other virtual or real interfaces via a cavo null-modem virtuale.

Uno dei vantaggi innegabili delle porte COM virtuali rimane la velocità di scambio dei dati. Quando i dati vengono trasmessi tramite una porta virtuale, la velocità non è limitata dalle caratteristiche dell'interfaccia (come accade con le porte fisiche), ma solo dai parametri di sistema. Di conseguenza, il traffico viene trasportato in modo significativamente più veloce.

Conclusione


Il metodo di test e diagnosi del software che utilizza dispositivi virtuali oggi è stato ampiamente accettato dagli sviluppatori del software per i sistemi di comunicazione. Un dispositivo virtuale simula il comportamento di uno reale a livello di software, consentendo a un programmatore di testare ed eseguire il debug di un'applicazione in fase di sviluppo.

Il metodo di emulazione della porta seriale è ampiamente applicato nello sviluppo dei sistemi di comunicazione più complessi, compresi i dispositivi con interfacce RS232 e RS485. Attualmente, esiste una vasta gamma di strumenti software che consentono la creazione di più porte seriali virtuali nei sistemi operativi (principalmente sistema operativo Windows).

Con l'aiuto di ulteriori porte COM virtuali, gli sviluppatori possono testare lo scambio di dati tra le interfacce RS232 e RS485. Quando si tratta di funzionalità avanzate e facilità d'uso, Virtual Serial Port Emulator sembra essere il programma più potente disponibile oggi. La soluzione è pienamente compatibile con varie versioni del sistema operativo Windows. Inoltre, l'emulatore di porta seriale per Windows 10 è firmato digitalmente con WHQL che ne garantisce prestazioni e stabilità.

small logo Virtual Serial Port Driver
#1 al Programma di porta seriale
Virtual Serial Port Driver
Emula a pieno la porta seriale reale, crea l'accoppiamento della porta COM virtuale
5 rango basato su 86+ utenti
Ottieni un collegamento allo scaricamento per il tuo desktop
Invia il tuo indirizzo email per ottenere il collegamento allo scaricamento veloce sul tuo desktop e parti!
o