Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
610
Добавлен:
06.06.2015
Размер:
5.95 Mб
Скачать

Урок 11 Управление измерительными приборами

измерительный прибор строку. Щелкните правой кнопкой мыши по входному полю write buffer и выберите пункт контекстного меню

Create»Control.

Поместите на блок-диаграмму функцию VISA Read, расположенную в палитре Functions»Instrument I/O»VISA. Эта функция считывает данные с измерительного прибора. Щелкните правой кнопкой мыши по терминалу byte count и выберите из контекстного меню пункт Create»Control. Щелкните правой кнопкой мыши по терминалу read buffer и выберите из контекстного меню пункт Create»Control.

Поместить на блок-диаграмму функцию VISA Close, расположенную в палитре Functions»Instrument I/O»VISA»VISA Advanced. Эта функция закрывает VISA-сессию с измерительным прибором и освобождает использованные системные ресурсы.

Поместите на блок-диаграмму ВП Simple Error Handler VI,

расположенный в палитре Functions»Programming»Dialog & User Interface. Этот ВП проверяет состояние ошибки и открывает диалоговое окно с информацией об ошибке в случае ее возникновения.

4.Сохраните ВП под именем Запись и чтение VISA.vi

5.Перейдите на лицевую панель. Введите devsim в строку resource name и установите значение счетчика byte count равным 200 для того, чтобы считались все данные. Введите команду *IDN? в поле write buffer и запустите ВП.

6.В верхней части Instrument Simulator перечислены другие команды, воспринимаемые этим прибором. Попробуйте использовать другие команды в этом ВП.

7.По окончании закройте ВП.

Конец упражнения 11-3

© National Instruments Corporation

11-18

Курс LabVIEW Основы I

Урок 11 Управление измерительными приборами

E. Драйверы измерительных приборов

Драйвер измерительного прибора – это набор модульных программных функций, которые используют команды или протокол измерительного прибора для проведения стандартных операций. Драйвер измерительного прибора также вызывает нужные функции и Виртуальные Приборы. Драйверы устройств из библиотеки LabVIEW устраняют необходимость изучать сложные низкоуровневые команды программирования для каждого отдельного измерительного прибора.

Библиотека LabVIEW драйверов устройств содержит драйвера для множества программируемых приборов, использующих GPIB, VXI, PXL интерфейсы или последовательный порт.

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

Библиотека LabVIEW драйверов измерительных приборов расположена на LabVIEW CD. Драйверы также можно скачать с сайта компании National Instruments по адресу www.ni.com/idnet. Для установки драйверов следует их разархивировать поместить полученную директорию в \labview\instr.lib. При последующем запуске LabVIEW Виртуальные Приборы драйверов измерительных приборов будут находиться на палитре Functions»Instrument I/O»Instrument Drivers.

Getting Started Example (Начальный пример)

Все драйверы измерительных приборов содержат пример, который может быть использован для проверки связи с прибором. Этот пример обычно называется Getting Started Example. Укажите верный GPIB-адрес (или имя ресурса VISA) измерительного прибора, как он был настроен в MAX.

© National Instruments Corporation

11-19

Курс LabVIEW Основы I

Урок 11 Управление измерительными приборами

F. Использование ВП драйвера устройства

Драйверы создаются под определенные измерительные приборы и делают необязательным для пользователя точное знание команд стандарта IEEE 488.2, которые требуются для управления прибором.

Компоненты драйвера устройства

Все драйвера устройств в библиотеке имеют одинаковую базовую иерархию. Иерархия, последовательность использования ВП и обработка ошибок устроены так же, как и в ВП сбора данных, ВП файлового ввода/вывода, TCP/IP и т.д. Для получения информации об обработке ошибок следует обратиться к разделу С Функции и ВП файлового ввода/вывода Урока 7 Строки и файловый ввод/вывод.

На рисунке показана иерархия драйвера устройства.

Высокоуровневые функции созданы на основе низкоуровневых функций. Низкоуровневые функции обеспечивают расширенный контроль над интерфейсом, однако высокоуровневые функции просты в использовании и имеют удобные лицевые панели. Драйвера устройств содержат Виртуальные Приборы следующих категорий:

Initialize - инициализирует каналы связи с устройством. Этот ВП также осуществляет операции идентификационного запроса, операции сброса или любые другие операции по сбросу значений установок устройства к значениям по умолчанию.

Configuration - настраивает устройство для выполнения операций, таких как установка частоты триггера.

Action/Status – включает в себя два типа ВП. ВП типа Action VIs

© National Instruments Corporation

11-20

Курс LabVIEW Основы I

Урок 11 Управление измерительными приборами

осуществляют начало и остановку тестирования и измерительных операций. ВП типа Status VIs предназначены для получения текущего состояния устройства или статуса выполняемой операции.

Например, ВП типа Action VIs – ВП Acquire Single Shot. ВП типа Status VIs– ВП Query Transfer Pending.

Data – выполняет операции передачи данных к/из измерительного прибора, такие как чтение измеренной осциллограммы (оцифрованный сигнал) из устройства или загрузка осциллограммы в устройство.

Utility – выполняет широкий класс функций, таких как сброс, самотестирование, запрос ошибки или проверка состояния запроса.

Close – разрывает канал связи с устройством и освобождает использованные для него ресурсы.

Все драйверы интерфейсов от компании National Instruments включают в себя следующие функции: инициализация, закрытие, сброс, самотестирование, проверка состояния запроса, обнаружение ошибки запроса и сообщение об ошибке.

Примеры приложений

Среда LabVIEW также включает примеры приложений, которые показывают, как использовать Виртуальные Приборы – компоненты драйвера для решения стандартных задач. Как правило, к этим задачам относятся: настройка, переключение и получение результатов измерения из измерительного прибора. Эти приложения не выполняют операции инициализации или закрытия драйвера устройства. Кроме того, эти ВП не претендуют на вариант полного приложения, а только демонстрируют возможности драйвера интерфейса и являются введением в разработку собственных драйверов интерфейса.

Поля ввода/вывода Виртуальных Приборов драйвера устройства

Так как иерархия ВП всех драйверов устройств одинакова, они имеют похожие поля ввода/вывода данных.

Имя ресурса или дескриптор устройства

При инициализации канала связи с устройством необходимо знать дескриптор этого устройства (instrument descriptor) или имя ресурса (resource name). Ресурс – это интерфейс или измерительный прибор, а идентификатор ресурса – точное имя и положение ресурса в данном формате:

Interface Type[board index]::Address::INSTR

Необязательные параметры показаны в квадратных скобках [ ]. Например, GPIB::2::INSTR – дескриптор GPIB прибора по адресу 2.

ВП VISA resource name control, размещенный в палитре Controls»Modern»I/O, аналогичен ВП DAQ channel name control, но ориентирован на управление измерительными приборами. Для получения

© National Instruments Corporation

11-21

Курс LabVIEW Основы I

Урок 11 Управление измерительными приборами

дополнительной информации о VISA смотрите раздел Е, VISA этого урока.

Для получения информации о доступных ресурсах и адресах устройств можно использовать конфигурационную утилиту MAX, как было показано в упражнении 11-1. В этом упражнении было определено имя VISA (VISA alias). Наличие имени упрощает связь с устройством, потому что, работая с именем, не нужно запоминать тип интерфейса и адрес устройства. Можно ввести имя вместо дескриптора устройства в поле имени ресурса VISA, например, можно ввести строку devsim вместо строки GPIB::2::INSTR.

Сессии VISA

После инициализации устройства ВП Initialize VI возвращает номер сессии VISA. Сессия VISA является связующим звеном с ресурсом, таким как измерительный прибор. Нет необходимости отображать это значение, однако каждый раз, когда происходит связь с устройством, необходимо соединять поля VISA session Виртуальных Приборов драйвера устройства. После завершения связи с устройством необходимо использовать ВП Close VI для закрытия всех ссылок и ресурсов, использованных во время связи.

Пример приложения драйвера интерфейса

Блок-диаграмма, показанная на рисунке, инициализирует измерительный прибор под именем devsim. С помощью ВП настройки выбирается тип осциллограммы, затем используются два ВП: для чтения осциллограммы и ее масштабирования. После этого производится закрытие измерительного прибора и проверка статуса ошибки. Каждое приложение, которое использует драйвер интерфейса, применяет подобную последовательность выполнения событий.

© National Instruments Corporation

11-22

Курс LabVIEW Основы I

Урок 11 Управление измерительными приборами

Упражнение 11-4 ВП Монитор напряжения

Цель: Построить ВП, который использует Виртуальные Приборы драйвера устройства DevSim для сбора и отображения значений напряжения

