ja1yaz’s diary

感動したいおやじの備忘録的ブログ 

EDUX1052GでHislipモードを試してみた。

先日、手持ちのオシロスコープEDUX1052GでHislipモードを見つけたが、接続の仕方がわからなかった。

試してみるうちに、Pyvisaのリソースマネージャに表示されないが無理やりHislipモードのVISA機器名でOpenしてみると、それでも動作することが分かった。

ちょっと目にはわからなかったが、100kポイントの2Byteデータを100回取り込んで、SAVEさせてみた。

通常のVISA機器名の場合、45秒かかったが、HislipモードのVISA機器名を指定すると、35秒だった。約2割程度高速になっただけだった。

転送レートは、200kB/0.35=571kB/Sec程度だった。

これが実力だとするとちょっと期待外れだった。

インターフェースの帯域ギリギリまで使えるかと期待したが、ちょっと違うようだ。

 

使用した評価プログラム

import pyvisa
import datetime
import time
import csv
rm = pyvisa.ResourceManager()
print(rm.list_resources())
#inst=rm.open_resource('TCPIP::192.168.1.3::INSTR')
inst=rm.open_resource('TCPIP::192.168.1.3::hislip0::INSTR')
#inst = rm.open_resource('USB0::0x2A8D::0x039B::CN60011000::0::INSTR')
inst.timeout=10000
print(inst.query("*IDN?"))
inst.write('*rst')
time.sleep(1)
inst.write('ACQuire:TYPE HRES')
inst.write('CHANnel1:SCALe 0.5')
inst.write('TIMebase:MODE main')
inst.write('TIMebase:SCALe 0.0002')
inst.write('WGEN:FUNCtion sin')
inst.write('WGEN:FREQuency 1000')
inst.write('WGEN:VOLTage 0.5')
inst.write('WGEN:OUTPut 1')
#inst.write('HARDcopy:INKSaver 0')
inst.write('WAVeform:FORMat WORD')
inst.write('WAVeform:POINts:MODE MAX')
inst.write('WAVeform:POINts 200000')
#inst.write('WAVeform:PREamble?')
#pre_dat=inst.read()
time.sleep(1)
inst.write('STOP')
iteration=100
start=time.time()
wfm_dat=
for i in range(iteration):
    values=

    TRGstate=0
    inst.write('single') 
    while (TRGstate<1):
        TRGstate=int(inst.query('TER?'))
    values=inst.query_binary_values('waveform:DATA?', datatype='h', is_big_endian=True)
    # data type
    #'b':  byte               (1 bytes)
    #'B':  unsigned int       (1 bytes)
    #'h': short               (2 bytes)
    #'H': unsgined short      (2 bytes)
    #'i':   int               (4 bytes)
    #'I':  unsigned int       (4 bytes)
    #'f':   int               (8 bytes)
    #'F':  unsigned int       (8 bytes)
    #
    wfm_dat.append(values)
print(time.time()-start)
now = datetime.datetime.now()
flname = 'image_' + now.strftime('%Y%m%d_%H%M%S%f') + '.csv'# Save display data values to file.
#print(wfm_dat)
#print(inst.query('WAVEFORM:PREAMBLE?'))
with open(flname, 'w', newline='') as file:
    writer = csv.writer(file)
    writer.writerows(wfm_dat)

file.close()