UM Control

Модуль
UM Control
Модуль UM Control это набор инструментов для взаимодействия
с Matlab/Simulink (UM Matlab Import и UM Matlab CoSimulation), SimInTech (SimInTech Import и SimInTech CoSimulation), встроенным редактором
структурных схем UM Block Editor и библиотеками
пользователя на базе UM User's Defined Routines.
Перечисленные инструменты позволяют интегрировать механические системы,
описанные в "Универсальном механизме" с внешними библиотеками. При
моделировании многих реальных технических систем встает задача
совмещения механической части модели с подсистемами другой физической
природы, например, системами автоматического управления, электрическими
машинами и электромагнитными полями, гидравликой, пневматикой и т.д.
Сложные системы такого рода не могут быть описаны встроенными в УМ
средствами, поэтому математические модели таких систем описываются либо
в виде структурных схем с использованием Matlab/Simulink, SimInTech или редактора
схем UM Block Editor, либо разрабатываются
пользователем самостоятельно на одном из языков программирования и затем
подключаются к УМ как внешние динамически загружаемые библиотеки (DLL).
Таким образом, все инструменты модуля UM Control позволяют
существенно расширить диапазон систем, моделируемых в УМ, и подойти к моделированию
сложных электромеханических систем, например, электровоза; систем управления
в автомобилях (ABS, противобуксовочных, противозаносных и других систем),
а также мехатронных систем.
Перечисленные инструменты имеют похожий интерфейс пользователя и
оперируют одинаковыми терминами, и поэтому объединены в один модуль.
Вместе с тем все инструменты функционально независимы и могут
поставляться отдельно друг от друга.
Инструменты Matlab Import и SimInTech Import предназначены для импорта моделей, разработанных в Matlab/Simulink или SimInTech,
соответственно, в Универсальный механизм. Модели Matlab/Simulink и SimInTech сначала экспортируются как динамически
загружаемые библиотеки (DLL) и затем подключаются к Универсальному
механизму единообразно с помощью Мастера связи с внешними библиотеками. Дальнейшее моделирование выполняется в среде Универсального
механизма.
Инструменты Matlab CoSimulation и SimInTech CoSimulation предназначены для экспорта механических моделей, разработанных
в Универсальном механизме, в Matlab/Simulink или SimInTech,
соответственно. Экспорт выполняется
единообразно с помощью Мастера экспорта.
Дальнейшее моделирование выполняется в среде Matlab/Simulink или SimInTech.
Ниже рассмотрим упомянутые инструменты подробнее:
Matlab Import и SimInTech Import;
Matlab CoSimulaiton и SimInTech CoSimulation;
User's Defined Routines;
Block Editor.
Дополнительные материалы:
1.
Начинаем работать: интерфейс с Matlab/Simulink и SimInTech;
2. Руководство пользователя к редактору схем;
3. Введение в использование инструмента UM Matlab
CoSimulation, umcosimulation.zip, (0.7 Мб, презентация PowerPoint в zip-архиве, рус. яз.);
4.
Федяев В.Н. Автореферат на диссертацию "Влияние электрической и механической подсистем магистрального
тепловоза на реализацию предельных тяговых усилий". БГТУ, Брянск, 2006.

Инструменты
Matlab Import и SimInTech Import
Интегрированные в программный комплекс «Универсальный механизм» интерфейсы
с Matlab/Simulink (инструмент Matlab Import) и SimInTech (инструмент SimInTech
Import) позволяют связывать построенную механическую модель UM с моделями
подсистем различной природы, описанных в Matlab/Simulink или SimInTech.
Интерфейс позволяет одновременно подключать к механической модели
неограниченное количество моделей Matlab/Simulink или SimInTech,
скомпилированных в виде динамически загружаемых библиотек (DLL).
Интуитивно понятный графический интерфейс программного модуля позволяет
подключать DLL со скомпилированной подсистемой, выбирать для данной
подсистемы входы и выходы, а также включать и отключать в любой момент
требуемые подсистемы.
Алгоритм интеграции модели из различных подсистем состоит, как
правило, из следующих этапов:
– определение данных, которые необходимо передавать от одной
подсистемы к другой (из UM в Matlab/Simulink или SimInTech и
обратно);
– построение моделей в соответствии с
определенными потоками данных;
– компиляция моделей,
реализованных в Matlab/Simulink или SimInTech, в динамически
подключаемые библиотеки (DLL);
– связывание модели
механической системы, реализованной в UM, с получившимися
DLL-библиотеками;
– моделирование динамики сложной модели
в среде программы UM Simulation.
Пример 1. Стабилизация перевернутого маятника
Модель, представленная на рисунке ниже, состоит из тележки массой M и перевернутого маятника массой m, момент инерции которого
относительно оси вращения равен I. На вход системы управления
подается угол отклонения маятника от вертикали, с выхода системы
управления снимается величина управляющей силы, которую нужно приложить
к тележке для балансировки перевернутого маятника.
 |  |
