exponenta event banner

Устранение неполадок интерфейса GPIB

GPIB - стандартизированный интерфейс, позволяющий подключать и управлять несколькими устройствами различных производителей. GPIB также обозначается своим первоначальным названием HP-IB или обозначением IEEE ® IEEE-488.

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

Поддерживаемые платформы

Поддержка интерфейса GPIB зависит от поддержки драйвером стороннего производителя аппаратных средств на поддерживаемых платформах.

Интерфейс GPIB поддерживается на следующих платформах:

  • 64-разрядная версия Microsoft ® Windows ®

Требования к адаптеру

Аппаратные средства КИПиА и драйвер

Для поддержки интерфейса GPIB требуются Keysight™ (ранее Agilent ®), ICS Electronics™, Measurement Computing™ (MCC), ADLINK Technology или плата адаптера National Instruments ® и драйвер.

Шина и разъем

Для связи с приборами GPIB необходимы шина и разъем. Шина GPIB представляет собой кабель с двумя 24-контактными разъемами, которые позволяют подключать несколько устройств друг к другу. Дополнительные сведения см. в разделе Шина и соединитель.

Устройства GPIB

Каждое устройство GPIB должно представлять собой некоторую комбинацию говорящего абонента, прослушивателя или контроллера. Контроллер обычно является платой, устанавливаемой на компьютере. Говорящие и слушающие обычно являются такими инструментами, как осциллографы, генераторы функций, мультиметры и так далее. Большинство современных инструментов - как Говорящие, так и Слушатели. Каждый контроллер идентифицируется уникальным индексным номером платы. Каждый Говорящий/Слушатель идентифицируется уникальным первичным адресом в диапазоне от 0 до 30 и необязательным вторичным адресом, который может быть равен 0 или может находиться в диапазоне от 96 до 126. дополнительные сведения см. в разделе Устройства GPIB.

Данные GPIB

Существует два типа данных, которые могут быть переданы по GPIB: данные прибора и сообщения интерфейса:

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

  • Сообщения интерфейса - сообщения интерфейса определяются стандартом GPIB и состоят из команд, которые очищают шину GPIB, адресные устройства, возвращают результаты самопроверки и т.д.

    Передача данных состоит из одного байта (8 битов), посылаемого параллельно. Скорость передачи данных через интерфейс ограничена 1 мегабайтом в секунду. Однако эта скорость передачи данных обычно не достигается на практике и ограничена самым медленным устройством на шине.

Линии GPIB

GPIB состоит из 24 линий, которые совместно используются всеми приборами, подключенными к шине. 16 линий используются для сигналов, а восемь линий - для заземления. Сигнальные линии делятся на следующие группы:

  • Восемь строк данных

  • Пять линий управления интерфейсами

  • Три строки рукопожатия

Для получения информации о типах линий и назначениях контактов и сигналов GPIB см. раздел Линии GPIB.

