Jump to content

Programação de balanças


araujor
 Share

Recommended Posts

Boas pessoal,

Tenho um projecto em mãos para desenvolver um software de programação de balanças, a desenvolver em c# .net4.0 através de uma

porta de série... Tou com dificuldades sobretudo em enviar dados para a balança pois preciso de estabelecer um protocolo de comunicações com a máquina, através de comandos ...

Protocolo 255caracteres

[EOT] [ENQ] [DLE] [sTX] [ETX] [LRC] com polling...

O computador envia um pacote [EOT] 00 [ENQ] a máquina supostamente deveria retornar um [DLE] 0 e aí o computador envia os dados

[sTX] dados... [ETX] [LRC] a balança responde com um DLE 1 (recebido) e de seguida [EOT]

Não consigo enviar o pacote inicial, ([EOT] 00 [ENQ]) embora se fizer apenas

byte[] tosend = new byte[1] {0x05};  em que 0x05 corresponde ao ENQ (ASCII)

serialport.write(tosend, 0, 1);

o simbolo de comunicação aparece no ecra da balança, de certa forma consegui por o computador a ler o buffer da balança

mas esta apenas retorna caracteres AT 0 0 0 3 9....

Alguém me pode dar uma luz acerca deste assunto?

Muito agradecido....

Link to comment
Share on other sites

coloca aqui o modelo da balanca, e, de preferencia, um atalho para o protocolo. parece-me estranho o protocolo comecar com EOT (end of transmission) mas e possivel. Verifica que tens os parametros de coneccao correctos (baudrate, data bits, paridade, stop bits e handshake).

Desculpem os erros mas tou no telemovel com teclado Ingles.

Link to comment
Share on other sites

oh carago... Se tens um programa a funcionar, já tens maneira de sacar informação 😄

Só tens de pendurar uma outra porta no cabo e vês os dados que estão a ser transmitidos. Não te sei ajudar com as ligações, talvez o bubulindo te consiga dar umas dicas acerca disso, no sub-fórum de electrónica. Normalmente tenho alguém que me trata disso quando preciso 😄

De qualquer forma vou dar uma vista de olhos ao equipamento logo que possa, e digo-te algo.

Ou melhor, nem precisas de andar a inventar... Existe SW que te consegue apanhar o que passa na porta... Como exemplo tens o Serial Port Monitor da Eltima. Não é gratuíto mas permite-te usar durante 14 dias em trial. Cheguei a sacar para testar, mas depois acabei por não precisar, já que no meu caso as comunicações eram 485 e optei por "sniffar" o cabo.

Link to comment
Share on other sites

Não tinha pensado nisso, mas é uma boa pratica  ?...

Não sei é como pendurar outra porta no cabo, tou a usar um cabo usb-serial mas entretanto fiz o download do programa

e fiz algumas experiencias uma vez que permite adicionar sequencias de caracteres em vários formatos e enviar ficheiros...

Apercebi-me que a balança faz uma especie de ping de x em x tempo e usa comandos ou activex (IRP_MJ_ ...),

é possivel enviar informação a partir deste metodo?

Link to comment
Share on other sites

Tens aqui mais material, embora não tenha o protocolo:

http://www.europesagem.com/uploads/elementos/ele248-ri0hrccd1ezrcme.pdf

Faz upload do protocolo para dropbox, divshare, ou qq coisa do género, e manda-me por pm o link.

Não percebi o que queres dizer com activex... a balança não deve usar nada de muito sofisticado. Provavelmente tem é o que se chama uma trama de vida, enviada de X em X tempo para testar a conexão.  É muito usado nos protocolos de série, para detectares se existe ou não quebra de ligação e muitas vezes é usado para transportar dados. Como a balança tem uma opção para mostrar se há ligação ou não é provável que seja mais isso.

Link to comment
Share on other sites

ok, acho que tenho 2 reparos a fazer.

Estavas a tentar enviar o comando de pooling, mas parece-me que só estavas a usar 3 bytes. São 4:

[EOT]  D1 D2 [ENQ] 

Em que D1 e D2 são o endereço da balança. Podes ter várias balanças penduradas na ligação usando para isso adaptadores rs232/rs422. Este endereço é configurado na própria balança. Vê o ficheiro que postei acima, a partir da página 35 (comunicações).

Antes de continuares a tentar seja o que fôr acho melhor tentares perceber essas configurações e configurar a balança correctamente.

Referiste que ela te devolve comandos AT, pelo que é possível que esteja configurada para comunicar directamente com um modem.

Link to comment
Share on other sites

Ta dificil ir byte a byte,

conheces algum tutorial para comunicar com a balança através de comandos AT? é que esses tou a "snifá-los todos"  😄 a unica coisa que apanha são os status da ligação, creio que a solução vai ser mesmo essa...

Link to comment
Share on other sites

Boas de certa forma consegui "falar com a balança" ela já retorna NAK quando envio [sTX] dados.... [ETX][LRC]

eu penso que é o calculo do LRC que sinceramente tá me a deixar maluco...

Para enviar os dados uso serialport.write(encbyte, o encbytes.lenght);

envio byte a btye...

Alguma dica para resolver isto?

Link to comment
Share on other sites

Boas, antes de mais agradeco a tua disponibilidade e ajuda...

Neste momento já consigo programar a balança...

Depois de terminar este projecto irei postar um tutorial com o funcionamento deste protocolo...

Irei faze-lo com muito gosto visto que a mentalidade das pessoas tem que mudar muito neste país...

primeiro porque passei muitas horas a tentar resolver isto, dias, sensivelmente 2 a 3 semanas,

o distribuidor das balanças não disponibilizou a informação necessária por mau gosto "uma espécie muito rara" de

ganância mas infelizmente muito comum neste país.

2/3 semanas de tempo perdido mas reconfortante quando uma pequena da estutura do protocolo ou até mesmo um algoritmo de

5 linhas poupava todo este tempo.

Pessoal, partilhem!

Link to comment
Share on other sites

Nao partilhou, nem a maioria partilha. trabalho com varios dispositivos que usam protocolos proprietarios, e e sempre o cabo dos trabalhos para conseguir os protocolos, principalmente quando perdem dinheiro, ou deixam de ganhar.

No teu caso, existe uma empresa que vende o sw para configurar as balancas. Provavelmente o distribuidor tambem ganha qualquer coisa com isso, por isso nao lhe interessa concorrencia.

Link to comment
Share on other sites

ja era de esperar.. la fora nao se importam de disponibilizar toda a informacao, so pa teres uma pequena ideia a primeira semana foi perdida pk forneceram a pinagem do cabo serial errada... o resto foi a tentar decifrar o protocolo por suposicoes... entao quanto mais sw existir para as balancas deles melhor.. mais balancas eles vendem..

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.