Из Википедии, бесплатной энциклопедии
  (Перенаправлено из SCPI )
Перейти к навигации Перейти к поиску
На задней панели осциллографа Tektronix TDS210 показаны разъемы RS-232 и IEEE-488 , которые принимают удаленные команды SCPI [1]

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

Обзор [ править ]

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

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

Команды SCPI представляют собой текстовые строки ASCII , которые отправляются в прибор через физический уровень (например, IEEE-488.1). Команды представляют собой серию из одного или нескольких ключевых слов, многие из которых принимают параметры. В спецификации написаны ключевые слова CONFigure: можно использовать ключевое слово целиком или можно сократить его до прописной части. Ответы на команды запроса обычно представляют собой строки 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 Foundation (взаимозаменяемые виртуальные инструменты). [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, МЭК 60625-2-1993 (IEC 625). В 2004 году IEEE и IEC объединили свои соответствующие стандарты в «двойной логотип». Стандарт IEEE / IEC IEC 60488-2-2004 , Часть 2: Коды, форматы, протоколы и общие команды , [9] заменяет IEEE 488.2-1992 и IEC. 60625-2-1993. [10]

Синтаксис команды [ править ]

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

Подобные команды сгруппированы в иерархическую или «древовидную» структуру. [2] Например, любая инструкция по считыванию показаний прибора начинается с " MEASure". Конкретные подкоманды в иерархии вложены :символом двоеточия ( ). Например, команда «Измерение постоянного напряжения» примет форму MEASure:VOLTage:DC?, а команда «Измерение переменного тока» - форму MEASure:CURRent:AC?.

 :Мера :Напряжение :ОКРУГ КОЛУМБИЯ? : AC? :Текущий :ОКРУГ КОЛУМБИЯ? : AC? ...

Сокращение команд [ править ]

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

Например, команда « SYSTem:COMMunicate:SERial:BAUD 2400» установит для интерфейса последовательной связи RS-232 значение 2400 бит / с . В качестве альтернативы это также может быть сокращено « SYST:COMM:SER:BAUD 2400». Команда запроса « SYSTem:COMMunicate:SERial:BAUD?» или « SYST:COMM:SER:BAUD?» укажет прибору сообщить свою текущую скорость передачи данных.

Объединение команд [ править ]

На инструмент можно подавать несколько команд в одной строке. Они состоят из простых команд, разделенных точкой с запятой ( ;). Например, команда «Измерьте напряжение постоянного тока, затем измерьте ток переменного тока» будет выдана как MEASure:VOLTage:DC?;:MEASure:CURRent:AC?.

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

 : SOURce: FREQuency: STARt 100; STOP 200

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

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

Аргументы [ править ]

Для некоторых команд требуется дополнительный аргумент. Аргументы приводятся после команды и разделяются пробелом. [2] Например, команда установить режим триггера инструмента на «нормальный» может быть задана как « TRIGger:MODe NORMal». Здесь слово « NORMal» используется в качестве аргумента команды « TRIGger:MODe».

Целочисленные аргументы [ править ]

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

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

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

См. Также [ править ]

  • IEEE-488 (GPIB)
  • Архитектура программного обеспечения виртуальных приборов (VISA)
  • Инструмент Драйвер
  • Список номеров портов TCP и UDP - scpi-raw для TCP-порта 5025 и UDP-порта 5025

Ссылки [ править ]

  1. ^ Руководство программиста цифровых осциллографов Tektronix TDS2010; 291-страничный PDF-файл.
  2. ^ a b c d e f g h Спецификация SCPI-1999; Консорциум SCPI.
  3. ^ ni.com - История GPIB - Developer Zone
  4. ^ «История ГПИБ» . Национальные инструменты . Проверено 6 февраля 2010 . В 1990 году спецификация IEEE 488.2 включала документ «Стандартные команды для программируемого инструментария» (SCPI).
  5. ^ a b "SCPI" . Фонд IVI . Проверено 2 июня 2010 .
  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. ^ a b c Стандартный цифровой интерфейс для программируемых приборов - Часть 2: Коды, форматы, протоколы и общие команды (принятие (IEEE Std 488.2-1992) . IEEE. doi : 10.1109 / IEEESTD.2004.95390 . ISBN 978-0-7381-4100-8.
  10. ^ «Замененные или отозванные публикации» . IEC. Архивировано из оригинала на 2012-04-17 . Проверено 6 февраля 2010 .

Внешние ссылки [ править ]

  • Консорциум SCPI , официальный сайт
Характеристики
  • Спецификация SCPI-1999, том 1-4 , бесплатно, PDF-файл на 819 страницах.
  • Спецификация IEEE 488.2-1992 , стоимость 44 доллара США, доступна в виде файла PDF.
  • Спецификация IEEE / IEC 60488-2-2004 , стоимость 332 доллара США, доступна в виде файла PDF.
Тестовое оборудование Примеры SCPI
  • Руководство программиста осциллографов Keysight InfiniiVision 2000 серии X, файл PDF на 938 страницах.