Discussão sobre Produtos NI

cancelar
Mostrando resultados para 
Pesquisar então 
Você quer dizer: 

LabVIEW + Osciloscópio Tektronix

Olá Pessoal,

 

Estou fazendo a aquisição de decaimentos exponencias via Scope MDO3014 (2,5 GS/s) da Tektronix conectado ao laptop via USB.

Meu problema é que o sistema processa apenas cerca de 5 decaimentos por segundo (considerando a aquisição de apenas 1000 pontos para cada decaimento e seu posterior processamento para cálculo da constante de tempo; a frequência do sinal exponencial é de 60 Hz).

Reparei que para a aquisição de 10.000 pontos o tempo é praticamente o mesmo, já aumentando a frequência do sinal mensurado de 60 Hz para 900 Hz o tempo entre cada processamento cai para 150 ms.

Já tentei modificar o buffer drive que fica dentro do bloco Fetch Waveform (Intrument Driver/DPO MSO 20004000 Series) e nada... Também alterei a conexão para cabo ethernet e houve um pequeno ganho de tempo (150 ms para sinal em 60 Hz).

Ressalto ainda que, executando somente a aquisição dos dados, isto é, ignorando o processamento dos decaimentos o resultado é exatamente o mesmo em termos de velocidade de resposta.

Em anexo o programa que desenvolvi até o momento.

Gostaria de receber sugestões para otimização do processo.

 

Att, Alexandre.

0 Kudos
Mensagem 1 de 6
9.262Exibições

Ops, agora sim vai o arquivo em anexo...

0 Kudos
Mensagem 2 de 6
9.260Exibições

Olá Alexandre,

 

Você pode utilizar as funções configure da API do driver de instrumento para configurar a aquisição do osciloscópio e as funções Read para realizar as leituras dos dados adquiridos.

 

Toda comunicação com dispositivos em LabVIEW segue a estrutura de funções seguinte:

 

Initialize>>Configure>>Read>>Close.

 

Quando você instala o driver de instrumento ele instala alguns exemplos, sugiro você utilizar um exemplo como ponto de partida para gerar um código mais eficiente com a API.

 

Atenciosamente,

 

 

Abel Souza
Engenheiro Eletrônico
LabVIEW User since 8.5
0 Kudos
Mensagem 3 de 6
9.214Exibições

Olá Abel,

 

De fato estou fazendo exatamente o que vc sugere.

Utilizando a função configure após o bloco initialize e então read, fica ainda mais lento que empregar o bloco fetch (conforme meu pequeno programa apresentado acima).

A questão é, como otimizar a troca de dados entre scope e Labview? 

Preciso de apenas 1000 pontos por sinal, utilizando o driver fornecido (API: Tektronix DPO MSO 2000 4000 Series) , 1000 ou 100000 possuem a mesma velocidade...

 

Agradeço a ajuda, Alexandre

0 Kudos
Mensagem 4 de 6
9.200Exibições

Olá Alexandre,

 

Se entendi bem o tempo que você quer otimizar é o da comunicação entre o osciloscópio e o computador e não o tempo de aquisição dos dados pelo osciloscópio.

Sendo este caso, por que seria necessário dimunuir este tempo de comunicação?

Você consegue tempos de comunicação menores utilizando aplicações da própria tektronix? A tektronix afirma ser possível fazer esta comunicação em um tempo menor?

 

Atenciosamente,

Abel Souza
Engenheiro Eletrônico
LabVIEW User since 8.5
0 Kudos
Mensagem 5 de 6
9.186Exibições

Olá Abel,

 

Tentarei me explicar melhor.

O que ocorre é que preciso fazer a aquisição de decaimentos e seus respectivos processamentos concomitantemente. Como estou medindo a resposta dinâmica de sensores que detectam oxigênio gasoso, estes decaimentos processados servirão para definição dos tempos de resposta ao degrau para uma dada mudança de concentração (isto é, preciso conhecer a evolução das ctes de tempo ao longo do tempo...).

A Tektronix não me permite realizar a regressão linear das curvas e assim optei pelo LabVIEW.

No momento o sistema leva cerca de 200 ms para capturar um sinal e apresentar a sua respectiva cte de decaimento na tela; para cálculo desta cte utilizo 1000 pontos do sinal exponencial amostrado e um modelo de regressão linear específico.

Verifiquei que para um sinal de 1 kHz, e não o sinal padrão de 60 Hz que utilizo na aplicação, o tempo de aquisição e processamento cai para cerca de 150 ms (tempo decorrido entre aquisição, envio dos dados para o laptop e posterior processamento). Ainda, utilizando ethernet e não USB, reduzo o mesmo para 100 ms. Além disso, alterar a aquisição do scope para 10.000 ptos não teve impacto na resposta do sistema (me parece que há algum local no API que fixa a taxa de transmissão, ou melhor, o "tempo de espera" é válido tanto para 1000 quanto 10.000 pontos).

Assim, procuro ajuda para otimizar, como vc disse, o tempo de comunicação entre scope e LabVIEW (seja modificando o protocolo fornecido ou utilizando outro recurso que porventura eu desconheça).

 

Obrigado mais uma vez pela atenção e ajuda!

 

PS: Não entrei em contato com a Tektronix.

0 Kudos
Mensagem 6 de 6
9.166Exibições