em 12-18-2013 07:20 AM
Estou desenvolvendo um programa que deverá receber dados através de uma conexão TCP/IP e em seguida transformar os caracteres recebidos em número.
O programa que envia os dados, envia um número (ponto flutuante) por vez, formado por 4 bytes.
Segue anexo o VI elaborado, porém o valor resultante da conversão não é o mesmo que foi enviado.
Alguém já teve experiência parecida?
Se alguém tiver sugestão agradeço.
Obs: Tenho condições de alterar a forma como o programa servidor envia os dados.
Muito obrigado.
em 12-18-2013 09:57 AM
Olá Luiz, tudo certo?
A resultante da conversão não será igual ao dado enviado pelo servidor pela simples razão do tipo de dado que está sendo trabalho pelo lado do Cliente. Sua VI está realizando um typecast para um Long, enquanto o servidor envia um SGL; um deslize bem comum, que resultará na perdão da informação de precisão do número. Como não tenho acesso ao código completo, montei um exemplo bem simples usando um SGL para você entender o funcionamento:
Qualquer dúvida, poste aqui. Ficarei feliz em ajudar.
12-18-2013 10:42 AM - editado 12-18-2013 10:45 AM
Boa tarde Luiz,
Considerando sua aplicação, há alguns detalhes que precisam ser observados para que a transmissão ocorra de forma correta, um deles que pude observar foi que você utiliza um inteiro de 32 bits sinalizado para receber seu valor, mas um "float" tem 64 bits, e talvez o seu dado seja sempre um número positivo, então receber com um tipo de dado sinalizado poderá distorcer a informação enviada. Outra coisa a se observar é a forma com a qual o protocolo de comunicação está configurado, e essa informação deve ser refletida na sua programação. Segue em anexo um exemplo do prórpio LabVIEW de como realizar uma comunicação cliente-servidor. Envio também um link que descreve detalhadamente o passo a passo dos itens a serem considerados para realizar essa comunicação.
http://www.ni.com/white-paper/4095/en/
Quaquer dúvida não hesite em nos informar.
em 12-18-2013 11:51 AM
em 12-18-2013 05:51 PM
Boa noite Tiago
Obrigado pelo envio.
Eu entendi pela imagem e tivemos sucesso na implementação.
O seu colega Andre Bassoli esteve na USP e me ajudou no projeto.
Muito obrigado.
Sds