СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up ›...

70
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ» С.Н. Галий, М.Б. Копелиович «ПРОГРАММНОЕ И АППАРАТНОЕ ОБЕСПЕЧЕНИЕ NATIONAL INSTRUMENTS: РАЗРАБОТКА ИНЖЕНЕРНЫХ ПРИЛОЖЕНИЙ» Учебное пособие Ростов-на-Дону 2008

Upload: others

Post on 28-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ

УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО

ОБРАЗОВАНИЯ

«ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»

С.Н. Галий, М.Б. Копелиович

«ПРОГРАММНОЕ И АППАРАТНОЕ

ОБЕСПЕЧЕНИЕ NATIONAL INSTRUMENTS:

РАЗРАБОТКА ИНЖЕНЕРНЫХ ПРИЛОЖЕНИЙ»

Учебное пособие

Ростов-на-Дону

2008

Page 2: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

2

С.Н. Галий, М.Б. Копелиович. Создание инженерных приложений в

среде LabVIEW. Учебное пособие. – Ростов – на – Дону, 2008.

В данном учебном пособии приводится краткое описание языка

графического программирования – G, используемого в среде LabVIEW.

Предложены практические работы выполнив которые, студенты получат и

закрепят знания языка G, что создаст базу для дальнейшего самостоятельного

изучения и применения на практике.

В модуле №2 рассматриваются основные тенденции в современной

измерительной технике. Приводится описание принципа работы,

технические характеристики некоторых измерительных модулей

применяемых в информационно – измерительных системах. Предлагаются

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

знания и приобретут навык работы с устройствами сбора и обработки

измерительной информации.

Имеются тесты рубежного контроля знаний в конце каждого модуля.

Методическое пособие составлено с использованием кредитно-модульной

рейтинговой технологии.

Page 3: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

3

Содержание

Введение……………………………………………………………….............. 4

Модуль №1 Основы работы в среде LabVIEW…………..………………… 7

1.1 Идеология графического языка программирования………………….. 7

1.2 Виртуальные приборы…………………………………………………... 9

1.3 Графическая среда………………………………………………………. 10

1.4 Создание лицевой панели………………………………………………. 13

1.5 Создание блок – диаграммы……………………………………………. 15

1.6 Практическая работа № 1.1. Создание простого ВП…………………. 25

1.7 Практическая работа № 1.2. Использование структур и ВПП……….. 28

1.8 Практическая работа № 1.3. Создание массива с индексацией…….. 31

1.9 Практическая работа 1.4. Отладка ВП: инструмент Probe 33

Тест рубежного контроля №1…………………………………………........... 35

Модуль №2 Устройств сбора и обработки измерительной информации…. 36

2.1 Обзор устройств сбора и обработки измерительной информации …. 36

2.2 Ввод аналогового сигнала……………………………………………… 50

2.3 Практическая работа №2.1. Ввод аналогового сигнала с

использованием DAQ устройств……………………………………….

60

2.4 Практическая работа №2.2. Практическая работа №2.2. Вывод

аналогового сигнала с использованием DAQ устройств.…………….

62

2.5 Практическая работа №2.3. Вывод аналогового сигнала с

использованием DAQ устройств……………………………………….

65

Тест рубежного контроля №2…………………………………………........

Список литературы……………………………………………………………

Page 4: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

4

Введение

Наше время характеризуется стремительным появлением новых

технологий, кардинально меняющих образ деятельности и жизнь многих

людей. Особенно ярко это проявляется в области высоких информационных

технологий. Из большого множества технологических новшеств специалисту

для своей успешной практической деятельности весьма важно опираться или

же суметь ориентировать себя на технологии, имеющие устойчивые мировые

тенденции развития. Освоив такую технологию, специалист способен

надолго и гарантированно «оседлать» новые методы и соответствующий

инструментарий, которые обеспечат ему современное профессиональное

качество технических разработок при минимальных временных и

материальных затратах.

Одной из таких новых и революционных технологий является

технология виртуальных приборов, позволяющая создавать системы

измерения, управления и диагностики различного назначения практически

любой произвольной сложности, включая математическое моделирование и

тестирование этих систем. Суть этой технологии состоит в компьютерной

имитации с помощью программы реальных физических приборов,

измерительных и управляющих систем. Программная среда LabVIEW

является именно таким инструментарием технологии виртуальных приборов.

До недавних пор специалисты при решении задач в собственной

предметной области были вынуждены прибегать к помощи

профессиональных программистов как правило, не являющихся носителями

знаний в этой области. Такое посредничество чаще всего увеличивало

материальные и временные издержки, а самое главное снижало качество

исследований и разработок. Даже использование специализированных

программных средств лишь частично снимало эту проблему. Появление

программных продуктов последнего поколения с весьма дружественными

интерфейсами, адаптированных к менталитету и профессиональным навыкам

Page 5: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

5

специалистов, сделало возможным их использование специалистами

напрямую, не прибегая к помощи посредников. К таким новым программным

продуктам относится LabVIEW, имеющий весьма удобный пользовательский

интерфейс и мощные средства графического программирования.

LabVIEW является идеальным программным средством для создания

систем измерения, а также систем автоматизации управления на основе

технологии виртуальных приборов. LabVIEW – программа в комплексе с

такими аппаратными средствами, как встраиваемые в компьютер

многоканальные измерительные аналого - цифровые платы, платы захвата и

синхронизации видеоизображения для систем машинного зрения, платы

управления движением и исполнительные механизмы, а также

измерительные приборы, подключаемые к компьютеру через стандартные

интерфейсы RS-232, RS-485, USB, GPIB (КОП), PXI, VXI, позволяет

разрабатывать системы измерения, контроля, диагностики и управления

практически любой сложности.

LabVIEW имеет собственную мощную математическую поддержку,

Кроме того, LabVIEW может интегрировать в себя программы, написанные в

среде MatLab, на языке С/С++. Большое количество встроенных алгоритмов

цифровой обработки одномерных и двумерных сигналов позволяет

осуществлять весьма сложную обработку сигнала, изображения и

экспериментальных данных во временной, пространственной и спектральной

областях. Программная среда LabVIEW постоянно расширяется новыми

средствами обработки сигналов на основе вейвлет-анализа, алгоритмов

нечеткой логики, сетевых технологий и т. д.

Роль программных сред, подобных LabVIEW, в научных исследованиях

и технических экспериментах весьма велика. В настоящее время в науке

наблюдается своего рода «ренессанс» эксперимента. Вызвано это развитием

и совершенствованием измерительной техники и появлением нового

поколения высокоточных и высокочувствительных измерительных приборов

и автоматизированных измерительных систем, с помощью которых

Page 6: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

6

регистрируются тонкие эффекты 3-4-го порядка малости. Несмотря на свою

«малость», эти эффекты часто играют ключевую роль в формировании

основного явления, влияния на качество конечной продукции и т. д. Анализ

подобных эффектов, как правило, оказывается вне досягаемости

теоретических моделей. Поэтому в большинстве случаев эксперимент

является единственным источником качественно новой и надежной

информации. При этом результат достигается гораздо быстрее, чем методами

«чистой» теории. Зачастую это выгодно и экономически, так как рядовой

экспериментатор, вооруженный современным инструментарием, подобным

LabVIEW, может достаточно скоро получить нужную информацию.

Традиционно для исследователя функции моделирования и

экспериментирования разделены. Моделирование осуществляется в среде

математических программных пакетов, а эксперименты поддерживаются

другими программными средствами, что отнюдь не повышает эффективность

исследований. Эффективность использования среды LabVIEW в научных

исследованиях состоит в том, что, оставаясь в ее рамках, можно

разрабатывать как математическую модель объекта, так и снабжать эту

модель экспериментальными данными с помощью аппаратных средств

ввода-вывода, сопряженных с реальным объектом.

Page 7: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

7

Модуль №1 Основы работы в среде LabVIEW

Комплексная цель. Изучить основы языка графического

программирования – “G”. Освоить основные приемы работы в среде

графического программирования LabVIEW

1.1. Идеология графического языка программирования.

LabVIEW это язык графического программирования, в котором для

создания приложения используются иконки вместо строк текста. В

противоположность текстовым языкам программирования, где выполнение

программы определяется последовательностью инструкций, LabVIEW

использует потоковое программирование, в котором последовательность

выполнения определяется потоком данных.

Суть этой технологии состоит в компьютерной имитации с помощью

программы реальных физических приборов, измерительных и управляющих

систем. Программная среда LabVIEW является именно таким инструментарием

технологии виртуальных приборов.

Слово «виртуальный» не должно вводить в заблуждение, поскольку приборы,

реализованные по этой технологии, на самом деле являются реальным,

работающими с реальными физическими входными сигналами. Виртуальность

здесь понимается в смысле виртуальной имитации функций прибора

математическими и программными методами. Например, виртуальный

осциллограф по функциям эквивалентен реальному осциллографу, поскольку

имеет физический вход для электрического сигнала. Преобразование сигнала

в цифровой сигнал осуществляется аналого-цифровым преобразователем

(АЦП). Дальнейшая обработка и управление сигналом, его отображение для

наблюдения осуществляются программным способом. Такой осциллограф

имеет виртуальный экран, виртуальные ручки управления (усиление,

синхронизация, развертка и др.), графически отображаемые на экране

Page 8: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

8

монитора компьютера. Ручки, переключатели, кнопки виртуального прибора

управляются с клавиатуры или посредством мыши.

Другим простым пояснительным примером может служить виртуальный

генератор сигналов. Такой виртуальный генератор имеет реальный

электрический выход, реальные входы для синхронизации, а также

виртуальные ручки управления по функциям, аналогичным обычному

генератору. Выходные электрические сигналы (гармонический, пилообразный,

прямоугольный, случайный и т. д.) формируются цифро-аналоговым

преобразователем (ЦАП). Генерация сигналов различной формы

осуществляется программно-математическими методами. Например, если

для генерации синусоидального сигнала в реальном генераторе используется

колебательный контур, включенный в цепь обратной связи усилителя, то в

виртуальном генераторе гармонический сигнал получается математически

