2. Введение в команды SCPI
В 1975 году организация IEEE представила стандарт на разработанную компанией Heweltt-Packard шину, которая изначально носила название HPIB (Hewlett-Packard Interface Bus = интерфейсная шина Hewlett-Packard), а впоследствии была переименована в GPIB (General Purpose Interface Bus = интерфейсная шина общего назначения). Этот стандарт под номером IEEE 488 (IEEE 488.1) определял механические аспекты шины. В выпущенном позднее стандарте IEEE 488.2 были регламентированы характеристики протокола. Однако не хватало набора правил касательно команд управления приборами, которые были бы общими для всех производителей. Иногда эти правила различались даже между разными моделями одного производителя.
В 1990 году ассоциация SCPI выпустила первый стандарт SCPI (Standard Commands for Programmable Instruments = стандартные команды для программируемых приборов) в качестве дополнения к стандарту IEEE-488.2.
Команды SCPI представляют собой строки ASCII, которые передаются на прибор через физический уровень связи. Они позволяют выполнять:
- Операции присвоения, например, команда "*RST" (сброс прибора).
- Операции запроса, например, команда "*IDN?" (запрос идентификационной строки прибора).
Некоторые команды SCPI выполняют как операции присвоения, так и операции запроса. В качестве примера можно привести команду "TIMebase:ACQTime" для времени сбора данных на осциллографе. С помощью команды "TIM:ACQT 10ms" можно задать это время, а с помощью команды "TIM:ACQT?" запрашивается его текущее значение.
В руководствах пользователя Rohde & Schwarz применяется каноническая форма: "TRIGger<m>:LEVel<n>[:VALue] <Level>". Важно запомнить следующие основные правила:
- Элементы в квадратных скобках не обязательны и могут быть опущены.
- Обязательные элементы выделены заглавными буквами; строчные буквы могут быть опущены. Это сокращенный формат. Приведенная выше команда в сокращенном формате: "TRIG1:LEV2 3.5". Вы можете использовать сокращенный формат или полный формат "TRIGGER1:LEVEL2 3.5", но не их смесь, как например "TRIGGE1:LEVE2 3.5".
- Команды SCPI нечувствительны к регистру. Вы можете использовать сокращенный формат "trig1:lev2 3.5" или полный формат "trigger1:level2 3.5".
- Несколько команд можно записывать в одной строке с помощью точки с запятой ';'. Например, комбинация из команд "TRIG1:SOUR CH1" и "TRIG1:LEV2 3.5" записывается как "TRIG1:SOUR CH1;LEV 2". Обратите внимание, что вторая команда не содержит элемент "TRIG1:". Это связано с тем, что древовидная структура команд не изменяется в пределах одной строки. Чтобы сбросить древовидную структуру команды до корня, используйте точку с запятой в начале второй команды: "TRIG1:SOUR CH1;:CHAN2:STATe ON".
- Для создания запросов обычно в конце команды добавляется вопросительный знак: "TRIG1:LEV2?" Иногда после вопросительного знака указывается дополнительный параметр. Между вопросительным знаком и дополнительным параметром требуется пробел. Например: "TRACE:DATA? ALL"
- Числовые параметры без указания единиц измерения считаются указанными в базовых единицах. В рассматриваемом выше примере числовой параметр "3.5" означает 3,5 Вольт.
Полный текст стандарта SCPI представлен здесь: SCPI-99
Читайте наше специализированное описание команд SCPI: Дистанционное управление через SCPI