Стандартные команды для программируемых инструментов - Standard Commands for Programmable Instruments

Задняя панель Tektronix TDS210 осциллограф показывая RS-232 и IEEE-488 разъемы, принимающие удаленные команды SCPI[1]

В Стандартные команды для программируемых инструментов (SCPI; часто произносится как «скиппи») определяет стандарт синтаксиса и команд, используемых при управлении программируемыми устройствами тестирования и измерения, такими как автоматическое испытательное оборудование и электронное испытательное оборудование.[2]

Обзор

SCPI был определен как дополнительный слой поверх IEEE 488.2-1987 спецификация «Стандартные коды, форматы, протоколы и общие команды».[3] Стандарт определяет общие синтаксис, команда структура и форматы данных, для использования со всеми инструментами. Он представил общие команды (такие как Настроить и Мера), который можно использовать с любым инструментом. Эти команды сгруппированы в подсистемы. SCPI также определяет несколько классов инструментов. Например, любой управляемый источник питания осуществит то же самое DCPSUPPLY базовый класс функциональности. Классы инструментов определяют, какие подсистемы они реализуют, а также любые специфические особенности инструмента.

Канал связи с физическим оборудованием не определяется SCPI. Хотя изначально он создавался для IEEE-488.1 (GPIB), SCPI также может использоваться с RS-232, RS-422, Ethernet, USB, VXIbus, HiSLIP, так далее.

Команды SCPI ASCII текстовые строки, которые отправляются в прибор через физический уровень (например, IEEE-488.1). Команды представляют собой серию из одного или нескольких ключевых слов, многие из которых принимают параметры. В спецификации написаны ключевые слова НАСТРОЙКА: Можно использовать ключевое слово целиком или сократить его до прописной части. Ответы на команды запроса обычно представляют собой строки ASCII. Однако для массовых данных можно использовать двоичные форматы.[2]

Спецификация SCPI состоит из четырех томов: Том 1: «Синтаксис и стиль», Том 2: «Справочник по командам», Том 3: «Формат обмена данными», Том 4: «Классы приборов».[2] Изначально спецификация была выпущена в виде платных руководств, а затем в виде бесплатного PDF файл.

История SCPI

Впервые выпущен в 1990 году.[2][4] SCPI возник как дополнительный уровень для IEEE-488. IEEE-488.1 определяет физическую и электрическую шину, а IEEE-488.2 определяет протокол и формат данных, но не определяет команды прибора. Разные производители и даже разные модели приборов одного и того же типа будут использовать разные наборы команд. SCPI создал стандарт, который может быть общим для всех производителей и моделей. Это требует использования форматов данных IEEE-488.2, но не требует использования шины IEEE-488.1.[5]

В 2002-2003 гг. Консорциум SCPI проголосовали за то, чтобы стать частью Фонд IVI (Сменные виртуальные инструменты).[5]

История IEEE 488.2

В 1987 г. IEEE представила спецификацию IEEE 488.2-1987 "Стандартные коды, форматы, протоколы и общие команды", позже он был пересмотрен в 1992 году как IEEE 488.2-1992.[6]

В то время как IEEE 488.2 обеспечивал независимый от устройства синтаксис, по-прежнему не существовало стандарта для команд для конкретных инструментов. Команды для управления одним и тем же классом приборов, например, мультиметрами, могут различаться в зависимости от производителя и даже модели. ВВС США,[7] а позже Hewlett-Packard осознали эту проблему. В 1989 году HP разработала свой язык TML.[8] который был предшественником SCPI.

В IEC разработали собственные стандарты параллельно с IEEE, с IEC 60625-2-1993 (IEC 625). В 2004 году IEEE и IEC объединили свои соответствующие стандарты в стандарт IEEE / IEC с двойным логотипом. МЭК 60488-2-2004, Часть 2: Коды, форматы, протоколы и общие команды,[9] заменяет IEEE 488.2-1992 и IEC 60625-2-1993.[10]

Синтаксис команды

Команды SCPI к прибору могут либо выполнять набор операции (например, включение источника питания) или запрос операции (например, считывание напряжения). Запросы к прибору выдаются путем добавления вопросительного знака в конец команды. Некоторые команды можно использовать как для настройки, так и для запроса инструмента. Например, режим сбора данных инструмента может быть установлен с помощью ACQuire: MODe команду, или ее можно было бы запросить, используя ACQuire: MODe? команда. Некоторые команды могут одновременно устанавливать и запрашивать инструмент. Например, * CAL? Команда запускает процедуру самокалибровки на некотором оборудовании, а затем возвращает результаты калибровки.

Подобные команды сгруппированы в иерархическую или «древовидную» структуру.[2] Например, любая инструкция по считыванию показаний прибора будет начинаться с "Мера". Конкретные подкоманды в иерархии вставляются двоеточием (:) персонаж. Например, команда «Измерить напряжение постоянного тока» может иметь вид ИЗМЕРЕНИЕ: НАПРЯЖЕНИЕ: DC?, а команда «Измерить переменный ток» примет вид ИЗМЕРЕНИЕ: ТОК: AC?.

   : MEASure: VOLTage: DC? : AC? : CURRent: ОК? : AC? ...

