FAQs from Rohde & Schwarz

Amplificador genérico e R&S®EMC32, diferentes formas de enviar comandos SCPI em sequência

Pergunta:

Estou usando o R&S®EMC32 para susceptibilidade eletromagnética. Tenho um amplificador controlado com o driver de amplificador genérico ("Generic Amplifier").

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

Defini um arquivo de configuração para o amplificador genérico e ele funciona bem, mas eu gostaria de enviar um segundo comando ao comutar para a operação ("Operate"). Na especificação de formato para arquivos de amplificadores genéricos, parece haver somente a possibilidade de enviar um comando por vez ao comutar para a operação. Não encontro uma forma de enviar diversos comandos em sequência. É possível fazer isso?

Resposta:

Basicamente, há duas formas de resolver isso.

Na primeira, a linguagem SCPI permite usar ponto e vírgula para ligação de comandos. No exemplo a seguir do arquivo de configuração de dispositivos, os comandos AMP:OPER e *CLS são separados por um ponto e vírgula:

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

Ao seguir os comandos enviados usando um arquivo de log NI IO Trace, você verá que o segundo comando é enviado depois do primeiro comando AMP:OPER, como esperado, ou seja, separado por ponto e vírgula.

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

Observe que alguns amplificadores podem não aceitar ponto e vírgula como separador. Esses amplificadores esperam necessariamente uma terminação depois de cada comando. O próximo comando pode seguir somente depois da terminação. Neste caso, também há uma solução que não está listada na especificação de formato para arquivos genéricos de amplificador.

Adicione outra linha Command1= para o 2° comando SCPI ao arquivo de configurações de dispositivo. O conteúdo será, então, enviado depois do conteúdo de Command=.

No exemplo abaixo, *CLS deve ser usado como segundo comando depois do comando AMP:OPER.

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

Se você seguir os comandos enviados no arquivo de log NI IO Trace, primeiramente AMP:OPER é enviado, terminado com um 0A hexadecimal ao final.

O segundo comando especificado usando Command1= é enviado depois disso.

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

O caractere de terminação pode ser definido nesta seção do arquivo de configurações

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