Receber (PC) dado serial associando tempo.

Software e Hardware para linha x51

Moderadores: 51, guest2003, Renie, gpenga

Receber (PC) dado serial associando tempo.

Mensagempor brasilma » 05 Jan 2007 17:06

Olá Amigos,

Estou precisando receber uma string pela serial do PC e associar a ela a hora atual.

Estou conseguindo fazer isso com o Serial Port Monitor, porem a resolução do relógio é em segundos, e eu precisava menor, pois em 1 segundo passam 180 dados.

Será que alguém tem alguma dica?

Abraços,
MArcos.
" A Teoria orienta e a Prática decide" ;-)
Avatar do usuário
brasilma
Dword
 
Mensagens: 3621
Registrado em: 11 Out 2006 15:39
Localização: Planeta Terra

Mensagempor Wagner de Queiroz » 08 Jan 2007 07:34

No Ruindows tem uma variavel de sistema chamada Ticks que tem os milisegundos passados da meia-noite.

Voce pode criar a mesma variavel no seu mcu e enviar ela no pc.

Depois é só converter para tempo.

Boa Sorte
Seja Livre, Use Linux
Avatar do usuário
Wagner de Queiroz
Word
 
Mensagens: 872
Registrado em: 11 Out 2006 13:38
Localização: Barueri-SP

Mensagempor andre_luis » 08 Jan 2007 09:12

Sua placa possui cristal ?

Se tiver, voce poderia criar um relógio interno na placa ( via firmware ), e no caso a hora do PC seria apenas para realizar o sincronismo do relogio com sua placa.

No caso, voce NÃO iria mudar diretamente a hora da placa, mas iria re-calibrar o valor da recarga do Timer, num funcionamento PI ( proporcional-integral ) parecido com um PLL.


P.S.:Vale lembrar que devido à natureza multi-tarefa do Windows, temporizacoes inferiores a 1 segundo sao problemáticas. Já passei por essa esperiencia no envio de dados de biometria a 240Hz do PC para a placa. A solucao foi a placa gerar interrupóes a essa taxa. Aí funcionou...!!!



+++
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor brasilma » 08 Jan 2007 10:18

Olá Amigos,

Os dados são enviados por uma balança, cujo hardware/software não foi desenvolvido por nós.

Sei que o procedimento é simples, já brinquei em Delphi e VB, tem uma infinidade de ferramentas prontas pela net, o problema é que não tenho atualmente nenhum compilador instalado (estou trabalhando só com MC).

A velocidade com que os dados são enviados ao PC é de 180 strings por segundo, isso dá 5,6mS, então o aplicativo precisaria ter uma resolução na captura e registro dos dados de pelo menos 5mS.

Resumindo: Preciso de um aplicativo que leia os dados pela serial (uma string com 6-8 caracteres) a cada 5mS, e os salve em um arquivo, ou deixe numa janela em duas colunas (coluna 1 dado, coluna 2 time).

Então queria saber se alguma colega que esteja na "ativa" poderia me ajudar com um .exe pronto.

Abraços,
MArcos.
" A Teoria orienta e a Prática decide" ;-)
Avatar do usuário
brasilma
Dword
 
Mensagens: 3621
Registrado em: 11 Out 2006 15:39
Localização: Planeta Terra

Mensagempor andre_luis » 10 Jan 2007 13:03

Olha, cada caso é uma caso, mas o LABVIEW da National instruments possui essa capacidade. O problema é que voce teria de aprender a linguagem do script dessa ferramenta.

Dá uma busca ( também no fórum antigo ) a respeito disso.

+++
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor brasilma » 10 Jan 2007 16:38

Ô André, isto é simples de ser feito em Delphi ou VB (tem um monte de ferramentas prontas na NET), é que não tenho mas nenhum desses compiladores instalados (e nem posso instalar agora), e queria saber se alguém poderia me quebrar esse galho, entendeu?

Eu já brinquei em tudo que é linguagem e plataforma que você possa imaginar, só que agora estou trabalhando apenas com MCs.

Abraços,
MArcos.
" A Teoria orienta e a Prática decide" ;-)
Avatar do usuário
brasilma
Dword
 
Mensagens: 3621
Registrado em: 11 Out 2006 15:39
Localização: Planeta Terra

Mensagempor Wagner de Queiroz » 10 Jan 2007 16:53

Marcos, diga qual é o formato da string que ta recebendo. Vamos ver se alguem se habilita para te ajudar.

Se vc ta com medo da licença do Delphi, tem o Lazarus que funfeia no Windows e no Linux.
Seja Livre, Use Linux
Avatar do usuário
Wagner de Queiroz
Word
 
Mensagens: 872
Registrado em: 11 Out 2006 13:38
Localização: Barueri-SP

Mensagempor jeanfernandes » 10 Jan 2007 19:21

Bom se queres só ver a coisa
usa o bonitão das tapioca...
DockLight...
Da pra fazer mizéria com ele...

Agora lembre-se de uma coisa importante....o windows nao passa pra sua aplicacao os dados da serial se tiver com coisa mais importante pra fazer viu ? tem uma latencia ae e as vezes o tempo de chegar o dado na ponta do cabo e ir pra sua aplicacao varia.

Uma solucao meia boca eh subir a prioridade do processo no task list do windows....mas nem tanto pois senao ele fica zuando os demais....

Teste 01 - Usando duas COM's virtuais no mesmo PC


Imagem

Imagem


Teste 02 - Usando duas COM's Reais (sendo uma emulada via USB no notebook) a 115K

Imagem

Detalhe eu habilitei o log e desabilitei o print em real time na tela...pra melhorar o desempenho....RTFM que voce aprende com faz....

Bom eu creio que seja uma razoável referência pra você ae monstro.
Até mais.


Fuiz....
Editado pela última vez por jeanfernandes em 10 Jan 2007 19:45, em um total de 1 vez.
Jean P. Fernandes - Eng. Eletrônico - (83) 2102-2116 - APEL - www.apel.com.br - Campina Grande - PB
jeanfernandes
Word
 
Mensagens: 539
Registrado em: 11 Out 2006 15:36
Localização: Campina Grande - PB

Mensagempor jeanfernandes » 10 Jan 2007 19:29

Bom fio vamos pra ponta do lapis....

180 strings (que tu nao falou o tamanho delas)....por segundo...mas que teu tick da 5,6 ms pra receber vejamos bem

Um baud de 115200 da um char a cada xo ver (em 8N1)
8,6 us.....* 10 = 86 us por byte

Se tua string tem 1 ms de "tamanho" isso da ae uns 12 bytes....
Pra ver na casa dos miliseconds (o dock faz em centesimos de segundo)....ai eu ja nao sei mas da pra ter uma ideia da coisa....
Jean P. Fernandes - Eng. Eletrônico - (83) 2102-2116 - APEL - www.apel.com.br - Campina Grande - PB
jeanfernandes
Word
 
Mensagens: 539
Registrado em: 11 Out 2006 15:36
Localização: Campina Grande - PB

Mensagempor brasilma » 10 Jan 2007 19:45

Olá Wagner,

O formato da string é o seguinte: 0000.0+CR+LF.

Esta string é formatada por uma interface que fiz, por isso posso modificá-la conforme for preciso.

Vou dar uma testada nesse Serial Monitor que o Jean indicou, me parece promissor, e assim não preciso perturbar mais ninguém.

Já retorno com o resultado.

Abraços,
MArcos.
" A Teoria orienta e a Prática decide" ;-)
Avatar do usuário
brasilma
Dword
 
Mensagens: 3621
Registrado em: 11 Out 2006 15:39
Localização: Planeta Terra

Mensagempor Renie » 11 Jan 2007 00:14

Olá Marcos!

