Цифровой двойник лабораторного стенда по изучению автоматических регуляторов и типовых законов регулирования

Научная статья
DOI:
https://doi.org/10.60797/IRJ.2024.148.151
Выпуск: № 10 (148), 2024
Предложена:
02.08.2024
Принята:
25.09.2024
Опубликована:
17.10.2024
35
2
XML
PDF

Аннотация

В статье рассматривается разработка и внедрение виртуального лабораторного стенда для изучения автоматических регуляторов и типовых законов регулирования. Целью работы является повышение эффективности обучения студентов в области информатики и вычислительной техники за счёт создания виртуального стенда, который обеспечивает наглядное и безопасное проведение лабораторных работ. Выполнен анализ объекта моделирования для точного воспроизведения его работы в виртуальной среде. Создан интерфейс и основные функциональные элементы, проведены тесты для оценки его работоспособности и удобства использования. Работа демонстрирует преимущества виртуальных стендов перед традиционными физическими установками, включая экономию ресурсов, повышение безопасности, гибкость и масштабируемость. Внедрение виртуальных стендов позволяет проводить лабораторные работы дистанционно, что особенно актуально в условиях современного образовательного процесса. На кафедре «Автоматизированные системы сбора и обработки информации» ФГБОУ ВО «КНИТУ» виртуальные стенды уже успешно используются для изучения периодических процессов, измерения уровня и расхода жидкости, измерения давления. Это подтверждает их эффективность и необходимость в современном образовательном процессе.

1. Введение

Одним из ключевых аспектов образования студентов в области информатики и вычислительной техники является закрепление теоретических знаний через выполнение практических работ. Однако традиционные лабораторные установки часто обладают высокой стоимостью, сложной структурой и требуют обширной технической документации. Работа с таким оборудованием требует наличия квалифицированного персонала, а процесс модернизации и изменения конфигурации установок затруднён.

Современные технологии позволяют преодолеть эти проблемы благодаря созданию цифровых двойников и виртуальных моделей реальных лабораторных стендов. Внедрение виртуальных лабораторных стендов в образовательный процесс становится актуальной задачей для университетов. Такие стенды позволяют наглядно демонстрировать изучаемые явления и процессы, уменьшать погрешности при проведении экспериментов, делить студентов на небольшие группы для выполнения работ, выгружать данные для последующей обработки и проводить удалённую работу

,
,
.

Целью данной работы является повышение эффективности обучения студентов путём разработки виртуального стенда для изучения автоматических регуляторов и типовых законов регулирования.

Для достижения этой цели необходимо решить следующие задачи:

– провести анализ существующих виртуальных стендов с аналогичным функционалом и сформулировать требования к разрабатываемому продукту;

– выбрать подходящую среду разработки;

– провести анализ объекта моделирования;

– разработать виртуальный стенд.

Актуальность данной работы заключается в трансформации цифровых технологий в образовательный процесс и необходимости в цифровых лабораторных стендах, которые обладают рядом преимуществ по сравнению с физическими. Виртуальные стенды позволяют увеличить количество студентов, обучаемых одновременно, за счёт установки специального программного обеспечения на необходимое количество компьютеров. Они также позволяют продемонстрировать результаты действий без риска повреждения реального оборудования, контролировать процесс выполнения работы и обнаруживать ошибки, что ускоряет процесс обучения и освобождает преподавателя от необходимости контролировать работу каждого студента.

На кафедре «Автоматизированные системы сбора и обработки информации» ФГБОУ ВО «КНИТУ» уже были разработаны виртуальные лабораторные стенды по изучению периодических процессов, измерению уровня и расхода жидкости, измерению давления, которые активно используются в образовательном процессе

,
,
,
,
.

Использование виртуальных стендов становится необходимостью в современном мире, поскольку они позволяют отрабатывать навыки работы и являются дешёвой заменой реального оборудования

. Виртуальные стенды могут использоваться как в промышленности, так и в образовательной деятельности. Они позволяют студентам понять методику выполнения работы, хотя и не обеспечивают полной практической направленности, как работа с реальными приборами. Преимуществом виртуальных стендов является возможность дистанционного обучения.

В целом, использование виртуальных стендов в обучении даёт студентам возможность приобрести практические навыки, экономить ресурсы, обеспечивать безопасность и гибкость, а также повышать воспроизводимость и доступность обучения.

Если сравнивать виртуальный стенд с физическим, то виртуальный стенд обладает рядом значительных преимуществ.

Во-первых, виртуальный стенд создается программно, что устраняет необходимость в дорогостоящем оборудовании и его подключении. Это существенно снижает затраты на оборудование и обслуживание, а также упрощает процесс внедрения стенда в учебный процесс.

Во-вторых, виртуальные стенды обладают высокой доступностью, так как они могут быть использованы в любое время и в любом месте. Это особенно важно в условиях дистанционного обучения или ограниченного доступа к физическим лабораториям. В отличие от физического стенда, который требует физического присутствия на месте, виртуальный стенд позволяет проводить лабораторные работы и эксперименты удаленно.

Третье преимущество виртуального стенда заключается в его масштабируемости. Виртуальные стенды легко копируются и воспроизводятся, что позволяет создавать несколько экземпляров для использования различными группами студентов одновременно. Это невозможно в случае с физическими стендами, где количество установок ограничено физическими ресурсами и пространством.

Четвертое преимущество связано с управлением виртуальными стендами. Управление параметрами виртуального стенда осуществляется программно, что значительно упрощает процесс настройки и конфигурации. В случае с физическими стендами изменение параметров требует вмешательства человека, что может быть трудоемким и времязатратным процессом.

Наконец, отладка программного обеспечения на виртуальных стендах значительно проще и удобнее по сравнению с физическими стендами. Виртуальные стенды позволяют легко выявлять и исправлять ошибки в программном обеспечении, что повышает эффективность учебного процесса. В физическом же стенде возможности для отладки ограничены возможностями приборов, что может затруднять и замедлять процесс выявления и устранения ошибок.

Таким образом, виртуальные стенды представляют собой более экономичное, доступное, масштабируемое, простое в управлении и эффективное в отладке решение по сравнению с традиционными физическими стендами.

2. Интерфейс эмулятора

Предпринятая ранее попытка разработки виртуального стенда по данной лабораторной работе с одной стороны была успешной

, с другой стороны имела значительный недостаток, который устранен авторами. В качестве недостатка можно выделить то, что лабораторный стенд запускался только на одной версии операционной системы с использованием определенной версии Fraimework, что достаточно неудобно, т.к. мало где можно найти компьютеры с ОС Windows XP.

Для разработки данного технологического объекта был выбран проект типа Windows Forms, поскольку эта платформа предлагает обширный набор функций для создания приложений, включая элементы управления, графику и привязку данных. Отличительной особенностью Windows Forms является использование визуального конструктора с функцией перетаскивания в Visual Studio, что значительно упрощает процесс создания приложений. С помощью Windows Forms был создан интерфейс для данного объекта (рисунок 1).

Интерфейс виртуального лабораторного стенда по изучению автоматических регуляторов и законов регулирования

Рисунок 1 - Интерфейс виртуального лабораторного стенда по изучению автоматических регуляторов и законов регулирования

Визуальный элемент rheostatKnob эмулирует работу ручки реостата лабораторного стенда. Этот элемент позволяет пользователю регулировать значение путем поворота ручки, отображая визуальные изменения на экране.

Свойства для установки и получения минимального и максимального значения регулировки. При установке значений вызывается метод для перерисовки элемента управления (контрола).

При установке значения происходит проверка на соответствие границам. Значение также преобразуется в угол поворота ручки, и вызывается событие.

Конструктор класса Form1 включает двойную буферизацию для уменьшения мерцания и устанавливает автоматическую перерисовку при изменении размера контрола.

Далее рассмотрим основные функциональные элементы разработанной программы.

OnPaint – метод, который вызывается для рисования контрола. Благодаря этому методу:

устанавливается режим сглаживания графики;

рисуется основание ручки в виде эллипса;

