Integração com hardware via TCP/IP - Serial

18/11/2011

0

Boa tarde meus colegas.

Estou aqui como ultimo recurso, após varias tentativas, na esperança que alguem possa me ajudar.

Estou fazendo uma integração com um hardware(via TCP/IP), mais especificadamente um gravador/leitor de cartão magnético. De acordo com o manual de integração do aparelho, eu devo enviar comandos para este aparelho e ele executará as operações.

De acordo com a documentação a o padrão de mensagem a ser enviada é a seguinte:

STX | Mensagem | ETX LRC

Sendo que o caractére | se refere ao caracter ASCII (179), e que ao inves de enviar um LRC pode ser enviado um caracter ASCII (13).

Verifiquei que esse STX e este ETX são também caracteres ASCII.
STX = ASCII (02) e ETX = ASCII (03).

STX inicia a mensagem e ETX finaliza a mensagem.

O código(em C#) da minha primeira tentativa(de muitas) ficou assim:

TcpClient client = new TcpClient(localhost, 6669);

client.ReceiveTimeout = 5000;
client.SendTimeout = 5000;

NetworkStream ns = client.GetStream();

System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();

byte[] bytes = encoding.GetBytes(STX| + strMensagem + |ETX\n);

ns.Write(bytes, 0, bytes.Length);


----------

Tentei também enviar os dados dessa forma:


byte[] bytes = encoding.GetBytes(\x02 + (char)179 + LT + (char)179 + 1 + (char)179 + E + (char)179 + \x03 + \x013);

ns.Write(bytes, 0, bytes.Length);



Nesse caso o \x02 é o STX, o (char)179 é o |, e o \x03 é o ETX.

-----------

Minha dúvida é: Alguém conhece ou trabalhou com mensagem desse padrão ou similares a esta?
Estou enviando os dados da forma correta?

Quando tento ler alguma informação nesta porta através do método NetworkStream.Read(), ele não traz informação alguma ou em outros casos acusa falha de conexão.

Tem alguma forma de eu testar a conexão com esta porta? Ou seja se ela está enviando e recebendo as mensagens.

Me ajudem por favor.

Obrigado
Wilson Junior

Wilson Junior

Responder

Posts

03/12/2011

Rodrigo Odasaki

Eu nunca trabalhei com isso, tenta no fórum oficial da MSDN

msdn.com.br > Fórum
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar