
- •Аннотация
- •Содержание
- •Список обозначений
- •Введение
- •1.Формирование математической и программной моделей движения нк и кпк
- •1.1.Моделирование движения надводного корабля
- •1.2.Моделирование движения катера
- •1.3.Моделирование движения корабля на подводных крыльях
- •1.4.Режим управления скоростью хода
- •2.Разработка приложения с графическим интерфейсом
- •Заключение
- •Список использованных источников
- •Приложение а Программная реализация приложения
1.4.Режим управления скоростью хода
В данной работе мы рассмотрим такой алгоритм управления, когда управляющее устройство вырабатывает управляющее воздействие P(t) в функции отклонения ε = vn – v(t), где vn – заданная скорость.
В качестве управляющего устройства будем использовать ПД-регулятор, алгоритм управления которого для разностной модели имеет вид
где kp, kd - коэффициенты пропорциональной и дифференциальной составляющих регулятора соответственно;
εi – ошибка регулирования скорости на i-ом шаге.
Пример работы регулятора, а также его программная реализация рассматривается в следующем разделе.
2.Разработка приложения с графическим интерфейсом
Для моделирования движения корабля в среде MATLAB было разработано приложение с графическим интерфейсом, вид окна которого представлен на рисунке 4.
Рисунок 4 – Вид окна приложения
При запуске приложения по умолчанию выбирается модель НВК «Ударный», а также по умолчанию задаются параметры моделирования в панели «Пульт управления движением» (см. рисунок 4).
Алгоритм работы с приложением следующий:
1. В панели «Выбор корабля» выбирается модель нажатием соответствующей радиокнопки, причем активная радиокнопка предыдущей модели отключается автоматически. Многократные нажатия на одну и ту же активную радиокнопку не приведут к ее отключению. Параметры выбранной модели отображаются в панели «Параметры корабля».
2a. В панели «Пульт управления движением» задаются параметры моделирования:
- Относительная сила тяги P перемещением ползунка, причем перемещение его с помощью стрелок изменяет силу тяги ступенчато (с шагом 10 %). Заданное значение P выводится в поле над ползунком.
- Начальные координата x0 и скорость v0 корабля путем ввода значений в соответствующие поля.
- Так же задается шаг моделирования dt и время моделирования. Можно задать два временны́х интервала моделирования – в режиме «Вперед» и «Реверс», следующих друг за другом. В режиме «Вперед» моделируется разгон и движение судна при выбранном значении относительной силы тяги P. В режиме «Реверс» происходит переключение выбранной силы тяги (с учетом ограничения на скорость изменения P) на значение P = -100 % (выбрано по умолчанию), что обеспечивает торможение корабля. Таким образом, общее время моделирования складывается из времени длительностей режимов «Вперед» и «Реверс».
2b. Выполнение моделирование движения судна можно осуществить также в режиме работы регулятора скорости. Для этого нужно нажать радиокнопку «Регулятор скорости» в панели «Пульт управления движением» и ввести в соответствующее поле заданную скорость. Помимо этого нужно задать начальные условия, шаг моделирования и время моделирования. При включенном регуляторе значение силы тяги, задаваемое перемещением ползунка, игнорируется, так как оно формируется самим регулятором в соответствии с алгоритмом управления (с учетом ограничений, накладываемых на значение и скорость изменения силы тяги P).
3. Запуск моделирования движения и построение графиков силы тяги P(t), скорости v(t) и координаты x(t) осуществляется нажатием кнопки «Пуск».
4. Закрытие приложения осуществляется нажатием кнопки «Выход».
Таблица 4 – Сценарий приложения с графическим интерфейсом
Событие |
Идентификатор элемента управления |
Действие |
Примечание |
Открытие приложения (начальная установка) |
MMOSU_KR_GUI |
Включить радиокнопку NVK |
(см. «Включение радиокнопки НВК») |
Установить начальные значения в панели «Пульт управления движением»: P = 0, x0 = 0, v0 = 0, dt = 1, Tav = 0, Trev = 0, vn = 0. |
Свойство Value объекта sliderP; Свойство String объектов textW, textN, textv, textv1max, textv2max, editP, editx0, editv0, editdt, editTav, editTrev, editvn. |
||
Включение радиокнопки НВК |
radiobuttonNVK |
Установить параметры НВК |
Свойство String объектов textW, textN, textv, textv1max, textv2max. |
Выключить радиокнопки Катера и КПК |
Свойство Value объектов radiobuttonKat, radiobuttonKPK. |
||
Включение радиокнопки Катер |
radiobuttonKat |
Установить параметры Катера |
Свойство String объектов textW, textN, textv, textv1max, textv2max. |
Выключить радиокнопки НВК и КПК |
Свойство Value объектов radiobuttonNVK, radiobuttonKPK. |
||
Включение радиокнопки КПК |
radiobuttonKPK |
Установить параметры КПК |
Свойство String объектов textW, textN, textv, textv1max, textv2max. |
Выключить радиокнопки НВК и Катера |
Свойство Value объектов radiobuttonNVK, radiobuttonKat. |
||
Изменение положение ползунка относительной тяги P |
sliderP |
Считать положение ползунка относительной тяги P |
Свойство Value объекта sliderP |
Записать значение положения ползунка в текстовом поле над ползунком |
Свойство String объекта editP |
||
Включение радиокнопки регулятора скорости |
radiobuttonReg |
Выключить видимость поля ввода времени длительности режима «Реверс», текстов «Вперед», «Реверс» и «с» (напротив поля ввода «Реверс»). |
Свойство Visible объектов textAv, textRev, editTrev, textTrevEdSi. |
Нажатие кнопки «Пуск» |
pushbuttonPusk |
Считать параметры корабля |
Свойство String объектов textW, textN, textv, textv1max, textv2max. |
Считать значения радиокнопки НВК, Катера и КПК |
Свойство Value объектов radiobuttonNVK, radiobuttonKat, radiobuttonKPK. |
||
Считать значения параметров панели «Пульт управления движением» |
Свойство Value объекта sliderP; Свойство String объектов textW, textN, textv, textv1max, textv2max, editP, editx0, editv0, editdt, editTav, editTrev, editvn. |
||
Считать значение радиокнопки регулятора скорости |
Свойство Value объекта radiobuttonReg |
||
Запустить процедуру расчета программной модели |
– |
||
Нажатие кнопки Выход |
Exit |
Закрыть окно приложения |
– |
Код программной реализации приложения представлен в приложении А.
Рабочие экраны интерфейса программы моделирования представлены на рисунках 5-9.
Рисунок 5 – Моделирования режима «Вперед» НВК
Рисунок 6 – Моделирование режима «Вперед»+«Реверс» НВК
Рисунок 7 – Моделирование режима «Вперед»+«Реверс» КПК
Рисунок 8 – Моделирование в режиме регулирования скорости
Рисунок 9 – Моделирование с ненулевой начальной скоростью