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.
Убедитесь, что у вас есть правильный инструментальный драйвер, установленный для вашего устройства. Обратитесь к документации своего устройства и веб-сайту поставщика.
Убедитесь, что ваше устройство поддерживается в Instrument Control Toolbox™. Смотрите, что Мое Оборудование Поддержано?.
У вас должны быть плата GPIB и инструмент, установленный, чтобы использовать интерфейс GPIB.
Убедитесь, что ваша плата адаптера GPIB включается в компьютер рабочий MATLAB®. Можно проверить, что вам установили плату адаптера при помощи instrhwinfo
функция с gpib
'interfaceName' . Позволенные адаптеры включают keysight
(отметьте тот agilent
все еще также работает), isc
, mcc
, adlink
, и ni
.
instrhwinfo('gpib') ans = InstalledAdaptors: {'mcc', 'agilent'} JarFileVersion: 'Version 14.3.0'
Этот пример показывает двум установленным поставщикам. Имя поставщика для производителя платы, не вашего инструментального производителя. Если вы не видите установленных поставщиков, необходимо установить плату и ее драйвер.
Убедитесь, что 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.
Убедитесь, что можно создать gpib
объект. Каждый объект GPIB сопоставлен с одним контроллером и одним инструментом. Необходимо обеспечить три аргумента, чтобы создать объект. Vendor
поставщик платы адаптера. BoardIndex
и PrimaryAddress
вторые и третьи аргументы. Например, создать объект GPIB сопоставило с Национальным Инструментальным контроллером с параметром плат 0
, и инструмент с первичным адресом 1
:
% Vendor = ni % BoardIndex = 0 % PrimaryAddress = 1 g = gpib('ni',0,1);
Вы не используете плату GPIB первичный адрес в синтаксисе конструктора Object GPIB. Вы используете параметр плат и инструментальный адрес.
Если вы не получаете ошибку, объект был создан успешно. Чтобы проверить, можно посмотреть на свойства объектов, с помощью имени, которое вы присвоили объекту, 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
Убедитесь, что можно связать с устройством, с помощью fopen
функция с именем объекта.
fopen(g);
Если вы не получаете ошибку, связь была установлена успешно. Если вы действительно получаете ошибку, выполняете шаги в сообщении об ошибке и/или проверяете предыдущие шаги, перечисленные здесь.
Когда вы соединились, можно связаться с устройством. Смотрите Запись и Чтение Данных для примера чтения и записи в чип.
Проверьте в утилите поставщика
Проверьте правильную операцию в утилите поставщика, такой как Связь 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
правильно.