непосредственно по соответствующей тригонометрической формуле для

синусоиды. Ясно, что в этом случае генерируется почти идеальный

синусоидальный сигнал без нелинейных искажений, с очень стабильной

частотой и амплитудой, а также с известной начальной фазой. В реальном

генераторе такие метрологические параметры практически недостижимы.

Преимущество технологии виртуальных приборов состоит в

возможности программным путем, опираясь на мощь современной

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

системы и программно-аппаратные комплексы, легко их адаптировать к

изменяющимся требованиям, уменьшить затраты и время на разработку.

Широкие функциональные возможности среды Lab VIEW позволяют

использовать ее в практической работе студенту, инженеру и научному

работнику. Интуитивно понятный процесс графического программирования

позволяет специалисту уделять больше внимания решению самой проблемы, а не

процессу программирования.

Page 9: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

9

1.2. Виртуальные приборы

Виртуальный прибор (ВП) состоит из двух основных компонентов: лицевая

панель и блок-диаграмма. Лицевая панель представляет собой интерфейс

пользователя программы, а блок-диаграмма содержит ее графический код. ВП,

расположенный внутри блок-диаграммы другого ВП, называется виртуальным

подприбором (ВПП). Виртуальные приборы LabVIEW являются модульными, то

есть любой ВП или ВПП может выполняться самостоятельно.

1.2.1. Лицевая панель и блок – диаграмма

Лицевая панель содержит интерфейс пользователя виртуального прибора,

находящегося на блок-диаграмме. Входы ВП представлены так называемыми

элементами управления. Примерами элементов управления могут служить

кнопки, регуляторы и круговые шкалы. Выходы представлены резличными

индикаторами. Примеры индикаторов: диаграммы, светодиоды и стрелочные

приборы. Во время работы ВП лицевая панель (интерфейс пользователя) выглядит

как дисплей с элементами управления (входами) и индикаторами (выходами).

Блок-диаграмма содержит терминальные иконки, узлы, проводники данных

и структуры. Терминальные иконки — это интерфейсы обмена данными между

лицевой панелью и блок-диаграммой. Терминальные иконки соответствуют

элементам управления или индикаторам, размещенным на лицевой панели. Всякий

раз, когда вы помещаете на лицевой панели элемент управления или индикатор, к

соответствующей блок-диаграмме добавляется терминальная иконка. Узел

представляет собой объект, который имеет входные и/или выходные соединители

и выполняет определенную функцию. Например, узлами являются ВПП и

функции. Проводники данных передают поток данных на блок-диаграмме.

Структуры, например циклы или условные конструкции, используются для

управления ходом программы. На Рис. 1.1 показан вид окон лицевой панели и

блок-диаграммы ВП реализующий суммирование числа X и Y.

Page 10: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

10

Рисунок 1.1 – Окно LabVIEW. Блок – диаграмма и лицевая панель ВП

1.2.2. Иконка и соединительная панель

Иконка виртуального прибора – это его графическое представление. Она

расположена в верхнем правом углу блок-диаграммы или окна лицевой панели.

Когда ВП входит в состав блок-диаграммы в качестве ВПП, то на блок-

диаграмме отображается его иконка.

Соединительная панель определяет входы (элементы управления) и выходы

(индикаторы) ВП. Можно изменить количество входов и выходов, выбрав другую

модель соединительной панели. На рисунке 1.1 иконка ВП отображена в верхнем

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

двумя входами и одним выходом можно видеть в верхнем правом углу лицевой

панели.

1.3. Графическая среда

1.3.1. Палитра функций

Палитра Functions (Функции) (см. рисунок 1.2) предоставляет различные

функции ВП, или блоки для создания системы. Чтобы открыть палитру, дважды

щелкните правой кнопкой мышки на свободном пространстве блок-диаграммы.

Заметим что эту палитру можно вызвать только при работе с блок-диаграммой.

Page 11: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

11

Рисунок 1.2 – Палитра функций.

1.3.2. Палитра элементов управления

Палитра Controls (Элементы управления) (рисунок 1.3) предоставляет

доступ к элементам управления и индикаторам лицевой панели. Чтобы открыть

эту палитру дважды щелкните правой кнопкой мышки на свободном

пространстве лицевой панели. Эту палитру можно вызвать только при работе с

лицевой панелью.

Page 12: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

12

Рисунок 1.3 – Палитра элементов управления

1.3.3. Палитра инструментов

Палитра Tools (Инструменты) обеспечивает различные режимы работы

курсора мыши для создания и отладки ВП. Палитра инструментов и часто

используемые инструменты представлены на рисунке 1.4. Эту палитру

можно вызвать как при работе с лицевой панелью, так и при работе с блок

диаграммой, из главного меню по команде VIEV > TOOL PALETTE

Каждый инструмент выполняет свою функцию. Например, инструмент

Wiring (Соединение) используется для соединения объектов на блок-диаграмме

В режиме автоматического выбора инструмента (Automatic Tool Selection)

LabVIEW выбирает инструмент, наилучшим образом соответствующий текущему

положению курсора.

Рисунок 1.4 – Палитра инструментов

Page 13: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

13

1.4. Создание лицевой панели

В общих чертах процесс создания ВП заключается в том, чтобы

переключаться с лицевой панели на блок-диаграмму и обратно, размещая на

лицевой панели входы и выходы и создавая блоки на блок-диаграмме.

1.4.1. Элементы управления

Элементы управления Controls представляют собой входы ВП. Элементы

управления из палитры Numeric (Числовые элементы управления) используются

для числовых входов, из палитры Boolean (Логические элементы управления) —

для логических входов и из палитры String & Path (Строки и пути) — для

текстовых данных и перечислений. Эти средства управления показаны на рисунке

1.5.

1.4.2. Индикаторы

Indicators (Индикаторы) представляют собой выходы ВП. В версии LabVIEW

8.X индикаторы вместе с элементами управления расположены на палитре Controls.

Свойство «Индикатор» является атрибутом элемента управления. Если этот

атрибут имеет значение ИСТИНА, то элемент считается элементом управления, в

противном случае — индикатором. Для изменения атрибута нужно щелкнуть правой

кнопкой мышки и выбрать пункт меню Change to... (Изменить на ...). Индикаторы из

подпалитры Numeric (Числовые) используются для числовых выходов, из

подпалитры Boolean (Логические) — для логических выводов, из подпалитры String

& Path (Строки и пути) — для текстовых выходов и Graph (Графические) —для

графических выходов. Графические индикаторы показаны на Рис. 1.5.

Page 14: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

14

Рисунок 1.5 – Палитры элементов управления

Page 15: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

15

1.5. Создание блок-диаграммы

1.5.1. Экспресс ВП и функции

Экспресс ВП (Express VI) представляют собой высокоуровневые ВП,

объединяющие ВП низшего уровня или функции. Эти ВП выглядят как

развертываемые узлы с голубым фоном. При размещении экспресс ВП на

блок - диаграмме возникает диалоговое окно конфигурации, позволяющее

настраивать его параметры. Поэтому экспресс ВП требуют меньше

проводников данных. Для вызова окна конфигурации нужно дважды

щелкнуть мышкой на нужном экспресс ВП. Три варианта представления ВП

и экспресс ВП показаны на следующем рисунке

Рисунок 1.6 – Объекты блок диаграммы: ВП, экспресс ВП и функция.

1.5.2. Терминальные иконки

Объекты лицевой панели представлены на блок-диаграмме в виде

терминальных иконок. Терминальная иконка показывает вход или выход и

его тип данных. На рисунке 1.7 изображены два примера терминальных

иконок: числовой элемент управления и индикатор с двойной точностью. Из

рисунка видно, что на иконках может отображаться только тип данных,

чтобы не занимать лишнее пространство на блок-диаграмме.

Page 16: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

16

Рисунок 1.7 – Терминальные иконки на блок – диаграмме.

1.5.3. Проводники данных

Проводники данных передают информацию от одного узла блок

диаграммы к другому. Цвет и толщина проводника меняются в зависимости

от типа источника данных.

Цвет и внешний вид провода соответствует типу данных, передаваемых по

проводу. У любого провода должен быть единственный источник данных, и

могут быть несколько приемников. Провод всегда должен быть присоединен

к требуемому контакту коннектора узла или к терминалу, или к константе

или к другому проводу. В месте присоединения одного провода к другому