| Расчетная схема | Схема обмена данными |
Система управления перевернутым маятником представляет собой так
называемый пропорционально-интегрально-дифференциальный контроллер. Для
связи модели управления с моделью ПК "Универсальный механизм" в модель
системы управления следует включить компоненты "In" и "Out". В нашей
модели перевернутого маятника входной переменной для системы управления
является угол отклонения маятника от вертикали. Соответственно нужно
предусмотреть один вход в модель системы управления. В свою очередь для
организации управления перевернутым маятником в нашей модели системы
управления предусмотрен один выход - усилие, подаваемое на тележку.
 |
| Модель системы управления в Matlab/Simulink |
 |  |
| Неуправляемое движение | Управляемое движение |
Пример 2. Электромеханическая модель локомотива
На рисунке ниже представлена модель маневрового локомотива производства Брянского машиностроительного завода. Тяговые электродвигатели постоянного тока с системой управления
моделируются в среде Matlab/Simulink и затем добавляются к модели
механической части, давая тем самым полную электромеханическую модель
локомотива. Модель позволяет более тонко по сравнению с существующими
подходами исследовать процессы, протекающие в приводе локомотива,
тестировать работу системы управления двигателями, в том числе разгон и
движение в режиме тяги, отработку буксования, наезд на масляное пятно и
т.д. На вход модели двигателя подается угловая скорость ротора
двигателя, с выхода модели двигателя снимается электромагнитный момент,
действующий со стороны статора двигателя на ротор.
 |  |
| Модель локомотива ТЭМ21 | Модель электродвигателя |

Инструменты
Matlab CoSimulation и SimInTech CoSimulation
С помощью инструментов Matlab CoSimulation и SimInTech CoSimulation модель
механической части экспортируется из Универсального механизма и включается
в модель Matlab/Simulink или SimInTech. В общем случае моделирование динамики
механических систем с использованием CoSimulation предполагает выполнение
следующих этапов.
– Описание модели немеханической части в среде Matlab/Simulink
или SimInTech.
– Включение в эту модель блока S-функции для Matlab/Simulink
или блока "Универсальный механизм" для SimInTech, который
представляет собой модель механической системы, которая в дальнейшем
будет импортирована из УМ.
– Создание модели механической системы в программе UM Input.
– Загрузка подготовленной модели механической части в
программу UM Simulation. Формирование файлов настроек с помощью
Мастера экспорта для подключения этой модели в Matlab/Simulink или SimInTech.
– Создание связи между UM-моделью и моделью Matlab/Simulink
или SimInTech.
– Моделирование динамики сложной модели в среде
Matlab/Simulink или SimInTech.
Модель механической системы UM, подключаемая к Matlab/Simulink или
SimInTech, рассматривается как черный ящик, который по некоторому закону
преобразует входные величины в выходные. При экспорте механической
системы из UM в модель Matlab/Simulink или SimInTech на выходы
механической системы назначаются переменные, которые создаются при
помощи Мастера переменных. Обычно это переменные,
отражающие текущую кинематику системы: координаты и скорости. Входные
величины (обычно это силы различной природы, рассчитанные в
Matlab/Simulink или SimInTech) связываются с параметрами UM-модели.
Для реализации управляющих усилий со стороны системы управления в модель
механической системы вводятся силы/моменты, значения или характеристики (например,
коэффициент жесткости, коэффициент диссипации) которых задаются параметрами
модели. Затем с помощью Мастера экспорта эти
параметры связываются с величинами, которые являются входами модели
Matlab/Simulink или SimInTech.
Пример 3. Стабилизация перевернутого маятника: UM Matlab
CoSimulation
Ниже представлена модель системы управления для стабилизации
перевернутого маятника, разработанная для использования с инструментом
UM Matlab CoSimulation. Механическая часть "спрятана" в S-функции inv_pend_cosim. Сравните данную модель с моделью, приведенной в примере 1.
 |
| Модель системы управления в Matlab/Simulink |
Пример 4. Антиблокировочная система: UM Matlab CoSimulation
Антиблокировочная система (АБС, ABS) — система, предотвращающая
блокировку колёс транспортного средства при торможении. Основное
предназначение системы состоит в том, чтобы сократить тормозной путь,
предотвратить потерю управляемости транспортного средства в процессе
резкого торможения и исключить вероятность его неконтролируемого
скольжения. Представленная на рисунке ниже модель двухканальной ABS
определяет усилия на передних и задних колесах легкового автомобиля по
известным величинам относительного проскальзывания.
S-функция abs_cosim на рисунке справа включает в себя динамическую
модель легкового автомобиля ВАЗ-2109. Антиблокировочная система стремится
удержать относительное проскальзывание колес равным 0.1. Относительное проскальзывание
передних и задних колес по результатам численного эксперимента показано на
рисунках ниже. Видно, что величина относительного проскальзывания колеблется
около заданного значения.
|
| Модель ВАЗ-2109 |
 |
| Модель двухканальной ABS |
 |
| Проскальзывание передних колес |
 |
| Проскальзывание задних колес |

Инструмент
User's Defined Routines
Инструмент User's Defined Routines позволяет пользователю подключить к
механической модели UM динамически загружаемую библиотеку (DLL),
написанную на любом языке программирования, который поддерживает
компиляцию DLL. В рамках UM такие динамически загружаемые библиотеки
называются внешними библиотеками.
Внешние библиотеки обычно используются для подключения к «Универсальному
механизму» математических моделей сил, которые невозможно описать с
помощью встроенных силовых элементов. Такой метод является альтернативой
программированию в файле управления и имеет следующие отличия:
– для разработки собственных библиотек пользователь может
использовать любую инструментальную среду и любой компилятор, которые
поддерживают создание динамически загружаемых библиотек (DLL);
– пользователю не обязательно разбираться в особенностях
программирования в файле управления;
– разработанные ранее библиотеки (DLL) подключаются к моделям в
«Универсальном механизме» через визуальный интерфейс пользователя, без
необходимости дальнейшего программирования.
В общем случае моделирование динамики механических систем с подключением
внешних библиотек предполагает выполнение следующих этапов.
– Разработка математической модели и реализация этой модели в виде
программного кода в соответствии с принятыми соглашениями.
– Компиляция программного кода в виде динамически загружаемой
библиотеки (DLL).
– Подключение DLL к модели механической системы с помощью Мастера связи с внешними библиотеками. Связывание входных и выходных величин модели из DLL с переменными и
параметрами модели УМ.
– Моделирование динамики получившейся системы.
Внешние библиотеки имеют список входных и выходных переменных, а также
список параметров. На этапе связывания внешней библиотеки и модели UM на
вход внешней библиотеки подаются переменные, обычно описывающие
кинематику системы. Выходные переменные внешней библиотеки связываются с
параметрами модели, которые, как правило, описывают силы и моменты,
действующие на тела механической системы.
С помощью внешних библиотек можно реализовать модели, например, систем
управления, электрических или гидравлических машин и аппаратов и т.д.

Инструмент
Block Editor
Инструмент Block Editor (редактор схем) из модуля UM Control представляет собой отдельное приложение, предназначенное для описания структурных
схем с помощью базовых функциональных блоков. Фактически редактор схем является
аналогом пакета Simulink из программного комплекса Matlab/Simulink и программного
комплекса SimInTech. Схемы, разработанные как в редакторе схем, так и в среде
Matlab/Simulink или SimInTech на стороне Универсального механизма подключаются
абсолютно одинаково. В этом смысле инструменты Block Editor и Matlab Import или SimInTech Import в
рамках ПК Универсальный механизм являются функциональными аналогами с очень
похожими способами описания структурных схем и подключением к динамической
модели в УМ одинаковым образом.
Рассмотрим отличия между инструментами Block Editor и Matlab/SimInTech Import. Во-первых, это особенности лицензирования. Для работы Matlab Import требуется установленный на компьютере Matlab/Simulink, который не поставляется
вместе с УМ и лицензируется отдельно, что является отдельной статьей расходов.
Это же справедливо и для инструмента SimInTech Import.
Инструмент Block Editor включает и средство разработки структурных
схем и интерфейс их подключения к моделям в УМ. Приобретения дополнительных
программных средств в данном случае не требуется.
Во-вторых, из-за особенностей реализации экспорт структурной схемы их
Matlab/Simulink в УМ требует компиляции исходных кодов на C/C++ с
помощью внешнего компилятора, который также нужно устанавливать и
лицензироваь отдельно. Причем, разные версии Matlab/Simulink
поддерживают разные версии внешних компиляторов, что на практике создает
дополнительные трудности и путаницу. В качестве внешнего компилятора
обычно можно использовать Microsoft Visual C нужной версии. Последние
версии Matlab в качестве внешного компилятора поддерживают и бесплатную
версию Microsoft Visual C Express, однако область его применение
ограничена лицензионным соглашением.
Вместе с тем, возможности встроенного редактора схем существенно
ограничены по сравнению с возможностями Matlab/Simulink или SimInTech.
Редактор схем поддерживает основные и широко используемые типы блоков и
его возможностей будет достаточно для большинства прикладных задач.
Однако в редакторе схем отсутствуют аналоги специальных библиотек
Simulink и SimInTech, таких как библиотека работы с нейронными сетями,
библиотека поддержки нечеткой логики, пневматики и гидравлики и т.д.
Можно рекомендовать Block Editor для использования начинающими
исследователями и для моделирования относительно несложных структурных схем.
Инструменты Matlab Import или SimInTech Import можно рекомендовать, во-первых, в тех ситуациях, когда возможностей встроенного
редактора схем Block Editor уже не хватает, и, во-вторых,
для профессиональных пользователей Matlab/Simulink или SimInTech.

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