Crie porta COM virtual - solução de software da Eltima


As portas seriais virtuais são essenciais quando os programas de software legados precisam se conectar aos dispositivos da porta COM que não podem ser conectados ao computador com o software devido à falta de portas seriais físicas. O dispositivo também pode enviar dados seriais para o aplicativo pela Internet ou LAN via conexão TCP / IP, independentemente da distância entre eles.

Neste artigo, você encontrará um breve tutorial sobre emulador de porta serial virtual que mostrará como criar interfaces seriais virtuais no seu computador com a ajuda de um software de driver de porta virtual simples, mas eficiente. E espero que as informações fornecidas neste artigo o coloquem à frente das formas mais tradicionais de teste e depuração de aplicativos seriais.

Índice:

  1. FAQ
  2. Como criar uma porta serial virtual?
  3. Usando o VSPD com linguagens de programação
  4. Sobre a porta COM e comunicação serial
  5. Para que é usada uma porta COM virtual?
  6. Conclusão

Virtual COM Port Driver da Eltima Software permite criar um número ilimitado de pares de portas seriais conectadas por cabo de modem nulo virtual.
VSPD logo

Virtual Serial Port Driver

Crie pares de portas COM virtuais no Windows
5 Classificação baseado em 86+ usuários, Сomentários(97)
Baixar 14 dias do ensaio totalmente funcional
Virtual Serial Port Driver


Para esclarecer o que estamos descrevendo no artigo, leia a seção Perguntas frequentes.

Perguntas frequentes

Uma comunicação serial significa que os bits de dados são organizados em uma ordem específica e são transportados através de um cabo serial um após o outro, o que garante a integridade dos dados. Algumas outras vantagens desse tipo de conexão incluem fiação simples e transmissão de dados confiável em conexões de longa distância.
Para criar uma porta serial virtual no Windows 10, você precisa de uma solução de software profissional Virtual Serial Port Driver. Não requer nenhum hardware e cabos adicionais. Para criar uma porta serial virtual, leia as instruções passo a passo abaixo.
Uma porta serial virtual é um pacote de software que emula totalmente as reais. Portanto, seu sistema operacional e todos os utilitários o reconhecem e interagem com ele como se fosse uma interface COM real.
Muitas vezes acontece que, ao trabalhar, o usuário se depara com o problema de falta física de uma porta de comunicação. Portanto uma grande vantagem das interfaces seriais virtuais é que elas podem ser usadas para teste e depuração de software quando não há uma porta COM física disponível no sistema.
1. O software conecta portas seriais virtuais com um cabo de modem nulo virtual, para que as portas COM possam ser usadas para comunicar dados entre diferentes aplicativos pela interface RS232. Configuradas para esse fim, as portas virtuais não usam as configurações padrão da velocidade de transferência de dados.

2. Graças a um simulador de porta serial, é possível trocar dados entre dois ou mais aplicativos sem usar a complexa tecnologia de software de comunicação entre processos e compartilhamento de recursos. Dessa forma, para fornecer troca de dados, um programador depende de portas COM virtuais em vez de físicas. Como regra, a velocidade de transferência de dados via portas COM virtuais é maior em comparação com a transmissão de dados através de portas seriais reais.

3. Além disso, uma grande vantagem das interfaces seriais virtuais é que elas podem ser usadas para teste e depuração de software quando não há uma porta COM física disponível no sistema.

Como criar uma porta serial virtual
e usá-la?


A maioria dos computadores não possui mais conectores DB9 que os conectavam diretamente ao hardware industrial ou comercial; no entanto, agora você pode criar uma porta COM virtual e usá-la para transmitir dados pela rede. A porta COM virtual ajuda a economizar tempo e reduzir as despesas usando software legado não modificado.

Portanto, se você está se perguntando como criar uma porta serial virtual e usá-la a qualquer distância - use o aplicativo Virtual Serial Port Driver para criar pares de portas seriais virtuais conectadas via cabo de modem nulo virtual. Se você estiver procurando uma solução para adicionar porta COM no Windows 10, nosso tutorial ajudará a resolver problemas de porta COM do Windows 10 com dois métodos.

Crie porta serial virtual agora
Avaliação gratuita de 14 dias

Para criar um par de portas seriais virtuais, siga as etapas:

  1. Abra a janela principal do aplicativo e vá para a guia "Gerenciar portas". blank
  2. Escolha as portas da lista ou insira seus nomes manualmente. Com os nomes, você tem opções ilimitadas para nomear suas portas de acordo com suas preferências. No entanto, fique de olho nos aplicativos que podem não suportar nomes personalizados para portas. Para sessões RDP, é conveniente usar a opção "Criar portas apenas para esta sessão do usuário" para que a próxima sessão permita os mesmos nomes. Virtual Serial Port Emulator
  3. Clique no botão "Adicionar par" e você terá as portas COM virtuais prontas para uso. blank
  4. Repita as etapas acima quantas vezes forem necessárias para criar um número necessário de portas. blank