отображается точка (если включен этот режим в меню настроек LabVIEW,

меню Tools>>Options, вкладка Block Diagram, пункт "Show dots at wire

junction"). Провод может иметь неограниченное число точек поворота, может

быть любой длины – эффективность выполнения программы от этого не

зависит. Однако программист должен стараться располагать терминалы, узлы

и провода так, чтобы блок-диаграмма была наглядной, простой и красивой.

Только красиво нарисованная программа будет надежно работать,

развиваться и модернизироваться!

Page 17: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

17

1.5.4. Структуры

Структуры представлены графическими вложениями. Заключенный

в структуре графический код выполняется по условию или циклически.

Структуры циклов (в LabVIEW) эквивалентны циклу с фиксированным

числом итераций или циклу по условию в текстовых языках

программирования, а структура выбора варианта соответствует

оператору if-else.

Все конструкции программирования LabVIEW представляют собой

прямоугольные области блок-диаграммы, ограниченные рамкой. Внутри этой

области может быть помещен требуемый программный код. Провода могут

пересекать границы конструкций, передавая исходные данные внутрь

конструкции, а результаты наружу. В месте пересечения проводами границы

автоматически формируются входные и выходные туннели. Через входные

туннели данные поступают внутрь конструкции в качестве исходных данных,

через выходные - покидают ее в качестве результатов работы.

Каждая конструкция программирования может рассматриваться как

"черный ящик" или сложный узел. Это означает, что конструкция начинает

выполняться после того, как на все входные туннели поступят данные, а

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

конструкция закончит свою работу.

1.5.4.1. Цикл с фиксированным числом итераций

Структура For Loop (цикл с фиксированным числом итераций)

используется для повторения кода некоторое число раз. На рисунке 1.8

показана структура цикла с фиксированным числом итераций, где терминал

числа итерации «N» содержит число повторений кода. Это число подается на

терминал извне Цикла. Терминал счетчика итераций «I» содержит число

завершенных итераций цикла и всегда начинается с 0.

Page 18: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

18

Рисунок 1.8 – Структура цикла с фиксированным числом итераций.

1.5.4.2. Цикл по условию

Структура Whi1е Loop (цикл по условию) выполняет цикл до тех пор,

пока выполняется условие (Рисунок 1.9). Терминал условия выхода из цикла

останавливает цикл, если условие нарушается. Так же как и в цикле с

фиксированным числом итераций, терминал счетчика итераций «N»

содержит число завершенных итераций цикла и всегда начинается с 0.

Рисунок 1.9 – Структура цикла по условию

1.5.4.3. Структуры выбора варианта

Структуры выбора варианта Case Structure (рисунок 1.10) позволяют

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

терминале селектора структуры выбора варианта (selector terminal). На вход

терминала селектора могут подаваться как числа, принадлежащие к

логическому типу, так и целые числа, строки символов и перечисления.

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

Page 19: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

19

Селектор варианта (case selector) показывает состояние выполняемого

переключения. Варианты можно добавлять и удалять по мере

необходимости.

Рисунок 1.10 – Структуры выбора варианта

1.5.5. Типы данных в LabVIEW

В LabVIEW используются разнообразные типы данных. Некоторые

типы данных соответствуют обычным текстовым системам

программирования (целое число, логические данные, строка и пр.). Другие

типы данных реализованы только в LabVIEW и предназначены для более

надежной и удобной работы в составе автоматизированной системы научных

исследований. LabVIEW работает с такими типами данных, как

осциллограмма (Waveform), сигнал (Signal), ресурс VISA, измерительный

или управляющий канал и т.п. Цветом и внешним видом терминалов и

проводов LabVIEW подсказывает разработчику ВП, как и какие данные

обрабатываются блок-диаграммой. При подключении проводов, поэтому

работа со всем многообразием типов данных в LabVIEW весьма удобна.

Page 20: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

20

1.5.5.1. Простые скалярные типы данных

К числу простых скалярных типов данных относятся:

− вещественные числа (оранжевые терминалы и провода)

повышенной точности, двойной точности, одинарной точности в

LabVIEW обозначаются соответственно EXT, DBL, SGL;

− целые числа со знаком (синие терминалы и провода) 32-,16- и 8-

разрядные соответственно I32, I16, I8;

− неотрицательные целые числа без знака (синие терминалы и

провода) 32-,16- и 8-разрядные - соответственно U32, U16, U8;

− комплексные числа (оранжевые терминалы и провода)

повышенной точности, двойной точности, одинарной точности –

соответственно CXT, CBD, CSG

На рисунке 1.11 изображено всплывающее меню свойств числового

регулятора. Из этого меню можно выбрать нужный тип данных.

Рисунок 1.11 – Выбор типа данных для цифрового индикатора.

− логические данные (зеленые терминалы и провода), имеют одно из

двух возможных значений – True/False (Истина/Ложь);

− строковые данные (розовые терминалы и провода).

Page 21: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

21

1.5.5.2. Кластер

Кластер – конечный набор данных различных типов. Этот тип данных

соответствует типам struct в C/C++ или record в Pascal. Графически кластер

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

данные. Образный пример кластера – плащ c разными карманами. В одном

кармане монетка, в другом – связка ключей, в третьем бумажник, в четвертом

– телефон. Как правило все элементы кластера имеют отличительные

названия - имена (Label).

1.5.5.3. Массив

Массив – пронумерованный, непрерывный, неограниченный набор

однотипных данных. Каждый элемент массива имеет набор индексов,

соответствующий размерности массива: одномерный – 1 индекс, двумерный

– 2 индекса и т.д.

Графически массив выглядит как прямоугольная область, через которую

можно просматривать элементы массива. Рядом с левым верхним углом той

области отображаются индексы. Значения этих индексов соответствуют

элементу массива, показанному в левом верхнем углу. Одномерный массив

(вектор) – строка или столбец. Двумерный массив (матрица, таблица) –

таблица из нескольких строк и нескольких столбцов. Массивы больших

размерностей на плоскости экрана монитора отобразить невозможно,

поэтому они выглядят как таблицы, представляющие собой срез по

определенным индексам. Массив может содержать данные произвольного

типа. Например, может быть массив тумблеров (дискретные регуляторы),

или массив целых чисел, или массив кластеров. Для изменения размерности

массива можно использовать всплывающее меню свойств индекса(ов)

массива.

Page 22: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

22

В LabVIEW элементы массива нумеруются по строкам от нуля. Таким

образом элемент двумерного массива с индексами [2;4] находится в третьей

строке и пятом столбце. Массив всегда непрерывный набор данных, без

пропусков. Это значит, что если в массиве есть элемент с индексом любой

размерности "М", то есть и все элементы с индексами "i" этой размерности,

такими, что "0≤i<M". Массив, не содержащий ни одного элемента,

называется пустым.

Рисунок 1.12 - Пример работы с массивами (определение размера массива,

получение значения нужного элемента, получение нужной части

многомерного массива, транспонирование двумерного массива, замена

элемента массива).

Все элементы массива имеют один и тот же тип данных, причем в

широком смысле. Это значит, что одинаковы как и собственно типы данных,

Page 23: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

23

так и их графическое изображение, цвета, размеры графических образов

каждого элемента.

В палитре функций есть все необходимые средства для работы с

массивами, например определение количества элементов в массиве,

получение элемента по индексу (индексам), сортировка массива, удаление

элементов или изменение значений элементов массива. Большинство

функций для работы с массивами являются полиморфными (см. ниже) и

автоматически подстраиваются под конкретный вариант массива и

требуемую задачу.

1.5.5.4. Полиморфизм

Полиморфизм – исключительно удобное свойство многих функций

LabVIEW, позволяющее проводить различные операции с данными разных

типов с помощью одних и тех же функций. Например, функция "сложение"

может сложить два произвольных числа, она же может сложить поэлементно

два массива, она же может прибавить к каждому элементу массива какое-

либо число. Таким образом, полиморфные функции автоматически могут

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

различные результаты.

Приведем пример одной и той же программы на "C" и на LabVIEW –

рисунке 1.12.

Эта программа прибавляет число 123 ко всем элементам одномерного

массива.

Page 24: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

24

Рисунок 1.13 – Функция "сумма" в LabVIEW является полиморфной. Она

может складывать два числа, может прибавить число ко всем элементам

массива и т.п.

Page 25: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

25

1.6. Практическая работа 1.1. Создание простого ВП

Цель работы. Получение начальных практических навыков создания ВП.

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

среднеарифметического.

1.6.1. Запустите программу – щелкните два раза мышкой по иконке

LabVIEW 8.2 — должно появиться диалоговое окно, показанное на рисунке

1.14.

Рисунок 1.14 – Запуск LabVIEW.

1.6.2. Чтобы создать новый ВП, щелкните по пункту меню Blank VI

(Пустой ВП) в поле File > New. В результате появятся пустые окна лицевой

панели и блок-диаграммы (рисунок 1.15).

1.6.3. В данной работе требуются два входных и два выходных

числовых элемента управления. Один выход генерирует сумму, а другой —

среднее из двух входных значений. Чтобы создать входы, расположите два

числовых элемента управления Numeric Control на лицевой панели для чего

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

Page 26: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

26

лицевой панели, чтобы вызвать палитру элементов управления. Затем

выберите Controls > Numeric > Numeric Controls. Для каждого числового

элемента управления автоматически создается соответствуюшая

терминальная иконка на блок-диаграмме. Двойной щелчок на числовом

элементе управления подсвечивает соответствующую ему часть на блок-

диаграмме, и наоборот.

Рисунок 1.15 Новый ВП

1.6.4. Дать имена входам «X» и «Y». дважды щелкнув мышью на

принятых по умолчанию именах. При редактировании имени на лицевой

панели изменяется и имя соответствующей терминальной иконки на блок-

диаграмме.

1.6.5. Создать числовые индикаторы с именами «Сумма» и «Среднее»

так как это описано в п.п. 1.6.3., 1.6.4, с той лишь разницей что необходимо

выбрать элемент числовой индикатор Controls > Numeric > Numeric Indicator.

Page 27: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

27

Рисунок 1.16 – Лицевая панель и блок диаграмма ВП.

1.6.6. Перейти в окно редактирования блок диаграммы, разместить

функцию суммирования (Functions > Express > Ariphmetic & Comparision >

Express Nnmeric > Add) и деления (Functions > Express > Arithmetic &

Comparison > Express Numeric > Divide), числовую константу (Functions >

Express > Arithmetic & Comparison > Express Numeric > Num Const).

1.6.7. Соединить проводниками функции, структуры и терминальные

иконки на блок диаграмме. Для этого используется инструмент соединения

Wiring tool. Чтобы соединить объекты, укажите мышкой на инструмент

соединения на терминале той функции или ВПП, которые требуется

соединить, щелкните по терминалу левой кнопкой, переведите курсор на

терминал назначения и щелкните левой кнопкой еще раз.

1.6.8. Сохраните созданный ВП, для чего выберите из меню File > Save

или нажмите <Ctrl + S>. Появится диалоговое окно, в котором можно ввести

имя файла. Сохраните ВП под именем Сумма и среднее.

1.6.9. Проверить работу вашего ВП, задайте значения числовым

элементам управления на лицевой панели. Для запуска ВП выберите Operate

> Run или щелкните мышью на кнопке Run (Запуск) на панели инструментов.

По выходным значениям, отображающимся на числовых индикаторах,

можно проверить, правильно ли функционирует ВП.

1.6.10. Создать из разработанного ВП Виртуальный Под Прибор (ВПП),

который будет использоваться в ВП более высокого уровня. Для этого нужно

Page 28: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

28

настроить его соединительную панель. Соединительная панель связывает

входы и выходы ВПП с его терминалами, через которые происходит обмен

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

мыши на иконке в верхнем правом углу лицевой панели и выберите из меню

быстрого вызова Show Connector.

По умолчанию шаблон соединительной панели определяется числом

элементов управления и индикаторов. Терминалы на левой стороне шаблона

соединительной панели используются для входов, а на правой стороне — для

выходов. Чтобы добавить или удалить терминал из соединительной панели,

щелкните правой кнопкой и выберите Add Terminal или Remove Terminal.

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

терминалов, можно заменить шаблон соединительной панели, выбрав

Patterns (Шаблоны) из меню быстрого вызова. Когда шаблон выбран, каждый

терминал необходимо переназначить соответствующему элементу

управления или индикатору при помощи инструмента соединения или

включив автоматический режим выбора инструмента (см. п.п. 1.3.3).

1.7. Практическая работа 1.2. Использование структур ВПП

Цель работы. Получить навыки работы с структурами и ВПП.

Разработать ВП который будет показывать сумму и среднее двух входных

значений в непрерывном режиме. Пользователь может менять значения

входов. Если среднее двух входных значений превышает заранее заданное

пороговое значение, загорается предупреждающий индикатор.

1.7.1. Создать лицевую панель ВП показанной на рисунке 1.17. В

качестве входов используйте две ручки управления Knob из палитры

числовых элементов управления. Подкорректируйте размер ручек

управления с помощью инструмента Positioning tool. Свойства ручек

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

Page 29: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

29

правой кнопкой мышки и выбрав Properties из меню быстрого вызова.

Откроется диалоговое окно Knob Properties, по умолчанию открытое на

вкладке Appearance.

1.7.2. Переименуйте одну из ручек в Input 1. Выберите вкладку Data

Range, щелкните Representation и измените тип данных на байт. Для этого

выберите из представленных типов данных «байт» (I8 – Byte).

1.7.3. Присвойте второй ручке управления имя Input 2 и настройте ее

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

ручки установить тип данных с двойной точностью. В завершении

конфигурации лицевой панели выровняйте и распределите объекты.

1.7.4. В качестве выходов разместите числовой индикатор, круглый

индикатор Rounded LED (Control > Boolean > Rounded LED) и шкалу Gauge

(Control > Numeric > Gauge).

1.7.5. Отредактируйте имена индикаторов как показано на рисунке 1.17

Рисунок 1.17 – Лицевая панель и блок диаграмм ВП.

Page 30: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

30

1.7.6. Постройте блок-диаграмму. Откройте палитру функции, щелкнув

правой кнопкой мышки на свободном пространстве блок-диаграммы, и выбе-

рите Functions -> Select a VI (Функции -> Выбрать ВП). Появится диалоговое

окно открытия файла. Найдите ВП Сумма и Среднее (разработанный в

предыдушей работе) и разместите его на блок-диаграмме. На блок-диаграмме

появится иконка этого ВПП. Соедините числовые элементы управления,

Input 1 и Input 2, с терминалами х и у соответственно, а также соедините

терминал Сумма ВПП с числовым индикатором, обозначенным Сумма, а

терминал Среднее — с индикатором-шкалой под именем Среднее.

Функция Greater or Equal? (Больше или равно?), необходимая для

сравнения выхода ВПП Среднее с пороговым значением, находится в меню

Express > Arithmetic & Comparison > Express Comparision > Grater Or -?.

1.7.7. Чтобы ВП работал непрерывно, используется структура While

Loop (Цикл по условию). Создайте цикл по условию, выбрав Functions >

Express > Execution Control > Structures > While Loop. С помощью мышки

сгруппируйте объекты так, чтобы объединить их в цикл по условию, как

показано на рисунке 1.17.

1.7.8. Проверить работоспособность ВП, для чего запустите его при

помощи кнопки Run (Запуск) на панели инструментов. Задайте значения на

входах. Удостоверьтесь в том, что числовой индикатор и шкала показывают

правильные значения среднего и суммы. Обратите внимание, что через

первый вход можно задавать только целые числа, а через второй —

вещественные. Так происходит из-за разных типов данных входов. Тип

данных первого входа — байт, то есть I8, или 8-битное целое число со

знаком. В результате через этот вход можно ввести значения лишь в

диапазоне от -128 до 127. Учитывая, что минимальное и максимальное

значения этого входа - 0 и 10 соответственно, то через него можно подавать

только целые числа, принадлежащие интервалу от 0 до 10.

Page 31: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

31

Если среднее двух входных значений превысит заранее заданное

пороговое значение, равное 9, то загорится предупреждающий индикатор.

Чтобы остановить работу ВП, нажмите кнопку Stop на лицевой панели.

1.8. Практическая работа 1.3. Создание массива с индикацией

Цель работы. Научиться на практике применять функцию

автоиндексирования. Автоиндексирование позволяет читать из массива

данных или записывать в массив каждый элемент в структуре цикла. Эту

особенность рассмотрим в данном разделе

1.8.1. Сначала создайте цикл с фиксированным числом итераций For

Loop (Цикл с фиксированным числом итераций). Щелкните правой кнопкой

по терминалу числа итераций и выберите Create >Constant, чтобы задать

количество итераций. Введите 10 - тогда код внутри цикла будет повторяться

десять раз. Отметим, что значение счетчика числа циклов начинается с 0 и

заканчивается 9.

1.8.2. Поместите в цикл функцию Random Number (0-1) (Случайное

число (0-1)) (Express -> Arithmetic & Comparision -> Express Numeric ->

Random Num (0-1) и соедините выходной терминал этой функции, Number (0

-1), с границей цикла, чтобы создать точку входа/выхода в структуру.

Появится точка входа/выхода в виде прямоугольника с символом массива [ ]

внутри. Для цикла с фиксированным числом итераций автоиндексирование

включено по умолчанию, а в цикле по условию выключено.

1.8.3. Создайте индикатор для этой точки (щелкните правой кнопкой и

выберите Create > Indicator. На блок-диаграмме за пределами структуры

цикла появится иконка индикатора массива. Так как иконка имеет тип

данных «массив», ее проводник выглядит толще. Также на лицевой панели

отображается еще один индикатор, показывающий индекс массива. Этот

индикатор имеет тип данных «массив», и его размер можно менять по

Page 32: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

32

желанию. Учитывая, что в нашем примере задан цикл с десятью итерациями,

установим размер массива 10, чтобы можно было отобразить все значения.

1.8.4. Создайте вторую точку входа/выхода, присоединив выход

функции Random Number (0-1) к границе структуры цикла, затем щелкните

правой кнопкой по точке входа/выхода и выберите Disable indexing. После

этого в точке входа/выхода будет отображаться скалярная величина. Что бы

создать индикатор для точки входа/выхода, выберите Create Indicator из

меню быстрого вызова. За пределами структуры цикла появится индикатор

скалярного типа данных.

Рисунок 1.19 – Лицевая панель и блок диаграмм ВП.

1.8.5. Создайте третий индикатор терминала Number (0-1) функции

Random Number (0 -1), расположенный в контуре цикла, для наблюдения

появляющихся значений. Для этого щелкните правой кнопкой на выходе или

присоединенном к ней проводнике и выберите Create > Indicator.

1.8.6. Воспользуйтесь экспресс ВП Time Delay (Задержка) (Functions ->

Programming -> Timing -> Time Delay для организации задержки выполнения

Page 33: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

33

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

конфигурации времени задержки в секундах. Введите 0.1 - после каждой

итерации будет задержка в 0,1 сек.

1.8.7. Сохраните ВП и запустите его, чтобы проверить его работу.

Каждые 0.1 с на индикаторе, расположенном внутри контура цикла, должно

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

цикла не должно быть доступно никаких данных до тех пор, пока не кончатся

итерации цикла. На точке входа/выхода с включенной индексацией должен

образоваться массив из 10 элементов, а на точке входа/выхода с

выключенной индексацией появится только один, последний элемент

массива.

1.9. Практическая работа 1.4. Отладка ВП: инструмент Probe

Цель работы. Научиться работать с инструментом «Probe» для проверки

промежуточных данных во время выполнения ВП.

1.9.1. Размещение пробника на проводнике создает окна пробника, в

которых можно наблюдать промежуточные значения. Окна пробников можно

настраивать. Например, отображение массива в виде графика облегчает

отладку. Чтобы сделать это, щелкните правой кнопкой мышки на

проводнике, по которому передается массив, и выберите из меню быстрого

вызова Custom Probe > Controls > Graph Indicators > Waveform Graphs.

1.9.2. В качестве примера произвольного пробника здесь используются

Waveform Chart (Развёртка осциллограммы), по которой можно проследить

скалярные значения в месте расположения пробника 1, Waveform Graph

(График осциллограммы), на котором можно увидеть массив в месте

расположения пробника 3, и обычное окно пробника, показывающее

значения ВП Indexing Example (Пример индексации). Эти пробники и их

расположение показаны на рисунке 1.19.

Page 34: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

34

1.9.3. Добавить в ВП индикацию max, min и среднего значения

массива.

Рисунок 1.18 – Лицевая панель и блок диаграмм ВП.

Page 35: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

35

ТЕСТ РУБЕЖНОГО КОНТРОЛЯ №2

Тест содержит 6 заданий, на выполнение которых отводится 3 минуты.

Выберите наиболее правильный, по Вашему мнению, вариант ответа и

отметьте его любым значком в бланке ответов.

Комбинированная весомость вопросов 0,05 балла.

Комбинированная весомость модуля №1 0.3 балл.

1. Тип данных Integer 8 бит, позволяет хранить число в диапазоне

а) 0…255 в) 0…65535

б) -127…128 г) -32768…32768