Выполните следующие шаги для создания ВП, который считывает значения напряжения постоянного тока с ВП NI Instrument Simulator с частотой 1 Гц и отображает их на графике Диаграмм, пока не будет нажата кнопка СТОП. Каждое считанное значение напряжения ВП сравнивает с предыдущими минимальными и максимальными значениями. ВП непрерывно подсчитывает и отображает минимальные и максимальные значения.

Лицевая панель

1.Выберите в главном меню пункт File»New, затем

Template»Frameworks»Single Loop Application для открытия шаблона ВП Single Loop Application VI.

2.Создайте лицевую панель, показанную на рисунке.

Поместите элемент управления VISA resource name, размещенный в палитре Controls»Modern»I/O.

Отредактируйте масштаб оси x на графике Диаграмм на диапазон от

0 до 20.

Блок-диаграмма

3.Создайте блок-диаграмму, показанную на рисунке:

© National Instruments Corporation

11-23

Курс LabVIEW Основы I

Урок 11 Управление измерительными приборами

Создайте два сдвиговых регистра, щелкнув правой кнопкой мыши по правой и левой границам структуры цикла и выбрав пункт Add Shift Register из контекстного меню.

Поместите на блок-диаграмму ВП NI DEVSIM Initialize VI,

размещенный в палитре Functions»Instrument I/O»Instrument Drivers»NI Device Simulator. Этот ВП открывает связь между средой LabVIEW и ВП NI Instrument Simulator.

k.Щелчком правой кнопкой мыши по полю ID Query вызовите всплывающее меню и выберите в нем пункт Create»Constant. С помощью инструмента УПРАВЛЕНИЕ измените значение константы на FALSE.

l.Соедините константу с входным полем Reset .

Поместите на блок-диаграмму ВП NI DEVSIM Multimeter Configuration VI, размещенный в палитре Functions»Instrument I/O»Instrument Drivers»NI Device Simulator»Configuration. Этот ВП устанавливает диапазон изменения напряжения, генерируемого ВП NI Instrument Simulator. По умолчанию диапазон значений установлен от 0,0 до 10,0 Вольт.

Поместите на блок-диаграмму ВП NI DEVSIM Measure DC Voltage VI, размещенный в палитре Functions»Instrument I/O»Instrument Drivers»NI Device Simulator»Data. Этот ВП возвращает имитированное значение измеренного напряжения с ВП NI

Instrument Simulator.

Поместите на блок-диаграмму ВП NI DEVSIM Close VI,

размещенный в палитре Functions»Instrument I/O»Instrument Drivers»NI Device Simulator. Этот ВП завершает связь между средой LabVIEW и NI Instrument Simulator.

Поместите на блок-диаграмму функцию Max & Min, размещенную в палитре Functions»Programming»Comparison. Используйте две копии этой функции для сравнения текущего значения с минимальным и максимальным значениями и последующим сохранением результата в терминале регистра сдвига.

© National Instruments Corporation

11-24

Курс LabVIEW Основы I

Урок 11 Управление измерительными приборами

Поместите на блок-диаграмму ВП Simple Error Handler VI,

размещенный в палитре Functions»Programming»Dialog & User Interface. Этот ВП отображает диалоговое окно с информацией об ошибке в случае ее возникновения.

Поместите на блок-диаграмму функцию Unbundle by Name,

размещенную в палитре Functions»Programming»Cluster & Variant. Эта функция возвращает значение status кластера ошибок.

Поместите на блок-диаграмму функцию Or, размещенную в палитре Functions»Programming»Boolean. Эта функция управляет условием завершения цикла While. Если произошла ошибка или нажата клавиша СТОП, выполнение цикла завершается.

Установите экспресс-ВП Time Delay Express VI на ожидание в течение 1 секунды.

Примечание Нет необходимости подсоединять все поля ввода/вывода каждого узла. Нужно соединять только обязательные для использования поля каждого узла, такие как: instrument descriptor, VISA session и

терминалы входа/выхода ошибки.

4.Сохраните ВП под именем файла Монитор напряжения.vi

5.Убедитесь, что ВП NI Instrument Simulator включен.

6.Запустите ВП. Светодиоды Listen (слушатель) и Talk (передатчик) будут мигать с частотой 1 Гц, что сигнализирует о соединении приложения LabVIEW с прибором. На диаграмме будет отображаться имитируемое напряжение, а также минимальное и максимальное значения.

