- •Оглавление
- •Рекомендации слушателю курса
- •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
Урок 4 Объединение данных
Определение типа
Определения типов (type definitions) и строгие определения типов (strict type definitions) используются для связывания всех экземпляров заказного элемента управления (индикатора) с сохраненным файлом .ctl. Это позволяет вносить изменения во все экземпляры заказного элемента, редактируя только сохраненный файл. Такой подход удобен, когда один и тот же элемент управления (индикатор) используется в нескольких ВП.
Заказной элемент управления (индикатор), помещенный в ВП, не имеет связи с сохраненным файлом этого элемента. Каждый экземпляр элемента является независимой копией. Следовательно, изменения в файле не влияют на ВП, где уже используется этот элемент. Чтобы связать экземпляры элемента с файлом, необходимо сохранить элемент как определение типа или как строгое определение типа. После этого все экземпляры данного типа будут связаны с исходным файлом, из которого они создавались.
Когда вы сохраняете заказной элемент управления (индикатор) как определение типа или строгое определение типа, любые изменения типа данных в этом определении влияют на все экземпляры данного типа во всех ВП. Косметические изменения, внесенные в строгое определение типа, также влияют на все экземпляры данного типа на лицевой панели.
Определения типов задают тип данных для каждого экземпляра заказного элемента управления (индикатора). Когда определение типа меняется, все экземпляры этого типа автоматически обновляются. Иначе говоря, тип экземпляров меняется в каждом ВП, где использовалось определение типа. Однако ввиду того, что определения типов задают только тип данных, обновляются только те значения, которые являются частью типа данных. Например, для числовых элементов управления диапазон значений не является частью типа данных. Следовательно, определения типов для числовых элементов управления не устанавливают диапазон значений в экземплярах этих типов. Точно так же, названия пунктов в кольцевых списках не определяют тип данных, поэтому изменение названий пунктов в определении типа не влияет на названия пунктов в экземплярах. Но если вы измените имена в определении типа для перечислимого элемента управления, экземпляры будут обновлены, поскольку здесь имена являются частью типа данных. Экземпляр определения типа может иметь уникальную метку, описание, значение по умолчанию, размер, цвет или стиль (например, ручка вместо ползунка).
Если вы меняете тип данных в определении типа, то LabVIEW по возможности преобразует старое значение по умолчанию во всех экземплярах. Значение по умолчанию не сохраняется, если новый тип данных несовместим со старым, как при замене числового элемента управления (индикатора) на строковый. В таких случаях используется значение по умолчанию для нового типа данных. Например, если вы изменили тип с числового на строковый, LabVIEW заменяет все значения по умолчанию, связанные со старыми числовыми данными, на пустые строки.
©National Instruments Corporation |
4-27 |
Учебный курс LabVIEW Основы I |
Урок 4 Объединение данных
Строгое определение типа контролирует все свойства экземпляра, исключая метку, описание и значение по умолчанию. Тип данных строгого определения, как и обычного определения, сохраняется везде, где оно используется. Строгие определения типов задают также и другие характеристики, например, проверку диапазона в числовых элементах управления и имена пунктов в кольцевых списках. Из свойств VI Server для строгого определения типа доступны те, которые влияют на внешний вид элемента управления
(индикатора): Visible, Disabled, Key Focus, Blinking, Position и Bounds.
Экземпляры строгого определения типа всегда обновляются автоматически, пока не удалена связь между экземпляром и определением.
Определения типов и строгие определения типов обычно используются для создания заказных элементов управления в виде кластеров, содержащих много других элементов управления. Если требуется добавить новый элемент управления и передать новое значение каждому подВП, проще добавить элемент в кластер заказного элемента, чем помещать его на лицевую панель каждого подВП, создавая новые проводники и терминалы.
©National Instruments Corporation |
4-28 |
Учебный курс LabVIEW Основы I |
Урок 4 Объединение данных
Упражнение 4-4 Проект: заказной элемент управления для метеостанции
Цель
Создать перечислимый элемент управления на основе определения типа.
Сценарий
В проекте метеостанции используется перечислимый элемент управления, задающий состояния конечного автомата. В этом упражнении нужно создать определение типа для перечислимого элемента управления. Определение типа упростит добавление новых состояний в будущем.
Проектирование
Перечислимый элемент управления содержит следующие данные.
Табл. 4-2. Данные перечислимого элемента управления.
Элемент |
Значение |
|
|
Сбор данных |
0 |
|
|
Анализ |
1 |
|
|
Сохранение |
2 |
|
|
Проверка времени |
3 |
|
|
Обратите внимание, что эти элементы соответствуют состояниям на диаграмме переходов, разработанной для проекта метеостанции.
©National Instruments Corporation |
4-29 |
Учебный курс LabVIEW Основы I |
Урок 4 Объединение данных
Инициализация
Сбор данных 
Time Elapsed=TRUE
and
Stop=False
Warning=TRUE
Анализ
Сохранение
Time Elapsed=FALSE and
Stop=FALSE
Проверка
времени
Warning=FALSE
Stop=TRUE
Рис. 4-25. Диаграмма переходов для проекта метеостанции.
Реализация
1.Откройте проект метеостанции.
Выберите пункт меню File>>Open Project.
Перейдите в каталог C:\Exercises\LabVIEW Basics I\Курсовой проект и откройте файл Метеостанция.lvproj.
2.Откройте ВП пользовательского интерфейса метеостанции.
В окне Project Explorer дважды щелкните на Интерфейс метеостанции.vi.
3.Создайте на лицевой панели перечислимый элемент управления.
Поместите элемент Enum в любом месте лицевой панели. Далее в этом упражнении он будет удален.
Щелкните правой кнопкой на Enum и выберите пункт
Properties.
©National Instruments Corporation |
4-30 |
Учебный курс LabVIEW Основы I |
Урок 4 Объединение данных
Перейдите на страницу Edit Items.
Введите имена элементов из табл. 4-2. На рис. 4-26 показано, как должен выглядеть диалог Enum Properties после ввода имен. Следите за тем, чтобы случайно не добавить к списку пустые записи.
Рис. 4-26. Диалог свойств перечислимого элемента управления.
По окончании ввода нажмите OK, чтобы закрыть диалог.
4.Создайте определение типа для перечислимого элемента управления.
Щелкните правой кнопкой на элементе управления и выберите пункт Advanced>>Customize. Откроется окно редактора элементов.
Выберите Type Def. в раскрывающемся меню Type Def. Status, как показано на рис. 4-27.
©National Instruments Corporation |
4-31 |
Учебный курс LabVIEW Основы I |
Урок 4 Объединение данных
Рис. 4-27. Окно редактора элементов.
Выберите пункт меню File>>Save.
Назовите элемент управления Состояния метеостанции.ctl и выберите для него каталог
C:\Exercises\LabVIEW Basics I\Курсовой проект\Вспомогательные файлы.
Выберите пункт File>>Close, чтобы закрыть окно редактора.
Нажмите Yes в ответ на запрос о замене существующего элемента.
5.Щелкните правой кнопкой на элементе Enum. Обратите внимание, что в контекстном меню появились новые опции, обеспечивающие взаимодействие с определением типа.
6.Удалите элемент Enum с лицевой панели, изменив его на константу блок-диаграммы.
Нажмите <Ctrl-E>, чтобы открыть блок-диаграмму.
Щелкните правой кнопкой на терминале Enum и выберите в контекстном меню пункт Change to Constant.
Обратите внимание, что состояния теперь можно выбирать на блокдиаграмме, а элемент управления на лицевой панели исчез.
7. Сохраните и закройте ВП.
Построение блок-диаграммы будет продолжено в следующих упражнениях.
Конец упражнения 4-4
©National Instruments Corporation |
4-32 |
Учебный курс LabVIEW Основы I |