2. С помощью какой структуры возможно организовать повторяющийся

цикл по условию?

а) Case в) Whi1е Loop

б) For Loop г) Event

3. Тип данных Unsigned word 16 бит, позволяет хранить число в диапазоне

а) 0…255 в) 0…65535

б) -127…128 г) -32768…32768

4. Вышеприведенная схема реализует сл. уравнение

а) � � ��� � �� �⁄ � в) � � ��� � �� �⁄ �

б) � � ��� � �� �⁄ � г) � � ��� � �� �⁄ �

5. Вышеприведенная схема реализует сл. функцию

а)

Находит в массиве число 10 и

выдает место расположение его в

массиве

в) Находит в массиве число 10 и

удаляет его из массива

б) Формирует массив из 10

случайных чисел в диапазоне 0…1 г)

6. Какой тип данных содержит сл. информацию t0 – время старта, dt –

временной интервал между точками, Y – массив значений.

а) Cluster в) Analog Waveform

б) Array г) Variant

Page 36: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

36

Модуль №2 Системы сбора и обработки измерительной

информации

Комплексная цель. Ознакомиться с современными устройствами сбора и

обработки измерительной информации, научиться самостоятельно

разрабатывать приложения для ввода и вывода информации.

2.1. Обзор устройств сбора и обработки измерительной информации

