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/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

 

UM 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
Модель ВАЗ-2109
Модель ABS
Модель двухканальной 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.

istory Руководство пользователя / презентация


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