вычисляется и рисуется указатель ручки на основании текущего угла.

OnMouseDown – обработчик события нажатия кнопки мыши. Он вызывает метод UpdateValueFromMouse, который обновляет значение на основе положения мыши.

UpdateValueFromMouse – метод, который обновляет значение реостата на основе положения курсора мыши:

вычисляет смещение курсора относительно центра ручки;

вычисляет расстояние от центра ручки до курсора;

– проверяет, находится ли курсор в допустимой области;

вычисляет угол поворота на основе положения курсора;

корректирует угол, если он выходит за пределы -135 и 135 градусов;

обновляет текущее значение на основе угла;

вызывает событие OnValueChanged и перерисовывает контрол.

OnValueChanged – виртуальный метод, который вызывается при изменении значения. Данный метод инициирует событие ValueChanged, если на него подписаны обработчики.

Интерфейс основной формы описывает функциональность основной формы приложения, которая эмулирует лабораторный стенд. Основная форма включает различные элементы управления и обработчики событий для взаимодействия с пользователем.

Основные переменные:

– T, Ti, Td,Xp, C1, C2: параметры настройки регулятора.

– reg: переменная для уровня возмущения.

– mult, U, P, I, D, dt, Tsum, prevP, Dreal, D0, i, t: дополнительные переменные для расчётов и состояния.

– Nprog, n: переменные для управления программным состоянием.

Конструктор Form1 вызывает метод InitializeComponent, который инициализирует компоненты формы.

Обработчики событий:

1. Обработчик события изменения значения возмущения вызывается при изменении значения реостата, который управляет уровнем возмущения. Когда пользователь поворачивает ручку реостата, значение изменяется, и функция обновляет переменную reg, которая представляет собой уровень возмущения. Затем это значение отображается на метке label3, чтобы пользователь видел текущее значение возмущения.

2. Обработчик события переключения рабочей переменной вызывается при нажатии на кнопку «Прог». При каждом нажатии происходит переключение рабочей переменной, которая определяет, какой параметр будет изменен при следующем нажатии на кнопку «^». В зависимости от значения переменной происходит изменение отображаемого параметра и установка соответствующего состояния кнопок.

3. Обработчик события изменения значения параметра вызывается при нажатии на кнопку «^». В зависимости от значения переменной происходит изменение соответствующего параметра (T, Ti, Td, Xp, C1, C2). После изменения значения параметра, происходит его отображение.

4. Обработчик события выбора изменяемого разряда при установке параметров вызывается при нажатии на кнопку «<<». При каждом нажатии происходит изменение множителя, который определяет, какой разряд параметра будет изменен при следующем нажатии на кнопку «^». Затем функция устанавливает состояние кнопок в зависимости от значения.

5. Обработчик события включения стенда вызывается при нажатии на кнопку включения стенда. Если стенд был выключен (кнопка красная), то после нажатия кнопка меняет цвет на зеленый, и все элементы управления становятся доступными для пользовательского взаимодействия. Если стенд был включен, то после нажатия кнопка меняет цвет обратно на красный, и все элементы управления становятся недоступными.

6. Обработчик события включения возмущения вызывается при нажатии на кнопку включения возмущения. Если возмущение было выключено (кнопка красная), то после нажатия кнопка меняет цвет на зеленый, и ручка реостата становится доступной для пользовательского взаимодействия, а таймер запускается для обновления возмущения. Если возмущение было включено, то после нажатия кнопка меняет цвет обратно на красный, ручка реостата становится недоступной, и таймер останавливается.

Дополнительные функции:

– вызов файла с методическими материалами осуществляется при нажатии на кнопку «?» и открывает PDF файл с методическими материалами, используя системный процесс (рисунок 2). В методических материалах содержится как теория по данной теме, так и методика по выполнению лабораторной работы и контрольные вопросы для подготовки к опросу. Если файл не удается открыть, отображает сообщение об ошибке;

– вызов формы тестирования осуществляется с помощью нажатия на кнопку "Test" открывает новую форму для тестирования. Основная форма скрывается, и снова отображается, когда форма тестирования закрывается. Таким образом, у преподавателя есть возможность оценки знаний, полученных студентом после изучения теоретического материала.

Интерфейс виртуального лабораторного стенда по изучению автоматических регуляторов и законов регулирования (методические материалы)

Рисунок 2 - Интерфейс виртуального лабораторного стенда по изучению автоматических регуляторов и законов регулирования (методические материалы)

Классический ПИД-регулятор формирует выходной сигнал как комбинацию трёх основных компонентов:

1. Пропорциональная компонента (P). Эта часть выходного сигнала пропорциональна текущей ошибке регулирования. Она зависит напрямую от разницы между заданным и текущим значением регулируемой величины.

2. Интегральная компонента (I). Интегральная часть выходного сигнала вычисляется как интеграл от ошибки по времени. Это помогает устранить статическую ошибку системы, обеспечивая нулевое значение ошибки в установившемся режиме.

3. Дифференциальная компонента (D). Дифференциальная часть выходного сигнала определяется производной ошибки по времени. Она способствует быстрой реакции системы на изменения в регулируемой величине, предотвращая перерегулирование и улучшая динамические характеристики системы

.

Все эти компоненты совместно формируют итоговый выходной сигнал ПИД-регулятора, обеспечивая точное и стабильное управление регулируемым объектом.

Передаточная функция непрерывного ПИД-регулятора имеет следующий вид:

img
(1)

где:

Хр – предел пропорциональности (обратная величина коэффициента усиления (k) выражается в процентах: k = (1/Xp) 100%;

Δσ – разность между заданным Туст и текущим Тi значением, то есть величина рассогласования;

Tд – постоянная времени дифференцирования;

Δ(Δσ) – разность между соседними рассогласованиями Δσi и Δσi-1;

Δtизм ≈ 1,5 сек. – время между двумя соседними измерениями Δti и Δti-1;

t – время прошедшее с начала измерения;

Tи – постоянная времени интегрирования;

img – накопленная сумма рассогласований.

Для реализации работы ПИД-регулятора использовался элемент timer.

Событие timer1_Tick срабатывает с частотой, определенной таймером timer1. Обработчик данного события выполняет код для управления процессом (рисунок 3).

Свойства элемента timer1

Рисунок 3 - Свойства элемента timer1

Псевдокод обработчика события timer1_Tick:

// Инициализация и защита от деления на ноль

если Ti == 0 тогда

    Ti = 9999

конец

если Td == 0 тогда

    t = 1

конец

// Рассчитывание ошибки

ошибка = T - reg

P = abs(ошибка)

// Обновление суммы ошибок для интегральной составляющей

Tsum += P

I = (1 / Ti) * Tsum * dt

// Рассчёт дифференциальной составляющей

D = Td * ((P - prevP) / t)

prevP = P

t = t + 1.5

// Ограничение дифференциальной составляющей

если D > C2 тогда

    D = C2 * 4

конец

если D > 1 тогда

    Dreal = D

    D0 = D

    n = 1

конец

// Вычисление управляющего сигнала

U = (1 / Xp) * (P + I + Dreal) * 100

U = макс(C1, мин(C2, U))

// Добавление случайного разброса

случайное_значение = случайное_число - 0.5

U = U + случайное_значение

// Параболическое изменение Dreal

если Dreal != D тогда

    если Dreal > D тогда

        Dreal = D0 * (0.5)^(n / 3.33)

    иначе

        Dreal = D0 * (2)^(n / 3.33)

    конец

    n = n + 1

конец

// Обновление текста на метке

label2.Text = форматировать(U, "F1").дополнить_нулём_слева(5)

 Объяснения псевдокода:

1. Инициализация и защита от деления на ноль: проверка значений Ti и Td и их установка при необходимости.

2. Расчет ошибки: вычисление ошибки как разности между T и reg, и её абсолютное значение.

3. Обновление суммы ошибок для интегральной составляющей: обновление накопленной суммы ошибок и вычисление интегральной составляющей.

4. Расчет дифференциальной составляющей: вычисление дифференциальной составляющей и обновление предыдущего значения ошибки.

5. Ограничение дифференциальной составляющей: проверка и ограничение значения D.

6. Вычисление управляющего сигнала: вычисление управляющего сигнала U и его ограничение в заданном диапазоне.

7. Добавление случайного разброса: добавление случайного значения к U.

8. Параболическое изменение Dreal: модификация Dreal с использованием параболической зависимости.

9. Обновление текста на метке: форматирование и обновление значения на метке label2.

Таким образом, код осуществляет вычисление сигнала управления U на основе текущего состояния системы и параметров PID-регулятора.

2.1. Секундомер

Для реализации работы секундомера использовался элемент timer.

Timer2_Tick: это событие срабатывает с заданной частотой, определенной таймером timer2. Внутри этого события выполняется код для управления процессом (рисунок 4).

Свойства элемента timer2

Рисунок 4 - Свойства элемента timer2

При срабатывании события значение i увеличивается на 0.1 и записывается в label 3.

2.2. Форма тестирования

Данная форма служит в роли проверки знаний студентов (рисунок 5). Основная задача этой формы – отображение вопросов из теста, выбор ответов и подсчет результатов. Вопросы загружаются из файла JSON (JavaScript Object Notation, легкий формат обмена данными), и пользователь может отвечать на них, переходя к следующему вопросу с помощью кнопки.

Форма тестирования

Рисунок 5 - Форма тестирования

Обзор функциональности:

1. Инициализация формы. При создании формы вызывается конструктор, который инициализирует компоненты, загружает вопросы из файла JSON и отображает первый вопрос.

2. Загрузка вопросов из JSON файла «LoadQuestionsFromFile». Если файл существует, читается его содержимое и десериализуется в список объектов Question. Если файл не найден, показывается сообщение об ошибке и форма закрывается.

3. Отображение текущего вопроса и его ответы «DisplayCurrentQuestion». Установка видимости радиокнопок в зависимости от количества ответов. Конфигурация и размещение радиокнопки с помощью метода ConfigureRadioButton.

4. Настройка параметров радиокнопок и их положения на форме «ConfigureRadioButton». Если количество ответов меньше пяти, соответствующие радиокнопки скрываются.

5. Обработка выбора ответа и переход к следующему вопросу «button1_Click». Определяет индекс выбранного ответа с помощью метода GetSelectedAnswerIndex. Проверяет правильность ответа и обновляет счет. Переходит к следующему вопросу или завершает тест, показывая итоговый результат и закрывая форму.

6. Метод GetSelectedAnswerIndex возвращает индекс выбранного ответа, либо -1, если ответ не выбран. Это помогает в проверке правильности ответа.

3. Заключение

Одним из ключевых аспектов образования студентов в области информатики и вычислительной техники является закрепление теоретических знаний через выполнение практических работ. Часто такие работы выполняются с использованием лабораторных установок, которые обладают высокой стоимостью, сложной структурой и обширной технической документацией. В условиях растущих требований к квалификации преподавательского состава и сложности модернизации оборудования, актуальным становится применение виртуальных стендов.

Использование виртуальных стендов позволяет существенно увеличить количество одновременно обучающихся студентов, благодаря возможности установки программного обеспечения на несколько компьютеров. Виртуальные стенды предоставляют безопасную среду для выполнения практических работ, предотвращая риск повреждения реального оборудования, и позволяют эффективно контролировать процесс выполнения заданий и выявлять ошибки. Это ускоряет процесс обучения и снижает нагрузку на преподавателей, устраняя необходимость постоянного контроля над каждым студентом.

В результате выполненной работы был разработан виртуальный стенд, который отвечает современным требованиям образовательного процесса и способствует более эффективному усвоению теоретических знаний через практическое применение. Внедрение таких стендов в учебный процесс способствует повышению качества образования, обеспечивая студентов необходимыми навыками и знаниями в области автоматических регуляторов и типовых законов регулирования.

Метрика статьи

Просмотров:35
Скачиваний:2
Просмотры
Всего:
Просмотров:35