- •Оглавление
- •Рекомендации слушателю курса
- •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
Урок 1 Решение задач
A. Методика разработки ПО
Следование определенным этапам, выработанным за многие годы профессиональными разработчиками ПО, помогает упростить решение задач, связанных с программированием. В этом курсе вы познакомитесь с последовательностью шагов, которая называется методикой разработки программного обеспечения. Эту методика представляет собой стратегию создания программных решений с использованием LabVIEW. Следуйте ей при решении своих задач.
Методика разработки ПО включает в себя следующие этапы:
1.Постановка задачи и написание сценария
2.Проектирование алгоритма и/или блок-схемы.
3.Реализация проекта.
4.Тестирование и верификация реализации.
5.Сопровождение и обновление реализации.
Все практические упражнения курса построены на базе этой методики. В большинстве упражнений вам дается готовый сценарий и проект, а вы должны выполнить реализацию, тестирование и сопровождение. Большинство инструкций, которые даются в этом курсе, должны помочь вам создавать успешные реализации.
Пример: управление температурой печи. На этом примере,
разбираемом в течение урока, иллюстрируется каждый шаг описанной методики разработки ПО.
B. Сценарий
На этом этапе разработки программы определяется суть задачи, чтобы можно было подойти к ее решению с учетом всех необходимых факторов. Во время этого этапа вы сможете исключить лишние факторы и сконцентрироваться на главной проблеме, требующей решения. Правильно представляя задачу с самого начала, можно сэкономить время при проектировании и реализации.
Пример: управление температурой печи. Предположим, вам требуется выдержать материал в печи при заданной температуре в течение определенного времени. Для этого не обязательно знать тип материала или время суток. Необходимо знать время выдержки, значение температуры и способ регулировки температуры в печи.
C. Проектирование
Определив суть задачи, можно приступать к проектированию решения. Для этого проводится анализ задачи, в ходе которого определяются, в частности, входные и выходные данные программы, а также любые дополнительные требования.
©National Instruments Corporation |
1-2 |
Учебный курс LabVIEW Основы I |
Урок 1 Решение задач
Определив, что будет на входе и на выходе, можно разрабатывать алгоритм, блок-схему и/или диаграмму переходов, которые помогут перейти к программированию.
Определение входных данных
Входные данные — это те исходные величины, которые вы хотите обработать в процессе решения задачи.
Пример: управление температурой печи. Для программы управления печью входными данными будут время выдержки (в секундах), температура выдержки (в градусах Кельвина) и текущая температура печи (в градусах Кельвина).
Определение выходных данных
Выходные данные представляют собой результат вычисления, обработки, или некоторое состояние, являющееся результатом решения задачи.
Пример: управление температурой печи. Выходным значением программы управления печью будет состояние переключателя on/off, подающего напряжение на нагреватель печи. Напряжение подается на обмотку нагревателя в результате изменения состояния переключателя. Когда напряжение подано или снято, температура печи сразу же начинает меняться.
Определение дополнительных требований
Рассмотрите все остальные факторы, которые могут влиять на решение задачи. Например, нужно ли использовать какие-то конкретные единицы измерения, скажем, сантиметры или секунды?
Пример: управление температурой печи. В качестве дополнительного требования примем, что печь не может начать работу, пока внутренняя температура не сравняется с внешней.
Разработка алгоритма решения задачи
Определив входные и выходные данные, а также дополнительные требования, можно создавать алгоритм. Алгоритм — это последовательность шагов по обработке входных и выработке выходных данных.
Пример: управление температурой печи. Приведенный ниже алгоритм описывает работу печи:
1.Измерить внешнюю температуру.
2.Измерить внутреннюю температуру.
3.Если внутренняя температура не равна внешней, вернуться к шагу 1.
4.Измерить внутреннюю температуру.
5.Если внутренняя температура больше или равна требуемой, выключить нагрев.
6.Если текущая температура меньше требуемой, включить нагрев.
©National Instruments Corporation |
1-3 |
Учебный курс LabVIEW Основы I |
Урок 1 Решение задач
7.Если истекшее время меньше времени выдержки, вернуться к шагу 4.
8.Выключить нагрев.
Разработка блок-схемы
Блок-схема визуально представляет последовательность решения задачи. Польза блок-схем в том, что они помогают прослеживать более сложные алгоритмы. Например, можно легко увидеть, что на каком-то шаге к конечному решению ведут два пути, и соответственно спланировать код.
Пример: управление температурой печи. В этом примере можно выполнять проектирование, пользуясь как алгоритмом, так и блоксхемой. На рис. 1-1 показана блок-схема, соответствующая алгоритму из предыдущего подраздела.
©National Instruments Corporation |
1-4 |
Учебный курс LabVIEW Основы I |
Урок 1 Решение задач
Рис. 1-1. Блок-схема программы управления печью.
Разработка диаграммы переходов
Диаграммы переходов — это блок-схемы особого типа, которые широко используется при создании конечных автоматов (state machines) LabVIEW. Диаграмма переходов позволяет четко выявить состояния программы и условия переходов из одного состояние в другое. Для обозначения стационарного состояния на диаграмме переходов используется помеченный кружок, а переход между состояниями обозначается стрелкой с подписью.
©National Instruments Corporation |
1-5 |
Учебный курс LabVIEW Основы I |
Урок 1 Решение задач
Состояние — это часть программы, которая удовлетворяет условию, выполняет действие или ожидает события. Переход — это условие, действие или событие, которое заставляет программу переходить в следующее состояние.
Начало программы обозначается закрашенным кружком (показан слева).
Конец программы обозначается концентрическим кружком (показан слева).
Пример: управление температурой печи. В этом примере также можно использовать диаграмму переходов, которая показана на рис. 1-2. При разработке ВП допустимо пользоваться и блок-схемой, и диаграммой переходов, однако полученные программные решения могут различаться.
|
|
|
Обозначения |
|
|
|
T = Текущая температура |
|
|
|
X = Заданная температура |
|
|
|
Y = Внешняя температура |
|
T = Y |
|
|
|
|
A = Текущее время |
|
|
|
|
|
Сравнить |
|
|
B = Время выдержки |
температуры |
|
|
|
A < B
T = Y
T < X |
Включить нагрев |
|
Измерить
температуру
печи
T >= X
Проверить время
A >= B
Выключить нагрев
Рис. 1-2. Диаграмма переходов для примера с печью.
D. Реализация
На этапе реализации создается код, соответствующий алгоритму или блок-схеме. При написании кода на текстовом языке программирования каждое действие алгоритма элегантно транслируется в одну или несколько строк кода, в зависимости от степени детализации. LabVIEW, будучи графическим языком
©National Instruments Corporation |
1-6 |
Учебный курс LabVIEW Основы I |
Урок 1 Решение задач
программирования, позволяет создавать код непосредственно по блок-схеме. Реализация ВП на основе блок-схемы или диаграммы переходов более подробно рассматривается в уроке 11,
Стандартные методы и образцы проектирования.
E. Тестирование
Тестирование и верификация являются важными составными частями методики разработки ПО. Обязательно протестируйте свою реализацию двумя типами данных: логичными и нелогичными с точки зрения решаемой задачи. Тестирование логичными данными позволяет убедиться, что входные значения дают ожидаемый результат. Тестируя программу нелогичными данными, вы проверите, насколько эффективно обрабатываются ошибки.
Пример: управление температурой печи. Для тестирования стратегии обработки ошибок в примере с печью, можно задать температуру выдержки меньше температуры окружающей среды. Эффективная система обработки ошибок предупредит пользователя, что печь может только нагреваться, но не охлаждаться.
F. Сопровождение
Сопровождение — это непрерывный процесс устранения ошибок в программе, в ходе которого также меняется исходный способ решения задачи.
Пример: управление температурой печи. После написания кода вы можете столкнуться с тем, что заказчик хочет добавить датчик температуры в другую зону печи, чтобы повысить отказоустойчивость системы. Добавлять функции к программе легче, если вы с самого начала закладываете возможность ее масштабирования.
©National Instruments Corporation |
1-7 |
Учебный курс LabVIEW Основы I |
