es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Adquiriendo la forma de onda de un osciloscopio LeCroy con PyVISA.

Estoy tratando de adquirir una forma de onda de un osciloscopio LeCroy Teledyne HDO4024A. Estoy usando la biblioteca LeCroyDSO y he logrado comunicarme con el osciloscopio. Por ejemplo, pude cambiar la escala vertical con:

from lecroydso import ActiveDSO, LeCroyDSO
connection_string = 'VXI11:168.252.89.210'
dso = LeCroyDSO(ActiveDSO(connection_string))
dso.write_vbs('app.Acquisition.C1.VerScale=1')

Para recuperar una forma de onda, he intentado varios enfoques, todos sin éxito:

data = dso.get_waveform('C1')
data = np.array(dso.query_vbs('CURV?'))
data = np.array(dso.query_vbs('app.Acquisition.C1.Out.Result.DataArray'))

También he intentado dso.write_vbs, y eliminar el np.array(). Pero ninguno de estos funciona. La primera línea no devuelve ninguna variable, la segunda devuelve una cadena str544 con el valor ndarray object of numpy module y la tercera devuelve una cadena str con el valor Cannot convert Variant to string. No sé qué hacer a partir de aquí. ¿Cómo puedo recuperar los datos de la forma de onda?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que has intentado diferentes enfoques para obtener una forma de onda del osciloscopio LeCroy Teledyne HDO4024A utilizando la biblioteca LeCroyDSO sin éxito.

    Una cosa a tener en cuenta es que el método get_waveform de la biblioteca LeCroyDSO devuelve un diccionario con los datos de la forma de onda. Por lo tanto, debes intentar el siguiente enfoque para obtener los datos de la forma de onda:

    data_dict = dso.get_waveform('C1')
    data = data_dict['y']
    

    En este caso, data_dict es un diccionario que contiene los datos de la forma de onda para el canal 1 (C1). La clave 'y' de este diccionario corresponde a los valores de la forma de onda. Por lo tanto, puedes obtener los datos de la forma de onda accediendo a esta clave.

    Otro enfoque que puedes intentar es utilizar el método query_vbs con el comando adecuado para obtener los datos de la forma de onda. Por ejemplo, puedes intentar el siguiente comando:

    data = np.array(dso.query_vbs('wfmoutpre:yunit?;ymult?;yzero?;xincr?;data?'))
    

    En este caso, estás utilizando el comando wfmoutpre para obtener la información de la forma de onda para el canal 1 (C1). Este comando devuelve una cadena que contiene la unidad vertical, el factor de escala vertical, el desplazamiento vertical, el incremento horizontal y los datos de la forma de onda. La función np.array se utiliza para convertir esta cadena en un arreglo NumPy.

    Esperemos que uno de estos enfoques funcione para que puedas obtener los datos de la forma de onda del osciloscopio.

Comments are closed.