Интерфейс GPIB Поиска и устранения проблем

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

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

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

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

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

  • Linux® – Программное обеспечение работает с Red Hat Enterprise Linux 4 и 5 с ядром 2.6. Это может также быть успешно с дистрибутивами Ubuntu и SUSE.

  • Microsoft® Windows® 64-bit

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

Инструментальное оборудование и драйвер

Поддержка интерфейса GPIB требует Keysight™ (раньше Agilent®), ICS Electronics™, Измерение Computing™ (MCC), Технология ADLINK, или плата адаптера 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. Убедитесь, что ваше устройство поддерживается в Instrument Control 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 сопоставило с Национальным Инструментальным контроллером с параметром плат 0 и инструмент с первичным адресом 1:

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

    Примечание

    Вы не используете плату GPIB первичный адрес в синтаксисе конструктора Object 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 Опытный или Национальный Инструментальный Проводник Измерения и Автоматизации (MAX).

И Keysight и NI установлены

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

EOIMode, EOSCharCode и EOSMode

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

ВИЗА

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

Неправильная команда отправляется

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

query(g,'*IDN?')

проверять связь с инструментом.

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

ByteOrder

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

Неправильные данные

Убедитесь правильный тип данных – например, int16, uint16, double – используются с fread и fwrite. Необходимо использовать совпадающий тип данных в качестве инструментального использования.

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