FAQs from Rohde & Schwarz

EMC32 通用放大器:依次发送 SCPI 命令的不同方法

问题:

我使用 EMC32 测量电磁敏感度。我通过“Generic Amplifier”驱动程序控制放大器。

Rohde-Schwarz-FAQ-EMC32-Generic-Amplifier-different-ways-to-send-SCPI-commands-in-sequence_screen1.jpg

我为通用放大器定义了配置文件,一切运行正常。但我想在切换到“Operate”时发送第二个命令。在“通用放大器文件的格式规范”中,我发现切换到“Operate”时一次只能发送一个命令。我没有看到可以依次发送多个命令的方法。有没有办法做到这一点?

回答:

一般有两种方法可以解决这个问题。

SCPI 语言支持使用分号链接命令。以下示例来自设备配置文件,其中 AMP:OPER 和 *CLS 两个命令用分号隔开:

Rohde-Schwarz-FAQ-EMC32-Generic-Amplifier-different-ways-to-send-SCPI-commands-in-sequence_screen2.jpg

如果您使用 NI IO Trace 日志文件跟踪发送的命令,将发现第一个命令 AMP:OPER 发出后,第二个命令顺利发出,两个命令同样用分号隔开。

Rohde-Schwarz-FAQ-EMC32-Generic-Amplifier-different-ways-to-send-SCPI-commands-in-sequence_screen3.jpg

请注意,部分放大器不支持使用分号作分隔符。对于此类放大器,每个命令后必须有一个终止符,然后才能添加第二个命令。虽然“通用放大器文件的格式规范”中没有说明,但有一个方法可以解决这个问题。

请在设备配置文件中为第二个 SCPI 命令新添一行 Command1=。Command= 后的内容发送后,此新行后的内容会被发送。

下方示例中,AMP:OPER 为第一个命令,*CLS 为第二个命令。

Rohde-Schwarz-FAQ-EMC32-Generic-Amplifier-different-ways-to-send-SCPI-commands-in-sequence_screen4.jpg

如果您使用 NI IO Trace 日志文件跟踪发送的命令,将发现 AMP:OPER 命令会先发出,后面附有十六进制 0A 作为终止符。

Command1= 后规定的第二个命令内容将随后发送。

Rohde-Schwarz-FAQ-EMC32-Generic-Amplifier-different-ways-to-send-SCPI-commands-in-sequence_screen5.jpg

您可以在如下所示的配置文件部分定义终止符

Rohde-Schwarz-FAQ-EMC32-Generic-Amplifier-different-ways-to-send-SCPI-commands-in-sequence_screen6.jpg