2. Introdução aos comandos SCPI
Em 1975, o Institute of Electrical and Electronic Engineers (Instituto de Engenheiros Eletricistas e Eletrônicos ou IEEE) padronizou um barramento desenvolvido pela Heweltt-Packard, originalmente chamado de HPIB (Barramento de interface de Hewlett-Packard), posteriormente alterado para GPIB (Barramento de interface de uso geral). O padrão ficou conhecido como IEEE-488 (IEEE 488.1) e definiu os aspectos mecânicos do barramento. O padrão subsequente IEEE 488.2 definiu suas propriedades de protocolo. O que faltava era um padrão estabelecido entre os fabricantes sobre os comandos para controlar os instrumentos. Algumas vezes, estes variavam até mesmo entre modelos diferentes do mesmo fabricante.
Em 1990, a SCPI Consortium lançou o primeiro padrão SCPI como uma seção adicional para o padrão IEEE-488.2.
Os comandos SCPI são sequências de caracteres ASCII, enviadas ao instrumento pela camada de comunicação física. Eles podem:
- Definir operações, por exemplo, o comando *RST (reinicialização do instrumento).
- Consultar operações, por exemplo, a query *IDN? (consultar a string - ou sequência de caracteres - de identificação do instrumento).
Alguns comandos SCPI existem tanto como comandos set (definir) quanto como comandos query (consulta). Um exemplo disso é o comando de tempo de aquisição de um osciloscópio « TIMebase:ACQTime ». Você pode defini-lo com o comando SCPI « TIM:ACQT 10ms » e também consultar seu valor atual com o comando « TIM:ACQT? ».
O formato mencionado nos manuais de usuário da Rohde & Schwarz, por exemplo: « TRIGger<m>:LEVel<n>[:VALue] <Level> » é chamado de forma canônica. Aqui estão as regras mais importantes para se lembrar:
- As partes entre colchetes não são obrigatórias e podem ser omitidas.
- As partes com letras maiúsculas são obrigatórias; as letras minúsculas podem ser omitidas. Isso é chamado de forma curta. Um exemplo do comando acima na forma curta é « TRIG1:LEV2 3.5 ». Você pode tanto usar a forma curta quanto a forma longa « TRIGger1:LEVel2 3.5 », mas não usar as dois estilos dentro do mesmo comando, por exemplo, « TRIGGE1:LEVE2 3.5 ».
- Os comandos SCPI não diferenciam letras minúsculas de maiúsculas. Você também pode usar o forma curta « trig1:lev2 3.5 » ou forma longa « trigger1:level2 3.5 »
- Combine diversos comandos em uma string usando ponto e vírgula « ; ». Por exemplo, uma string combinada de « TRIG1:SOUR CH1 » e « TRIG1:LEV2 3.5 » é « TRIG1:SOUR CH1;LEV 2 ». Observe que o segundo comando não tem a parte « TRIG1: ». O motivo é que o caminho do comando tree (árvore) não muda em uma string. Se você quiser redefinir o caminho do comando tree para a raiz, use o caractere de dois pontos « : » no início do segundo comando: « TRIG1:SOUR CH1;:CHAN2:STATe ON ».
- Crie um formulario de query adicionando um ponto de interrogação, majoritariamente no final: « TRIG1:LEV2? » Algumas vezes, há um parâmetro adicional colocado após o ponto de interrogação. Deve haver um caractere de espaço entre o ponto de interrogação e o parâmetro adicional. Por exemplo: « TRACE:DATA? ALL »
- Parâmetros numéricos sem especificação de unidades são considerados unidades de base. No nosso caso, o parâmetro numérico 3,5 significa 3,5 Volts.
O padrão SCPI completo está disponível aqui: SCPI-99
Confira nossa descrição específica do SCPI: Controle Remoto via SCPI