Já mandei para você no emala um esquartejado do Remoto Serial, adaptado ( ou melhor esquartejado) para seu pedido, vê se
resolve!
[]'s
Renie
-------------------------------------------------------------------------------------------------------------
Meu velho site com eletrônica praticamente parado http://www.reniemarquet.com
Nosso Blog http://artemadeiraevida.blogspot.com.br
Renie
Word
 
Mensagens: 732
Registrado em: 11 Out 2006 22:35
Localização: RJ - Niterói - Brasil

Mensagempor brasilma » 11 Jan 2007 07:56

Olá Jean,

Obrigado pela ajuda, baixei o Docklight e fiz testes, realmente ele é melhor do que os que havia testado, porem ainda não é 100%, as dificuldades que encontrei é que recebendo pela serial, e não virtualmente como você fez, a informação do tempo fica desorganizada (talvez por falta de sincronismo), e junto na mesma linha, porem com certeza para outras aplicações seriais é só ele que vou usar.

Renie, obrigado pelo empenho, estou testando o programa hoje e dou um retorno.

Abraços,
MArcos.
" A Teoria orienta e a Prática decide" ;-)
Avatar do usuário
brasilma
Dword
 
Mensagens: 3621
Registrado em: 11 Out 2006 15:39
Localização: Planeta Terra

Mensagempor brasilma » 11 Jan 2007 09:45

Ambos programas estão funcionando perfeitamente no que diz respeito a recepção (o Docklight indicado pelo Jean, e o REC232 enviado pelo Renie), o problema está apenas na formatação dos dados.

Preciso, depois de recebido, transportar os dados para uma planilha, e seria legal que os mesmos estivessem organizados em duas colunas, por exemplo, ou outra forma que facilite a inserção.

Em 4-5 minutos de recepção, serão adquiridos mais de 800 conjuntos de dados, e arrumá-los na mão é meio "chatinho".

Do geito que vai indo, acho que logo-logo vamos encontrar a solução.

Obrigado a todos pelo empenho até o momento.
" A Teoria orienta e a Prática decide" ;-)
Avatar do usuário
brasilma
Dword
 
Mensagens: 3621
Registrado em: 11 Out 2006 15:39
Localização: Planeta Terra

Mensagempor Renie » 11 Jan 2007 15:59

Olá Marcos!


Separar a string da hora com ";" ou outro caracter específico (diga qual)
resolve?

No excel tinha como importar dados indicando os separadores de campos,
acho que outras planilhas também tem essa função.

Você salva para um arquivo e depois importa para a planilha, não precisa
copiar e colar.
[]'s
Renie
-------------------------------------------------------------------------------------------------------------
Meu velho site com eletrônica praticamente parado http://www.reniemarquet.com
Nosso Blog http://artemadeiraevida.blogspot.com.br
Renie
Word
 
Mensagens: 732
Registrado em: 11 Out 2006 22:35
Localização: RJ - Niterói - Brasil

Mensagempor Jorge_Francisco » 11 Jan 2007 18:30

Renie escreveu:Olá Marcos!


Separar a string da hora com ";" ou outro caracter específico (diga qual)
resolve?

No excel tinha como importar dados indicando os separadores de campos,
acho que outras planilhas também tem essa função.

Você salva para um arquivo e depois importa para a planilha, não precisa
copiar e colar.


Olha,o que eu entendi foi que vc precisa de um programa que pegue uma string no formato "0000.0+CR+LF" e coloque em um arquivo txt em duas colunas,sendo na da esquerda o dado e na direita a hora que este dado chegou,isso me parece super facil,para que fique na disposição "colunas" é só tabular,e ele sera mostrado tanto no excel qto no notepad.É isso que desejas?
Avatar do usuário
Jorge_Francisco
Dword
 
Mensagens: 1009
Registrado em: 12 Out 2006 09:53
Localização: Rio de Janeiro

Próximo

Voltar para 8051

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x