Ola a todos,
Estou tentado receber dados de uma máquina que faz analise laboratoriais, O nome é Counter 19 wiener lab, http://www.wiener-lab.com.ar/wienerw/br/instrumentos_open.vsp?nid=27396,
O manual do desenvolvedor é bem limitado e diz o seguinte:
Se a confirmação de solicitação estiver ativada, o equipamento irá se comunicar com o computador externo nos seguintes casos:
O Wiener lab. Counter 19 CP envia um ENQ (05 Hex) e aguarda até 4 segundos pela resposta do computador externo. Se o computador não responder, mais um ENQ (05 Hex) será enviado. Se falhar novamente, o analisador interrompe a transmissão e registra um erro de transmissão;
O computador externo deve responder enviando um ACK (06 Hex). Se qualquer outra resposta for recebida, outro ENQ (05 Hex) será enviado pelo analisador (no máximo dois ENQs [05 Hex] serão enviados);
Em seguida, o analisador envia:
Corpo do texto
EOT (04 Hex)
ETX (03 Hex)
Desconexão.
O equipamento envia um ETX (03 Hex) e aguarda 4 segundos pela resposta do computador externo. Se nenhuma resposta for recebida, mais um ETX (03 Hex) será enviado; o equipamento aguarda 4 segundos antes de desistir e emite um alarme de erro de comunicação.
Se o computador externo responder ACK, a transmissão será concluída com êxito. Se o computador responder NACK (15 Hex), o analisador repetirá a transmissão a partir da etapa 3. Se a resposta recebida do computador não for ACK(06 Hex) nem NACK (15 Hex), o analisador enviará ETX (03 Hex) novamente.
Acontece que estou tentado enviar essa informação, ANK, da seguinte maneira:
public void EnviarUmaString(String msg){
if (Escrita==true) {
try {
saida = porta.getOutputStream();
System.out.println("FLUXO OK!");
} catch (Exception e) {
System.out.println("Erro.STATUS: " + e );
}
try {
System.out.println("Enviando um byte para " + Porta );
System.out.println("Enviando : " + msg );
//String H = stringToHex(msg);
saida.write(msg.getBytes());
Thread.sleep(100);
saida.flush();
} catch (Exception e) {
System.out.println("Houve um erro durante o envio. ");
System.out.println("STATUS: " + e );
//System.exit(1);
}
} else {
//System.exit(1);
}
}
Só que não tem sucesso, a máquina aguarda 4 segundos e emite um erro de transmissão, acredito que seja parecido com uma comunicação de balanças. se alguem ja trabalhou com essa ou alguma maquina parecido eu agradeço a ajuda
Antonio Sales