GARANTIR DESCONTO

Fórum Integração com painel digital de banco em rede #272378

15/03/2005

0

Tenho que enviar comandos para um painel digital (desses e senha de banco) através da COM1. O sistema quando envia o comando para o painel local funciona perfeitamente mas quando aciona um painel na rede ele não funciona. O que fazer para enviar o comando pela rede para a COM1?
Segue abaixo o método para envio do comando:

procedure EnviarComando(Comando: String);
var
hCommFile: THandle;
Status: LongBool;
NumberWritten: DWORD;
Buf : array [0..1023] of Byte;
s : string;
begin
s:= ´COM1´;
hCommFile:= CreateFile( PChar(s), GENERIC_WRITE,
0,
nil,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
0 );

if hCommFile = INVALID_HANDLE_VALUE then
begin
CloseHandle(hCommFile);
end
else
begin
s:= Comando;

NumberWritten:=0;
Status:=WriteFile( hCommFile,PChar(s)[0],
Length(s),
NumberWritten,
nil);
WriteFile(hCommFile,´ATH´,5,NumberWritten,nil);
CloseHandle(hCommFile);
end;
end;


Fabiocarige

Fabiocarige

Responder

Posts

15/03/2005

Massuda

Acho que portas seriais não podem ser compartilhadas via rede.

Uma alternativa seria usar TCP/IP... você faz um servidor que fica em cada máquina com o painel de senha e faz um cliente que conecta com o servidor correspondente e manda um comando; o servidor faria a comunicação serial com o painel.

Uma variação dessa idéia seria, se todas as máquinas usarem Win NT/2K/XP, usar mailslots.


Responder

Gostei + 0

16/03/2005

Kapak

Acho que depende como este painel está conectado. Se ele estiver conectado na porta serial do dispositivo tcp/ip, então vc somente vai ler e escrever através de Sockets.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar