GPIB.ru


Назначение и описаниеИстория GPIBСтандарт 488.2Приборы и линии управления GPIBЯзык программирования приборов SCPI

National InstrumentsПроизводительность GPIB системНадежность GPIB системПродуктивность GPIB систем

Линейка продуктов

Дополнительная информацияПроблемы GPIB и SCPIДругие шины и технологии

Язык программирования приборов SCPI

Прояснив вопросы доступа к приборным интерфейсам, можно перейти собственно к вопросам программирования приборов. Классическим способом здесь является программирование с помощью посылок строк ASCII. В 60-80-х годах разработчики ориентировались на способ программирования приборов, подобный тому, как это делалось в современных им средствам разработки в условиях дороговизны памяти. Например, программные функции вызывались как F1, F2, и т.д., диапазоны измерений как R1, R2, и т.д. При этом возникали трудности для охвата функциональности из-за недостатка алфавита. Даже в одной и той же фирме для разных изделий использовались разные команды для одинаковых функций. Подобный стиль получил на Западе название R2D2.

Неудачной попыткой стандартизации языка команд, предпринятой ВВС США, был язык CIIL (Command Instrument Interface Language). В 1990 году был предложен язык SCPI (Standard Commands for Programmable Instruments) как открытый стандарт, который определяет общий набор команд для программируемых устройств.

SCPI стандарт состоит из нескольких частей. Основные из них следующие:
Синтаксис;
Стандартные команды;
Форматы данных.

Синтаксические правила определяют стандарты на построение лексем. По существу, они сводятся к обеспечению механизма посылки сложных многоуровневых команд и получению запросов, а также передаче параметров. Эта часть, как и описание форматов передачи данных, носит чисто технический характер.

Наиболее важной частью стандарта является модель универсального программируемого прибора. На этой основе и строятся команды управления, которые объединены в более чем 20 групп.

Модель прибора SCPI

Как уже говорилось, SCPI не просто язык. Для достижения совместимости и классификации групп команд, SCPI определяет модель программируемого прибора. Общая модель SCPI, представленная на рисунке 3, применима ко всем типам измерительных приборов.

В стандарте SCPI реализованы три важных идеи совместимости команд управления: горизонтальная, вертикальная и функциональная. Эти идеи удобно проиллюстрировать на примере. Предположим, что контроллер посылает команды различным осциллографам для измерения напряжения. Эти команды будут иметь один и тот же вид: SENSE1:VOLT:RANGE 1.0,

То есть в SCPI используются одни и те же команды для одинаковых функций внутри семейства приборов - вертикальная совместимость. Реализация самих функций возложена на разработчика программного обеспечения прибора.

SCPI реализует команды различного уровня: от высокоуровневых команд, которые легко запомнить и использовать, до низкоуровневых, которые адресуют конкретику функциональности и обеспечивают тонкую настройку. Высокоуровневая команда MEASure:FERQuency? или ее короткая форма MEAS:FERQ? может быть послана различным приборам. Например, частотомеру или счетчику, которые выполняют такое измерение по-разному. Использование одних и тех же команд для приборов разного типа называется горизонтальной совместимостью.

Третья форма совместимости команд называется функциональной совместимостью. Она предполагает соответствие одинаковых команд одинаковым функциям разных приборов. Например, если и анализатор спектра, и генератор могут качать частоту, и если команды частоты и качания используются в обоих приборах, они будут функционально совместимы для данного применения.

Конкретный прибор может содержать не все представленные в обобщенной модели компоненты. В языке SCPI для каждого функционального компонента определяется иерархический набор команд управления конкретными особенностями.

Например, вольтметр, имеющий один вход и не содержащий буферной памяти, может включать функции измерения, блоки триггера и формата. Подобным же образом генератор с одним выходом и без триггера, содержит блоки генерации и формата.

Наличие в приборе функции не обязательно означает, что должна быть соответствующая команда. Это бывает в тех случаях, когда данный блок имеет фиксированную конфигурацию, которая не конфликтует с соответствующими командами и имеет фиксированные значения по умолчанию после перезапуска *RST. Например, прибор может иметь фиксированный триггер по уровню ТТЛ, без настраиваемых параметров. В таком случае блок триггера и команды не нужны.

Компонент сопряжения с объектом (signal routing) связывает прибор с внешним сигналом; компонент измерения преобразует сигнал в промежуточную форму; компонент генерации сигнала преобразует данные в реальные сигналы. Компонент память хранит данные в приборе. Компонент формата преобразует данные прибора в формат данных шины. Компонент триггер синхронизует операции прибора с внутренними функциями, внешними событиями или другими приборами.

Функция измерения предоставляет наиболее высокий уровень совместимости приборов, поскольку измерение зависит от сигнала, а не от функциональности приборов. В большинстве случаев можно заменить один прибор другим для проведения конкретного измерения без изменения команд SCPI.

Функции измерения и генерации сигнала распадаются на 3 компонента. Блоки INPut и OUTput служат для связи внешнего сигнала с измерением или генерацией. Блоки SENSe и SOURce преобразуют сигнал во внутренний формат до его преобразования в данные и наоборот. CALCulate связывает данные прибора с данными приложения.

Другим удобством использования приборов, управляемых от компьютера, является возможность обмена данными. Поскольку SCPI стандартизует форматы обмена данных, не возникает проблемы их дополнительной интерпретации, например, при использовании горизонтально совместимых команд. В наиболее абстрактной форме это проявляется при представлении данных в виде файлов и обмене между приборами. Например, регистратор передает буфер данных анализатору спектра для частотного анализа, плоттеру для печати, компьютеру для отображения на экране дисплея.



Талисман. Роман Татьяны Латуковой
© GPIB.ru, интерфейсная шина общего назначения, 2010-2013
Стандарты и шины контрольно-измерительных приборов и измерительной аппаратуры.
HP-IB, IEEE 488, SCPI
  Контакты
E-mail
Карта сайта