Устройства сбора данных принимают, обрабатывают и анализируют

сигналы от реальных физических объектов. Напряжение, сила тока, сила

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

типов сигналов, которые могут быть измерены.

Сбор данных – это процесс измерения электрических сигналов,

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

результатов измерения в компьютер для дальнейшей обработки. В системах

сбора данных может также производиться вывод аналоговых или цифровых

сигналов управления.

Обычно система сбора данных (DAQ-система) состоит из следующих

компонентов:

− Первичный измерительный преобразователь (датчик) –

устройство, которое преобразует физическую величину, такую,

как свет, температура, давление или звук в электрический сигнал,

например в электрическое напряжение или ток, который может

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

− Сигнал – результат преобразования физической величины

датчиком.

− Устройства кондиционирования (промежуточного,

дополнительного преобразования) сигналов – технические

средства, которые могут быть подключены к измерительному

Page 37: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

37

прибору для того, чтобы сигнал удобнее было измерять, чтобы

увеличить точность измерений или уменьшить шум. Основные

виды кондиционирования сигналов – это усиление, возбуждение,

линеаризация, развязка и фильтрация.

− Аппаратура DAQ – аппаратные средства, используемые для

получения, сбора и обработки данных.

− Программное обеспечение – программные средства корпорации

NI, специально разработанные для упрощения проектирования и

программирования прикладных измерительных и управляющих

систем приложения для управления приборами и измерения

сигналов.

На рисунке 2.1 приведена структура типичной измерительной системы.

Рисунок 2.1 – Структура измерительной системы

Page 38: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

38

Распространенные методы сбора данных реализуются с помощью

встраиваемых в компьютер устройств и автономных измерительных

приборов, приборов, поддерживающих интерфейс GPIB, систем стандарта

PXI (расширение PCI для измерительной техники) и приборов с портом RS-

232.

Обработка исходных данных путем аппроксимации, статистического

анализа, получения частотных характеристик и других математических

операций превращает эти данные в информацию, подающуюся последующей

интерпретации. Для представления данных используются графики или

таблицы, шкальные или мнемонические индикаторы (например, термометр),

другие форматы и средства визуализации.

Разработка компьютерной измерительной системы может оказаться

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

разрабатываемых измерительных систем ниже рассматриваются несколько

их основных типов.

2.1.1. Измерительная система на платформе PXI

Рассмотрим измерительную систему и ее составные части построенные

на платформе PXI. Промышленный стандарт PXI (PCI eXtensions for

Instrumentation) является открытым стандартом, развитием которого

занимается PXI Systems Alliance (PXISA). Он определяет компактную

модульную платформу на базе PC для систем тестирования, измерения и

управления. PXI использует шину PCI, которая является фактическим

стандартом для программных и аппаратных решений современных

настольных ПК. В результате пользователи PXI получают все преимущества

PCI вместе с архитектурой, которая поддерживает механические,

электрические и программные возможности, рассчитанные на использование

в промышленных измерительных приборах, системах управления и

автоматизации, а также в системах сбора данных.

Page 39: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

39

Хорошо подходящий для промышленных приложений, PXI опирается на

спецификацию CompactPCI, определяющую надежный конструктив для PCI,

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

извлечение аппаратных компонентов. Устройства PXI обеспечивают более

высокие и более тщательно определенные уровни эксплуатационных

характеристик, которые требуются для работы в производственных условиях

с сильной вибрацией, высокой температурой и влажностью. По отношению к

механической спецификации CompactPCI, в PXI добавлен обязательный

контроль параметров окружающей среды и активное охлаждение для

облегчения системной интеграции и обеспечения сопряжения оборудования

от разных поставщиков.

Кроме того, PXI удовлетворяет более специфическим потребностям

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

шины запуска и тактирования для многоплатной синхронизации,

звездообразной шины запуска для прецизионной синхронизации и локальных

шин для связи между соседними периферийными устройствами.

Рисунок 2.2 – Внешний вид передней панели измерительной системы PXI.

Page 40: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

40

Аппаратную часть измерительной системы построенной на платформе

PXI можно разделить на 3 части:

− Шасси

− Контроллер

− Измерительные модули.

2.1.1.1. Контроллер PXI измерительной системы

Контроллер PXI измерительной системы является модульным ПК,

выполненным в конструктиве PXI Express 3U. На рисунке 2.3 показан

внешний вид и функциональная схема (рисунок 2.4) контроллера на примере

NI PXI-8106. Вслед за диаграммой приведены описания всех показанных

логических блоков.

Рисунок 2.3. Внешний вид PXI контроллера

Page 41: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

41

Рисунок 2.4 – Функциональная схема PXI контроллера

Cостоит из следующих логических блоков на модуле процессора и на

модуле ввода/вывода. Процессорный модуль имеет следующие логические

блоки:

− Процессор Intel® Core 2™ Duo T7400AMD на разъёме Socket 479

CPU.

− Блок SO-DIMM состоит из двух 64-битных разъёма DDR2 SDRAM, в

которые можно вставлять планки памяти объёмом до 1 Гб.

− Чипсет 945GMCH (Graphics and Memory Controller Hub)

обеспечивает соединение CPU, DDR2 SDRAM и видео DVI-I.

Page 42: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

42

− Связь между разъемом SMB и Триггерами PXI даёт возможность

подключать триггеры PXI к разъёму SMB на лицевой панели.

− Блок Сторожевого таймера (Watchdog timer) содержит сторожевой

таймер, который может перегрузить контроллер или сгенерировать

импульс запуска.

− Чипсет Chipset ICH7M соединяет шины PCI, USB, IDE, SATA и LPC.

− Разъемы USB подключаются к чипсету ICH7M

− Разъем PXI подключает NI PXI-8106 к объединительной панели

PXI/CompactPCI.

− Блок Super I/O представляет другие периферийные устройства NI

PXI-8106. В состав NI PXI-8106 входит один последовательный порт

и параллельный порт ECP/EPP.

− Гигабитный Ethernet подключается к сети Ethernet 10, 100 или 1000

Мбит.

− Блок GPIB содержит GPIB интерфейс.

− К разъёму ExpressCard/34 можно подключить модуль ExpressCard/34.

− Блок SATA соединяет жесткий диск Serial ATA с ICH7M.

− Блок ATA-100 IDE is dedicated PCI-IDE circuitry обеспечивающий

быструю передачу ATA-100 transfers на внутренний жесткий 2,5-

дюймовый диск. Функция IDE встроена в чипсет. Жесткий диск

имеет емкость 30 Гб или более.

Как видно из вышеприведенной функциональной схемы, PXI

контроллер представляет собой модифицированный IBM совместимый

компьютер. На который устанавливается ОС Windows, под управлением

которой работают программы разработанные в LabVIEW, LabVIEW/СVI для

ИИС. Кроме того на контроллер может быть установлена операционная

система реального времени. Что обеспечит надежное время-

детерминированное решение задач автоматизации и управления.

Программировать, конфигурировать и контролировать работу таких

контроллеров возможно с удаленного ПК по сети Ethernet. Разработка

Page 43: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

43

приложений для контроллеров реального времени осущетвляется с помощью

LabVIEW и модуля LabVIEW Real-Time, установленных на ПК с ОС

Windows или MacOS, с последующей загрузкой по Ethernet на PXI RT

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

ОС жёсткого реального времени.

2.1.1.2. Шасси PXI измерительной системы

Представляет собой крейт в котором установлен источник питания,

шина PXI Express обеспечивающая связь между модулями системы. PXI

шасси может использоваться для работы с PXI и CompactPCI модулями.

Широкий спектр доступных на рынке модулей PXI/CompactPCI позволяет

создать на базе данной платформы гибкие и мощные контрольно-

измерительные системы. На рисунке 2.5 показан внешний вид и

функциональная схема (рисунок 2.6) шасси на примере NI PXI-1062.

Рисунок 2.5. – Внешний вид PXI шасси

Page 44: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

44

Рисунок 2.6 – Функциональная схема PXI шасси

Локальная шина PXI

Локальная шина PXI – это шина типа гирлянды на задней панели,

которая, соединяет каждый слот расширения с соседними. Полная 13-ти

канальная локальная шина PXI связывает соседние разъемы PXI (6, 7 и 8).

Локальная шина PXI типа 6 связывает все остальные слоты. Левое

соединение локальной шины слота 1 и правое соединение слота 8 не связаны

ни с чем. По этой шине могут передаваться как высокоскоростные цифровые

сигналы TTL, так и аналоговые сигналы амплитудой до 42 В.

Чтобы определить совместимость с локальной шиной, программа

инициализации обращается к настройкам каждого соседнего слота

расширения.

Шина синхронизации PXI

Для всех разъемов доступно 8 линий синхронизации. Существует

несколько способов их использования. Например, с помощью триггеров

можно синхронизировать работу периферийных модулей PXI. В других

приложениях один модуль может задавать строгие временные

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

Page 45: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

45

передавать сигналы триггеров другим модулям для точного отклика на

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

Задающий генератор

В шасси PXIe-1062Q сигналы тактирующего генератора 10 МГц

(PXI_CLK10) доступны каждому слоту расширения, а сигналы PXIe_CLK100

