Содержание
Введение........................................................................................................... 13
Автоматизация физических исследований и эксперимента.................. 13
LabVIEW.......................................................................................................... 14
Сведения о коллективе авторов пособия.................................................. 14
Содержание пособия..................................................................................... 15
Благодарности................................................................................................. 16
Лекция 1. Общие сведения
о программно-инструментальной среде LabVIEW................................ 17
Введение.......................................................................................................... 17
Вход в среду LabVIEW................................................................................... 17
Создание нового виртуального прибора................................................... 18
Главное меню.................................................................................................. 19
Палитра инструментов.................................................................................. 19
Лицевая панель.....................................................................................20
Палитра элементов лицевой панели ......................................................20
Инструментальная панель лицевой панели.....................................22
Блок-диаграмма................................................................................. 23
Палитра функций блок-диаграммы..................................................23
Инструментальная панель блок-диаграммы..................................24
Пример 1.1..............................................................................................24
Поиск объектов на палитрах Controls и Functions.............................25
Контекстное меню..................................................................................26
Выводы.............................................................................................................. 26
Лекция 2. Выполнение арифметических действий
в среде LabVIEW............................................................................................27
Пример 2.1.............................................................................................. 27
Пример 2.2.............................................................................................. 28
Задача 2.1..................................................................................... 28
Редактирование ВП........................................................................................29
Создание объектов.................................................................................29
Выделение объектов...............................................................................29
Перемещение объектов......................................................................... 30
Удаление объектов.................................................................................. 30
Отмена и восстановление действий...................................................30
Копирование объектов..........................................................................30
Метки объектов.......................................................................................30
Выделение и удаление проводников данных..................................... 31
Автомасштабирование проводников данных................................... 31
Разорванные проводники данных........................................................32
Редактирование текста (изменение шрифта, стиля и размера) ... 32
Изменение размеров объектов............................................................32
Выравнивание и распределение объектов в пространстве............33
Установка порядка размещения объектов, объединение объектов в группу и закрепление местоположения объектов на рабочем пространстве лицевой панели.......33
Приведение нескольких объектов к одному размеру......................34
Копирование объектов между ВП или между другими
приложениями........................................................................................34
Окрашивание объектов.......................................................................34
Выводы..............................................................................................................34
Лекция 3. Решение линейных алгебраических уравнений
в среде LabVIEW...............................................................................................35
Пример 3.1. Определение токов в цепи с использованием
формульного узла..................................................................................35
Пример 3.2. Решение алгебраических уравнений
в матричной форме..................................................................................36
Дополнение. Матричные операции в среде LabVIEW...........................38
Выводы.............................................................................................................. 40
Лекция 4. Моделирование и измерение переменных
напряжений и токов в среде LabVIEW........................... 41
Моделирование синусоидальных токов и напряжений .......................... 41
Пример 4.1..........................................................................................42
Пример 4.2..............................................................................................42
Пример 4.3.............................................................................................. 44
Пример 4.4..............................................................................................45
Выводы.............................................................................................................. 46
Лекция 5. Численное решение обыкновенных
дифференциальных уравнений в среде LabVIEW.................................47
Расчетные алгоритмы.....................................................................................47
Пример 5.1.......................................................................................... 48
Пример 5.2 ...............................................................................................50
Выводы..............................................................................................................50
Лекция 6. Массивы..................................................................51
Создание массива элементов управления и индикации.......................51
Двумерные массивы..................................................................................... 53
Математические функции (полиморфизм)...............................................54
Основные функции работы с массивами..................................................54
Автоматическое масштабирование функций работы с массивами.....56
Дополнительные функции работы с массивами..................................56
Функции для работы с массивами логических переменных..................57
Выводы..............................................................................................................57
Лекция 7. Структуры.....................................................................................58
Цикл с фиксированным числом итераций (For).......................................59
Автоматическая индексация.......................................................................60
Пример 7.1. Автоиндексация...............................................................60
Пример 7.2. Окружность......................................................................60
Индексация нескольких массивов в одном цикле...................................61
Организация доступа к значениям предыдущих итераций цикла ....... 62
Сдвиговый регистр (Shift Register)...............................................................62
Пример 7.3. Сдвиговый регистр.........................................................62
Стек сдвиговых регистров..................................................................63
Пример 7.4. Стек сдвиговых регистров...........................................63
Узел обратной связи......................................................................................64
выводы..............................................................................................................64
Лекция 8. Логические элементы управления и индикации...................65
Механическое действие (Mechanical Action)...........................................65
Логические функции......................................................................................66
Цикл по условию (While).......................................................................68
Доступ к значениям предыдущих итераций цикла.............................68
Автоиндексирование в цикле по условию.............................................68
Пример. 8.1. Цикл While.......................................................................69
Задание 8.1. Решение нелинейного уравнения...............................69
Выводы..............................................................................................................72
Лекция 9. Структура выбора (Case)..........................................................73
Задание 9.1. Ввод пароля....................................................................74
Задание 9.2. Калькулятор.....................................................................75
Структура последовательности (Sequence)...............................................77
Структура открытой последовательности (Flat Sequence Structure)......77
Задание 9.3. Время выполнения программы.....................................77
Структура многослойной последовательности
(Stacked Sequence Structure)........................................................................78
Выводы..............................................................................................................79
Лекция 10. Структура обработки данных события (Event).................80
Пример 10.1. Обработка события закрытия ВП..............................85
Задание 10.2. Секундомер...................................................................86
Выводы.............................................................................................................87
Лекция 11. Кластеры......................................................................................88
Создание кластеров из элементов управления и индикации.............. 88
Порядок элементов в кластере...................................................................89
Создание кластера констант.......................................................................90
Функции работы с кластерами...................................................................90
Сборка кластеров...........................................................................................90
Разделение кластера.....................................................................................92
Пример 11.1. Масштабирование кластера (рис.11.7).................. 92
Преобразование кластера в массив.........................................................93
Пример 11.2. Преобразования массива в кластер и наоборот..............93
Кластеры ошибок...........................................................................................93
Обработка ошибок........................................................................................94
Кластеры ошибок.................................................................................... 95
Объяснение ошибки..............................................................................95
Использование цикла пока (While) при обработке ошибок.......... 96
Использование структуры варианта (Case)
при обработке ошибок............................................................................. 96
Выводы.............................................................................................................. 96
Лекция 12. Графическое представление данных...................................... 97
График диаграмм............................................................................................97
Соединение графиков..................................................................................97
График осциллограмм и двухкоординатный график осциллограмм.......99
Одиночный график осциллограмм.....................................................100
График множества осциллограмм...................................................... 100
Пример 12.1. График множества осциллограмм............................100
Одиночные двухкоординатные графики осциллограмм.................102
Двухкоординатные графики множества осциллограмм .................102
Графики интенсивности..:........................................................................ 102
Настройки графиков и таблиц интенсивности.......................................103
Выводы............................................................................................................ 104
Лекция 13. Виртуальные подприборы (SubVI)......................................105
Создание и настройка ВПП.......................................................................105
Редактирование иконки (EditIcon)............................................................106
Привязка полей ввода/вывода данных к элементам
лицевой панели............................................................................................108
Использование подпрограмм ВП.............................................................. 109
Редактирование подпрограммы ВП.................................................. 109
Установка значимости полей ввода/вывода данных: обязательные,
рекомендуемые и дополнительные (не обязательные).........................109
Создание ВПП из секции блок-диаграммы............................................. 110
Использование единиц измерения......................................................... 110
Пример 13.7. Использование размерностей.................................. 112
Выводы............................................................................................................ 113
Лекция 14. Строки.....................................................................................114
Создание строковых элементов управления и индикации .................114
Функции работы со строками....................................................................115
Преобразование строк в числовые данные......................117
Таблицы...........................................................................................................118
Задание 14.1. Сортировка таблицы................................................118
Выводы........................................................................................................... 120
Лекция 15. Функции работы с файлами.............................................121
Основы файлового ввода/вывода...........................................................121
Функции файлового ввода/вывода низкого уровня...................... 122
Сохранение данных в новом или уже существующем файле.............123
Пример 15.1. Запись строки в файл............................................... 123
Форматирование строк таблицы символов............................................124
Пример 15.2. Создание файла с таблицей....................................124
Функции файлового ввода/вывода высокого уровня............................125
Экспресс ВП............................................................................................. 126
Выводы............................................................................................................127
Лекция 16. Дополнительные приемы программирования:
Экспресс ВП, создание собственного меню........................................ 128
Экспресс ВП...............................................................................................128
Пример 16.1. Экспресс-ВП Build Text Express VI...........................129
Динамический тип данных (Dynamic Data Type).............................130
Преобразование экспресс-ВП в подпрограмму ВП.........................131
Создание собственного меню............................................................... 132
Задание 16.1. Добавление пункта меню «About» .........................132
Выводы...........................................................................................................134
Лекция 17. Дополнительные приемы программирования: формирование отчетов, изменение внешнего вида объектов лицевой панели, менеджер библиотек.............135
Формирование отчетов.............................................................................135
Задание 17.1. Формирование отчета........................................135
Изменение внешнего вида элементов
управления и индикации............................................................................ 137
Окно редактирования внешнего вида элементов
лицевой панели..................................................................................... 137
Режим настройки................................................................................138
Режим редактирования.......................................................................139
Определение типа................................................................................140
Диалоговое окно VI Library Manager...................................................... 140
Выводы............................................................................................................142
Лекция 18. Сбор данных.............................................143
DAQ-устройства...........................................................................................143
Назначение DAQ-устройств...............................................................143
Составление измерительных систем на базе компьютера
и DAQ-устройства.................................................................................144
Роль программного обеспечения.....................................................145
Настройка измерительных устройств...............................................146
Measurement & Automation Explorer.........................................................146
Классические драйверы..................................................................... 148
DAQmx-драйверы.................................................................................. 151
Частота дискретизаций (отсчетов)...................................................151
Подмена частот (при недостаточно высокой частоте
дискретизации сигнала)....................................................................... 152
выводы............................................................................................................ 152
Лекция 7 9. Сбор данных на базе традиционного NI-DAQ.
Тип данных осциллограмма........................................................................153
Тип данных осциллограмма (waveform)...................................................153
Аналоговый ввод реального сигнала.......................................................155
Простые функции аналогового ввода..............................................155
Пример 19.1. Простейший анализатор спектра............................156
Улучшенный аналоговый ввод...........................................................157
Пример 19.2. Непрерывный аналоговый ввод
с использованием буфера...................................................................157
Выводы............................................................................................................158
Лекция 20. Запуск сбора данных. Использование DAQmx............. 159
Включение (triggering)................................................................................ 159
Использование DAQmx..............................................................................161
Задание 20.1. Измерение переменного напряжения
с помощью экспресс-ВП DAQmx Assistant..................................... 161
Задание 20.2. Измерение переменного напряжения
с помощью функций палитры DAQmx - Data Acquisition..............165
Задание 20.3. Измерение переменного напряжения
с запуском по уровню и наклону сигнала.......................................166
Выводы............................................................................................................166
Лекция 21. Аналоговый вывод сигнала.................................................167
Реальные нелинейные элементы в виртуальных схемах......................168
Задание 21.1. Исследование работы выпрямителя....................... 169
Пример 21.2. Исследование работы выпрямителя в реальном времени..........172
выводы...........................................................................................................174
Лекция 22. NI ELVIS.................................................................................. 175
DAQ-устройство........................................................................................... 176
Настольная станция NI ELVIS.....................................................................176
Монтажная панель NI ELVIS..............................................................178
Задание 22.1. Полосовой фильтр.....................................................183
Выводы............................................................................................................184
Лекция 23. Программное обеспечение NI ELVIS............................. 195
Модуль запуска виртуальных приборов - Insfrumenf Launcher...........195
Цифровой мультиметр -Digital Multimeter (DMM)................................186
Осциллограф - Oscilloscope (Scope).......................................................187
Генератор функций - Function Generator (FGEN)..................................187
Регулируемые источники питания - Variable Power Supplies............... 188
Частотно-фазовый анализатор - Bode Analyzer....................................188
Задание 23.1. Снятие АЧХ и ФЧХ....................................................188
Анализатор динамических сигналов - Dynamic Signal Analyzer.....................189
Задание 23.2. Анализ динамических сигналов..............................190
Генератор сигналов произвольной формы - Arbitrary Waveform Generation................191
Задание 23.3. Генерация сигнала произвольной формы.............. 192
Цифровое считывающее и записывающее устройство -
Digital Reader и Digital Writer......................................................................192
Задание 23.4. Цифровой ввод-вывод...............................................192
Анализатор входного сопротивления - Impedance Analyzer..............192
Двухпроводный вольтамперный анализатор -
Two-Wire Current-Voltage Analyzer..........................................................192
Трехпроводный вольтамперный анализатор -
Three-Wire Current-Voltage Analyzer.........................................................194
Выводы............................................................................................................195
Лекция 24. Обработка изображений:....................................................196
Представление графики в LabVIEW.........................................................196
Холст, кисти и краски..................................................................................197
Задание 24.1. Создание рисунка....................................................198
Подписи к рисункам....................................................................................200
Операции с графическими данными......................................................202
Пример 24.1. Титры..............................................................................202
Создание собственных элементов индикации........................................203
Пример 24.2. Элемент индикации в виде рисунка........................203
Выводы............................................................................................................205
Лекция 25. Работа в сети......................................................................206
Web-сервер...................................................................................................206
Инструмент Web Publishing........................................................................ 209
Доступ к Web-серверу................................................................................213
Удаленная панель.........................................................................................216
Выводы............................................................................................................ 216
Лекция 26. Технология DataSocket.........................................................217
Использование DataSocket на лицевой панели......................................219
Использование DataSocket на блок-диаграмме.....................................221
Функции DataSocket.............................................................................221
Пример 26.1. Использование функции DataSocket Write.............221
Пример 26.2. Использование DataSocket Read.............................222
Буферизация данных.......................................................................222
Задание 26.1. Буферизация данных............................................222
Тип данных вариант..............................................................................224
Задание 26.2. Добавление к измеренным данным
отметки времени...................................................................................224
Задание 26.3. Получение измеренных данных
и отметок времени................................................................................225
Выводы............................................................................................................226
Лекция 27. Разработка больших проектов..........................................227
Иерархия виртуальных приборов..............................................................227
Инструмент сравнения проектов.............................................................230
Сравнение двух виртуальных приборов...........................................230
Сравнение двух иерархий...................................................................232
Выводы..........................................................................................................234
Лекция 28. Производительность и управление памятью.
Контроль за исходным кодом......................................................235
Некоторые советы по увеличению производительности............... 237
Инструмент VI Metrics........................................................................239
Выводы............................................................................................................ 241
Лекция 29. Обеспечение готовых проектов LabVIEW документацией.....................242
Окно VI History.............................................................................................243
Страница Documentation Properties...........................................................245
Окно Description and Tip.............................................................................247
Распечатка ВП с помощью инструмента Print VI.................................... 247
Выводы............................................................................................................253
Лекция 30. Создание автономно выполняемого приложения
при помощи инструмента Application Builder....................................255
Вкладка файлов приложения (Target)....................................................... 255
Вкладка исходных файлов (Source Files)..................................................256
Вкладка настройки ВП (VI Setting)............................................................ 257
Вкладка настроек приложения (Application Settings)............................. 258
Вкладка настроек инсталлятора (Installer Settings).................................259
Выводы............................................................................................................261
Литература....................................................................................................262
Типы данных LabVIEW..........................................................................263