7.Остановите и закройте ВП.

Конец упражнения 11-4

© National Instruments Corporation

11-25

Курс LabVIEW Основы I

Урок 11 Управление измерительными приборами

G. Последовательная связь

Последовательная связь – наиболее распространенное средство передачи данных между компьютером и периферийными устройствами, такими как программируемые измерительные приборы или даже другие компьютеры. Последовательная связь использует передатчик для передачи данных последовательно бит за битом по однопроводной линии к приемнику. Этот метод можно использовать, когда скорость передачи мала или необходимо передать данные на большие расстояния. Распространенность последовательной передачи определяется тем, что большинство компьютеров имеют один или более последовательных портов и не требует никаких дополнительных аппаратных средств, кроме нуль-модемного кабеля.

 

 

 

1 Измерительный

2 Кабель RS-232

3 Последовательный

прибор с RS-232

(нуль-модемный кабель)

порт

интерфейсом

 

 

Для использования последовательной связи требуется задание четырех параметров:

скорость передачи (baud rate)

количество битов данных, кодирующих передаваемый символ

наличие бита четности (parity bit)

количество стоп-битов (stop bits)

Каждый передаваемый символ упаковывается в кадр символа, который состоит из одиночного стартового бита (start bit), за ним следуют биты данных (data bits), бит четности (если установлен), и заданное количество стоповых битов. На рисунке показан кадр символа буквы m.

Скорость передачи показывает, как быстро поток данных перемещается

© National Instruments Corporation

11-26

Курс LabVIEW Основы I

Урок 11 Управление измерительными приборами

между устройствами, использующими последовательный порт. Последовательный порт RS-232 использует только два уровня напряжения, которые называются MARK (ЛОГИЧЕСКАЯ ЕДИНИЦА) и SPACE (ЛОГИЧЕСКИЙ НОЛЬ). В такой двухуровневой схеме передачи скорость передачи равна максимальному количеству информационных битов, включая управляющие биты, в секунду.

MARK – отрицательное значение напряжения, SPACE – положительное. На предыдущем рисунке было показано, как идеальный сигнал выглядит на осциллографе. Таблица истинности для RS-232 выглядит следующим образом:

Уровень сигнала > +3 V = 0 Уровень сигнала < -3 V = 1

Выходной уровень сигнала обычно находится в диапазоне +12 – -12 В. «Мертвая» зона ( +3 – -3 В) необходима для отсечки шума коммуникационной линии.

Стартовый бит сигнала является началом каждого кадра символа. Он передается изменением уровня от отрицательного (MARK) напряжения к положительному (SPACE). Его длительность характеризует скорость передачи. Если устройство передает на скорости 9600 бод, длительность стартового бита и всех последующих бит составляет 0,104 мс. Полный кадр символа (11 бит) передается примерно за 1,146 мс.

Биты данных передаются в обратном порядке с использованием отрицательной логики. Сначала передаются младшие биты (LSB – least significant bit), затем старшие биты (MSB – most significant bit). Для интерпретации битов данных в кадре символа необходимо читать кадр справа налево, причем 1 соответствует отрицательному значению напряжения, а 0 - положительному. На рисунке биты символа можно прочесть как 1101101 в двоичном формате или 6D в шестнадцатеричном формате. Это значение по таблице ASCII соответствует символу m.

Если установлен бит четности, то он следует за битами данных в кадре символа. Бит четности также передается в инвертированной логике: 1 - отрицательное значение напряжения; 0 - положительное. Бит четности является простым средством обнаружения ошибок передачи. Заранее определяется, какой будет четность передачи – четной или нечетной. Если выбрана нечетная схема, то передатчик устанавливает бит четности так, чтобы сделать количество бит данных и бита четности нечетным. Приведенная в примере операция передачи данных использует нечетную схему. Количество битов данных равно 5, т.е. уже нечетное число, поэтому бит четности равен 0.

Конец кадра символа состоит из 1, 1,5 или 2 стоп битов. Эти биты всегда представлены отрицательным уровнем напряжения. Если передачи символов больше не происходит, то линия связи остается в отрицательном уровне напряжения (MARK). Изменение напряжения к положительному уровню (SPACE) показывает начало передачи следующего кадра символа.

© National Instruments Corporation

11-27

Курс LabVIEW Основы I