IEEE 488.2 通用命令
这些命令与查询与 IEEE 488.2 标准相关。
命令概要
*CLS
*ESE
*ESR?
*IDN?
*LRN?
*OPC
*OPC?
*OPT?
*PSC
*RCL
*RST
*SAV
*SRE
*STB?
*TRG
*TST?
*WAI
标准事件寄存器
下表介绍标准事件寄存器。
位编号 |
位名称 |
十进制值 |
定义 |
---|---|---|---|
0 |
操作完成 |
1 |
*OPC 之前且包括其在内的所有命令均已执行。 |
1 |
未使用 |
2 |
返回 0。 |
2 |
查询错误 |
4 |
该仪器试图读取输出缓冲器,但它是空的。 或者,在读取上一次查询之前接收到一个新的命令行。 或者,输入和输出缓冲区均已满。 |
3 |
设备特定的错误 |
8 |
发生设备特定错误,包括自检错误或校准错误(已产生 -300 量程内的错误或任何正误差) 请参见 SCPI 错误消息了解完整的 SCPI 错误消息列表。 |
4 |
执行错误 |
16 |
发生执行错误(已产生 -200 量程内的错误)。 |
5 |
命令错误 |
32 |
发生命令语法错误(已产生 -100 量程内的错误)。 |
6 |
未使用 |
64 |
返回 0。 |
7 |
通电 |
128 |
自上次读取或清除事件寄存器后,已关闭并打开电源。 |
状态字节寄存器
下表介绍了状态字节寄存器。
位编号 |
位名称 |
十进制值 |
定义 |
---|---|---|---|
0 |
未使用 |
1 |
(保留以备将来使用) |
1 |
未使用 |
2 |
(保留以备将来使用) |
2 |
错误序列 |
4 |
在 错误序列 中已经存储了一个或多个错误。 使用 SYSTem:ERRor? 读取并删除错误。 |
3 |
可疑数据摘要 |
8 |
在可疑数据寄存器中设置一个或多个位(必须启用这些位,请参见 STATus:QUEStionable:ENABle)。 |
4 |
可用信息 |
16 |
仪器输出缓冲区中的数据可用。 |
5 |
标准事件摘要 |
32 |
在标准事件寄存器中设置一个或多个位(必须启用这些位,请参见 *ESE)。 |
6 |
主累加 |
64 |
一个或多个位在状态字节寄存器中设置且可能生成服务请求 (RQS)。 必须使用 *SRE 启用位。 |
7 |
标准操作摘要 |
128 |
在标准操作寄存器中设置一个或多个位(必须启用这些位,请参见 STATus:OPERation:ENABle)。 |
*CLS
清除状态命令。 清除所有寄存器组中的事件寄存器。 也会清除错误队列。
参数 | 典型返回 |
---|---|
(无) | (无) |
清除事件寄存器位和错误队列: *CLS |
*ESE <enable_value>
*ESE?
事件状态启用命令和查询。 为标准事件寄存器组启用使能寄存器中的位。 随后将所选位报告给状态字节寄存器的 5 位。 使能寄存器可定义事件寄存器中的哪些位将被报告给“状态字节”寄存器组。 使能寄存器是可读写的。
![]() |
有关 SCPI 状态系统的详细信息,请参见状态子系统简介。 |
参数 | 典型返回 |
---|---|
寄存器位的十进制总和,默认为 0。例如为了启用位 2(值 4)、位 3(值 8)和位 7(值 128),十进制和要为 140 (4 + 8 + 128)。 默认为 0。 |
+48 |
配置 100 直流电压的测量,并在测量完成时生成一个 SRQ: *CLS *ESE 1 *SRE 32 CONF:VOLT:DC SAMP:COUN 100 INIT *OPC |
- 使用 *PSC 控制是否在加电时清除标准事件使能寄存器。 例如,*PSC 0 在整个电源周期保留使能寄存器内容。
- *CLS 清除事件寄存器,但不清除使能寄存器。
- <enable> 设置是非易失性的;其在出厂重置 (*RST)、仪器预设 (SYSTem:PRESet)、状态预设 (STATus:PRESet) 或清空状态 (*CLS) 之后不会更改。
*ESR?
标准事件状态寄存器查询。 查询标准事件寄存器组的事件寄存器。
事件寄存器是只读寄存器,从条件寄存器锁存事件。 设置事件位时,将忽略与该位相对应的随后发生的事件。
参数 | 典型返回 |
---|---|
(无) | +24 |
读取事件寄存器(设置 3 位和 4 位)。 |
- 为了向状态字节寄存器报告,必须由 *ESE 启用使能寄存器中的相应位。
- 任一或全部状态都可以通过使能寄存器报告给标准事件摘要位。 要设置使能寄存器掩码,使用 *ESE 将一个十进制值写入寄存器。
- 一旦设置了位,则保持设置直至通过读取事件寄存器或通过发送 *CLS(清除状态)清除。
*IDN?
标识查询。 返回仪器的标识字符串。
参数 | 典型返回 |
---|---|
(无) | (请参见下文) |
返回仪器的标识字符串: *IDN? |
- 标识字符串包括 4 个由逗号分隔的字段:
制造商名称、型号、序列号、修订版代码
如果设置了 SYSTem:IDENtify DEFault,返回的字符串格式如下:
Agilent Technologies、34460A、<序列号>、ff.ff-pp.pp-mm.mm-gg.gg-bb-pp
Agilent Technologies,34461A,<序列号>,ff.ff-pp.pp-mm.mm-gg.gg-bb-pp
如果设置了 SYSTem:IDENtify HP34401A,返回的字符串格式如下:
HEWLETT-PACKARD,34401A,<序列号>,ff.ff-pp.pp-mm.mm-gg.gg-bb-pp
其中:
ff.ff |
主要固件修订版 |
pp.pp |
前面板固件修订版 |
mm.mm |
测量板固件修订版 |
gg.gg |
测量板 FPGA 修订版 |
bb |
测量板修订版 |
pp |
前面板修订版 |
*LRN?
返回将仪器置于其当前状态所需要的所有命令的 ASCII 字符串。
参数 | 典型返回 |
---|---|
(无) | SCPI 命令的 ASCII 字符串,命令之间用分号分隔 (";")。 |
返回学习字符串: *LRN? |
- 可以通过相同命令的 [SENSe:]FREQuency 或 [SENSe:]PERiod 版本来设置一些参数。 *LRN 字符串将始终返回此命令的 FREQuency 版本,即使通过 PERiod 版本来设置参数。 类似的,可以用相同命令的 RESistance 或 FRESistance 版本设置的参数将始终返回 FRESistance 版本。
*OPC
在完成当前操作时,在标准事件寄存器中设置“操作完成”(0 位)。
参数 | 典型返回 |
---|---|
(无) | (无) |
配置 100 直流电压的测量,并在测量完成时生成一个 SRQ: |
- 在设置运行完成位之前,可以执行其他命令。
- *OPC 和 *OPC? 之差是当前操作完成时 *OPC? 输出 "1"。
*OPC?
在所有的未决命令完成后,将 1 返回到输出缓冲器。 在该命令完成之前,无法执行其他命令。
参数 | 典型返回 |
---|---|
(无) | 1 |
当测量结束时,配置 100 直流电压测量并返回 "1": |
- 该命令的目的是将应用与仪器同步起来。
- *OPC 和 *OPC? 之差是当前操作完成时 *OPC? 输出 "1"。
*OPT?
返回标识任何已安装选件的字符串。
参数 | 典型返回 |
---|---|
(无) | (请参见下文) |
返回已安装的选件: |
- 查询返回具有下列格式的字符串:
34460A: {GPB|0}、{LAN|0}、{SEC|0}
34461A: {GPB|0},{SEC|0}
在每种情况下,将选件作为 0(未安装)或 GPB、LAN、或 SEC 返回。
例如,仅安装有 GPIB 的 34461A 将返回 GPB,0;仅安装有 GPB 和 SEC 的 34460A 将返回 GPB,0,SEC。 - 选件因型号不同而变化,如此处所示。
*PSC {0|1}
*PSC?
加电状态清除。 启用 (1) 或禁用 (0) 在加电时清除某些使能寄存器:
- 可疑数据寄存器 (STATus:QUEStionable:ENABle)
- 标准操作寄存器 (STATus:OPERation:ENABle)
- 状态字节条件寄存器 (*SRE)
- 标准事件使能寄存器 (*ESE)
![]() |
*PSC 命令不影响清除条件或事件寄存器,只影响使能寄存器。 有关 SCPI 状态系统的详细信息,请参见状态子系统简介。 |
参数 | 典型返回 |
---|---|
{0|1},默认 1 | 0 或 1 |
禁用加电清除受影响的寄存器: |
*RCL {0|1|2|3|4}
*SAV {0|1|2|3|4}
将当前仪器状态储存至内部闪存文件系统根文件夹中的状态文件 STATE_<n>.sta 中,或从内部闪存文件系统根文件夹中的该文件调用仪器状态,其中 <n> 为指定的数字。
参数 | 典型返回 |
---|---|
{0|1|2|3|4} | (无) |
将仪器状态储存至内部闪存文件系统根文件夹中的状态文件 STATE_1.sta 中。 *SAV 1 |
- *SAV <n> 等同于 MMEMory:STORe:STATe "INT:STATE_n.sta"。
- *RCL <n> 等同于 MMEMory:LOAD:STATe "INT:STATE_n.sta"。
- 由 *SAV 0 创建的状态文件被称为 STATE_0.sta,驻留在内部闪存文件系统根文件夹中。 重新打开电源时,该状态文件会被仪器的断电状态所覆盖。
- 仪器状态启用设置储存于非易失性存储器中。 当电源已关闭,出厂重置 (*RST) 或仪器预置 (SYSTem:PRESet) 后,它们不再改变。
*RST
将仪器恢复为出厂默认状态,独立于 MMEMory:STATe:RECall:AUTO 设置。 这与 SYSTem:PRESet 类似。 区别是:对于 SCPI 操作,*RST 重置仪器,而对于面板操作,SYSTem:PRESet 重置仪器。 其结果是,*RST 关闭直方图和统计数据,而 SYSTem:PRESet 将其打开 (CALC:TRAN:HIST:STAT ON)。
参数 | 典型返回 |
---|---|
(无) | (无) |
重置仪器: *RST |
- 不会影响储存的仪器状态(请参见 *SAV)。
*SRE <enable_value>
*SRE?
服务请求启用。 为状态字节寄存器组启用使能寄存器中的位。 使能寄存器可定义事件寄存器中的哪些位将被报告给“状态字节”寄存器组。 使能寄存器是可读写的。
参数 | 典型返回 |
---|---|
寄存器位的十进制总和,默认为 0。例如为了启用位 2(值 4)、位 3(值 8)和位 7(值 128),十进制和要为 140 (4 + 8 + 128)。 默认为 0。 | +24 |
启用使能寄存器中的 3 和 4 位: *SRE 24 |
- 要启用特定位,指定寄存器中与位的二进制加权值总和相对应的十进制值。 对选定的位在状态字节寄存器的“主累加”位(6 位)上进行累加。 如果有任一个选定的位从 0 改为 1,则仪器将产生服务请求信号。
- *CLS 清除事件寄存器,但不清除使能寄存器。 事件寄存器是只读寄存器,从条件寄存器锁存事件。 设置事件位时,将忽略与该位相对应的随后发生的事件。
- *PSC (加电状态清除)确定是否在加电时清除了状态字节使能寄存器。 例如,*PSC 0 在整个电源周期保留使能寄存器内容。
- *RST 没有清除状态字节使能寄存器。
*STB?
读取状态字节查询。 查询状态字节寄存器组的条件寄存器并返回一个十进制值,该值等于寄存器中设置的所有位的二进制加权值总和。
条件寄存器可不间断地监控仪器的状态。 条件寄存器位实时更新;它们既不锁定亦无缓冲。
参数 | 典型返回 |
---|---|
(无) | +40 |
读取条件寄存器(具有 3 和 5 位设置): *STB? |
- 与串行轮询相似,但执行方式与任何其他仪器命令一样。 该寄存器为只读;当读取时,不清除位。
- 返回与串行轮询相同的结果,但 *STB? 不会清除“主累加”位(6 位)。
- 关闭再打开电源并 *RST 清除条件寄存器中的所有位。
*TRG
如果选择了 TRIGger:SOURce BUS,则触发仪器。
参数 | 典型返回 |
---|---|
(无) | (无) |
返回五次直流电压测量结果,使用软件触发开始测量: CONF:VOLT:DC 典型响应:+1.00520000E+01, … (5 个测量结果) |
- 设置触发源之后,必须发送 INITiate 将数字万用表置于等待触发状态。 除非数字万用表处于等待触发状态,否则无法接受 *TRG 命令。
*TST?
执行仪器的基本自检并返回通过/失败指示。 TEST:ALL? 自检比 *TST? 自检更加全面。
参数 | 典型返回 |
---|---|
(无) | +0(通过)或 +1(一个或多个测试失败) |
进行自检: |
- 自检只需几秒就能完成。
- 如果一个或多个测试失败,该查询返回 +1 并在错误队列中存储一个错误。 要了解自检故障相关的错误消息的完整列表,请参见自检错误消息。
- 完成测试之后,仪器返回到自检之前的仪器状态。
*WAI
配置仪器的输出缓冲区,等待所有未决操作完成之后,再通过接口执行任何其他命令。
参数 | 典型返回 |
---|---|
(无) | (无) |
等待所有未决操作完成: |