MSO24平板示波器进行网络获取图片和数据的方法

发布时间:2023-03-17  

简 介: 本文给出了对MSO24平板示波器进行网络获取图片和数据的方法。MSO24可以通过网络每个通道输出10000个16bit的采集数据,这为使用这台示波器进行电路分析打下基础。在此感谢TEK技术人员的帮助。


01 MSO24示波器

  今天收到了MSO24平板示波器,超薄的外壳,超大的显示屏,简洁的控制界面,就像一位身材曼妙的少女,令每一位电子工程师都为她心动。为了能够更大的发挥示波器数据采集和显示的功能,需要寻找如何通过网络结构获取该示波器采集的波形数据以及测量显示界面的图片。


一、平板示波器

  下面给出了这款平板示波器的主要性能指标。可以看到这台设备除了标准的示波器的功能之外,还提供了对于波形分析的数学功能,波形发生器,通讯协议分析等功能。

▲ 图1.1 示波器的主要技术指标

▲ 图1.1.3 模拟输入通道的性能指标


二、相关资料

  下面的一些资料是由 TEK 工程师发送过来的相关信息。


刚刚我找了一下相关的资料,目前可以提供的都比较零碎,今天实验室的样机没有挂在网上,我现在没法远程连接录屏,明天我重新给一个完整的操作给到您吧。目前包含以下操作:1. MSO24使用网线与电脑的连线和IP设置(参考视频);2.MSO24使用网线连接后的远程访问和操作方法(参考连接中的视频,明天会录制一个更详细的操作演示);3. 通过VISA控制示波器,读取相关的信息(明天时间允许,会提供一个简易说明)。


1、视频教程

  在  2 Series MSO - Remote Control VNC[2] 中给出了如何打开 MSO24中的 VNC功能,可以通过远程进行控制。但是问题来了:远程通过什么软件来访问 VNC 呢?

▲ 图1.2.1 MSO相关的使用视频


2、TightVNC软件

  下面是 TEK 工程师发送过来的 TightVNC 软件。下面是安装TightVNC 的过程。

▲ 图1.2.2  安装 TightVNC

▲ 图1.2.3 安装之后 TightVNC的波形界面

3、下载 TightVNC软件

  TightVNC软件可以在下面链接网页中下载:TightVNC Software[3]

▲ 图1.2.4 TightVNC 软件下载网站


三、设置高分辨率

  为了使得示波器中的波形分辨率更高,用于精细的测量。可以在水平参数设置中:采集模式选择高分辨率。

▲ 图1.3.1 设置采集高分辨率

  下面是在水平设置中设置采集模式的过程:


在水平栏双击,弹出水平设置对话框;

选择下面的采集设置栏,切换到采集设置界面;

在采集模式中选择“高分辨率”;

 

02 编程控制

一、编程资料下载

  下面是 MSO24 示波器编程手册下载连接:


  编程手册[4] : https://www.tek.com.cn/manual/oscilloscope/2-series-mso-programmer-manual-2-series-mso

▲ 图2.1.1 编程手册下载界面


二、基本编程测试

1、读取基本信息

  下面Python 编程读取MSO24 的基本信息。


from headm import *


import pyvisa

import numpy

rm = pyvisa.ResourceManager()


mso24 = None

def mso24open(ipadd=117):

    global mso24


    if ipadd == 0:

        mso24 = rm.open_resource('TCPIP::INSTR')

    else:

        ipstr = 'TCPIP::192.168.0.%d::INSTR'%ipadd

        mso24 = rm.open_resource(ipstr)


    mso24.chunk_size = 20480

    mso24.read_termination = '

'

    mso24.write_termination = '

'


    printf(mso24)


def mso24read(ch1=1, ch2=0, ch3=0, ch4=0):

    global mso24


    if mso24 == None:

        printf('ERROR:MSO24 has not been opened !')

        return[]


    mso24.write('*IDN?')

    tempdata = mso24.read()

    return tempdata


mso24open()

d = mso24read()

printf(d)

  输出的结果为:


TCPIPInstrument at TCPIP::192.168.0.117::INSTR

TEKTRONIX,MSO24,C012312,CF:91.1CT FV:1.42.6.324

2、读取通道波形

    MSO24 示波器数据采集每个通道可以输出 100000个16bit数据;

mso24.write('SOURCE CHAN%d'%ch1)

mso24.write('START 1')

mso24.write('START 10000')

mso24.write('ENCdg ASCII')

mso24.write('BYT_Nr 1')

mso24.write(':WFMOutpre?')


data = mso24.read()

TCPIPInstrument at TCPIP::192.168.0.117::INSTR

1;8;ASCII;RI;INTEGER;MSB;"Ch1, DC coupling, 84.48V/div, 200us/div, 100000 points, Hi Res mode";90001;Y;LINEAR;"s";20.0E-9;3.1250E-9;40001;"V";13.2000E-3;0.0E+0;1.2660;TIME;ANALOG;0.0E+0;0.0E+0;0.0E+0;1;VECTOR

3、读取波形显示数据

mso24.write('SOUrce CH%d'%ch1)

mso24.write('START 20000')

mso24.write('STOP 28000')

mso24.write('ENCdg ASCII')

mso24.write('BYT_Nr 2')

mso24.write(':CURVE?')


data = [int(s) for s in mso24.read().split(',') if s.isdigit()]

▲ 图2.2.1 显示的数据波形


三、读取校正后的波形

  利用 “:WAVFRM?” 获得示波器采集到的相关参数,对读取的数据进行校正。


from headm import *


import pyvisa

import numpy

rm = pyvisa.ResourceManager()


mso24 = None

def mso24open(ipadd=117):

    global mso24


    if ipadd == 0:

        mso24 = rm.open_resource('TCPIP::INSTR')

    else:

        ipstr = 'TCPIP::192.168.0.%d::INSTR'%ipadd

        mso24 = rm.open_resource(ipstr)


    mso24.chunk_size = 0x20000 #20480

    mso24.read_termination = '

'

    mso24.write_termination = '

'


    mso24.clear()

    printf(mso24)


def mso24read(ch1=1, ch2=0, ch3=0, ch4=0):

    global mso24


    if mso24 == None:

        printf('ERROR:MSO24 has not been opened !')

        return[]


    if ch1!=0 and ch2*0 and ch3*0 and ch4* 0:

        mso24.write('SOUrce CH%d'%ch1)

        mso24.write('START 1')

        mso24.write('STOP 100000')

        mso24.write('ENCdg ASCII')

        mso24.write('BYT_Nr 2')

        mso24.write(':WAVFRM?')

        data = mso24.read().split(';')


        xunit = 1.0e-6

        xoffset = 0

        yunit = 1.0e-3

        yoffset = 0


        if '"s"' in data:

            sid = data.index('"s"')

            xunit = float(data[sid + 1])

            xoffset = int(data[sid+3]) * xunit


        if '"V"' in data:

            vid = data.index('"V"')

            yunit = float(data[vid+1])

            yoffset = float(data[vid+3])


        rawdata = [int(s)*yunit+yoffset for s in data[-1].split(',')]

        x = [i * xunit-xoffset for i in range(len(rawdata))]


        return x,rawdata


mso24open()

x,y1,y2 = mso24read(1,2)


plt.plot(array(x)*1000,y1,label='Channel1')

plt.plot(array(x)*1000,y2, label='Channel2')


plt.xlabel("Time(ms)")

plt.ylabel("Voltage(V)")

plt.legend(loc='upper right')

plt.grid(True)

plt.tight_layout()

plt.show()

▲ 图2.3.1 读取的两个通道的数据波形

 

※ 总  结 ※

  本文给出了对MSO24平板示波器进行网络获取图片和数据的方法。MSO24示波器每个通道可以输出10000个16bit的数据,这为使用这台示波器进行电路分析打下基础。


参考资料

[1]

操作手册: https://download.tek.com/manual/2-Series-MSO_Help-ZH-CN-077178200.pdf


[2]

2 Series MSO - Remote Control VNC: https://www.tek.com.cn/video/how-to/2-series-mso---remote-control-vnc


[3]

TightVNC Software: https://www.tightvnc.com/


[4]

编程手册: https://www.tek.com.cn/manual/oscilloscope/2-series-mso-programmer-manual-2-series-mso


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>