From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

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.250Exibições

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

0 Kudos
Mensagem 2 de 6
9.248Exibiçõ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.202Exibiçõ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.188Exibiçõ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.174Exibiçõ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.154Exibições