и PXIe_SYNC100 – гибридным и слоту тактирования.

2.1.1.3. Измерительные модули

Технология модульных приборов основана на использовании

компактного, высокопроизводительного оборудования, функционального

программного обеспечения и встроенных систем синхронизации и

тактирования, обеспечивающих проведение гибких, точных и

высокопроизводительных измерений и тестов. Работают они в диапазоне

частот сигналов от постоянного тока до радиочастот. Характерной

особенностью контрольно-измерительной PXI платформы является

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

предназначенных для обработки сигналов разного типа. Технологии

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

системных устройств запуска, синхронизации и тактирования, что

обеспечивает наиболее точное и гибкое взаимодействие всех компонентов

системы. Возможно использовать различные специализированные

модульные приборы для создания гибких, полнофункциональных,

реконфигурируемых тестовых систем, отвечающих именно вашим нуждам.

Технология виртуальных приборов предоставляет вам новые возможности по

интеграции модулей в составе единой системы, позволяя с помощью

программного обеспечения изменять ее функциональность в случае

необходимости.

Page 46: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

46

Рисунок 2.7 – PXI измерительный модуль (цифровой осциллограф).

На данный момент многие фирмы предлагают модульные

измерительные приборы такие как:

− высокоскоростные осциллографы/регистраторы сигналов

− генераторы сигналов

− высокоскоростной цифровой ввод/вывод (генераторы /

анализаторы)

− ВЧ векторные генераторы/анализаторы сигналов

− цифровые мультиметры

− системы виброакустической диагностики

− программируемые источники питания

− коммутационное оборудование (реле, мультиплексоры, матрицы)

2.1.2. Встраиваемые измерительные устройства общего назначения.

DAQ-устройства общего назначения предназначены для измерения

сигналов и могут иметь несколько каналов. Эти устройства используют

также для генерации аналоговых сигналов, например, синусоиды, и

цифровых сигналов, например, импульсов. Как правило, DAQ-устройства

подключаются непосредственно к внутренней системной шине компьютера

через разъем (слот).

Page 47: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

47

Измерительная система на основе DAQ-устройств общего назначения

отличается от других систем тем, что программное обеспечение,

установленное на компьютере, используется непосредственно в процессе

измерений. Устройство сбора данных только преобразует входной

аналоговый сигнал в цифровой, который может быть воспринят

компьютером. Это означает, что одно и то же устройство сбора данных

может выполнять разнообразные измерения всего лишь путем замены

прикладной программы, которая считывает данные.

Кроме сбора данных, программное обеспечение подобных систем

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

Несмотря на то, что одно и то же устройство может быть использовано при

решении многих задач измерений, на разработку различных прикладных

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

ресурсы времени. В состав LabVIEW входит большое количество функций

сбора и обработки данных, применение которых помогает в проектировании

приложений.

Прежде чем компьютерная измерительная система сможет измерить

некоторую физическую величину, например, температуру, физический

сигнал с помощью датчика или измерительного преобразователя должен

быть преобразован в электрический – ток или напряжение.

Встраиваемое DAQ-устройство сбора данных можно рассматривать как

законченную измерительную систему, однако, на самом деле, это устройство

является всего лишь одним из компонентов системы и не всегда на него

можно напрямую подавать измеряемые сигналы. Во многих случаях

необходимо использовать специальные средства согласования

(кондиционирования), а преобразованные сигналы DAQ - устройство

преобразует в цифровую форму. В процессе сбора исходных данных, их

обработки и представления результатов функционированием DAQ-системы

управляет программное обеспечение.

Page 48: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

48

− Рассмотрим следующие разновидности систем сбора

данных: Устройство сбора данных встраивается в компьютер – в

PCI слот стационарного компьютера или в слот PCMCIA ноутбука

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

− Устройство сбора данных является внешним и

подключается к компьютеру через последовательный порт или

порт Ethernet. В этом случае измерительные устройства

достаточно просто и быстро могут быть размещены поблизости от

датчиков.

2.1.3. Автономные приборы

Многие измерительные приборы выпускаются, как автономные

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

подобные приборы к компьютеру, можно программно контролировать их и

управлять ими, а также собирать данные в компьютер для сохранения в

файлах и дальнейшей обработки. На основе автономных приборов можно

создать компьютеризированную систему, так же, как и на основе

встраиваемых устройств сбора данных общего назначения. Автономные

приборы, обладающие возможностями простой интеграции в системы,

называют модульными.

Независимо от того, как приборы подключены к компьютеру, их

взаимодействие организуется с помощью специального протокола. Каким

образом компьютер управляет прибором и осуществляет сбор данных –

зависит от типа прибора. Наибольшее распространение получили приборы,

поддерживающие последовательный интерфейс, приборный интерфейс

GPIB.

Page 49: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

49

Рисунок 2.8 – Пример автономного измерительного прибора

(измеритель иммитанса (R,L,C – метр) Е7-20).

Как и встраиваемые устройства сбора данных общего назначения,

автономные приборы преобразуют измеряемые величины в код, однако, они,

как правило, являются специализированными приборами,

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

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

автономных приборах нельзя модифицировать, поскольку оно, как правило,

"зашито" в прибор. Несомненным достоинством автономных приборов

является независимость их метрологических свойств от управляющего ПО.

Поскольку модульная измерительная аппаратура используется со

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

изменение режимов работы измерительных приборов осуществляется

достаточно просто. Например, модульный цифровой мультиметр, подобно

осциллографу, можно запрограммировать на высокоскоростной сбор данных

в буфер. Компьютеры управляют измерительными приборами, посылая им

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

часто стал использоваться интерфейс USB. Например, прибору можете

отправить команду измерить сигнал, а затем – команду вернуть результат

измерений в компьютер.

Page 50: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

50

2.2. Ввод аналогового сигнала

Большинство первичных преобразователей (датчиков), которые

используются в измерительных системах имеют аналоговый выход по

напряжению либо по току. Для того что бы было возможно его

проанализировать и обработать в ИИС, сигнал поступающий с датчика

оцифровывают с помощью устройств аналогового ввода измерительной

информации (DAQ устройства).

Устройства ввода аналоговых сигналов работают с заземленными и

"плавающими" источниками сигнала.

2.2.1. Заземленные источники сигнала

Заземленный источник - это такой источник, выходное напряжение

которого снимается относительно заземления системы, например,

относительно общей шины с нулевым потенциалом или шины заземления

здания. Подобный источник имеет общую "землю" с измерительным

прибором. Наиболее распространенными заземленными источниками

сигналов являются устройства, которые через настенную розетку питания

подключаются к заземлению здания, например, генераторы сигналов и

источники питания. Обычно общие цепи ("земли") двух независимо

заземленных источников имеют разные потенциалы. Разность потенциалов

между "землями" двух приборов, подключенных к системе заземления

одного и того же здания, составляет от 10 до 200 мВ.

Рисунок 2.9 – Заземленный источник сигнала (Ground – земля)

Page 51: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

51

Если силовая подводка электроэнергии выполнена неправильно, эта

разность может быть и выше. В подобных ситуациях говорят о паразитных

контурах заземления.

2.2.2. Плавающие источники сигнала

У плавающего источника сигнала выходное напряжение не связано с

общей цепью заземления. Распространенными примерами плавающих

источников являются гальванические элементы, термопары, трансформаторы

и изолирующие усилители. Обратите внимание на то, что ни один вывод

источника не подключен к выводу заземления, поэтому выходной сигнал

плавающего источника не зависит от системы заземления.

Рисунок 2.10 – Плавающий источник сигнала

2.2.3. Кондиционирование сигналов

Под кондиционированием сигналов следует понимать процесс

предварительной обработки сигналов с целью улучшения точности

измерений, качества изоляции цепей (развязки), фильтрации и т.д.

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

форму, которую может воспринять устройство аналого-цифрового

преобразования. Например, у большинства термопар выходное напряжение

очень мало и соизмеримо с шумом. Следовательно, перед оцифровкой такого

сигнала его необходимо усилить. Усиление является одной из форм

кондиционирования. К другим типовым разновидностям кондиционирования

сигналов относятся линеаризация, возбуждение датчика, развязка.

Page 52: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

52

2.2.3.1. Усиление

Усиление является наиболее часто применяемой разновидностью

кондиционирования сигналов, позволяющей уменьшить влияние помех и

повысить точность представления сигнала после оцифровки.

Для увеличения отношения сигнал/помеха усиление сигналов низкого

уровня в устройстве сбора данных (DAQ) или в модуле кондиционирования

(SCXI) должно производиться как можно ближе к источнику сигнала (на

рисунке 2.11 усилитель показан внешним). При этом наивысшая точность

измерений может быть достигнута, если диапазон изменения усиленного

напряжения соответствует максимальному диапазону входных напряжений

аналого-цифрового преобразователя (АЦП).

Рисунок 2.11 - Для увеличения отношения сигнал/помеха усиление сигнала

производится непосредственно у источника

Если сигнал усиливается в устройстве сбора данных (DAQ), то аналого-

цифровому преобразованию подвергается сумма сигнала и помехи, которая

может быть наведена на соединительные проводники, поэтому отношение

сигнал/помеха уменьшается. Однако если сигнал усиливать непосредственно

у источника с помощью модуля кондиционирования (SCXI), помеха

искажает сигнал в меньшей степени и можно получить лучшее цифровое

представление значений слабого сигнала.

Page 53: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

53

2.2.3.2. Линеаризация

Многие датчики, такие как термопары, обладают нелинейной

зависимостью выходного сигнала от измеряемой величины. LabVIEW

позволяет линеаризовать напряжение, поступающее от датчиков, так что

можно легко отмасштабировать значения напряжения в единицах

измеряемой величины. В LabVIEW имеются функции, обеспечивающие

масштабирование сигналов от датчиков деформации, терморезисторов,

термопар и термисторов.

2.2.3.3 Возбуждение датчика

Системы кондиционирования сигналов могут вырабатывать

возбуждающие воздействия, которые требуются для функционирования

некоторых датчиков. Так, при измерении физических величин с помощью

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