Сокращение команд

Синтаксис команды показывает некоторые символы как в верхнем, так и в нижнем регистре. Сокращение команды до отправки только верхнего регистра имеет то же значение, что и отправка команды верхнего и нижнего регистра.[2]

Например, команда «СИСТЕМА: СВЯЗЬ: СЕРИЙНЫЙ НОМЕР: BAUD 2400»Установит для интерфейса последовательной связи RS-232 значение 2400 бит / с. В качестве альтернативы это можно также обозначить сокращенно: «СИСТЕМА: СВЯЗЬ: SER: BAUD 2400». Команда запроса «СИСТЕМА: СВЯЗАТЬСЯ: СЕРИЙНЫЙ НОМЕР: BAUD?" или "SYST: COMM: SER: BAUD?”Даст указание прибору сообщить свою текущую скорость передачи данных.

Объединение команд

На инструмент можно подавать несколько команд в одной строке. Они состоят из простых команд, разделенных точкой с запятой (;). Например, команда «Измерьте напряжение постоянного тока, а затем измерьте ток переменного тока» будет выдана как ИЗМЕРЕНИЕ: НАПРЯЖЕНИЕ: DC?;: ИЗМЕРЕНИЕ: ТОК: AC?.

Простые команды, начинающиеся с двоеточия (:) интерпретируются относительно корня дерева команд. В противном случае они неявно ссылаются на последний узел предыдущей команды (если они уже не начинаются со звездочки). Например,

   : SOURce: FREQuency: STARt 100; STOP 200

это сокращение для сообщения

   : SOURce: FREQuency: STARt 100;: SOURce: FREQuency: STOP 200

Аргументы

Для некоторых команд требуется дополнительный аргумент. Аргументы приводятся после команды и разделяются пробелом.[2] Например, команда для установки режима триггера инструмента на «нормальный» может быть представлена ​​как «ТРИГгер: РЕЖИМ НОРМАЛЬНЫЙ". Здесь слово"Нормальный"используется в качестве аргумента"TRIGger: MODe"команда.

Целочисленные аргументы

Для команд, которые принимают целое число аргументы, значения могут быть указаны в нескольких форматы номеров компьютеров: десятичное, шестнадцатеричное, восьмеричное, двоичное. Последние три формата определены IEEE 488.2,[9] на котором основан SCPI.[2] Десятичный числа (основание 10) без префикса, шестнадцатеричный числа (система счисления 16) имеют префикс #ЧАС или #час, восьмеричный числа (основание 8) с #Q или #q, и двоичный числа (основание 2) с #B или #b. В шестнадцатеричных цифрах можно использовать либо верхний регистр буквы (ABCDEF) или строчная буква буквы (abcdef) или смешанный случай буквы (aBcDeF). Для восьмеричного, буква "Q "был выбран вместо буквы"О "чтобы свести к минимуму визуальную путаницу с числом"0 " (нуль).[9]

Следующие ниже примеры аргументов численно эквивалентны:

  • Десятичный: 26
  • Шестнадцатеричный: # H1A или # h1a
  • Восьмеричный: # Q32 или # q32
  • Двоичный: # B11010 или # b11010

Смотрите также

Рекомендации

  1. ^ Руководство программиста цифрового осциллографа Tektronix TDS2010; 291-страничный PDF-файл.
  2. ^ а б c d е ж грамм час Спецификация SCPI-1999; Консорциум SCPI.
  3. ^ ni.com - История GPIB - Зона разработчиков
  4. ^ «История ГПИБ». Национальные инструменты. Получено 2010-02-06. В 1990 году спецификация IEEE 488.2 включала документ «Стандартные команды для программируемого инструментария» (SCPI).
  5. ^ а б «SCPI». Фонд IVI. Получено 2010-06-02.
  6. ^ Стандартные коды, форматы, протоколы и общие команды IEEE для использования с IEEE Std 488.1-1987, стандартным цифровым интерфейсом IEEE для программируемых приборов, Институт инженеров по электротехнике и электронике, 1992, ISBN  1-55937-238-9, IEEE Std 488.2-1992
  7. ^ Project Mate в 1985 году
  8. ^ «GPIB 101, Учебное пособие по шине GPIB». ICS Electronics. п. 5, абзац = Команды SCPI.
  9. ^ а б c Стандартный цифровой интерфейс для программируемых приборов. Часть 2: коды, форматы, протоколы и общие команды (принятие (IEEE Std 488.2-1992). IEEE. Дои:10.1109 / IEEESTD.2004.95390. ISBN  978-0-7381-4100-8.
  10. ^ «Замененные или отозванные публикации». IEC. Архивировано из оригинал на 2012-04-17. Получено 2010-02-06.

внешняя ссылка

Характеристики
Тестовое оборудование Примеры SCPI