/ / Transferência de forma de onda para o Tektronix DPO3000 Scope - vb.net, transferência, forma de onda, osciloscópio

Waveform Transfer para Escopo Tektronix DPO3000 - vb.net, transferência, forma de onda, osciloscópio

Estou tentando recuperar dados de um escopo DPO3034 enviando estes comandos:

DATA:SOURCE CH1
DATA:ENCDG ASC
DATA:START
CURVE?

eu recebo 98, 98, 98, 97, 97, 98, 98,... Como posso converter esses valores formatados em ASCII em voltagens?

Eu também tentei recuperar dados com formato binário

DATA:SOURCE CH1
DATA:ENCDG RIBINARY
DATA:START
CURVE?

eu recebo #520000a b a b b a b c b c a b a a a b ^ b b a b a b.... Como posso convertê-los em pontos de dados adequados?

Referência de comando para o DPO3000

Respostas:

1 para resposta № 1

Esses valores que você está lendo usando CURVE? são valores digitais que possuem ganho e deslocamento para transformá-los em (geralmente) volts. Você também deve ler estes valores:

double YZero = double.Parse(io.Query("WFMO:YZE?"));
double YMult = double.Parse(io.Query("WFMO:YMU?"));
double YOff = double.Parse(io.Query("WFMO:YOF?"));

E então você deve calcular a tensão real de cada valor rawValue na matriz que você obtém CURVE?:

double voltValue = YZero - YOff * YMult + (YMult * double.Parse(rawValue));

O mesmo vale para dados binários, apenas analise-os em int16 (dependendo do tamanho do bit de cada número)

P.S. Acredito que seu manual não é o mais recente, recomendo fazer o download destes no site da Tektonix.