Конфигурация и подключение

  1. Убедитесь, что для устройства установлен правильный драйвер прибора. Обратитесь к документации устройства и веб-сайту поставщика.

  2. Убедитесь, что устройство поддерживается в Toolbox™ управления приборами. См. раздел Поддерживается ли мое оборудование?.

  3. Для использования интерфейса GPIB необходимо установить плату GPIB и прибор.

    Убедитесь, что плата адаптера GPIB подключена к компьютеру под управлением MATLAB ®. Можно проверить, установлена ли плата адаптера, с помощью instrhwinfo функции с помощью gpib имя интерфейса. Разрешенные адаптеры включают keysight (обратите внимание, что agilent также работает), isc, mcc, adlink, и ni.

    instrhwinfo('gpib')
    
    ans = 
        InstalledAdaptors: {'mcc', 'agilent'}
           JarFileVersion: 'Version 14.3.0'

    В этом примере показаны два установленных поставщика. Имя поставщика относится к производителю плат, а не к производителю приборов. Если установленные поставщики отсутствуют, необходимо установить плату и ее драйвер.

  4. Убедитесь, что Instrument Control Toolbox распознает ваше устройство, используя instrhwinfo функции с помощью gpib имя интерфейса и имя адаптера. Например:

    instrhwinfo('gpib', 'agilent')
    
    ans = 
                 AdaptorDllName: [1x91 char]
              AdaptorDllVersion: 'Version 14.3.0'
                    AdaptorName: 'agilent'
              InstalledBoardIds: [8 32]
          ObjectConstructorName: {'gpib('agilent', 8, 6);'}
                  VendorDllName: 'sicl32.dll'
        VendorDriverDescription: 'Agilent Technologies GPIB Driver'

    InstalledBoardIds должен содержать список всех установленных плат. Это не адрес GPIB платы. Если плата отсутствует в списке, попробуйте использовать программное обеспечение производителя платы.

    ObjectConstructorName должен иметь одну запись для каждого подключенного прибора. Если прибор отсутствует в списке, убедитесь, что прибор включен и настроен для связи GPIB.

  5. Убедитесь, что вы можете создать gpib объект. Каждый объект GPIB связан с одним контроллером и одним прибором. Для создания объекта необходимо указать три аргумента. Vendor является поставщиком платы адаптера. BoardIndex и PrimaryAddress являются вторым и третьим аргументами. Например, для создания объекта GPIB, связанного с контроллером National Instruments с индексом платы 0и прибор с основным адресом 1:

    % Vendor = ni
    % BoardIndex = 0
    % PrimaryAddress = 1
    
    g = gpib('ni',0,1);

    Примечание

    Основной адрес платы GPIB не используется в синтаксисе конструктора объектов GPIB. Используется индекс платы и адрес прибора.

  6. Если ошибка не получена, объект был создан успешно. Для проверки можно просмотреть свойства объекта, используя имя, назначенное объекту. g в данном случае.

    disp(g)
    
    GPIB Object Using NI Adaptor : GPIB0-1
    
    Communication Address 
       BoardIndex:         0
       PrimaryAddress:     1
       SecondaryAddress:   0
    
    Communication State 
       Status:             closed
       RecordStatus:       off
    
    Read/Write State  
       TransferStatus:     idle
       BytesAvailable:     0
       ValuesReceived:     0
       ValuesSent:         0
  7. Убедитесь, что вы можете подключиться к устройству, используя fopen с именем объекта.

    fopen(g);

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

  8. После подключения можно установить связь с устройством. Пример чтения и записи на микросхему см. в разделе Запись и чтение данных.

Другие советы по устранению неполадок GPIB

Проверка в утилите поставщика

Проверьте правильность работы утилиты поставщика, например Keysight Connection Expert или National Instruments Measurement and Automation Explorer (MAX).

Установлены как Keysight, так и NI

Если установлены драйверы Keysight и NI GPIB, могут возникнуть конфликты. Попробуйте отключить другие драйверы поставщика и повторите попытку использования поставщика.

EOIMode, EOSCharCode и EOSMode

EOIMode является значением по умолчанию и должен быть оставлен on большую часть времени. Однако некоторые документы могут потребовать EOIMode подлежит повороту off. Используйте правильный параметр, например: EOSCharCode или EOSMode при необходимости.

ВИЗА

Вы почти всегда можете использовать visadev интерфейс с именем ресурса VISA-GPIB вместо gpib интерфейс, если возникает проблема. Единственным ограничением использования VISA является то, что вы не можете использовать spool функция.

Отправлена неверная команда

Обычной проблемой при использовании интерфейса GPIB является то, что в прибор посылается неверная команда. Попробуй:

query(g,'*IDN?')

для проверки связи с прибором.

Большинство более новых приборов распознают эту команду, поскольку она является частью стандарта GPIB. Также следует ознакомиться с руководством прибора, чтобы узнать, какие команды он распознает.

Порядок байтов

Можно настроить ByteOrder быть littleEndian или bigEndian. Для GPIB, ByteOrder относится к порядку, в котором байты в многобайтовом типе данных передаются по шине связи. swapbytes команда для устранения неполадок с ByteOrder. Необходимо настроить ByteOrder до соответствующего значения для инструмента перед выполнением операции чтения или записи. Для получения информации о порядке хранения байтов см. документацию по приборам.

Неверные данные

Проверьте правильность типа данных - например, int16, uint16, double - используется с fread и fwrite. Следует использовать тот же тип данных, что и прибор.

При чтении и записи типов данных, отличных от uint8 или int8, убедитесь, что ByteOrder правильно.