Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


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



Драйвер измерительного прибора – это набор модульных программных функций, которые используют команды или протокол измерительного прибора для проведения стандартных операций. Драйвер измерительного прибора также вызывает нужные функции и Виртуальные Приборы. Драйверы устройств из библиотеки 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.

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

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

 

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

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

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

Рис.201

 
 

Иерархия драйвера устройства.

 

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

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

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

· Action/Status – включает в себя два типа ВП. ВП типа Action VIs осуществляют начало и остановку тестирования и измерительных операций. ВП типа 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, но ориентирован на управление измерительными приборами. Для получения дополнительной информации о VISA смотрите раздел Е, VISA этого урока.

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

Сессии VISA

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

 

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

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

Рис.202

 
 

Блок – диаграмма, инициализирующая измерительный прибор

под именем devsim.

 

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

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

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

 

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

1. Выберите в главном меню пункт File»New, затем Template»Frameworks»Single Loop Application для открытия шаблона ВП Single Loop Application VI.

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

Рис.203

 
 

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

 

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

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

 

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

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

Рис.204 Блок – диаграмма.

Создайте два сдвиговых регистра, щелкнув правой кнопкой мыши по правой и левой границам структуры цикла и выбрав пункт 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. Используйте две копии этой функции для сравнения текущего значения с минимальным и максимальным значениями и последующим сохранением результата в терминале регистра сдвига.

Поместите на блок-диаграмму ВП 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. Остановите и закройте ВП.

 

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

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

 

 
Измерительный прибор с RS-232 интерфейсом Кабель RS-232 (нуль-модемный кабель) Последовательный порт

Рис.205 Последовательная связь.

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

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

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

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

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

 
 

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

Рис.206 Кадр символа буквы m.

 

Скорость передачи показывает, как быстро поток данных перемещается между устройствами, использующими последовательный порт. Последовательный порт 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 ) показывает начало передачи следующего кадра символа.

Какая максимальная скорость передачи?

Зная структуру кадра символа и значение скорости передачи, можно подсчитать максимальную частоту передачи в символах за 1 с для заданных параметрах связи. Эта частота является отношением скорости передачи к общему количеству битов в кадре символа. В предыдущем примере общее количество битов в кадре символа было равным 11. Если скорость передачи установить равной 9600 бот, то частота передачи будет равна 9600/11 = 872 символов в секунду. Полученное значение является максимальной частотой передачи символов. Аппаратные средства интерфейса могут не достигнуть этого значения по разным причинам.

Обзор аппаратных средств

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

RS-232

Стандарт RS-232 разработан Electronic Industries Association (EIA) и другими заинтересованными организациями в целях описания последовательного интерфейса между Data Terminal Equipment (DTE) и Data Communications Equipment (DCE). Стандарт RS-232 включает описание характеристики электрического сигнала (уровня напряжения), механические спецификации (разъемы), функциональное описание линий (функции каждого электрического сигнала) и несколько способов соединения терминала с модемом. Наиболее часто встречающееся расширение этого стандарта называется RS-232C. Этот стандарт описывает (с различным уровнем надежности) использование последовательного порта для связи между компьютером и принтером, модемом и другими периферийными устройствами. Стандарту RS-232 соответствуют последовательные порты IBM-совместимых ПК.

 

RS-449, RS-422, RS-423

Стандарты RS-449, RS-422 и RS-423 являются дополнительными стандартами EIA последовательной связи. Эти стандарты являются производными от RS-232. Стандарт RS-449 был издан в 1975 году и предназначался для замены стандарта RS-232, однако его поддержали мало производителей. Стандарт RS-449 включает в себя две разновидности, названные RS-422 и RS-423. Если стандарт RS-232 описывает одноуровневую передачу, при которой уровень сигнала измеряется относительно общего заземления, то стандарт RS-422, напротив, описывает уровни сигналов друг относительно друга (относительная передача). Если в стандарте RS-232C приемник оценивает, насколько значение отрицательного уровня напряжения относительно земли достаточно, чтобы быть логической 1, то в RS-422 приемник оценивает отрицательный уровень сигнала относительно другого сигнала. Это делает стандарт RS-422 более защищенным от помех, нечувствительным к интерференции и ориентированным на большие расстояния передачи. Последовательные порты компьютера Macintosh соответствуют стандарту RS-422, стандарт RS-423 является модернизацией стандарта RS-422 и предназначен для совместимости со стандартом RS-232. С помощью специального внешнего кабеля интерфейс RS-422 преобразуется к RS-423 и позволяет осуществлять связь с интерфейсом RS-422 на расстоянии более 15 м.

 

