Jump to content

Стандартные команды для программируемых инструментов

На задней панели Tektronix цифрового осциллографа TDS210 показаны разъемы RS-232 (DE9) и IEEE-488, которые принимают удаленные команды SCPI. [1]
На задней панели Rigol цифрового осциллографа DS1074Z показаны разъемы USB -B и Ethernet ( RJ45 ), которые принимают удаленные команды SCPI. [2]

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

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

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

Команды SCPI представляют собой текстовые строки ASCII , которые отправляются на прибор через физический уровень (например, IEEE-488.1). Команды представляют собой серию из одного или нескольких ключевых слов, многие из которых принимают параметры. В спецификации прописаны ключевые слова CONFigure: можно использовать все ключевое слово или сократить его до заглавной части. Ответы на команды запроса обычно представляют собой строки ASCII. Однако для больших объемов данных можно использовать двоичные форматы. [3]

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

История SCPI

[ редактировать ]

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

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

История IEEE 488.2

[ редактировать ]

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

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

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

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

[ редактировать ]

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

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

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

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

[ редактировать ]

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

Например, команда « 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

Аргументы

[ редактировать ]

Некоторые команды принимают или требуют один или несколько дополнительных аргументов. Аргументы задаются после команды и отделяются от команды пробелом. [3] Например, команда для установки режима запуска прибора на «нормальный» может быть задана как « TRIGger:MODe NORMal". Вот слово " NORMal" используется в качестве аргумента для " TRIGger:MODe". Если указано несколько аргументов, аргументы записываются в виде списка, разделенного запятыми. Например, команда запроса, которая выполняет измерение напряжения переменного тока на цифровом мультиметре с использованием диапазона измерения измерителя 10 VRMS и отображает измеренное напряжение. значение с разрешением 4-1/2 разряда будет записано как " MEASure:VOLTage:AC? 10,4".

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

[ редактировать ]

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

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

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

См. также

[ редактировать ]
  1. ^ Руководство программиста цифрового осциллографа Tektronix TDS2010; 2020; 291 страница.
  2. ^ Руководство по программированию осциллографа Rigol DS1074Z; 2019 год; 264 страницы.
  3. ^ Jump up to: а б с д и ж г час Спецификация SCPI-1999; Консорциум SCPI.
  4. ^ ni.com - История GPIB - Зона разработчика
  5. ^ «История ГПИБ» . Национальные инструменты . Проверено 6 февраля 2010 г. В 1990 году спецификация IEEE 488.2 включала документ «Стандартные команды для программируемых приборов» (SCPI).
  6. ^ Jump up to: а б «СКПИ» . Фонд ИВИ . Проверено 2 июня 2010 г.
  7. ^ Стандартные коды, форматы, протоколы и общие команды IEEE для использования со стандартом IEEE Std 488.1-1987, Стандартный цифровой интерфейс IEEE для программируемых приборов , Институт инженеров по электротехнике и электронике , 1992, ISBN  1-55937-238-9 , стандарт IEEE 488.2-1992.
  8. Project Mate в 1985 году.
  9. ^ «GPIB 101, Учебное пособие по шине GPIB» . ИКС Электроника. п. 5, абзац = Команды SCPI.
  10. ^ Jump up to: а б с Стандартный цифровой интерфейс для программируемых приборов. Часть 2: Коды, форматы, протоколы и общие команды (принятие (IEEE Std 488.2-1992) . IEEE. doi : 10.1109/IEESTD.2004.95390 . hdl : 11059/14380 . ISBN  978-0-7381-4100-8 .
  11. ^ «Замененные или отозванные публикации» . МЭК. Архивировано из оригинала 17 апреля 2012 г. Проверено 6 февраля 2010 г.
[ редактировать ]
Технические характеристики
  • SCPI-1999, Том 1-4 , бесплатно , PDF-файл на 819 страниц. (команды * не включены, поскольку они указаны в IEEE 488.2)
  • IEEE 488.2-1992 , стоимость 49 долларов США в 2024 году, доступен в виде 254-страничного PDF-файла. (заменяет IEEE 488.2-1987 , оба заменены IEEE/IEC 60488-2-2004)
  • IEEE/IEC 60488-2-2004 , стоимость 354 доллара США в 2024 году, доступен в виде 264-страничного PDF-файла. (заменяет IEC 60625-2-1993/IEEE 488.2-1992/IEEE 488.2-1987)

Примеры руководства по программированию

[ редактировать ]
Мультиметры
Осциллографы
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: bfc2e704afae9b86c307d4ef0a493507__1715640360
URL1:https://arc.ask3.ru/arc/aa/bf/07/bfc2e704afae9b86c307d4ef0a493507.html
Заголовок, (Title) документа по адресу, URL1:
Standard Commands for Programmable Instruments - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)