Моделирование мехатронных систем
С точки зрения инженера основное назначение моделирования –поддержка процедур проектирования технических объектов и систем.
Процедуры проектирования работают с моделями объектов реального мира и должны быть подстроены под их свойства.
Сложные системы имеют, как правило, иерархическую структуру. Естественные возможности человека позволяют оперативно обрабатывать не более 7 ± 2 единиц информации одновременно. В процессе проектирования исследователю удобно сосредотачиваться сначала на поведении отдельных компонентов системы, а затем на их взаимодействии. При необходимости модели компонентов могут детализироваться или, наоборот, укрупняться.
Такой подход, известный как иерархическое проектированиеявляется типовым при разработке сложных технических объектов и заключается в разбиении исходной задачи на подзадачи.
В процессе проектирования сложной системы формируются определенные представления о системе, отражающие ее существенные свойства с той или иной степенью подробности. В этих представлениях можно выделить составные части – уровни проектирования. В один уровень, как правило, включаются представления, имеющие общую физическую основу и допускающие для своего описания использование одного и того же математического аппарата. Уровни проектирования можно выделять по степени подробности, с какой отражаются свойства проектируемого объекта. Тогда их называют горизонтальными (иерархическими) уровнями проектирования.
В результате такого подхода объект проектирования декомпозируется на фрагменты (подсхемы), и проектирование каждого из них ведется в определенном смысле самостоятельно. На каждом уровне иерархии этот принцип применяется вновь, что позволяет заменить решение одной сложной задачи многократным решением задач меньшей размерности.
При иерархическом проектировании разработчику достаточно держать в поле зрения один фрагмент объекта. Остальные части лишь ими-
тируют внешнюю среду, т. е. взаимодействие проектируемого фрагмента с другими частями объекта.
Использование принципа иерархического проектирования позволяет ограничить текущую сложность проекта на приемлемом уровне за счет того, что в каждый момент времени разработчик имеет дело только с двумя смежными уровнями декомпозиции объекта – структурным описанием проектируемого в данный момент фрагмента и функциональным описанием внешней среды.
Инструментальной поддержкой иерархического проектирования является многоуровневое моделирование. При многоуровневом моделировании различные фрагменты представляются на различных уровнях иерархии, т. е. с разной степенью детальности. Например, проектируемая в настоящий момент времени часть объекта раскрыта до уровня элементарных динамических компонентов и имитируется структурной моделью, а остальные фрагменты представлены на соседнем, более высоком, уровне в виде функциональных моделей.
Завершив проектирование одного фрагмента, разработчик может свернуть его в функциональный блок и перейти к детальной модели следующего фрагмента, с которым он собирается работать. Эта процедура повторяется многократно, на разных уровнях иерархии проектируемого объекта. Достоинством такого подхода является то, что в поле зрения разработчика находится в каждый момент времени минимум необходимой информации, не перегруженной лишними деталями. Описанный метод проектирования называется методом локальной детализации объекта.
Программной поддержкой многоуровневого моделирования, реализованной в большинстве языков графического программирования, является процедура инкапсуляции, которая позволяет «свернуть» любой
смысловой фрагмент графического представления в единичный блок.
Кроме того, что инкапсуляция служит основой получения иерархически структурированных моделей, она также позволяет расширить библиотеку базовых блоков блоками пользователя, которые впоследствии можно многократно использовать (например, типовые динамические звенья).
Такой возможностью обладают, в частности, пакет LabVIEW, пакет Simulink и основанные на нем пакеты SimMechanics и SimPower. Пакеты IDEF-моделирования (ERWIN, BPWIN) принципиально основаны на многоуровневом изображении объектов.
Контрольные вопросы
1. Что такое иерархическое проектирование?
2. В многоуровневом моделировании как представляются различные фрагменты на различных уровнях иерархии?
3. Что такое инкапсуляция?
Архитектура программ