или ток на измерительную схему, в которую включены датчики. Это

напоминает радиоприемник, которому для приема и преобразования

аудиосигналов нужен источник питания.

2.2.3.4. Развязка

Для обеспечения надежности применяется такая разновидность

кондиционирования сигналов, как изоляция (развязка) выходных цепей

датчика от компьютера. Источник сигнала нельзя подключать

непосредственно к устройству сбора данных без какой-либо развязки, если

контролируемый сигнал содержит большие выбросы напряжения, которые

могут вывести из строя компьютер или опасны для оператора.

Изоляцию датчика от компьютера можно использовать, чтобы

исключить влияние разности потенциалов в контурах заземления на

результаты измерений с помощью устройства сбора данных. Если устройство

сбора данных и источник сигнала заземлены не в одной и той же точке

Page 54: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

54

2.2.4. Измерительные системы с дифференциальными входами

Измерительные системы с дифференциальными входами используются

совместно с плавающими (незаземленными) источниками сигнала. Ни один

из дифференциальных входов измерительной системы не соединен с общей

шиной или заземлением здания.

Типичное устройство, в котором реализована 8-канальная

измерительная система с дифференциальными входами, показано на рисунке

2.12. Аналоговые мультиплексоры (MUX) в измерительных цепях позволяют

увеличить количество измерительных каналов, при этом достаточно одного

инструментального усилителя. Вывод AIGND (заземление цепей аналогового

ввода) является заземлением измерительной системы.

Рисунок 2.12 – Инструментальный усилитель, как часть измерительной

система с дифференциальными входами.

Идеальная измерительная система с дифференциальными (симметричными)

входами реагирует только на разность потенциалов между входами:

положительным (неинвертирующим + ) и отрицательным (инвертирующим -

). Синфазная помеха (помеха общего вида) представляет собой некоторое

напряжение относительно заземляющего проводника, создаваемое на обоих

Page 55: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

55

входах инструментального усилителя. Идеальная система с

дифференциальными входами не измеряет синфазную составляющую

входного напряжения, полностью подавляя ее. Подавление напряжения

общего вида необходимо, поскольку помехи чаще всего наводятся на

соединительные проводники, как синфазные напряжения. Однако

способность подавлять синфазное напряжение в измерительных системах с

дифференциальными входами на практике ограничивается такими

факторами, как допустимый диапазон синфазных напряжений и

коэффициент подавления синфазного сигнала (CMRR – Common-Mode

Rejection Ratio).

Коэффициент подавления синфазного сигнала характеризует способность

измерительной системы подавлять помеху общего вида. Этот коэффициент

является функцией частоты и обычно уменьшается с ее увеличением. Чем

больше коэффициент CMRR, тем лучше усилитель может выделять

дифференциальную составляющую из сигнала, содержащего синфазную

помеху. Коэффициент подавления синфазного сигнала можно

оптимизировать с помощью схем симметрирования. Для большинства

устройств сбора данных указывают коэффициент подавления синфазного

сигнала на частотах до 60 Гц (частоты питающей сети). Коэффициент

подавления синфазного сигнала в децибелах (dB) определяется по формуле:

где KD и KCM – коэффициенты усиления дифференциального и

синфазного сигналов соответственно.

2.2.5 Измерительные системы с несимметричным входом

Измерительные системы с несимметричным входом подобны

источникам сигналов, у которых выходной сигнал снимается относительно

земли. Если система с несимметричным входом заземлена (Referenced Single-

Page 56: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

56

Ended Measurement Systems – RSE), то напряжение измеряется относительно

вывода заземления аналогового ввода AIGND, непосредственно оединенного

с заземлением самой системы. (Такие системы еще называют системами с

"однопроводным" подключением сигналов и заземленным общим проводом).

На рисунок – 2.13 показана 16-канальная измерительная система с

несимметричным входом и заземленным общим проводом.

Рисунок 2.13 - Инструментальный усилитель, как часть измерительной

система с заземленными несимметричными входами.

В устройствах сбора данных часто применяются схемы измерений с

несимметричными входами без заземления общего провода (Non - Referenced

Single-Ended Measurement Systems – NRSE). Схема реализации подобных

подключений внешне похожа на схему с заземленными несимметричными

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

система с незаземленными несимметричными входами называется системой

с псевдо- дифференциальными входами.

Page 57: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

57

Рисунок 2.14 – Инструментальный усилитель, как часть измерительной

системы с незаземленными несимметричными входами.

В системах типа NRSE все измерения проводятся относительно общего

вывода аналоговой части схемы (в устройствах сбора данных E серии он

обозначен AISENSE), однако потенциал этого вывода может значительно

отличаться от потенциала заземления системы (AIGND).

Одноканальная система с незаземленным несимметричным входом

аналогична одноканальной дифференциальной системе.

2.2.6. Выбор частоты дискретизации

Одной из важнейших характеристик ввода или вывода аналоговых

сигналов, выполняемых измерительный системой, является частота, с

которой дискретизируется входной или генерируется выходной сигнал.

Частота дискретизации или частота опроса, задаваемая для функций NI-

DAQmx, определяет, как быстро осуществляется аналого-цифровое или

цифро-аналоговое преобразование. При высокой частоте дискретизации

входного сигнала собирается больше отсчетов в течение заданного интервала

времени и это дает лучшее представление об исходном сигнале, чем при

низкой частоте дискретизации.

Page 58: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

58

Слишком малая частота дискретизации приводит к эффекту наложения

спектра (Aliasing), в результате чего представление аналогового сигнала

искажается. При этом сигнал отображается так, как будто его частота

отличается от той, что есть на самом деле. Для устранения эффекта

наложения спектра частота дискретизации должна быть в несколько раз

больше частоты сигнала.

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

спектра измеряемого сигнала частота дискретизации должна быть вдвое

больше его верхней частотной компоненты. Частота Котельникова – это

максимальная частотная компонента сигнала, которая может быть

представлена без наложения спектра. Частота Котельникова вдвое меньше

частоты дискретизации. Частотные составляющие сигнала, превышающие

частоту Котельникова, накладываются на область между нулевой частотой и

частотой Котельникова. Ложная низкочастотная составляющая

дискретизированного сигнала равна модулю разности между частотой

входного сигнала и ближайшей частотой, кратной частоте дискретизации.

Пусть, например, частота дискретизации S f равна 100 Гц, а входной сигнал

содержит следующие частотные составляющие: 25 Гц, 70 Гц, 160 Гц и 510 Гц

Рисунок 2.14 – Частотные компоненты без искажения

Magnitude - амплитуда, Frequency – частота,

Nyquist Frequency – частота Котельникова (Найквиста),

Sampling Frequency – частота дискретизации

Page 59: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

59

Как показано на ниже приведенном рисунке, частотные составляющие

сигнала ниже частоты Котельникова ( f Гц S/2 = 50 ) воспроизводятся

корректно, а частотные составляющие сигнала, превышающие частоту

Котельникова, приводят к появлению ложных частотных компонент.

Например, составляющая F 25 Гц 1 = воспроизводится корректно, в то же

время частотные составляющие исходного сигнала F =70 Гц, F= 160 Гц

F=510 Гц порождают ложные составляющие F=30 Гц, F=40 Гц F= 10 Гц.

Рисунок 2.15 – Пример с ложными частотными составляющими

Page 60: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

60

2.3. Практическая работа №2.1. Ввод аналогового сигнала с

использованием DAQ устройств.

Цель работы. Получить опыт в разработке приложений

осуществляющих ввод аналоговой измерительной информации.

Теоретические сведения. Разработка прикладных систем сбора данных

выполняется с использованием ВП из палитры NI Measurements в

соответствии с основными этапами программирования, изображенными на

рисунке 2.16.

Рисунок 2.16 – Основные этапы создания DAQ-приложения

Следует обратить внимание, что задание режимов тактирования и

запуска не являются обязательными. Этап задания режима тактирования

необходим при использовании аппаратной синхронизации. Если

Создание задач

и каналов

Установка режимов

тактирования

Установка режимов

запуска

Запуск ввода (вывода) данных

Остановка

Page 61: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

61

используется NI-DAQmx, параметры синхронизации могут быть определены

в задаче с помощью DAQ Assistant.

Задание режима запуска используется, если необходимо выполнять сбор

данных при реализации определенных условий, например при превышении

входным сигналом заданного уровня. При работе с NI-DAQmx

конфигурирование режима запуска также может осуществляться с помощью

задачи DAQ Assistant.

Большинство приложений NI-DAQmx содержат этапы запуска (Start),

останова (Stop) и очистки (Clear) задачи. Например, в приложениях, в

которых для подсчета фронтов или измерения периода используется

таймер/счетчик, для управления счетчиком применяется VI Start.

NI-DAQmx LabVIEW очищает задачу автоматически по завершении

работы иерархии VI, созданных задачей. Палитра NI-DAQmx содержит VI

для синхронизации, запуска, чтения и записи отсчетов. Для расширения

функциональности VI NI-DAQmx можно использовать свойства.

Выполнение работы

2.3.1. Разработайте программу для измерения напряжения. Блок-

диаграмме на рисунке 2.17 показывает пример использования VI NI-DAQmx.

VI DAQmx Create Virtual Channel создает виртуальный канал Analog Input

Voltage (аналоговое входное напряжение) из физического канала Physical

Channel, напряжение на выходе которого принимает значения в диапазоне

до 0 до 10 В. Затем DAQmx Read в режиме Analog Wfm 1Chan NSamp

производит 1000 выборок с одного виртуального канала, который

сформирован VI DAQmx Create Virtual Channel.

Page 62: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

62

Рисунок 2.17 – Блок-диаграмма измерения напряжения переменного тока с

помощью VI NI-DAQmx

2.3.2. Проверьте работоспособность разработанного ВП, измерив

поданное на DAQ устройство постоянное напряжение.

2.3.3. Модернизируйте ВП таким образом что бы сбор данных

происходил непрерывно.

2.3.4. Добавьте в ВП графический индикатор для наблюдения

осциллограммы.

2.4. Практическая работа №2.2. Вывод аналогового сигнала с

