精华内容
下载资源
问答
  • scpi-parser-master_SCPI语法解析程序_SCPI_C语言SCPI_Scpiserver.zip
  • SCPI(可编程仪器的标准命令)windows环境C#开发范例
  • scpi-parser-master_SCPI语法解析程序_SCPI_C语言SCPI_Scpiserver_源码.zip
  • SCPI解析器库v2 文献资料 可从获得文档。 例子 库中包含一些用法,但是请注意,该代码仅用于教育目的,尚不能投入生产。 示例来自多个贡献者,并且它们未经测试,也不清楚,如果它们确实有效或完全可以编译。 核心...
  • SCPI标准命令

    2018-02-03 21:39:12
    Standard Commands for Programmable Instruments 程控仪器标准命令SCPI
  • VB.NET SCPI

    2017-12-04 10:51:37
    使用VB.NET 编写的SCPI控制艾德克思电源。对电源通讯。
  • SCPI Command Reference.pdf

    2021-06-09 08:18:30
    SCPI Command Reference.pdf
  • SCPI协议1999版

    2018-07-19 10:53:34
    This document defines the Standard-Commands-for-Programmable-Instruments (SCPI) Consortium’s SCPI standard.
  • Agilent SCPI Test.rar

    2020-08-20 13:56:29
    使用WPF编写的可执行文件,通过IP地址连接Agilent的信号源与频谱仪,发送SCPI命令,用于测试SCPI命令正确与否。
  • agilent power scpi command

    2018-08-04 23:16:17
    安捷伦电源SCPI命令集合,用于程序控制电源的基本实现,
  • SCPI基础知识介绍.pdf

    2020-08-05 17:08:08
    本资料首先介绍有关SCPI中的基本概念、数据结构以及如何使用SCPI。随后以中电41所得AV4023手持式微波频谱分析仪为例介绍其所支持的SCPI命令、命令格式、功能说明和详细使用说明。最后给出了AV4023系列手持式微波频谱...
  • 针对数字示波器的SCPI命令集,研究并设计了一种SCPI命令解释器,此命令解释器通过采用二叉树结构来存储数字示波器的SCPI命令集,并在此基础上通过遍历二叉树来实现SCPI命令的查找过程.设计的解释器具有命令解析效率高,...

    摘要:

    可程控仪器命令标准(SCPI)目前被广泛应用于测试测量仪器的操作控制中.针对数字示波器的SCPI命令集,研究并设计了一种SCPI命令解释器,此命令解释器通过采用二叉树结构来存储数字示波器的SCPI命令集,并在此基础上通过遍历二叉树来实现SCPI命令的查找过程.设计的解释器具有命令解析效率高,移植性好等优点,现已应用于数字示波器中,实践证明了此设计方案是可行的.;Standard Commands for Programmable Instruments(SCPI) are widely used in operating and controlling of test and measurement instrument. Aiming at SCPI command subsets of digital oscilloscope, a kind of SCPI interpreter is researched and implemented in this paper. This interpreter adopts a structure based on the binary tree to build up the SCPI command tree. By traversing the binary tree, the SCPI command interpreting process is realized. The interpreter designed by this method features the advantages of quick parsing speed, good transplanting and so on, which is used in Digital Oscilloscope. The practice has proved this design scheme is efficient and feasible.

    展开

    展开全文
  • C# SCPI 通讯

    2021-06-01 15:01:58
    如何用C#编写SCPI通讯?  </p>
  • SCPI-1999.pdf

    2019-11-21 15:02:50
    IEEE官方SCPI编程手册. 基于IEEE488.2协议标准, 方便仪器仪表的程控编程指导以及API协议定义.
  • 根据SCPI树形结构的特点,使用VC++中的ODBC技术,创建并查询SCPI命令集的数据库,使用VC++中的CTreeCtrl控件,生成SCPI的命令树,方便得到SCPI命令的完整路径,同时完成了SCPI命令集解释器的设计。
  • MATLAB supports the programming of instruments using SCPI commands through Instrument Control Toolbox. Once data is in MATLAB, you can analyze and visualize the data for analysis tasks such as signal ...

    MATLAB supports the programming of instruments using SCPI commands through Instrument Control Toolbox. Once data is in MATLAB, you can analyze and visualize the data for analysis tasks such as signal processing, statistical analysis, digital filtering, and curve fitting. You can also create graphical interfaces for collecting and analyzing your data and automating tests.

    SCPI (Standard Commands for Programmable Instruments) defines a syntax and text-based commands for controlling programmable test and measurement instruments.

    You can program instruments directly from MATLAB using SCPI commands and Instrument Control Toolbox. The SCPI standard does not define a physical interface and can be used over several different physical interfaces from MATLAB, such as:

    展开全文
  • 安捷伦频谱仪编程指导手册,采用SCPI语言 安捷伦频谱仪编程指导手册,采用SCPI语言 安捷伦频谱仪编程指导手册,采用SCPI语言 安捷伦频谱仪编程指导手册,采用SCPI语言
  • Java-SCPI-解析器 SCPIParser 库提供了一个易于使用的 SCPI 风格的命令解析器。 有关用法和示例,请参阅 SCPIParser 类文档。 示例用法: class SimpleSCPIParser extends SCPIParser { public ...
  • 仪器互联接口代码,或用于解析通讯指令。版权归属未知。
  • SCPI编程语句中文解释.pdf
  • SCPI 语言简介

    千次阅读 2019-09-29 20:58:00
    SCPI(可编程仪器的标准命令)是一种基于 ASCII 的仪器编程语言,供测试和测量仪器使用。 SCPI 命令采用分层结构,也称为树系统。 相关命令归组于共用结点或根,这样就形成了子系统。 下面一部分 SENSe 子系统说明了...

    电子负载中需要用到,所以记录下。来源是德科技

    SCPI(可编程仪器的标准命令)是一种基于 ASCII 的仪器编程语言,供测试和测量仪器使用。 SCPI 命令采用分层结构,也称为树系统。 相关命令归组于共用结点或根,这样就形成了子系统。 下面一部分 SENSe 子系统说明了这一点。

    SENSe:
             VOLTage:
                      DC:RANGe {<range>|MIN|MAX|DEF}
                      DC:RANGe? [MINimum | MAXimum | DEFault]

    SENSe 是命令的根级关键字,VOLTage 是第二级关键字,DC 是第三级关键字。 冒号 (:) 隔开连续的关键字。

    语法惯例

    命令语法格式图示如下:

    VOLTage:DC:RANGe {<range>|MIN|MAX|DEF}

    大多数的命令(及一些参数)是大写和小写字母的混合。 大写字母表示命令的缩写,使程序行变短。 如果要获得较好的程序可读性,可以使用长格式命令。

    例如,考虑到前文中 VOLTage 这个关键词。 您可以输入 VOLT 或 VOLTage,大小写字母随意结合。 因此,VolTaGe、volt 和 Volt 都可以接受。 其他格式(如 VOL 和 VOLTAG)将会产生错误。

    • 大括号 ( { } ) 包含了参数选择。 大括号不随命令字符串发送。
    • 垂直线 ( | ) 分隔参数选择。 例如,上述命令中的 {<range>|MIN|MAX|DEF} 指示您可以指定一个数字范围参数或 "MIN"、"MAX" 或 "DEF"。 条形图不随命令字符串发送。
    • 尖括号 ( < > ) 表示必须给括号内的参数指定一个值。 例如,上述的语法语句表明尖括号中的 <range> 参数。 不随命令串一起发送尖括号。 必须为该参数指定一个值(例如 "VOLT:DC:RANG 10"),除非您选择语法中显示的其他选项中的一项(例如 "VOLT:DC:RANG MIN")。
    • 可选参数放在放括号内 ( [ ] )。 方括号不会随命令串一起发送。 如果您未对可选参数指定数值,则仪器将使用默认值。

    命令分隔符

    冒号 (:) 隔开连续的关键字。 必须插入一个空格将参数与命令关键字分开。 如果一个命令需要多个参数,则用一个逗号分隔相邻的参数:

    CONF:VOLT:DC 10,0.003

    分号(  ) 分隔同一子系统中的两个命令,并可最大限度地减少输入。 例如,下列字符串:

    TRIG:SOUR EXT;COUNT 10

    等同于下面两个命令:

    TRIG:SOUR EXT
    TRIG:COUNT 10

    使用一个冒号和一个分号来链接不同子系统的命令。 例如,在下面的示例中,如果不使用冒号和分号,将会产生错误:

    TRIG:COUN MIN;:SAMP:COUN MIN

    使用 MIN、MAX 和 DEF 参数

    可以用 "MIN" 或 "MAX" 代替很多命令的参数。 在某些情况下,您也可以使用 "DEF" 替换。 例如,参考下列例子:

    VOLTage:DC:RANGe {<range>|MIN|MAX|DEF}

    不用为 <range 参数选择特定的值,可以用 MIN 参数将量程设置为最小值,用 MAX 参数将量程设置为最大值,或用 DEF 参数将量程设置为默认值。>

    查询参数设置

    要查询大多数参数的当前值,您可以添加问号 ( ? ) 给命令 例如,下面的示例将触发计数设置为 10 次测量:

    TRIG:COUN 10

    然后,通过发送可以查询计数值:

    TRIG:COUN?

    您也可以查询所允许的最小或最大计数,如下所示:

    TRIG:COUN? MIN
    TRIG:COUN? MAX

    SCPI 命令终止符

    发送到仪器的命令串必须以一个<换行> (<NL) 字符(ASCII 十进制数字 10)结尾。> 可以将 IEEE-488 EOI(结束或标识)信息当做 <NL> 字符,并用来代替 <NL> 字符终止命令串。 一个<回车>后跟一个<换行>也是可行的。 命令串终止总是将当前的 SCPI 命令路径复位到根级。

    注意

    对于每个包括一个查询并发送到仪器的 SCPI 消息,此仪器用一个<换行>或换行符 (EOI) 终止返回的响应。 例如,如果发送 R?,则在数据块返回以后,用 <NL> 终止响应。 如果 SCPI 消息包括由分号隔开的多个查询(例如 "ROUTe:TERMinals?;R?"),在对最后一次查询响应以后,再次由 <NL> 终止返回的响应。 不论在哪种情况下,在将另一个命令发送到仪器之前,程序在响应中必须读取此 <NL>,否则将会出现错误。

    IEEE -488.2 通用命令

    IEEE-488.2 标准定义了一组常用命令,可执行复位、自检以及状态操作等功能。 常用命令总是以星号 ( * ) 开始,长度为 3 个字符,并可以包括一个或多个参数。 命令关键字与第一个参数由空格分开。 使用分号 ( ; ) 可分隔多个命令,如下所示:

    *RST; *CLS; *ESE 32; *OPC?

    SCPI 参数类型

    SCPI 语言定义了程序信息和响应信息所使用的几种数据格式。

    数值参数

    要求使用数值参数的命令,支持所有常用的十进制数字表示法,包括可选符号、小数点和科学记数法等。 还可以接受数值参数的特殊值,如 MIN、MAX 和 DEF。 此外,还可以在数值参数后面添加单位(例如,M、k、m 或 u)。 如果命令只接受某些特定值,仪器自动将输入的数值参数四舍五入为可用接受的值。 下面这条命令要求给数值参数设置范围值:

    VOLTage:DC:RANGe {<range>|MIN|MAX|DEF}

    注意

    由于 SCPI 解析器不区分大小写,会有些混淆字母 "M"(或 "m")。 为了方便起见,仪器将 "mV"(或 "MV")认作毫伏,但是将 "MHZ"(或 "mhz")认作兆赫。 同样地,"MΩ"(或 "mΩ")被认作是 megΩ。 您可以使用前缀“MA”表示兆。 例如,将 "MAV" 认作兆伏。

     

    离散参数

    离散参数用于设置有限个参数值(例如 IMMediate、EXTernal 或 BUS)。 就象命令关键字一样,它们也可以有短格式和长格式。 可以混合使用大写和小写字母。 查询响应始终返回全部为大写字母的短格式。 下面的示例要求将离散参数用于温度单位:

    UNIT:TEMPerature {C|F|K}

    布尔参数

    布尔参数代表一个真或假的二进制条件。 对于假条件,仪器将接受 "OFF" 或 "0"。 对于真条件,仪器将接受 "ON" 或 "1"。 当查询布尔设置时,仪器始终返回 "0" 或 "1"。 下面的示例要求使用布尔参数:

    DISPlay:STATe {ON|1|OFF|0}

    ASCII 字符串参数

    字符串参数实际上可包含所有 ASCII 字符集。 字符串必须以配对的引号开始和结尾;可以用单引号或双引号。 引号分隔符也可以作为字符串的一部分,只需键入两次并且不在中间添加任何字符。 下面这个命令使用了字符串参数:

    DISPlay:TEXT <quoted string>

    例如,下面的示例在仪器的前面板上显示了信息 "WAITING..." (不显示引号)。

    DISP:TEXT "WAITING..."

    还可以使用下面的示例用单引号显示同一信息。

    DISP:TEXT 'WAITING...'

    使用设备清除

    设备清除是一个 IEEE-488 低级的总线消息,可用于将仪器返回到响应状态。 不同的编程语言和 IEEE-488 接口卡通过其特有的命令来提供对该功能的使用。 当收到设备清除信息时,状态寄存器、错误队列以及所有配置状态都保持不变。

    设备清除执行以下操作:

    • 如果正在测量时,则其被终止。
    • 仪器返回到触发“空闲”状态。
    • 清除仪器的输入和输出缓冲区。
    • 仪器准备好接受新的命令串。
    • 重复的命令(即便需要)将被终止而无需“操作完成”指示(适用于 INIT)。
    注意

    ABORt 命令是终止测量的建议方法。

    转载于:https://www.cnblogs.com/CodeWorkerLiMing/p/11582578.html

    展开全文
  • 示波器SCPI指令集

    2018-11-13 14:50:39
    示波器SCPI指令集,MDO3系、4系,DPO4系都可以使用。使用网口连接。可在泰克官网下载,放这里方便查找
  • OSC_visualc++_SCPI_源码

    2021-09-11 02:53:50
    vc++下,上位机发送SCPI指令给远程仪表,完成仪表设置并自动获取结果
  • python之SCPI程控

    千次阅读 2019-02-27 16:57:27
    SCPI协议:SCPI协议建立于IEEE488.2基础上,可用于GPIB、RS232、VXIb总线,通过相同命令来控制不同仪器的相同功能,pythonSCPI程控,可以通过visa来进行控制。 下面是简单基本的连接命令,open_resource中的是网口...

            SCPI协议:SCPI协议建立于IEEE488.2基础上,可用于GPIB、RS232、VXIb总线,通过相同命令来控制不同仪器的相同功能,python SCPI程控,可以通过visa来进行控制。

            下面是简单基本的连接命令,open_resource中的是网口通信和USB通信的通信地址,如果连接成功会有产品型号等参数值返回。不同仪器的通信地址请参考相应的官方文档。

    #!/usr/bin/python3
    # -*- coding: utf-8 -*-
    # author:SingWeek
    
    import visa
    rm=visa.ResourceManager()
    res = rm.open_resource('TCPIP0::169.254.4.61::inst0::INSTR')#网口
    res = rm.open_resource('USB0::0x0699::0x0368::c010850::INSTR')#串口
    print(res.query("*IDN?"))#通用查询命令

            另外在电脑上还需要安装VISA驱动才能成功,驱动地址(百度云盘):链接:

           https://pan.baidu.com/s/1tNOMJiZPKB2UdrihUGTREA 提取码:tioa 
           python通过SCPI程控设备,一般操作也就需要用到visa中的三个函数,res.write(),res.read(),res.query()。如果不想调用python中写好的visa可以自己通过ctypes直接调用dll文件,dll=windll.LoadLibrary();然后直接对dll中的函数进行相关操作。python dll文件调用可以参考:https://blog.csdn.net/zx520113/article/details/85060765

            这里简单给出一个控制数字万用表34461的电流DC和AD选择以及电流当前电流参数的控制操作。可以通过pip install visa来安装visa库。 

    class Multimeter:
        def __init__(self,TCPIP='TCPIP0::169.254.4.61::inst0::INSTR'):
            rm = visa.ResourceManager()
            self.ser=rm.open_resource(TCPIP)
        def Write(self,data):
            self.ser.write(data)
        def Set_DC(self,data=10):
            self.Write("CONF:CURR:DC "+str(data))
        def Set_AC(self,data=10):
            self.Write("CONF:CURR:AC " + str(data))
        def Read_IC(self):
            return float(self.ser.query("READ?"))
        def Read(self):
            return self.ser.read()

            query()相当于write()+read(),带有?的格式命令才有效。

       print(res.query("*IDN?"))     res.write("*IDN?")       print(res.read())

            例:对应的SCPI协议参数格式:

            CONFigure:CURRent:{AC|DC} [{<range>|AUTO|MIN|MAX|DEF} [, {<resolution>|MIN|MAX|DEF}]]

            在TCPIP或者USB中,通过visa控制发送的命令应该为:

            CONF:CURR:AC 1,0.001         设置交流测量

            CONF:CURR:DC 10,0.001       设置直流测量

            CONF:CURR:DC 10          默认测量精度最高

            Range为测量范围,resolution为测量精度,不设置默认最大。

            命令中大写字母部分必须完整,小写字母的部分可以不写。

            如果是RS232接口通信,可以通过serial库通过串口来进行控制,在这里或许会出现直接通过串口助手发送过去没有发应的情况,我们要注意命令的结束标志,一般是'\n',当然不同仪器的不同控制命令结束标志不同。在RS232连接的时候要注意串口号,以及设备设置IDE波特率等相关信息。

    #!/usr/bin/python3
    # -*- coding: utf-8 -*-
    # author:SingWeek
    
    import serial
    ser=serial.Serial('COM16',19200,bytesize=8,parity="N",stopbits=1)
    ser.write("*IDN?\n".encode())
    result=ser.read(51)
    print(result)
    
    #设置的电流查询命令,返回三个通道的电流值
    # ser.write("APP:CURR?\n".encode())
    # result=ser.read(8)
    # print(result)

            在通过RS232通信的时候,最好使用read读取数据,readlines(),read_all()等,在有些操作的时候不能读取返回值。

            基于SCPI的程控,不管是通过TCPIP、USB、还是RS232通信等,发送的命令在数据格式定义上都是大同小异的。

    展开全文
  • 接收机RS ddf205开发文档,用于开发接收机驱动和学习RS的SCPI接收机指令
  • Follow The SCPI Learning Process and Using the Tool
  • SCPI指令闲扯

    千次阅读 2018-10-20 16:37:00
    准备用SCPI控制我的汉泰DSO3254示波器,实现如下的功能。  一通道采集数据,二通道作为触发,每触发一次,传输一和二通道采集到数据到电脑。  我以为可以如下设计:电脑发出指令,示波器电脑进入挂起状态,示波...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 677
精华内容 270
关键字:

scpi