Подобный вид моделирования весьма широко распространен и в настоящее время
Download 1.49 Mb.
|
Лекции
- Bu sahifa navigatsiya:
- 3.3. Объектно-ориентированное моделирование
3.2. Компонентное моделирование
Написать итоговую систему уравнений для конкретной модели может оказаться достаточно сложно, хотя бы потому, что с ростом числа уравнений вероятность даже элементарных описок резко возрастает. Рассмотрим описание поведения следящего дифференциатора в виде системы уравнений , , . и в виде структурной схемы (рис. 13), с интегратором, усилителем и сумматором. Рис. 13. Структурная схема следящего дифференциатора При ручном, «докомпьютерном» способе проектирования, эти два описания дополняли друг друга, и рисунком можно было воспользоваться лишь как подсказкой, для вывода уравнений. Посмотрев на рисунок, можно обратить внимание на то, что сама структура системы несет ценную информацию о ней. Рисунок легче воспринимается и помогает надолго запомнить совет «не умеете дифференцировать - интегрируйте в обратной связи!», ведь на нем можно увидеть петлю обратной связи. Структура системы может быть далеко не такой простой и «ручной» вывод эквивалентной системы уравнений может привести к ошибкам. В этой схеме все звенья стандартные (интегратор, усилитель, блок сравнения) и появляется надежда, что вывод нужной системы уравнений можно сделать автоматически. Возникает естественный вопрос: а нельзя ли поручить системе моделирования не только автоматически преобразовывать математическую модель системы в моделирующую программу, но и автоматически получать математическую модель всей моделируемой системы по математическим моделям ее отдельных компонентов и описанию связей между ними? Большинство современных систем визуального моделирования позволяют просто нарисовать структурную схему моделируемой системы в специальном графическом редакторе. Все остальное, то есть получение эквивалентной математической модели, дело системы моделирования. Модель, показанная на рис. 5, может быть просто составлена из образов блоков, входящих в библиотеку стандартных компонентов. Любой новый компонент можно попытаться собрать из уже существующих или создать его самостоятельно на основании существующей математической модели. Проектирование новых компонентов из существующих обычно приводит к построению иерархической структурной схемы. Более того, структурные схемы используют и на этапе прогона модели. Современная компьютерная модель становится больше похожа не на программу в традиционном смысле (как последовательность операторов), а на некоторую виртуальную квазиаппаратуру, включающую в себя параллельно функционирующие компоненты. Поддержка концепции виртуального стенда требует от системы моделирования реализации еще ряда возможностей: интерактивного вмешательства в ход прогона модели (пользователь должен иметь возможность крутить «ручки» настроек, переключать «тумблеры», то есть активно вмешиваться в ход эксперимента); визуализации результатов в ходе прогона, а не после него; прикладной 2D- и 3D-анимации, позволяющей визуально оценивать динамику моделируемой системы. 3.3. Объектно-ориентированное моделирование В следящем дифференциаторе (рис.13) каждый типовой блок используется только один раз. Однако в любом учебнике по теории автоматического управления, вы увидите структурные схемы, в которых одновременно используется несколько интеграторов, несколько сумматоров и усилителей. Аналогично этому, в любой сколько-нибудь сложной электрической схеме присутствуют десятки и сотни резисторов и конденсаторов. Чем отличается один компонент, интегратор Int1, от другого компонента, интегратора Int2, если, как очевидно, математическая модель у них одна – уравнение . Это – просто два различных экземпляра интегратора с возможно различающимися значениями коэффициента усиления K. Вполне естественно ввести понятие обобщенного интегратора, в описании которого присутствуют внешние переменные x и y , параметр K , а также дифференциальное уравнение их связывающее. Такой обобщенный компонент, прототип всех возможных интеграторов, называется классом. Говоря о классах, нельзя ответить на вопрос, чему равны конкретные значения переменных x, y, K . Для обобщенного интегратора это – лишь прототипы переменных. Значения имеют только переменные конкретного интегратора – экземпляра класса обобщенного интегратора. Величина, которая играет особую роль – это параметр, значение которого может изменяться только в момент создания конкретного экземпляра, а затем остается неизменным на все время существования данного экземпляра. Понятия класса и экземпляра являются базовыми для объектно-ориентированного моделирования (ООМ). Более сложными понятиями ООМ являются наследование и полиморфизм. Рассмотрим модификацию обобщенного интегратора, в котором коэффициент усиления зависит от температуры: . Этот новый класс – термоинтегратор – наследует все переменные класса интегратора, добавляет новую внешнюю переменную T, новый параметр KT и переопределяет уравнение динамики. Класс термоинтегратор является потомком класса интегратора, а последний является его предком. Для обозначения тех же отношений часто используются термины производный класс – базовый класс, подкласс – суперкласс. Ясно, любой экземпляр термоинтегратора может быть использован вместо любого интегратора в любой структурной схеме. Возможность использования любого потомка в контексте предка называется полиморфизмом. Download 1.49 Mb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling