Serial com xharbour
Moderador: Moderadores
-
Rogerio Amorim
- Usuário Nível 1

- Mensagens: 6
- Registrado em: 23 Jul 2011 17:08
- Localização: Campinas/SP
Serial com xharbour
Saudações a todos...
Recebi um desafio de criar um programa que comunique-se com um equipamento que faz exames laboratoriais.
O software terá que enviar e receber dados deste equipamento.
O problema é que nunca fiz algo do tipo e não sei nem por onde começar.
Eu peguei o manual do equipamento ao qual contém as informações de comunicação serial com o mesmo
São uns códigos em hexadecimal que não sei como usar.
O sistema esta em xharbour, e gostaria da ajuda de vocês para me indicar o "caminho das pedras".
Em minhas pesquisas vi que o pessoal costuma usar a hbcomm para leitura em balanças, seria este o caminho ?
Recebi um desafio de criar um programa que comunique-se com um equipamento que faz exames laboratoriais.
O software terá que enviar e receber dados deste equipamento.
O problema é que nunca fiz algo do tipo e não sei nem por onde começar.
Eu peguei o manual do equipamento ao qual contém as informações de comunicação serial com o mesmo
São uns códigos em hexadecimal que não sei como usar.
O sistema esta em xharbour, e gostaria da ajuda de vocês para me indicar o "caminho das pedras".
Em minhas pesquisas vi que o pessoal costuma usar a hbcomm para leitura em balanças, seria este o caminho ?
Serial com xharbour
Seja bem-vindo ao fórum. 
Se a comunicação é serial, o melhor caminho, pelo que já pude perceber pelos comentários dos demais colegas, o melhor caminho parece ser a biblioteca que você citou.
A comunicação serial envolve poucos detalhes. Pode-se até fazer pelas funções de baixo nível da API do Windows. O que vai merecer mais atenção é conhecer o protocolo através do qual o equipamento se comunica. Você precisa aprender a "língua" do equipamento. Mas se você já tem o manual, tanto melhor. Tem que estudá-lo. Minha dica é: pegue os exemplos de códigos que envolve a HBCOMM que puder encontrar e leia a documentação da biblioteca. Aprendendo isso, o resto vai na carreira. No final das contas, você verá que nem tinha tanto com o que se preocupar. Esse tipo de trabalho costuma ser simples.
Se a comunicação é serial, o melhor caminho, pelo que já pude perceber pelos comentários dos demais colegas, o melhor caminho parece ser a biblioteca que você citou.
A comunicação serial envolve poucos detalhes. Pode-se até fazer pelas funções de baixo nível da API do Windows. O que vai merecer mais atenção é conhecer o protocolo através do qual o equipamento se comunica. Você precisa aprender a "língua" do equipamento. Mas se você já tem o manual, tanto melhor. Tem que estudá-lo. Minha dica é: pegue os exemplos de códigos que envolve a HBCOMM que puder encontrar e leia a documentação da biblioteca. Aprendendo isso, o resto vai na carreira. No final das contas, você verá que nem tinha tanto com o que se preocupar. Esse tipo de trabalho costuma ser simples.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Serial com xharbour
Colega é o q o Maligno postou, vou postar aki um exemplo do código q uso pra capturar via Serial peso de balanças, vc pode usar a mesma lógica, após estudar o manual do equipamento q vc quer comunicar, para fazer sua rotina....
É issoa ai...
Sds.
Sucesso!!!
Código: Selecionar todos
*****************************************************************
* Fun‡Æo Ler peso balan‡a....
*****************************************************************
Function LerBalanca(nPeso,lBalanc)
Public cPesoLido := 0
If lBalanc==.f.
Return .f.
Endif
// Colooquei para carregar valores nas variaveis
cBalPorta := "COM1" //cScan_Porta
nBalVelocidade := 9600 //nScan_Veloc
nBalBits := 8 //nScan_Bists
nBalParidade := 0 //nScan_Parid
nBalStopBits := 1 //nScan_BStop
If nPeso > 0
Return .t.
Endif
If Empty(cBalPorta)
Return .t.
Endif
cPort := cBalPorta
nBaudrate := nBalVelocidade
nDatabits := nBalBits
nParity := nBalParidade
nStopbits := nBalStopBits
nBuffersize := 1000
nHandle:= Init_Port( cPort, nBaudrate, nDatabits, nParity, nStopbits, nBuffersize )
If nHandle <= 0
alert("Erro ao iniciar a porta de comunicacao !")
Return .f.
Endif
If IsWorking( nHandle )== .F.
Alert("Favor configurar a porta serial !")
Return .f.
Endif
OutBufClr( nHandle )
//-- Enviar comando para iniciar a transmissao de dados para balanca MP
cBytesToWrite := Chr(5)
nCount := 1
OutChr( nHandle, cBytesToWrite, nCount )
//-- Aguarda um tempinho
Millisec(100)
cBuff := Space(10)
nChar := InBufSize( nHandle )
nLidos:= InChr( nHandle,nChar,@cBuff )
If nLidos > 0
cPesoLido := Val(Substr(cBuff,2,7))
cPesoLido := cPesoLido //
mQuant := cPesoLido
UnInt_Port( nHandle )
cod:=str(mQuant) // pra testar se retorna com o peso
Return .t.
Endif
UnInt_Port( nHandle )
Return .f.
Sds.
Sucesso!!!
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
-
Rogerio Amorim
- Usuário Nível 1

- Mensagens: 6
- Registrado em: 23 Jul 2011 17:08
- Localização: Campinas/SP
Serial com xharbour
Obrigado Maligno e Fladimir
Só mais uma dúvida Maligno, quando você diz "PROTOCOLO" você está dizendo sobre o padrão de comunicação que o equipamento usa e que está explicito no manual é isto ?
Outra coisa, eu estou pesquisando sobre a hbcomm já tenho algumas coisas e tal, existe algum lugar onde eu possa baixar um manual oficial ?
Fladimir você usa a hbcomm, funciona bem ?
Só mais uma dúvida Maligno, quando você diz "PROTOCOLO" você está dizendo sobre o padrão de comunicação que o equipamento usa e que está explicito no manual é isto ?
Outra coisa, eu estou pesquisando sobre a hbcomm já tenho algumas coisas e tal, existe algum lugar onde eu possa baixar um manual oficial ?
Fladimir você usa a hbcomm, funciona bem ?
Serial com xharbour
Uso funciona bem sim, conforme exposto no código q postei não tem segredo, vc tem saber os parametros q trabalha o equipamento q vc vai comunicar como velocidade, bits de parada etc, q regem uma comunicação serial e configurar conforme o equipamento.
Sds.
Sucesso!!!
Sds.
Sucesso!!!
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”.
Até 2017 Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL
Novos Projetos:
Desktop Visual Windev Desktop
Celular Android/iOS Windev Mobile
WEB Windev Web
Sejamos gratos a Deus.
Serial com xharbour
Nao consigo fazer a leitura da COM atraves dessa HBCOMM.LIB. Já li e re-li, de longo tempo, já testei varios exemplos, agora tentei este codigo postado pelo colega, porem nada.
Tenho um modem na COM3 consigo obter informações sobre ele atraves da consulta ao modem no gerenciador de dispositivos do Windows, consigo acessar a porta atraves do HiperTerminal, enfim, menos com a lib. Estou usando a versao do xHarbour 1.0.0 Simplex. Já tentei mexer nos parametros da porta mesmo assim nao funciona.
Alguém tem outra alternativa a essa lib ou que saiba faze-la funcionar.
Abraços.
Tenho um modem na COM3 consigo obter informações sobre ele atraves da consulta ao modem no gerenciador de dispositivos do Windows, consigo acessar a porta atraves do HiperTerminal, enfim, menos com a lib. Estou usando a versao do xHarbour 1.0.0 Simplex. Já tentei mexer nos parametros da porta mesmo assim nao funciona.
Alguém tem outra alternativa a essa lib ou que saiba faze-la funcionar.
Abraços.
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Serial com xharbour
Opa, voltando aqui para dizer que consegui, agora! O problema estava ocorrendo por causa da versao do windows vista. Agora vou começar a estudar o protocolo que tenho que seguir.ANDRIL escreveu:Nao consigo fazer a leitura da COM atraves dessa HBCOMM.LIB
Ate+
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Serial com xharbour
Vale a pena também dar uma olhada nas funções do Fivewin free, na seção Download tem exemplo, procurando por comunicação com balanças.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql


