Исполнитель: Потемкин М.С., 641-об
Научный руководитель: Штыкин М.Д.
Создание автоматизированных систем научных исследований на основе АСНИ LabVIEW
Сегодня в России уделяется огромное внимание разработке и использованию в учебном процессе электронных образовательных ресурсов (ЭОР). Предоставляется широкий выбор обучающих программ, электронных энциклопедий и справочников и т.п. Все большее внимание при разработке ЭОРов уделяется мультимедиа, которое в значительной степени способствует повышению наглядности ресурсов и эффективности их использования в учебном процессе.
Примером использования таких ресурсов в учебном процессе могут служить виртуальные лаборатории, позволяющие моделировать объекты и процессы окружающего мира, а также организовывать компьютерный доступ к реальному лабораторному оборудованию. Их использование особенно актуально при преподавании таких дисциплин как моделирование, проектирование и др.
LabVIEW или Laboratory Virtual Instrument Engineering Workbench (Среда разработки лабораторных виртуальных приборов) представляет собой среду графического программирования, которая широко используется в промышленности, образовании и научно-исследовательских лабораториях в качестве стандартного инструмента для сбора данных и управления приборами. LabVIEW - мощная и гибкая программная среда, применяемая для проведения измерений и анализа полученных данных.
LabVIEW -- язык графического программирования, в котором для создания приложений используются графические образы (иконки) вместо традиционного текстового кода. От пользователя пакета не требуется знаний языков программирования, но понятие об алгоритме, цикле, выходе по условию и т.п. конечно иметь нужно. Все действия сводятся к простому построению структурной схемы приложения в интерактивной графической системе с набором всех необходимых библиотечных образов, из которых собираются объекты, называемые Виртуальными Инструментами (VI).
В LabVIEW разрабатываемые программные модули называются «Virtual Instruments» (Виртуальные Инструменты) или по-простому VI. VIs - это кирпичики, из которых состоит LabVIEW - программа. Любая LabVIEW программа содержит как минимум один VI. В терминах языка Си можно достаточно смело провести аналогию с функцией с той лишь разницей, что в LabVIEW одна функция содержится в одном файле (можно также создавать библиотеки инструментов). Само собой разумеется, один VI может быть вызван из другого VI. В принципе каждый VI состоит из двух частей -- Блок-Диаграмма (Block Diagram) и Передняя Панель (Front Panel). Блок-диаграмма -- это программный код (точнее визуальное графическое представление кода), а Передняя панель -- это интерфейс. Вот как выглядит классический пример Hello,World!:
Рисунок 1 - Реализация программы по выводу "Hello, World!"
LabVIEW включает в себя богатые наборы элементов для построения пользовательских интерфейсов. Уж на что быстро «набрасывались» интерфейсы в Дельфи, а в LabVIEW этот процесс происходит ещё стремительнее.
Рисунок 2 - Интерфейс LabVIEW
Концепция LabVIEW сильно отличается от последовательной природы традиционных языков программирования, предоставляя разработчику легкую в использовании графическую оболочку, которая включает в себя весь набор инструментов, необходимых для сбора данных, их анализа и представления полученных результатов. С помощью графического языка программирования LabVIEW, именуемого G (Джей), можно программировать задачу из графической блок-диаграммы, которая компилирует алгоритм в машинный код. Являясь превосходной программной средой для бесчисленных применений в области науки и техники, LabVIEW помогает решать задачи различного типа, затрачивая значительно меньше времени и усилий по сравнению с написанием традиционного программного кода.
Начиная с восьмой версии в LabVIEW была добавлена поддержка классов -- язык стал объектно-ориентированным. Реализованную поддержку нельзя назвать полной, однако основные черты объектно-ориентированных языков -- наследование и полиморфизм присутствуют. Также функциональность языка можно расширить дополнительными модулями, например NI Vision Toolkit - для обработки изображений и машинного зрения и другие. А при помощи модуля Applcation Builder можно сгенерировать исполняемый exe-файл. С помощью Internet Toolkit можно работать с ftp серверами, c помощью Database Connectivity Toolkit -- с базами данных и т.д.
Часто можно услышать мнение, что графический код плохо читаем. Действительно, с непривычки обилие иконок и проводников несколько шокирует. Однако опытный LabVIEW-разработчик никогда не создаст диаграмм, превышающих размер экрана, даже если программа состоит из сотен модулей. Хорошо разработанная программа фактически «самодокументируется», поскольку в основе уже лежит графическое представление.
Рисунок 3 - Блок диаграммы
LabVIEW -- это компилятор. Также LabVIEW-код может быть скомпилирован в полноценный исполнямый файл, который может быть запущен на компьютере без установленной LabVIEW (правда он требует LabVIEW Run-Time). Также можно собрать установочный пакет-инсталлятор, сторонних утилит типа InstallShield при этом не требуется.
На основе LabVIEW и модульных приборов, разработанных компанией National Instruments, в настоящее время, разработано множество различных систем, таких как:
• система сбора и обработки сигналов с датчиков;
• проектирование электронных схем;
• системы управления и механотроника;
• цифровая обработка сигналов;
• радиотехника и система связи;
• диагностика машин и механизмов;
• автоматизированный стенд магнито-люминесцентного контроля железнолорожных колес;
• измерительно-испытательный комплекс для проведения тестового испытания газотурбинных двигателей;
• мобильный испытательный комплекс для наладки испытаний электровозов и д.р..
Разработка виртуального подприбора «Управление асинхронным двигателем с короткозамкнутым ротором»
Процесс создания начинаем с:
Определения функциональных действий подприбора, а именно: управление ревесивным ходом асинхронного двигателя осуществляется при помощи двух выключетелей, управление выключателями будет осуществляться с помощью воздействия сигнала 24 В на катушку, имеющую выводы 1-2 к терминальному шлейфу, терминальный шлейф подключен к терминалу, который соединён с блоком усиления цифровых сигналов. Так же выключатель конструктивно реализует блокировку от одновременного включения движения «вперёд» и «назад», для реализации блокировки используются выводы 7-8 к терминальному шлейфу. Следовательно, необходимо задействовать два дискретных выхода 5 В, которые соединены шлейфом с блоком усиления цифровых сигналов, и на выходе дают сигнал в 24В.
Для управления аналоговыми и дискретными сигналами необходимо в приложение Measurement & Automation Explorer создать соотвествующие каналы.
Рисунок 4 - Лицевая панель подприбора
Функции для получения и формирования аналоговых сигналов располагаются в палитре Functions - Data Acquisition. Перечислим основные из них (рисунок 5 ):
Рисунок 5 - Функции сбора данных
Для всех функций входными параметрами являются:
- Device (устройство) - номер устройства присвоенный плате;
- Channel (канал) - определяет физический канал на DAQ устройстве;
- Number of samples - количество выборок на канал;
- Sample rate - частота, с которой производиться считывание;
- High, Low limit - верхнее и нижнее ограничение по уровню сигнала.
Из подменю Data Acquisition палитры Functions выбираем 3 элемента AI Acquire Waveform, так как нам необходимо непрерывное считывание по одному каналу и записать данные в виде одномерного массива чисел.
Рисунок 6 - Элемент Basic Averaged DC-RMS (Базовое среднее DC-RMS)
Функция рассчитывает действующее значение напряжения (DC value), среднеквадратичное значение (RMS value), также добавляем индикатор «Действующее значение», для вывода на лицевую панель числа, а также различные математические операции.
Разработка прибора в программе LabView
Объектом управления является асинхронный двигатель с короткозамкнутым ротором, исследуемыми величинами: ток, напряжение и частота вращения. Управление движением и частотой вращения асинхронного двигателя осуществляется при помощи преобразователя частоты. Преобразователь частоты имеет возможность работы в ручном и автоматическом режимах. В ручном режиме выбор направления вращения осуществляется нажатием на кнопки «вперед» и «назад» на блоке преобразователя частоты, изменение частоты питающей сети осуществляется при помощи вращения регулятора. В автоматическом режиме пуск, выбор направления вращения и остановка осуществляются по средством дискретных сигналов, изменение частоты осуществляется аналоговым сигналом 0-10В, что соответствует изменению частоты с 0-100Гц.
Рисунок 7 - Лицевая панель виртуального прибора
Рисунок 8 - Функциональная панель