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

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

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

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

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

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

  • 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 'interfaceName' . Позволенные адаптеры включают 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 первичный адрес в синтаксисе конструктора 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 или Проводник Измерения и Автоматизации National Instruments ™ (MAX).

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

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

EOIMode, EOSCharCode и EOSMode

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

ВИЗА

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

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

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

query(g,'*IDN?')

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

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

ByteOrder

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

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

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

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