использованием DAQ устройств.

Цель работы. Получить опыт в разработке приложений

осуществляющих вывод аналоговой измерительной информации.

Теоретические сведения. Сгенерировать можно как одно значение

напряжения постоянного тока, так и сигнал, изменяющийся во времени,

который называют буферизированным сигналом.

Одноточечный аналоговый вывод

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

его значений, то генерируют постоянное напряжение (DC). Для этого можно

использовать VI аналогового вывода одного значения (Single - Point Analog

Output). При таком способе генерации осуществляется вызов одного из VI,

Page 63: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

63

который производит однократное обновление или однократное изменение

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

уровня сигнала в канале аналогового вывода. Таким образом, скорость

изменения выходной величины зависит только от того, насколько быстро

LabVIEW осуществляет вызовы VI. Такую технологию, называемую

программной синхронизацией, применяют, когда не требуется генерация

быстроизменяющихся сигналов или нет повышенных требований к

тактированию.

Буферизированный аналоговый вывод

Если скорость изменения выходного сигнала так же важна, как и

уровень сигнала, то применяется буферизированный аналоговый вывод.

Например, устройство ввода-вывода может работать как функциональный

генератор. Для реализации этого режима используют VI, который генерирует

один период синусоидального сигнала, например, Sine Generation VI, отсчеты

одного периода синусоиды сохраняют в массиве типа Waveform и передают в

устройство ввода - вывода для непрерывного формирования значений

синусоиды по точкам с заданной частотой. Для генерации непрерывно

изменяющегося сигнала может быть использован аналоговый вывод с

кольцевой буферизацией. Примером может служить генерация сигнала,

отсчеты которого хранятся на диске в файле данных большого размера. Если

компьютер не может хранить весь сигнал в одном буфере, то во время

генерации необходимо периодически подгружать в буфер новые данные.

Схема подключения сигналов зависит от типа DAQ-устройства,

коммутационного блока и модуля кондиционирования сигналов. В

устройствах E серии для вывода аналоговых сигналов служат контакты AO0,

AO1 и AO GND, где AO0 – выходное напряжение для канала вывода 0, AO1

– выходное напряжение для канала вывода 1, AO GND – заземление для

обоих каналов вывода и внешнего источника опорного напряжения. На

рисунке 2.18 показано, как подключаются цепи аналогового вывода в

устройствах производства NI.

Page 64: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

64

Рисунок 2.18 – Подключение цепей аналогового вывода

Load – нагрузка; I/O Connector – разъем ввода-вывода;

Analog Output Channels – каналы вывода аналоговых сигналов

Выполнение работы

2.4.1. Разработайте ВП для генерации напряжения используя VI NI-

DAQmx. В блок-диаграмме на рисунок 2.19 VI NI-DAQmx используются для

генерации синусоиды в канале вывода аналогового сигнала. VI Sine

Waveform формирует отсчеты синусоидального сигнала с частотой 10 Гц и

амплитудой 1 В. VI DAQmx Write записывает данные о сигнале в отведенный

физический канал, VI DAQmx Timing определяет параметры тактирования

вывода, необходимые для генерации сигнала, а VI DAQmx Wait Until Done

предназначен для корректного завершения процесса генерации. Без

последнего VI генерация напряжения может преждевременно прекратиться,

и некоторые данные будут потеряны.

Page 65: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

65

Рисунок 2.19 – Генерация синусоидального сигнала с помощью VI NIDAQmx

2.4.2. Проверьте работоспособность разработанного ВП.

2.4.3. Модернизируйте ВП таким образом что бы вывод данных

происходил непрерывно.

2.4.3. Добавьте в ВП функции генерации прямоугольного, треугольного

и пилообразного сигнала с возможность управлять параметрами данных

сигналов.

2.5. Практическая работа №2.3. Измерение частоты аналогового

сигнала.

Цель работы. Получить опыт в разработке приложений

осуществляющих ввод и обработку аналоговой измерительной информации.

Для измерения частоты аналогового сигнала можно использовать

функции NI-DAQmx.

Согласно теореме Найквиста наивысшая частота в спектре исследуемого

сигнала, которую можно точно определить, равна половине частоты

дискретизации. Это означает, что если нужно измерять частоту сигнала 100

Гц, то частота дискретизации должна быть, как минимум, 200 Гц. На

практике используют частоты дискретизации в 5-10 раз выше ожидаемых

частот исследуемого сигнала.

Page 66: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

66

Кроме частоты дискретизации, необходимо определить и количество

отсчетов сигнала. Отсчеты должны собираться в течение, как минимум, 3-х

периодов сигнала. На практике, однако, сбор данных производят в течение

10-ти и более периодов. Например, для измерения частоты сигнала 100 Гц

при частоте дискретизации 500 Гц необходимо собрать не менее 15-ти

отсчетов или точек. Поскольку частота дискретизации в 5 раз больше

частоты сигнала, то на период приходится 5 отсчетов, и для трех периодов

получаем: 5 отсчетов ´ 3 периода = 15 отсчетов.

Количество собранных отсчетов определяет число дискрет по частоте, и,

соответственно разрешающую способность при измерении частоты.

Единица дискретности при измерении частоты равна частоте

дискретизации, деленной на число собранных отсчетов. Например, если при

частоте дискретизации 500 Гц собрано 100 отсчетов, дискретность измерения

частоты составляет 5 Гц.

В блок-диаграмме на рисунке 2.20 для измерения частоты аналогового

сигнала, представленного в формате Waveform, используются VI NIDAQmx.

VI DAQmx Create Virtual Channel создает виртуальный канал для

измерения напряжения. VI DAQmx Timing устанавливает режим

синхронизации сбора данных Sample Clock и режим фиксированного объема

выборки Finite. Параметры Samples per Channel и Rate определяют

количество отсчетов на канал и частоту дискретизации. В рассматриваемом

примере собирается 100 отсчетов с частотой дискретизации 500 Гц, поэтому

сбор данных длится 1/5 с. VI DAQmx Read измеряет амплитуду напряжения в

100 точках и передает собранные данные функции VI Extract Single Tone

Information

(Извлечение основной гармоники), которая возвращает результат

измерения частоты.

Page 67: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

67

Рисунок 2.20 – Измерение частоты аналогового сигнала с помощью VI

NIDAQmx

Чтобы измерить частоту сигналов в нескольких каналах, необходимо

выбрать эти каналы с помощью элемента Physical Channel I/O,

сконфигурировать VI DAQmx Read для чтения нужного числа отсчетов с

выбранных каналов и обновить VI Extract Single получения массива

определяемых частот.

Page 68: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

68

Тест рубежного контроля №2

Комбинированная весомость вопросов 0,05 балла.

Комбинированная весомость модуля №1 0.3 балл

1. DAQ устройство это

А. устройство сбора и обработки

измерительной информации В.

устройство согласования

измерительных сигналов

Б. Система «технического зрения» Г.

промышленный контроллер для

управления производственными

процессами

2. Измерительная система на платформе PXI работает под управление

следующей ОС

А. Windows В. LabVIEW RT

Б. Linux Г. Все выше перечисленные

3. Цифровой осциллограф позволяет измерить и вычислить следующие

параметры сигнала

А. Амплитуда, частота, период В. Спектр исследуемого сигнала

Б. Фазовый сдвиг между 2 сигналами Г. Все выше перечисленное

4. Приведенный ВП предназначении для

А. Вычисления синуса В. Формирования синусоидального

сигнала

Б. Вывода аналогового сигнала с

использование DAQ устройства Г.

Формирования треугольного

сигнала

5. Отличительной особенностью дифференциальной схемы измерительного

канала является

А.

В.

Б. Плохое подавление синфазной

помехи Г.

Хорошее подавление синфазной

помехи

Page 69: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

69

Оценочные нормы усвоения материала всего курса

Рейтинг состоит из суммы баллов набранных за тест рубежного контроля

№1, №2 и выполненные практические работы.

Рейтинг 0 0,35 0,50 0,55 0,65 0,8 0,9

Оценка F FX E D C B A

А (отлично) – принятие ответственных решений на основе критической

оценки новых идей, способов их доказательств и экспериментальных

данных;

В (очень хорошо) – разрешение проблемных ситуаций на основе анализа их

причин с учетом специальных умений и навыков;

С (хорошо) – разрешение проблемных ситуаций прикладного характера на

основе обширной базы знаний, умений и навыков;

D (удовлетворительно) – совершение осознанного выбора из большого числа

вариантов в сложных видах деятельности;

Е (посредственно) – применение знаний, умений и навыков в условиях

общепринятой практики;

F и FX (плохо и плохо с правом пересдачи) – ограниченное применение

небольшого диапазона прикладных знаний и умений.

Page 70: СН Галий МБ Копелиовичiitt.fvt.sfedu.ru › files › documents › up › UP_Prog_i... · среде MatLab, на языке С/С++. Большое количество

70

Список литературы

1. Кехтарнаваз Н., Ким Н. Цифровая обработка сигналом уровне с

использованием LabVIEW./ Пер. с англ. – М. Издательский дом «Додэка –

XXI», 2007. – 304 с.: илл.

2. Н.А.Виноградова, Я.И.Листратов, Е.В.Свиридов. Разработка прикладного

программного обеспечения в среде LabVIEW: Учебное пособие – М.:

Издательство МЭИ, 2005. – 50 с.

3. National Instruments Corporation. LabVIEW Fundamentals, 2005. – 165с.

4. National Instruments Россия. Вводный курс LabVIEW, 2005. – 56

5. National Instruments Corporation. Измерения в LabVIEW Руководство по

применению. / Пер. с англ. – учебный центр "Центр технологий National

Instruments" Новосибирский государственный технический университет,

2006. – 148с.

6. National Instruments Corporation. NI PXI-8106 Руководство пользователя,

2007 – 75с.

7. National Instruments Corporation. NI PXIe-1062Q Руководство по

эксплуатации, 2007 – 52с.

8. National Instruments Россия. Начало работы с устройствами сбора данных

NI, 2006 – 26c.