Кабель RS-232

 
 

Устройства, использующие последовательный порт, можно разделить на две категории: DCE и DTE. Категория DCE – это устройства, такие как модем, плоттер и т.д. Категория DTE – это последовательные порты другого компьютера. Разъемы RS-232 последовательного порта существуют в двух вариантах: 25-ти и 9-ти штырьковые (D-Type 25-pin connector и D-Type 9-pin connector). Оба варианта на компьютере являются «папами» и требуют разъема типа «мама» на приборе. На Рис. 207 показан внешний вид 9-ти штырькового разъема, ниже в Таблице 5 приведено функциональное описание контактов.

Рис.207 Внешний вид 9-ти штырькового разъема.

 

 

Таблица 5. Функциональное описание контактов.

Функция (Function) Сигнал (Signal) Номер штырька (PIN) Категория DTE Категория DCE
Обмен данных (Data) TxD RxD Output Input Input Output  
Управление интерфейсом (Handshake) RTS CTS DSR DCD DTR Output Input Input Input Output Input Output Output Output Input  
Общий (Common) Com - -  
Другие (Other) RI Input Output  

 

Вариант 9-тиштырькового разъема (DB-9) обычно используется в лабораторном оборудовании небольших размеров. Он является компактной версией стандарта RS-232.

Примечание DB-9 используют для передачи и приема 3-й и 2-й штырьки соответственно. 25-тиштырьковый разъем (DB-25), напротив, использует для передачи и приема штырьки 2-й и 3-й. Необходимо обращать внимание на эти различия при определении категории прибора – DTE и DCE.

25-ти штырьковый разъем (DB-25) соответствует полной версии стандарта RS-232. Внешний вид разъема показан на Рис. 208, а в Таблице 6 указано функциональное назначение выводов.

Рис.208

 
 

Внешний вид 25 – ти штырькового разъема.

 

Таблица 6. Функциональное назначение выводов.

Function Signal PIN DTE DCE
Data TxD RxD Output Input Input Output
Handshake RTS Output Input
  CTS Input Output
  DSR Input Output
  DCD Input Output
  DTR Output Input
Common Com - -

 

Обзор программных средств

ВП и функции для работы с последовательным портом размещены на палитре Functions»Instrument I/O»Serial.

Функции VISA ( VISA Write и VISA Read ), которые использовались для связи по GPIB-интерфейсу, также могут быть использованы для управления последовательной связью, как и любым другим интерфейсом. Так как последовательный порт использует много параметров, помимо этих функций необходимо дополнительно использовать ВП VISA Configure Serial Port VI.

ВП VISA Configure Serial Port VI инициализирует последовательный порт, определенный полем VISA resource name, установленными значениями. Поле timeout устанавливает время простоя последовательного порта. Поля baud rate, data bits, parity и flow control определяют параметры настройки последовательного порта. На поля error in и error out подается кластер ошибок, содержащий информацию об ошибке.

Следующий пример показывает, как осуществляется посылка управляющей команды *IDN измерительному прибору через последовательный порт COM2 Рис. 209.

ВП VISA Configure Serial Port VI открывает связь через последовательный порт COM2 и устанавливает его параметры: 9600 бод, бит данных, проверка на нечетность ( odd parity ), один стоп бит и программное управление передачей XON/XOFF. Функция VISA Write посылает управляющую команду. Функция VISA Read принимает 200 байт в буфер чтения, и ВП Simple Error Handler VI проверяет состояние кластера ошибок.

 

Рис.209 Посылка *IDN через последовательный порт COM2.

Примечание ВП и функции, размещенные на палитре Functions»Instrument I/O»Serial, можно использовать для связи через параллельный порт. В поле VISA resource name должен быть описан дескриптор параллельного порта LPT. Например, с помощью конфигурационной утилиты MAX можно назначить порту LPT1 имя ресурса VISA – ASRL10:: INSTR.


 

Упражнение 11-5. ВП Запись и чтение в

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

Цель: Построить ВП, который обеспечивает связь с RS-232 интерфе йсом

Выполните следующие шаги для создания ВП, который выполняет операцию связи с NI Instrument Simulator.

 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2017-03-10; Просмотров: 955; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.056 с.)
Главная | Случайная страница | Обратная связь