Встатье описывается архитектура программной реализации виртуального стенда для изучения аналогового управления и ПИД-регулирования в среде LabVIEW с использованием NI USB-6008. Подробно рассмотрены алгоритмы инициализации, циклической обработки данных, управления виртуальным объектом, визуализации процессов и интерактивных возможностей интерфейса. Представлены методики автоматической адаптации параметров модели и механизмы контроля качества регулирования, способствующие развитию инженерных компетенций у обучающихся.
Ключевые слова: виртуальная лаборатория, LabVIEW, аналоговое управление, ПИД-регулятор, визуализация, образовательные технологии.
Внедрение виртуальных лабораторных комплексов на базе LabVIEW позволяет эффективно обучать принципам автоматического управления, моделировать сложные динамические процессы и проводить экспериментальные исследования без необходимости использования дорогостоящего оборудования [2]. Особое значение имеет программная реализация таких стендов, обеспечивающая гибкость, наглядность и высокую точность моделирования в реальном времени.
При запуске VI все переменные и каналы инициализируются: θ = 0°, ω = 0 рад/с, Tick-счётчик сохраняется как T₀, а DAQ-задача для USB-6008 создаётся, но ещё не активна, потому что до переключения во вкладку «Программирование» линиям AO/AI обращаться не нужно. Сразу после инициализации начинается бесконечный while-цикл.
Каждую итерацию цикл первым делом считывает новый Tick Count (мс) и вычитает из него сохранённую в регистре T prev величину предыдущего такта. Полученный интервал Δt кладётся в кольцевой буфер из пяти значений; среднее этого буфера будет использоваться во всех расчётах текущего шага. Затем T prev обновляется на только что прочитанный Tick.
Далее проверяется, какая вкладка активна. Если пользователь выбрал режим «Программирование», DAQ-узел читает AI0 — это уставка от внешнего ПЛК — и одновременно запоминает её в глобальной переменной [1]. Если открыт режим DEMO, канал не опрашивается и всегда возвращает предыдущее внутреннее значение уставки. Здесь же определяется, нужно ли писать выход AO0: в «Программировании» управляющее напряжение, рассчитанное позже, уйдёт на плату; в «DEMO» вызов DAQmx Write вообще не выполняется. Для повышения устойчивости при передаче данных и устранения колебаний в системе предусмотрен фильтр низких частот, сглаживающий значение входных аналоговых сигналов.
Следующий крупный блок отвечает за оба вентилятора. Напряжение управления (пришедшее из PID или равное нулю) сначала масштабируется из рабочего диапазона аналогово сигнала DAQ от 0 до 10 В в рабочий диапазон питания двигателей от минус 24 до плюс 24 В. Знак полученной величины определяет активный двигатель: если сигнал положительный, к расчёту допускается левый вентилятор, правый получает нуль-момент и нулевую тягу; при отрицательном сигнале ситуация зеркальная. Сама тяга и момент вентилятора вычисляются в Formula Node по эмпирическим формулам с учётом оборотов предыдущего шага и мгновенного встречного потока воздуха.
На следующем шаге при помощи числовых блоков зачитывается общее уравнение моментов. После этого по Эйлеру считается действующее значение скорости, которое уже используется при расчетах на следующем цикле.
Позиционная ошибка переводится в градусы и идёт в блок PID.vi; там же перед подачей параметры Ti, Td, введённые в миллисекундах, автоматически делятся на 60000, потому что внутренний алгоритм PID.vi ожидает минуты. Выход PID возвращается как задание на вентилятор.
Визуализация работает в том же цикле. Сначала проверяется, изменяли ли пользователь параметры стержня, а также изменились ли углы положения объектов. Если да, геометрия балок и цилиндров пересоздаётся. Затем к 3D-сцене применяются функции поворота и масштаба [3]. Всё это выполняется до отрисовки блоков Chart, поэтому графики скорости, оборотов и напряжения всегда показывают ровно то, что попало в сцену.
Пакет данных (n стержня , n вентиляторов , ɛ, U) падает в четыре Waveform Chart. Если пользователь нажал «Остановка отрисовки графиков», срабатывает ветка Case, после чего графики останавливаются, что позволяет провести дальнейший анализ переходного процесса. Таким образом каждое значение используется в той же итерации, в которой оно вычислено, а расчётный шаг всегда совпадает с фактическим реальным временем выполнения кода. В результате визуализация отображает процесс, максимально приближенный к реальному времени.
Итоговая реализация виртуальной модели представлена на рисунке 1.
Рис. 1. Реализация виртуальной модели в LabVIEW
Модель обладает двумя существенными возможностями, расширяющими её педагогический потенциал. Во-первых, геометрические размеры стержня (длина, толщина профиля) и удельные параметры материала (плотность) вынесены в набор пользовательских переменных виртуального прибора. Любое изменение этих коэффициентов автоматически пересчитывает момент инерции и аэродинамический момент торможения, а трёхмерная визуализация немедленно отражает новую конфигурацию. Тем самым создаётся вариативная среда, позволяющая студенту моделировать лёгкие балки, балки различной длины и толщины без перекомпиляции кода.
Во-вторых, в интерфейс встроен механизм мониторинга качества регулирования. Пользователь может задать предельные значения времени переходного процесса t пп , допуска перерегулирования α и статической ошибки Δ. Эти ограничения отображаются на графике ошибки в виде цветовых зон. По ходу эксперимента кривая ошибки накладывается на указанные зоны, что даёт наглядный способ контролировать эффективность настроенной системы управления и оперативно корректировать коэффициенты ПИД-регулятора.
Разработанная программная архитектура виртуального лабораторного комплекса в среде LabVIEW обеспечивает надёжное, гибкое и наглядное моделирование динамических объектов для целей инженерного образования. Гибкость настройки модели, интерактивный интерфейс и инструменты контроля качества регулирования позволяют обучающимся глубже понять процессы автоматического управления и отработать практические навыки настройки регуляторов в условиях, максимально приближённых к реальным инженерным задачам.
Литература:
- Liu S., Wang Y., Ji Z., Zhang Z. Real Time State Monitoring and Fault Diagnosis System for Motor Based on LabVIEW // Proceedings of the 2019 4th International Conference on Mechanical, Control and Computer Engineering (ICMCCE), Hohhot, China, 2019. С. 251–2513. DOI: 10.1109/ICMCCE48743.2019.00064.
- Mavi A., Özmen A., Ertuğrul M. Analyzing and Presenting Data with LabVIEW // LabVIEW — A Flexible Environment for Modeling and Daily Laboratory Use. IntechOpen, 2021. DOI: 10.5772/intechopen.96130.
- Using the 3D Picture Control [Электронный ресурс]. URL: https://www.ni.com/docs/en-US/bundle/labview/page/using-the-3d-picture-control.html (дата обращения: 09.05.2025).