As vantagens do Virtual Serial Port por Eltima


  • Com um Virtual Serial Port Driver, você adicionará um número ilimitado de pares de portas COM virtuais vinculados por meio de um cabo de modem nulo virtual. Além disso, o software permite remover todos os pares criados em um clique.

  • Uma vez criadas e configuradas, as portas seriais virtuais serão recriadas automaticamente na reinicialização do sistema antes do login do usuário. Além disso, você não precisará fechar as portas se precisar alterar as configurações de par virtual ou excluir completamente um par.

  • O aplicativo possibilita não apenas criar portas COM virtuais, mas fornecer os nomes desejados, incluindo aqueles já usados pelas portas físicas existentes. Os usuários poderão encontrar facilmente uma interface virtual necessária no grupo "Portas" do Gerenciador de dispositivos.

  • Os drivers de software foram aprovados nos testes do Microsoft Windows Hardware Quality Labs (WHQL) e são assinados digitalmente pela Microsoft. Isso significa que você não receberá nenhum aviso ao criar portas COM virtuais no Windows 10, Windows Server 16, Windows XP, etc.

  • Virtual Serial Port Driver suporta totalmente linhas de sinal de hardware padrão, incluindo DTR/DSR/CTS/RTS/DCD/RI, etc. e controle de fluxo de software (Xon / Xoff).

  • A emulação de modem nulo é outra vantagem que você obtém com este utilitário. O driver da porta serial virtual permite emular uma conexão de linha serial virtual e sua interrupção. Além disso, o software oferece vários esquemas virtuais de modem nulo, que podem ser salvos como modelo.

  • Além disso, o Virtual Serial Port Driver vem com vspdctl.dll, que permite controlar sua funcionalidade diretamente do seu próprio aplicativo. Ao usar essa biblioteca de links dinâmicos, você poderá criar e excluir pares de portas COM virtuais rapidamente, sem precisar confiar no utilitário de configuração padrão e em sua GUI.

Usando o VSPD com linguagens de programação


★ VSPD com C/C++

Para usar a funcionalidade do emulador de porta virtual em C e C ++, é necessário carregar dinamicamente o arquivo DLL, selecionar as funções necessárias e chamá-las. Aqui está um exemplo de como você pode fazer isso no Visual C ++:

Você também pode ver um ótimo exemplo de como programar uma porta COM virtual usando o Visual Basic e o Visual C++ para comunicação entre o AVR e o PC usando o 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);

Exemplo de código:

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 com Visual Basic

A instalação das funções do VSPD é muito mais fácil para os usuários do Visual Basic. Tudo o que você precisa fazer é colar as seguintes linhas no arquivo de origem do 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

Coloque VSPDCTL.DLL no diretório do seu programa. Agora a função pode ser chamada diretamente.


★ VSPD com Delphi

Aqui estão as declarações de função para 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";

O Delphi pode carregar o ArmAccess dinamicamente ou estaticamente. Aqui está um código de amostra para carregamento dinâmico:

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;

Sobre a porta COM e comunicação serial


TA comunicação serial cerca de uma década atrás, era uma das formas mais populares de conectar vários equipamentos e dispositivos a um computador. Hoje, no entanto, a porta COM não é tão comum como era antes. Porém, embora uma boa porta de comunicação antiga tenha sido substituída, em certa medida, por uma interface USB, milhares de dispositivos industriais modernos, instrumentos de laboratório, equipamentos médicos etc. ainda usam o RS-232 como porta de entrada / saída padrão.


Ao mesmo tempo, apesar dos muitos benefícios que as portas seriais oferecem, os novos PCs deixaram de ser fornecidos com uma interface RS-232. Isso causa grandes inconvenientes quando se trata de testar e depurar software baseado em série, usar aplicativos seriais herdados, etc.

Para que é usada uma porta COM virtual?


Devido à falta física da porta serial, a melhor opção possível será criar uma porta serial virtual que emule totalmente a configuração e as configurações de uma porta COM verdadeira e comunique dados com outras interfaces virtuais ou reais através de um cabo de modem nulo virtual.

Uma das vantagens inegáveis das portas COM virtuais continua sendo a velocidade da troca de dados. Quando os dados são transmitidos através de uma porta virtual, a velocidade não é limitada pelas características da interface (como ocorre com as portas físicas), mas apenas pelos parâmetros do sistema. Como resultado, o tráfego é transportado significativamente mais rápido.

Conclusão


Atualmente, o método de teste e diagnóstico de software usando dispositivos virtuais tornou-se amplamente aceito pelos desenvolvedores do software para sistemas de comunicação. Um dispositivo virtual simula o comportamento de um dispositivo real no nível do software, permitindo que um programador teste e depure um aplicativo no estágio de desenvolvimento.

O método de emulação de porta serial é amplamente aplicado no desenvolvimento dos sistemas de comunicação mais complexos, incluindo dispositivos com interfaces RS232 e RS485. Atualmente, há uma ampla gama de ferramentas de software que permitem a criação de várias portas seriais virtuais em sistemas operacionais (predominantemente Windows OS).

Com a ajuda de portas COM virtuais adicionais, os desenvolvedores podem testar a troca de dados entre as interfaces RS232 e RS485. Quando se trata de funcionalidade avançada e facilidade de uso, o Virtual Serial Port Emulator parece ser o programa mais poderoso disponível atualmente. A solução é totalmente compatível com várias versões do sistema operacional Windows. Acima disso, o emulador de porta serial para Windows 10 é assinado digitalmente com WHQL, o que garante seu desempenho e estabilidade.

small logo Virtual Serial Port Driver
#1 às Software de Porta Serial
Virtual Serial Port Driver
Crie pares de portas COM virtual no Windows
5 classificação baseado em 86+ usuários
Obter um link de download para sua área de trabalho
Envie seu endereço de e-mail para obter um link para download rápido em sua área de trabalho e comece já!
ou