Лабораторная работа №1.
Ознакомиться с возможностями SimInTech на основе модели простейшего возвратного клапана.
Разработать модель простейшего возвратного клапана и протестировать ее работу.
Разработать алгоритм системы управления клапаном и убедиться в его работоспособности.
Преобразовать алгоритм управления в вид динамической библиотеки формата «DLL» с использованием генератора кода.
В данной лабораторной работе будет рассмотрен простейший возвратный клапан, который представляет собой объект управления. После подачи соответствующего сигнала будет производиться открытие или закрытие клапана с заданной скоростью. Регистрация положения двух конечных состояний осуществляется встроенными дискретными датчиками.
Алгоритм управления клапаном включает в себя алгоритм определения сигнала конечного состояния и алгоритм формирования сигнала «Открыть»/ «Закрыть» от кнопки. Дополнительно формируются промежуточные сигналы о процессе открытия или закрытия клапана, а также сигналы неисправности клапана при закрытии и открытии за заданный промежуток времени, в данном примере 7 секунд, что больше времени полного открытия клапана.
Рисунок 1. Главное окно SimInTech c выделенным меню для создания нового проекта.
Откроется новое окно проекта. Сохранить проект под именем «Valve_1.prt», нажав на кнопку «Сохранить проект».
Рисунок 2. Рабочая область проекта с выделенным блоком «Субмодель».
Рисунок 3. Рабочая область проекта с блоком «Субмодель» с подписью «КЛАПАН».
1 блок «Порт входа» и 3 блока «Порт выхода» из вкладки «Субструктуры»;
3 блока «Константа» из вкладки «Источники»;
2 блока «Операция РАВНО» из вкладки «Логические»;
1 блок «Усилитель», 1 блок «Сравнивающее устройство» и 1 блок «Перемножитель» из вкладки «Операторы»;
1 блок «Кнопка» из вкладки «Ключи»;
1 блок «Интегратор с ограничением» из вкладки «Динамические».
Рисунок 4. Окно «Порт субмодели».
Аналогичным образом для блоков «Порт выхода» задать имена портов «Клапан Открыт», «Положение клапана», «Клапан Закрыт».
Рисунок 5. Рабочая область субмодели с измененным положением подписи блока.
Рисунок 6. Рабочая область субмодели со структурной схемой модели возвратного клапана.
Рисунок 7. Окно «Свойства» блока «Интегратор с ограничением».
Рисунок 8. Окно «Свойства» блока «Усилитель».
Рисунок 9. Рабочая область субмодели с отображением измененного параметра «Коэффициент усиления» блока «Усилитель».
Рисунок 10. Рабочая область субмодели с изменяемым блоком «Константа».
Рисунок 11. Окно «Свойства» блока «Константа».
Двойным нажатием левой кнопки мыши на свободное пространство рабочей области субмодели, выйти из рабочей области субмодели.
Рисунок 12. Окно «Свойства» блока «Временной график».
Рисунок 13. Окно «Свойства» блока «Задержка по включению».
Рисунок 14. Рабочая область проекта с системой управления клапаном.
Рисунок 15. Главное окно программы с выделенной кнопкой вызова окна примитивов.
Рисунок 16. Главное окно программы с панелью примитивов.
Рисунок 17. Окно «Редактирование текста» примитива «Текст».
Рисунок 18. Рабочая область проекта со схемой системы управления клапаном с добавленными подписями «Отказ».
Рисунок 19. Рабочая область проекта со схемой возвратного клапана с переключенным состоянием блока «Кнопка».
Для остановки инициализациии необходимо нажать левой кнопкой мыши на кнопку «Стоп».
Рисунок 20. Окно «Параметры проекта».
Двойным нажатием левой кнопкой мыши по свободному рабочему пространству блока «Субмодель» с подписью «КЛАПАН», выйти из рабочей области субмодели. Нажатием левой кнопкой мыши по кнопке «Пуск» запустить проект на моделирование.
Рисунок 21. Окно «Свойства графика» блока «Временной график».
Рисунок 22. Рабочая область проекта со схемой модели с переключенным состоянием блока «Кнопка».
Рисунок 23. Рабочая область субмодели с подписью «КЛАПАН» со схемой модели с переключенным состоянием блока «Кнопка».
Рисунок 24. Окно блока «Временной график» с результатами моделирования системы управления клапаном.
Рисунок 25. Рабочая область субмодели с подписью «КЛАПАН» со схемой модели отказа датчика конечного состояния.
Полученные результаты свидетельствуют, что сигнал на открытие, который поступил на 14 секунде, активирует открытие клапана, но даже на 21 секунде, то есть после 7 секунд от момента получения команды, сигнал о полном открытии клапана не поступил (Рисунок 24). На это алгоритм реагирует выдачей сигнала неисправности.
В главном окне SimInTech выбрать вкладку «Файл» и нажать на кнопку «Сохранить проект как…». Сохранить копию проекта «Valve_1.prt» под именем «Valve_2.prt».
Рисунок 26. Рабочая область проекта с выделенными блоками для копирования.
Рисунок 27. Рабочая область блока «Субмодель» с подписью «АЛГОРИТМ УПРАВЛЕНИЯ».
Рисунок 28. Рабочая область субмодели с подписью «КЛАПАН» с измененной схемой модели.
Рисунок 29. Окно «Порт субмодели».
Рисунок 30. Рабочая область субмодели с подписью «АЛГОРИТМ УПРАВЛЕНИЯ» со схемой модели с увеличенным количеством портов выхода.
Рисунок 31. Рабочая область субмодели с подписью «АЛГОРИТМ УПРАВЛЕНИЯ» со схемой системы управления клапаном.
Рисунок 32. Рабочая область проекта с модифицированной системой управления клапаном.
Рисунок 33. Окно «Свойства графика» блока «Временной график».
Рисунок 34. Рабочая область проекта с переключенными состояниями кнопок во время расчета.
Рисунок 35. Окно блока «Временной график» с результатами работы модифицированной модели.
Полученные результаты эксперимента на рисунке (Рисунок 35) соответствуют результатам, полученным на рисунке (Рисунок 24), что подтверждает работоспособность алгоритма управления клапаном в составе системы.
Двойным нажатием левой кнопкой мыши по субмодели с подписью «АЛГОРИТМ УПРАВЛЕНИЯ» войти в субмодель, затем в главном меню необходимо выбрать пункт «Файл» подпункт «Сохранить страницу как…». Сохранить алгоритм управления в файле нового проекта «Valve_control_1.prt».
Рисунок 36. Окно проекта «Valve_control_1.prt».
Рисунок 37. Окно проекта «Valve_control_2.prt».
Рисунок 38. Окно «Свойства» блока «Порт выхода».
Рисунок 39. Окно «Параметры проекта».
Рисунок 40. Окно настройки «Кодогенератор Си».
В частности, например для получения кода, выполняющего вычисления с фиксированной точкой, необходимо во вкладке «Настройки» в строке «Директории шаблона кода» выбрать в выпадающем меню строку: «%codetemplates%FixPoint_16_16_MinGW_DLL\».
Рисунок 41. Рабочая область проекта с сообщениями генератора кода для схемы.
Сохранить копию проекта «Valve_2.prt» под именем «Valve_3.prt». Открыть проект «Valve_3.prt».
Рисунок 42. Окно «Свойства» блока «Внешняя DLL»».
Рисунок 43. Рабочая область проекта с системой управления клапаном.
Запустить проект на моделирование. В процессе расчета выполнить переключения клапана для исследования работы модели. Для этого необходимо:
Допустимо отличие полученного результата от приведенного на рисунке (Рисунок 44), так как время нажатия на блоки «Кнопка» выбирается стохастически.
Рисунок 44. Окно блока «Временной график» с результатами работы модели системы.
В ходе данной лабораторной работы была разработана простейшая модель возвратного клапана и его алгоритм управления. В результате математического моделирования была проверена корректность работы алгоритма управлении. Алгоритм управления перенесен в отдельную подсистему (субмодель).
Для знакомства с приемами работы генератора кода Си было проведено преобразование алгоритма управления клапаном во внешнюю динамическую библиотеку «DLL». Контрольное моделирование показало, что алгоритм управления в виде динамической библиотеки «DLL», сгенерированной на языке Си, работает аналогично алгоритму в субмодели.
Данная работа позволила освоить в SimInTech базовые приемы: