7. Проверка прибора на наличие ошибок

Проверка прибора на наличие ошибок (далее проверка на наличие ошибок) является вторым важным аспектом вашего приложения дистанционного управления. Цель проверки на наличие ошибок заключается в том, чтобы гарантировать безошибочную связь с вашим прибором, для того чтобы правильно задать все требуемые настройки и получать результаты измерений с этими настройками.

В состав подсистемы состояния прибора входит буфер сообщений об ошибках — Error Queue(очередь ошибок). Например, если была отправлена неизвестная прибору команда SCPI, прибор вносит новую запись в очередь ошибок. Очередь ошибок имеет ограниченную длину (как правило, 10 записей). При переполнении перезаписывается самая старая запись.

Описываемый в разделе «Синхронизация измерения» байт состояниясодержит бит 2 – имеется сообщение об ошибке. Чтобы проверить наличие записей в очереди ошибок, следует запросить *STB? бит 2. Если значение этого бита равно 0, дальнейшие действия не требуются. В противном случае используйте SCPI-запрос SYSTem:ERRor?. Прибор возвращает последнюю сгенерированную ошибку, например -113,”Undefined Header” (неопределенный заголовок). В то же время данная запись удаляется из очереди ошибок. Чтобы считать все записи, необходимо циклически отправлять запрос SYSTem:ERRor? до тех пор, пока не будет получен ответ 0,”No Error” (нет ошибок), который указывает на отсутствие дальнейших ошибок в очереди.

Представленная далее трассировка VISA демонстрирует процедуру проверки на наличие ошибок:

  • Первая команда *RSTотправлена правильно, поэтому ошибка не генерируется.
  • Вторая команда *RSaTсодержит опечатку, поэтому генерируется ошибка -113, "Undefined Header"(неопределенный заголовок). Запрос SYST:ERR? отправляется циклически до тех пор, пока не будет получен ответ 0,"No Error" (нет ошибок).
Журнал RsVisaTraceTool с проверкой на наличие ошибок
Журнал RsVisaTraceTool с проверкой на наличие ошибок
Открытый Lightbox

Если вы используйте драйверы приборов, проверка на наличие ошибок уже реализована и выполняется для каждой функции и после настройки каждого свойства (атрибута). Это очень удобно, поскольку вы немедленно получаете информацию о произошедших ошибках с указанием соответствующей команды. Если вам требуется максимальная скорость, драйверы позволяют выключить функцию проверки (см. первую подсказку далее: Раздел 8 Оптимизация скорости).

Если вы используете прямые команды SCPI, вы должны самостоятельно позаботиться о проверке на наличие ошибок. Мы рекомендуем выполнять проверку на наличие ошибок после логического блока команд. При этом следует принимать во внимание, что чем больше команд передается в одном блоке, тем сложнее выявить конкретную команду, ставшую причиной ошибки.

Давайте вновь рассмотрим наш пример (см. предыдущий Раздел 6 Синхронизация измерения) и сосредоточим наше внимание только на операциях на ПК. Практическая реализация механизма проверки на наличие ошибок представлена в примерах в конце раздела. На рисунке показана проверка на наличие ошибок, которая выполняется после логического блока команд:

Request information

Do you have questions or need additional information? Simply fill out this form and we will get right back to you.

Ваш запрос отправлен. Мы свяжемся с вами в ближайшее время.
An error is occurred, please try it again later.