Jump to content
Fivewin Brasil

Leitura da saida serial


celhel

Recommended Posts

Ola pessoal

Alguem pode me ajudar e me dizer como faço pra ler a resposta da serial ligada em um equipamento que funciona direto na serial. To usando o readcomm mas não ta funcionando. Talvez eu esteja usando a sintaxe errada. Alguem pode me enviar um exemplo de como abrir, enviar e ler a serial.

Obrigado

Link to comment
Share on other sites

Ola pessoal

Alguem pode me ajudar e me dizer como faço pra ler a resposta da serial ligada em um equipamento que funciona direto na serial. To usando o readcomm mas não ta funcionando. Talvez eu esteja usando a sintaxe errada. Alguem pode me enviar um exemplo de como abrir, enviar e ler a serial.

Obrigado

Link to comment
Share on other sites

Ola pessoal

Alguem pode me ajudar e me dizer como faço pra ler a resposta da serial ligada em um equipamento que funciona direto na serial. To usando o readcomm mas não ta funcionando. Talvez eu esteja usando a sintaxe errada. Alguem pode me enviar um exemplo de como abrir, enviar e ler a serial.

Obrigado

Link to comment
Share on other sites

Ola Celhel

A função abaixo funciona com uma balança Lucastec ligada

na Com1. Neste caso, é necessário enviar um Chr(5) para

a mesma retornar uma string NNNN 99/99/99 999999 KG, com 20 bytes, onde NNNN = contador de leituras. Veja que oGet esta

sendo atualizado com a variavel cBuffer (STATIC), além de

gravar no arquivo PESO.TXT. Espero que ajude.

Alberto Zamai

Vip Netsystem

*----------------------

Function fLeitura(oGet)

*----------------------

local cDcb, nBytes

local nComm := OpenComm( "COM1", 1024, 128 ) // Define a porta Com1

local nError, nI

if ! BuildCommDcb( "COM1:9600,n,8,1", @cDcb ) // Abre a porta

nError = GetCommError( nComm )

MsgInfo( "BuildCommDcb Error: " + Str( nError ) )

endif

if ! SetCommState( cDcb ) // Verifica estado

nError = GetCommError( nComm )

MsgInfo( "SetCommState Error: " + Str( nError ) )

endif

if ( nBytes := WriteComm( nComm, Chr(5) ) ) < 0 // Manda um Chr(5)

nError = GetCommError( nComm )

MsgInfo( "WriteComm Error: " + Str( nError ) )

End

Inkey(1.5) // Espera 1.5 seg. pela resposta

cBuffer:=Space(20)

ReadComm( nComm , @cBuffer)

MemoWrit("PESO.txt",cBuffer) // Escreve o retorno

oGet:Refresh() // Atualiza o Get com a vari vel cBuffer

if FlushComm( nComm, 0 ) != 0 // Limpa o buffer da porta serial

nError = GetCommError( nComm )

MsgInfo( "FlushComm Error: " + Str( nError ) )

endif

if ! CloseComm( nComm ) // Fecha a porta

nError = GetCommError( nComm )

MsgInfo( "CloseComm Error: " + Str( nError ) )

endif

return(Nil)

Link to comment
Share on other sites

celhei, se voce tem uma seria com "alguma coisa ligada nela", deve ser uma central telefonica, que ja possui um tarifador que de instatante em instante manda uma mensagem para a serial que ja e' paciturada pelo tarifador, basta saber onde e ler este arquivo, eu faco isto com centrais intelbras e leucotron, e' isto que voce faz?

Link to comment
Share on other sites

Helio, em se tratando de comunicação com bombas de combustiveis, apesar de não teres mencionado a marca e modelo, tente algo por aqui:

http://www.companytec.com.br:8080/download.php

Tem algum material por lá que dá para teres alguma luz...

toya

toyasis@yahoo.com.br

http://www.toyanet.com.br

FWH 2.4+PellesC+xBuild+xHarbour.org 0.99 - MySql 5.0.12 Beta - SqlLib

FW 2.4+WS 4.5+Blinker 7.0+Clipper 5.2E

Linux 2.4.29 - Slack 10.1

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...