# -*- coding: utf-8 -*- """ Created on Wed Aug 11 10:44:21 2021 @author: User """ import pyvisa as visa import time import numpy as np from matplotlib import pyplot as plt import os from IPython import get_ipython rm = visa.ResourceManager() instrumentos = rm.list_resources() print(instrumentos) # Esto lista todos los dispositivos disponibles, uno de los cuales # deberia ser "USB0::0x0699::0x0368::C017044::INSTR", donde los terminos # indican "puerto::marca::modelo::nro_de_serie" del instrumento. #%% # Elijo el elemento que corresponde en instrumentos #Con ese nombre abro el vinculo con el osciloscopio osci=rm.open_resource(instrumentos[2]) #osc=rm.open_resource('USB0::0x0699::0x0363::C065093::INSTR') #chequeo la comunicación print(osci.query('*IDN?')) #MEDIMOS #para leer las curvas del canal 1 y 2 necesito tomar los datos de la configuración xze,xin=osci.query_ascii_values('WFMPRE:XZE?;XIN?',separator=';') #conf. base de tiempo yze1,ymu1,yoff1=osci.query_ascii_values('WFMPRE:CH1:YZE?;YMU?;YOFF?',separator=';') #conf. vertical canal 1 yze2,ymu2,yoff2=osci.query_ascii_values('WFMPRE:CH2:YZE?;YMU?;YOFF?',separator=';') #conf. vertical canal 2 ## Modo de transmision: Binario (es la onda digitalizada) osci.write('DAT:ENC RPB') osci.write('DAT:WID 1') #leo las curvas como datos binarios osci.write('DAT:SOU CH1' ) data1=osci.query_binary_values('CURV?', datatype='B',container=np.array) osci.write('DAT:SOU CH2') data2=osci.query_binary_values('CURV?', datatype='B',container=np.array) #transformo los datos tiempo = xze + np.arange(len(data1)) * xin #tiempos en s data1V=(data1-yoff1)*ymu1+yze1 #tensión canal 1 en V data2V=(data2-yoff2)*ymu2+yze2 #tensión canal 2 en V osci.close() ''' Descomentar la línea que corresponda. Si quieren que las figuras aparezcan en la terminal: inline Si quieren que las figuras aparezcan en una ventana emergente: qt5 ''' #get_ipython().run_line_magic('matplotlib', 'inline') get_ipython().run_line_magic('matplotlib', 'qt5') #graficamos los datos plt.close() plt.scatter(tiempo,data1V,label='Canal 1') plt.plot(tiempo,data2V,label='Canal 2',color = 'red') plt.xlim(tiempo[0],tiempo[-1]) plt.legend() #%% ---------------------- Carga de datos --------------------------------------- # Colocar la ruta de la carpeta con los archivos entre r' ': os.chdir (r'G:\Mi unidad\Labo 3 1er cuat 2022\Clase 04 19\Mediciones') import pandas as pd mediciones=np.zeros([3,2500]) mediciones=[tiempo,data1V,data2V] mediciones=np.transpose(mediciones) df=pd.DataFrame(mediciones,columns=['tiempo', 'V1', 'V2']) #print(time.localtime()) resistencia=1100#valor de la resistencia np.savetxt(str(resistencia)+'.txt',df)