- •Оглавление
- •Рекомендации слушателю курса
- •B. Что нужно для начала
- •C. Установка программного обеспечения курса
- •Восстановление или удаление материалов курса
- •D. Цели курса
- •Урок 1 Решение задач
- •A. Методика разработки ПО
- •Определение входных данных
- •Определение выходных данных
- •Определение дополнительных требований
- •Разработка алгоритма решения задачи
- •Разработка блок-схемы
- •Разработка диаграммы переходов
- •Цель
- •Сценарий
- •Проектирование
- •Реализация
- •Тестирование
- •Сопровождение
- •Цель
- •Сценарий
- •Проектирование
- •Входные данные
- •Выходные данные
- •Диаграмма переходов
- •G. Курсовой проект
- •Вопросы для самопроверки
- •Ответы
- •Урок 2 Введение в LabVIEW
- •A. Виртуальные приборы
- •B. Составные части ВП
- •Лицевая панель
- •Блок-диаграмма
- •Иконка и соединительная панель
- •C. Начало разработки ВП
- •Создание/открытие ВП или проекта
- •Создание «с чистого листа»
- •Создание ВП или проекта по шаблону
- •Открытие существующего ВП
- •Сохранение ВП
- •D. Project Explorer
- •Окно Project Explorer
- •Инструментальные панели проекта
- •Создание проекта LabVIEW
- •Добавление существующих файлов к проекту
- •Удаление элементов проекта
- •Организация элементов в проекте
- •Просмотр файлов проекта
- •Сохранение проекта
- •E. Лицевая панель
- •Элементы управления и индикаторы
- •Числовые элементы управления и индикаторы
- •Логические элементы управления и индикаторы
- •Строковые элементы управления и индикаторы
- •Палитра элементов управления
- •Контекстные меню
- •Диалоги свойств
- •Инструментальная панель лицевой панели
- •Терминалы
- •Узлы блок-диаграммы
- •Функции
- •ПодВП
- •Расширяемые узлы в сравнении с иконками
- •Проводники
- •Типы данных
- •Автоматическое соединение объектов
- •Ручное соединение объектов
- •Палитра функций
- •Инструментальная панель блок-диаграммы
- •Цель
- •Описание
- •G. Поиск элементов управления, ВП и функций
- •Цель
- •Описание
- •H. Выбор инструмента
- •Инструмент УПРАВЛЕНИЕ
- •Инструмент ПЕРЕМЕЩЕНИЕ
- •Инструмент ВВОД ТЕКСТА
- •Инструмент СОЕДИНЕНИЕ
- •Другие инструменты палитры Tools
- •Цель
- •Описание
- •I. Поток данных
- •Цель
- •Описание
- •J. Создание простого ВП
- •Сбор данных
- •DAQ Assistant
- •Instrument I/O Assistant
- •Simulate Signal
- •Read From Measurement File
- •Анализ данных
- •Amplitude and Level Measurements
- •Statistics
- •Spectral Measurements
- •Tone Measurements
- •Filter
- •Представление данных
- •Write To Measurement File
- •Build Text
- •Запуск ВП
- •Индикация ошибок кнопкой Run
- •Цель
- •Сценарий
- •Проектирование
- •Блок-схема
- •Вопросы по архитектуре программы
- •Ответы на вопросы по архитектуре программы
- •Реализация
- •При наличии аппаратуры
- •Без аппаратуры
- •При наличии аппаратуры
- •Без аппаратуры
- •Тестирование
- •K. Справочные средства LabVIEW
- •Окно контекстной справки
- •Справочная система LabVIEW
- •Система поиска примеров
- •Цель
- •Описание
- •NI Example Finder
- •Окно Context Help
- •Справочная система LabVIEW
- •Вопросы для самопроверки
- •Ответы
- •Урок 3 Создание ВП
- •A. Проектирование лицевой панели
- •Проектирование элементов управления и индикации
- •Метки и подписи
- •Настройка элементов управления и индикации
- •Использование цвета
- •Размещение и выравнивание
- •Текст и шрифты
- •Инструменты и подсказки в пользовательском интерфейсе
- •Системные элементы управления
- •Многостраничный элемент управления
- •Декоративные элементы
- •Меню
- •Автоматическое масштабирование объектов лицевой панели
- •Цель
- •Сценарий
- •Проектирование
- •Входные и выходные данные пользовательского интерфейса
- •Внешние входные и выходные данные
- •Диаграмма переходов
- •Реализация
- •B. Терминалы блок-диаграммы
- •Элементы управления, индикаторы и константы
- •Типы данных LabVIEW
- •Числовой тип данных
- •Числа с плавающей точкой
- •Целые числа
- •Комплексные числа
- •Логический тип данных
- •Строковый тип данных
- •Перечислимый тип данных
- •Динамический тип данных
- •C. Документирование кода
- •Всплывающие подсказки
- •Свойства ВП
- •Именование элементов управления и индикаторов
- •Графическое программирование
- •Цель
- •Сценарий
- •Проектирование
- •Входные и выходные данные
- •Блок-схема
- •Реализация
- •Тестирование
- •D. Цикл While
- •Туннели
- •Цель
- •Сценарий
- •Проектирование
- •Блок-схема
- •Реализация
- •Тестирование
- •E. Цикл For
- •Преобразование числовых типов данных
- •Цель
- •Описание
- •Сценарий 1
- •Сценарий 2
- •Сценарий 3
- •Сценарий 4
- •Ответы
- •Сценарий 1
- •Сценарий 2
- •Сценарий 3
- •Сценарий 4
- •F. Синхронизация ВП
- •Функции ожидания
- •Истекшее время
- •G. Передача данных между итерациями
- •Инициализация сдвиговых регистров
- •Стек сдвиговых регистров
- •Цель
- •Сценарий
- •Проектирование
- •Реализация
- •При наличии аппаратуры
- •Без аппаратуры
- •Тестирование
- •H. Графическое представление данных
- •Waveform Chart
- •Соединения на диаграммах
- •Waveform Graph
- •Waveform Graph с одной кривой
- •Waveform Graph со многими кривыми
- •XY Graph с одной кривой
- •XY Graph со многими кривыми
- •Цель
- •Сценарий
- •Проектирование
- •Реализация
- •Тестирование
- •I. Структура выбора Case
- •Выбор варианта
- •Входные и выходные туннели
- •Примеры
- •Логическая структура Case
- •Целочисленная структура Case
- •Строковая структура Case
- •Перечислимая структура Case
- •Цель
- •Сценарий
- •Проектирование
- •Реализация
- •Тестирование
- •J. Узел формул
- •Цель
- •Сценарий
- •Проектирование
- •Входные и выходные данные
- •Блок-схема
- •Реализация
- •Тестирование
- •Цель
- •Сценарий
- •Проектирование
- •Входные и выходные данные
- •Блок-схема
- •Реализация
- •Цель
- •Сценарий
- •Проектирование
- •Входные и выходные данные
- •Блок-схема
- •Архитектура ВП
- •Реализация
- •Тестирование
- •Вопросы для самопроверки
- •Ответы
- •Урок 4 Объединение данных
- •Ограничения
- •Создание массивов из элементов управления и индикаторов
- •Двумерные массивы
- •Инициализация массивов
- •Создание константного массива
- •Автоматическая индексация массивов
- •Ввод массивов в цикл
- •Вывод массивов из цикла
- •Создание двумерных массивов
- •Цель
- •Описание
- •Часть 1: индексация, модификация и отображение массива.
- •Часть 2: упрощенная индексация, модификация и отображение массива.
- •Часть 3: создание подмножеств массива
- •Часть 1: реализация
- •Часть 2: реализация
- •Часть 3: реализация
- •B. Кластеры
- •Создание кластеров из элементов управления и индикаторов
- •Создание кластерных констант
- •Порядок элементов в кластере
- •Функции для работы с кластерами
- •Сборка кластеров
- •Модификация кластера
- •Разборка кластеров
- •Кластеры ошибок
- •Цель
- •Описание
- •Цель
- •Сценарий
- •Проектирование
- •Реализация
- •C. Определения типов
- •Заказные элементы управления
- •Режим редактирования
- •Режим настройки
- •Сохранение элементов управления
- •Определение типа
- •Цель
- •Сценарий
- •Проектирование
- •Реализация
- •Вопросы для самопроверки
- •Ответы на вопросы
- •Урок 5 Отладка ВП
- •Поиск причин неработоспособности ВП
- •Типичные причины неработоспособности ВП
- •B. Методы отладки
- •Подсветка выполнения
- •Пошаговое выполнение
- •Инструмент ПРОБНИК
- •Типы пробников
- •Универсальный пробник
- •Просмотр данных с помощью индикаторов лицевой панели
- •Специализированные пробники
- •Заказные пробники
- •Контрольные точки
- •Состояние ожидания
- •Определение текущего экземпляра подВП
- •C. Неопределенные или непредвиденные данные
- •D. Обработка ошибок
- •Автоматическая обработка ошибок
- •Ручная обработка ошибок
- •Кластеры ошибок
- •Объяснение ошибок
- •Обработка ошибок при помощи структуры Case
- •Обработка ошибок при помощи цикла While
- •Цель
- •Описание
- •Вопросы для самопроверки
- •Ответы
- •Урок 6 Разработка модульных приложений
- •B. Иконка и соединительная панель
- •Создание иконки
- •Настройка соединительной панели
- •Выбор и модификация шаблонов терминалов
- •Привязка терминалов к элементам управления и индикаторам
- •C. Использование подВП
- •Открытие и редактирование подВП
- •Обязательные, рекомендуемые и необязательные входы и выходы
- •Создание подВП из кода существующего ВП
- •Цель
- •Сценарий
- •Проектирование
- •Реализация
- •Тестирование
- •Вопросы для самопроверки
- •Ответы
- •Урок 7 Основы измерений
- •Ввод сигналов
- •Источники сигналов
- •Заземленный источник сигнала
- •Плавающий источник сигнала
- •Формирование сигнала
- •Усиление
- •Линеаризация
- •Возбуждение датчика
- •Изоляция
- •Измерительные системы
- •Дифференциальные измерительные системы
- •Несимметричные заземленные и незаземленные системы
- •Источники сигнала и измерительные системы
- •C. Повышение качества измерений
- •Достижение предельной чувствительности
- •Разрешение
- •Входной диапазон
- •Усиление
- •Шаг квантования
- •Повышение точности восстановления формы
- •Уменьшение шума
- •Цель
- •Описание
- •Вопросы для самопроверки
- •Ответы
- •Урок 8 Сбор данных
- •Блок терминалов и кабель
- •Панель DAQ Signal Accessory
- •Устройство DAQ
- •B. Программная архитектура
- •Конфигурирование аппаратуры DAQ
- •Windows
- •Measurement & Automation Explorer
- •Шкалы
- •C. Имитация устройства DAQ
- •Создание имитированных устройств NI-DAQmx
- •Удаление имитированных устройств NI-DAQmx
- •Цель
- •Описание
- •Часть А. Создание имитированного устройства
- •Часть B. Изучение конфигурации устройства DAQ
- •Часть C. Тестирование компонентов устройства DAQ
- •Часть D. Создание заказной шкалы
- •D. Аналоговый ввод
- •Аналого-цифровое преобразование
- •Управление задачами
- •Однократная выборка
- •Многократная выборка
- •Непрерывная выборка
- •Синхронизация задач
- •Цель
- •Описание
- •Проектирование
- •Входы и выходы пользовательского интерфейса
- •Внешние входы и выходы
- •Реализация
- •Тестирование
- •Аппаратура
- •Без аппаратуры
- •E. Аналоговый вывод
- •Управление задачами
- •Однократное обновление
- •Генерация N точек
- •Непрерывная генерация
- •Синхронизация задач
- •Цифро-аналоговое преобразование
- •F. Счетчики
- •Цель
- •Сценарий
- •Проектирование
- •Датчик положения
- •Входы и выходы пользовательского интерфейса
- •Внешние входы
- •Реализация
- •Тестирование
- •G. Цифровой ввод-вывод
- •Цель
- •Сценарий
- •Проектирование
- •Цифровой ввод-вывод
- •Блок-схема
- •Реализация
- •Тестирование
- •Вопросы для самопроверки
- •Вопросы для самопроверки
- •Урок 9 Управление приборами
- •Завершение передачи данных
- •Пропускная способность
- •C. Последовательная связь
- •Скорость передачи данных
- •Стандарты последовательных портов
- •D. Другие интерфейсы
- •E. Программная архитектура
- •MAX (Windows, GPIB)
- •Цель
- •Описание
- •F. Instrument I/O Assistant
- •Цель
- •Часть A: последовательный интерфейс
- •Часть B: GPIB
- •Терминология VISA
- •VISA и последовательный порт
- •Цель
- •Описание
- •Тест A: последовательный порт
- •Тест B: GPIB
- •H. Драйверы приборов
- •Что такое драйвер прибора?
- •Где найти драйверы приборов?
- •Пример работы с драйвером прибора
- •Как работает драйвер прибора?
- •Цель
- •Описание
- •Установка драйвера прибора
- •Знакомство с драйвером прибора
- •Работа с примерами программ
- •Вопросы для самопроверки
- •Ответы
- •Урок 10 Анализ и сохранение результатов измерений
- •Выбор правильного метода анализа
- •Оперативный и отложенный анализ
- •Программный и интерактивный анализ
- •Категории анализа
- •Цель
- •Описание
- •Сценарий 1
- •Сценарий 2
- •Сценарий 3
- •Сценарий 4
- •Сценарий 1
- •Сценарий 2
- •Сценарий 3
- •Сценарий 4
- •B. Чтение и запись данных в файл
- •Форматы файлов
- •Каталог LabVIEW Data
- •ВП файлового ввода-вывода
- •Потоковый вывод на диск
- •Высокоуровневый файловый ввод-вывод
- •Цель
- •Сценарий
- •Проектирование
- •Входы и выходы
- •Блок-схема
- •Реализация
- •Тестирование
- •Вопросы для самопроверки
- •Ответы
- •Урок 11 Стандартные методы и образцы проектирования
- •Инфраструктура конечного автомата
- •Управление конечным автоматом
- •Элемент управления перечислимого типа
- •Переход по умолчанию
- •Переход между двумя состояниями
- •Переход между двумя и более состояниями
- •Цель
- •Сценарий
- •Проектирование
- •Входы и выходы пользовательского интерфейса
- •Внешние входы и выходы
- •Реализация
- •Состояние сбора данных
- •Аппаратура
- •Без аппаратуры
- •Состояние анализа
- •Состояние сохранения
- •Состояние проверки времени
- •Завершение работы конечного автомата
- •Тестирование
- •D. Параллелизм
- •Заключение
- •Приложение A Дополнительная информация и ресурсы
- •Публикации о LabVIEW
- •Бюллетень LabVIEW Technical Resource (LTR)
- •Книги по LabVIEW
- •Информационная рассылка info-labview
Урок 6 Разработка модульных приложений
C. Использование подВП
Чтобы поместить на блок-диаграмму подВП, щелкните на кнопке Select a VI (Выбрать ВП) палитры функций. Перейдите в каталог, где находится файл этого подВП, и дважды щелкните на нем.
Уже открытый ВП можно поместить на блок-диаграмму другого открытого ВП, перетащив иконку из верхнего правого угла лицевой панели или блок-диаграммы на блок-диаграмму другого ВП.
Открытие и редактирование подВП
Чтобы открыть лицевую панель подВП из вызывающего ВП, дважды щелкните на иконке подВП инструментом УПРАВЛЕНИЕ или ПЕРЕМЕЩЕНИЕ. Можно также выбрать пункт меню
View>>Browse Relationships>>This VI’s SubVIs. Чтобы открыть блок-диаграмму подВП, во время двойного щелчка на иконке удерживайте клавишу <Ctrl>.
Открытый этим способом подВП можно редактировать. Сохраненные изменения отразятся на всех вызовах подВП, а не только на текущем экземпляре.
Обязательные, рекомендуемые и необязательные входы и выходы
В окне контекстной справки метки обязательных терминалов выделены полужирным шрифтом, для рекомендуемых терминалов используется обычный шрифт, а названия необязательных имеют серый цвет. Метки необязательных терминалов можно скрыть,
щелкнув на кнопке Hide Optional Terminals and Full Path (Скрыть необязательные терминалы и полный путь), показанной ниже.
Деление входов и выходов на обязательные, рекомендуемые и необязательные применяется для того, чтобы пользователи не забывали соединять терминалы подВП.
Щелкнув правой кнопкой на терминале соединительной панели, выберите в контекстном меню пункт This Connection Is (Это соединение является...) и выберите один из вариантов: Required (Обязательный), Recommended (Рекомендуемый) или Optional (Необязательный).
Если обязательный входной терминал ни с чем не соединен, то блок-диаграмма с этим подВП будет неработоспособной. (Для выходных терминалов понятие «обязательный» отсутствует.) Рекомендуемый или необязательный терминал, напротив, можно оставлять свободным, при этом ВП не будет генерировать никаких предупреждений.
Входы и выходы библиотечных ВП из каталога vi.lib уже отмечены как Required, Recommended или Optional. Все входы и выходы вновь создаваемых ВП по умолчанию являются рекомендуемыми. Делать терминал обязательным следует лишь в том случае, если этот вход необходим для правильной работы ВП.
©National Instruments Corporation |
6-9 |
Учебный курс LabVIEW Основы I |
Урок 6 Разработка модульных приложений
Создание подВП из кода существующего ВП
Для упрощения блок-диаграммы можно преобразовать ее секции в подВП. Обведите инструментом ПЕРЕМЕЩЕНИЕ ту секцию, которую предстоит использовать повторно, и выберите пункт меню Edit>>Create SubVI. Выбранную секцию заменит иконка нового подВП. LabVIEW создаст элементы управления и индикаторы, автоматически сконфигурирует соединительную панель и соединит подВП с остальным кодом.
На рис. 6-6 показано, как выглядит результат преобразования выделенной области в подВП.
Рис. 6-6. Создание нового подВП.
Иконка и шаблон соединительной панели нового подВП будут иметь стандартный вид. Чтобы их отредактировать и сохранить подВП, дважды щелкните на его иконке.
Примечание Не выбирайте более 28 объектов для создания подВП, поскольку 28 — это максимальное число внешних соединений. Если на лицевой панели более 28 элементов управления и индикаторов, которые нужно использовать программно, сгруппируйте часть из них в кластер и свяжите его с терминалом соединительной панели.
©National Instruments Corporation |
6-10 |
Учебный курс LabVIEW Основы I |
Урок 6 Разработка модульных приложений
Упражнение 6-1 Проект: ВП для вывода предупреждений
Цель
Создать иконку и соединительную панель для ВП, который предстоит использовать в качестве подВП.
Сценарий
Вы создали ВП, который выводит ту или иную строку предупреждения в зависимости от входных данных. Теперь нужно создать иконку и соединительную панель, чтобы этот ВП можно было использовать как подВП в проекте метеостанции.
Проектирование
Входы и выходы подВП перечислены в табл. 6-1.
Табл. 6-1. Входы и выходы подВП Determine Warnings.
Входы |
Выходы |
|
|
ТекущТемп Текст
МаксТемп Предупреждение?
МинТемп
Используйте стандартную соединительную панель (показана слева), чтобы зарезервировать место на случай будущих расширений. Добавьте к ВП вход и выход ошибки, и сделайте так, чтобы код выполнялся только при отсутствии ошибки на входе.
Реализация
1.Откройте ВП Предупреждения.
Выберите пункт меню File>>Open Project.
Откройте Метеостанция.lvproj из каталога
C:\Exercises\LabVIEW Basics I\Курсовой проект.
Дважды щелкните на Предупреждения.vi в окне Project Explorer, чтобы открыть ВП.
2.Добавьте к ВП вход и выход ошибки.
Поместите на лицевую панель элемент Error In 3D.ctl.
Поместите на лицевую панель элемент Error Out 3D.ctl.
3.Выберите шаблон соединительной панели.
Щелкните правой кнопкой на иконке в верхнем правом углу окна и выберите в контекстном меню пункт Show Connector.
Щелкните правой кнопкой на соединительной панели и выберите в контекстном меню пункт Patterns, а затем выберите шаблон, показанный слева.
©National Instruments Corporation |
6-11 |
Учебный курс LabVIEW Основы I |
Урок 6 Разработка модульных приложений
4.Распределите по терминалам входы и выходы так, как показано на рис. 6-7.
1 |
2 |
1 Соединения |
2 Соединительная панель |
Рис. 6-7. Терминалы соединительной панели ВП Предупреждения.
Щелкните инструментом СОЕДИНЕНИЕ на верхнем левом терминале соединительной панели.
Щелкните на соответствующем элементе лицевой панели
(ТекущТемп).
Обратите внимание, что цвет терминала теперь соответствует типу данных элемента управления, соединенного с терминалом.
Щелкните на следующем терминале соединительной панели.
Щелкните на соответствующем элементе лицевой панели
(МаксТемп).
Продолжайте работать с соединительной панелью, пока все элементы управления и индикаторы не будут связаны с терминалами. Окно контекстной справки должно выглядеть так, как на рис. 6-7.
5.Создайте иконку ВП.
Щелкните правой кнопкой на соединительной панели и выберите пункт Edit Icon. Откроется окно редактора иконок.
Создайте иконку, пользуясь инструментами редактора. Изображение может быть простым или сложным, но в любом случае оно должно ассоциироваться с функцией, которую выполняет ВП. Пример простой иконки для этого ВП приведен на рис. 6-8.
Рис. 6-8. Пример иконки «Предупреждение».
©National Instruments Corporation |
6-12 |
Учебный курс LabVIEW Основы I |
Урок 6 Разработка модульных приложений
Закончив работу, нажмите OK, чтобы сохранить иконку и закрыть редактор.
Совет Для выделения всего изображения иконки дважды щелкните на инструменте ВЫДЕЛЕНИЕ. Чтобы полностью удалить изображение, нажмите клавишу <Del>.
Совет Для изменения шрифта дважды щелкните на инструменте ТЕКСТ. Если нужно ввести текст размером менее 9 пунктов, выбирайте шрифт Small Fonts.
6.Щелкните правой кнопкой на соединительной панели и выберите в контекстном меню Show Icon, чтобы переключиться на иконку.
7.Сохраните ВП.
8.Перейдите на блок-диаграмму.
9.Дополните код так, чтобы ВП выполнялся при отсутствии ошибок на входе, и не выполнялся при их наличии.
Рис. 6-9. Поддиаграмма No Error для ВП Предупреждения.
Заключите код блок-диаграммы в структуру Case, как показано на рис. 6-9. Индикаторы Текст и Предупреждение? должны остаться снаружи.
Поместите терминал error in слева от структуры Case.
Поместите терминал error out справа от структуры Case.
Соедините терминал error in с терминалом селектора вариантов.
Убедитесь, что код находится на поддиаграмме No Error. Если это не так, перейдите к варианту, содержащему код, щелкните правой кнопкой на структуре Case и выберите в контекстном меню пункт Make this Case No Error.
Протяните проводник от кластера ошибки через всю структуру к терминалу error out, как показано на рис. 6-9.
Перейдите к варианту Error.
©National Instruments Corporation |
6-13 |
Учебный курс LabVIEW Основы I |