Comunicação com balança toledo

19/05/2003

6

Prezados Colaborados

Estou fazendo uma adaptação no sistema para ler a balança Toledo Junior. Esta balança é para pesar bebes. Enviei uma solicitação para o fabricante mas este informou que não possuem drives ou dlls para suas balanças. Em outras palavras se vire para ler a porta serial e tratar os dados da balança. A única coisa que recebi foi um documento informando os protocolos usados e só.
Caso alguém tenha algum exemplo de como fazer esta leitura será certamente de grande ajuda. Poderá enviar para marcosrodias@tutopia.com.br.

Grato pela colaboração.

Marcos
:idea:


Responder

Posts

19/05/2003

4_olho

Se puder passar adiante o documento, será de grande ajuda ...

Afinal, como disse, ele tem definido os protocolos utilizados.


Responder

19/05/2003

Traipse

Marcos -

Normalmente, este tipo de comunicação é bastante simples... tudo que você precisa saber está, provavelmente, na documentação que o fabricante te enviou. Exemplos: tenho um termômetro que só precisa que eu envie qualquer byte para a porta serial para ele responder com a temperatura... também estou trabalhando em um projeto (pessoal) onde trabalho com um GPS, onde tudo que preciso fazer é ficar esperando o equipamento me fornecer as informações, como se fosse um usuário digitando em um teclado...

Forneça mais detalhes sobre a documentação do fabricante e tenho certeza que você terá uma rápida solução para o seu problema.

Traipse
http://www.traipse.com.br


Responder

20/05/2003

Cirilo

Você pode usar o Async32, que é um pacote de componentes para porta serial, modem e outros.
Neste pacote você encontrará o VACOMM para porta serial.

O estrutura de funcionamento do vaComm é a seguinte:
ABRIR A PORTA SERIAL:
Todo equipamento que será ligado a serial é internamente gravado os seguintes parâmetros: velocidade, paridade, databits, stopbits. Por sua vez estes parâmetros devem ser iguais na hora de configurar a porta serial do seu micro. Se sua balança estiver configurada para trabalhar na velocidade de 2400 e você colocou na VaComm.baudrate = 9600, então não irá fazer a comunicação. Em resumo você primeiro deverá saber qual a configuração da balança: velocidade,paridade,databits e stobits.
A propriedade que identifica a porta é PortNum: 1 (com1) , 2 (com2), etc
Um exemplo:
VaComm1.PortNum:=1
VaComm1.BaudRate:=9600
VaComm1.Parity:=N
VaComm1.Databits:=8
VaComm1.StopBits:=2

Uma vez sabendo a configuração da balança coloque os valores nas propriedades do VaComm antes de executar o comando vaComm1.open:
if not vaComm1.active then vaComm.open;

ENVIAR OU RECEBER COMANDOS
Para enviar é mais fácil:
Alguns modelos de balança precisam enviar os comandos:
ENQ + LF + CR.

Tabela ASCII
[url]sites.uol.com.br/rubens_sh/[/url]

Uma observação:
5 (corresponde ao ENQ )
10 (corresponde ao LF ou seja Line Feed)
13 (corresponde ao CR ou Enter)
então, (#10 + 13) o efeito será um ENTER (pular para próxima linha)

Então o comando será:
variavel:=5 + 10 + 13 (tipo string)
if vaComm1.active then
vaComm1.WriteText(variavel);

Para fazer a leitura:
variavel:=variavel + vaComm1.ReadText;

FECHAR A PORTA SERIAL
if vaComm1.active then Vacomm1.close;


OBS:
VOCÊ NÃO PRECISA DE UM COMPONENTE PARA ACESSAR A PORTA SERIAL NO DELPHI, TODAVIA COM O COMPONENTE É MAIS FÁCIL.
No meu site você encontrará exemplos com ou sem componente.

Os exemplos são para leitores de barras e cheques, porém o funcionameno é semelhante. (enviar e receber comandos)

Visite o site para baixar exemplos para Delphi 6:
[url]www.veloso.kit.net[/url]


Responder

21/05/2003

Traipse

[color=darkblue:3d60f6cec8]Cirilo -

Vi a sua colaboração que fala sobre o Async32, a qual, sem dúvida alguma, é bastante completa... mas gostaria de perguntar se você já teve contato com o Async Professional, da TurboPower.

Para dizer o mínimo, com o APRO, tendo em mãos a especificação de um protocolo qualquer, através de um ´thread´ você consegue determinar quando a sua aplicação deve ser ´acordada´. Vamos supor: você determina que só deve ser ´chamado´ quando a sequência CR/LF chegar... então você envia um ENQ e vai fazer qualquer outra coisa até ser ´chamado´ pelo aviso de que chegou o que esperava (CR/LF), tal qual um TTimer. A flexibilidade é grande, pois você consegue determinar como é iniciado o ´pacote´, o tamanho e/ou a sua finalização.

Eu vinha trabalhando com a TurboPower há +/- 18 anos. Os produtos deles são ótimos, digo, testados à exaustão e com um número sem fim de exemplos no Tamarack. A maioria é compatível não só com Delphi, mas também com Borland C++ e, mais recentemente, com Kylix. O caso é que eles desistiram deste mercado em janeiro passado (infelizmente) e transformaram seus produtos, entre eles o APRO - Async Professional, em OpenSource. Desta maneira, hoje tem-se o APRO como um freeware (com fontes) que vale à pena conferir, dada a ´idade´ do mesmo e seus inúmeros recursos.

Quando tiver com tempo e paciência, dê uma conferida: [url]http://sourceforge.net/projects/tpapro[/url]

Traipse[/color:3d60f6cec8]


Responder

07/11/2018

Marcelo Azalin

Cara, vê se pode me ajudar.. estou tendo problemas em configurar a toledo prix 3 com o meu pdv. Ela não esta comunicando, porém tenho uma dúvida que acho que é ai que esta o erro, se na balança estiver BaudRate 2400 por exemplo e na configuração da porta COM 1 no meu gerenciador de dispositivos, automaticamente eles não irão se comunicar né? falei isso ao técnico da franquia que não esta conseguindo configurar e ele falou que não tem diferença, mas pelo que li e o que você postou tem diferença sim.

Desde ja, obrigado!
Responder