// // // PHPH.com.br - O que são comandos SCPI?
All for Joomla All for Webmasters

O que são comandos SCPI?

Os comandos SCPI (Standard Commands for Programmable Instruments) é o padrão de comunicação mais utilizado para o controle e obtenção de dados de equipamentos de medição e instrumentação de diversas fabricantes (Keysight, Agilent, Tektronix, Fluke, Rigol, Siglent e até mesmo marcas genéricas).

O padrão SCPI define a interface de comunicação e não os detalhes da implementação da comunicação em si, que são definidos em outros padrões de comunicação como ASCII, IEEE 488.2/GPIB, TCP/IP, USB e RS232). O mesmo estabelece a sintaxe e diversos comandos padronizados que todo equipamento deve implementar.

Os comandos SCPI consistem em texto codificados em ASCII e separados por dois pontos (:) e usualmente são de fácil compreensão e baixa complexidade, até mesmo porque o padrão SCPI foi desenvolvido há muitos anos e abrange uma infinidade de equipamentos de instrumentação, inclusive aqueles com baixa capacidade de processamento de dados, que não teriam recursos para um padrão mais complexo de comunicação.

Em nosso laboratório, é comum utilizarmos comandos SCPI para enviar e receber dados dos equipamentos de instrumentação no ambiente LabVIEW, seja por meio de um barramento GPIB (equipamentos mais complexos) quanto TCP/IP, USB ou RS232.

Consultas e Comandos SCPI

De maneira resumida, há duas categorias de comandos SCPI: aqueles destinados a consultas (obtenção de dados, que pode ser eventualmente combinados com a execução de tarefas) e os destinados estritamente à execução de tarefas (controle de equipamentos).

As consultas destinam-se à obtenção de dados e são terminadas por um ponto de interrogação "?" e o dispositivo que executou o query espera receber os dados também por comandos de texto ASCII SCPI. Por exemplo, o equipamento deve responder à consulta "*IDN?" com quatro campos separados por dois pontos ":", quais sejam: fabricante, modelo, número de série e a revisão do firmware/software.

Enquanto isso, os comandos de execução de tarefas destinam-se apenas à execução de comandos em si. Por exemplo, o comando "*CLS" apaga todas as estruturas de dados de status do dispositivo e o comando "*RST" reinicia o equipamento.

Comandos SCPI de implementação obrigatória pelo IEEE

Todo instrumento que se declarar compatível com o padrão SCPI deve implementar todos os comandos relacionados na tabela seguir. Entre eles, os mais utilizados são a consulta de identificação (*IDN?), que deve ser utilizada pelo programador para verificar se o equipamento controlado é de fato o esperado, o comando clear status (*CLS) para limpar o status do equipamento e o comando de auto-teste (*TST?) no qual é solicitado que o equipamento execute um auto-teste e retorne o resultado desse teste.

Mnemônico Descrição
*CLS Clear Status Command
*ESE Standard Event Status Enable Command
*ESE? Standard Event Status Enable Query
*ESR? Standard Event Status Register Query
*IDN? Identification Query
*OPC Operation Complete Command
*OPC? Operation Complete Query
*RST Reset Command
*SRE Service Request Enable Command
*SRE? Service Request Enable Query
*STB? Read Status Byte Query
*TST? Self Test Query
*WAI Wait-to-Continue Command
   

Os demais comandos são específicos de cada produto e disponíveis nos manuais de programação dos equipamentos. Usualmente os equipamentos organizam os comandos em hierarquias do tipo árvore, com sub-comandos separados com dois pontos como ":FETCh:CHPower:CHPower?" e ":FETCh:OBWidth:FREQuency?" de um equipamento da fabricante Anritsu.

É importante perceber que os comandos podem ser abreviados apenas pelas letras maiúsculas visando redução do tempo de comunicação entre dispositivos. Por exemplo, os comandos supracitados poderiam ser escritos apenas como ":FETC:CHP:CHP?" e ":FETC:OBW:FREQ?", desconsiderando-se todas as letras minúsculas.

Deixe um comentário

Certifique-se de preencher os campos indicados com (*). Não é permitido código HTML.