Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
173
Добавлен:
30.03.2015
Размер:
1.56 Mб
Скачать

3.2. Компонентное моделирование

Написать итоговую систему уравнений для конкретной модели может оказаться достаточно сложно, хотя бы потому, что с ростом числа уравнений вероятность даже элементарных описок резко возрастает.

Рассмотрим описание поведения следящего дифференциатора в виде системы уравнений

,

,

.

и в виде структурной схемы (рис. 13), с интегратором, усилителем и сумматором.

Рис. 13. Структурная схема следящего дифференциатора

При ручном, «докомпьютерном» способе проектирования, эти два описания дополняли друг друга, и рисунком можно было воспользоваться лишь как подсказкой, для вывода уравнений.

Посмотрев на рисунок, можно обратить внимание на то, что сама структура системы несет ценную информацию о ней. Рисунок легче воспринимается и помогает надолго запомнить совет «не умеете дифференцировать - интегрируйте в обратной связи!», ведь на нем можно увидеть петлю обратной связи.

Структура системы может быть далеко не такой простой и «ручной» вывод эквивалентной системы уравнений может привести к ошибкам.

В этой схеме все звенья стандартные (интегратор, усилитель, блок сравнения) и появляется надежда, что вывод нужной системы уравнений можно сделать автоматически.

Возникает естественный вопрос: а нельзя ли поручить системе моделирования не только автоматически преобразовывать математическую модель системы в моделирующую программу, но и автоматически получать математическую модель всей моделируемой системы по математическим моделям ее отдельных компонентов и описанию связей между ними?

Большинство современных систем визуального моделирования позволяют просто нарисовать структурную схему моделируемой системы в специальном графическом редакторе. Все остальное, то есть получение эквивалентной математической модели, дело системы моделирования. Модель, показанная на рис. 5, может быть просто составлена из образов блоков, входящих в библиотеку стандартных компонентов. Любой новый компонент можно попытаться собрать из уже существующих или создать его самостоятельно на основании существующей математической модели. Проектирование новых компонентов из существующих обычно приводит к построению иерархической структурной схемы.

Более того, структурные схемы используют и на этапе прогона модели. Современная компьютерная модель становится больше похожа не на программу в традиционном смысле (как последовательность операторов), а на некоторую виртуальную квазиаппаратуру, включающую в себя параллельно функционирующие компоненты. Поддержка концепции виртуального стенда требует от системы моделирования реализации еще ряда возможностей:

  • интерактивного вмешательства в ход прогона модели (пользователь должен иметь возможность крутить «ручки» настроек, переключать «тумблеры», то есть активно вмешиваться в ход эксперимента);

  • визуализации результатов в ходе прогона, а не после него;

  • прикладной 2D- и 3D-анимации, позволяющей визуально оценивать динамику моделируемой системы.

3.3. Объектно-ориентированное моделирование

В следящем дифференциаторе (рис.13) каждый типовой блок используется только один раз. Однако в любом учебнике по теории автоматического управления, вы увидите структурные схемы, в которых одновременно используется несколько интеграторов, несколько сумматоров и усилителей. Аналогично этому, в любой сколько-нибудь сложной электрической схеме присутствуют десятки и сотни резисторов и конденсаторов.

Чем отличается один компонент, интегратор Int1, от другого компонента, интегратора Int2, если, как очевидно, математическая модель у них одна – уравнение

.

Это – просто два различных экземпляра интегратора с возможно различающимися значениями коэффициента усиления K. Вполне естественно ввести понятие обобщенного интегратора, в описании которого присутствуют внешние переменные x и y , параметр K , а также дифференциальное уравнение их связывающее. Такой обобщенный компонент, прототип всех возможных интеграторов, называется классом. Говоря о классах, нельзя ответить на вопрос, чему равны конкретные значения переменных x, y, K . Для обобщенного интегратора это – лишь прототипы переменных. Значения имеют только переменные конкретного интегратора – экземпляра класса обобщенного интегратора. Величина, которая играет особую роль – это параметр, значение которого может изменяться только в момент создания конкретного экземпляра, а затем остается неизменным на все время существования данного экземпляра.

Понятия класса и экземпляра являются базовыми для объектно-ориентированного моделирования (ООМ). Более сложными понятиями ООМ являются наследование и полиморфизм. Рассмотрим модификацию обобщенного интегратора, в котором коэффициент усиления зависит от температуры:

.

Этот новый класс – термоинтегратор – наследует все переменные класса интегратора, добавляет новую внешнюю переменную T, новый параметр KT и переопределяет уравнение динамики. Класс термоинтегратор является потомком класса интегратора, а последний является его предком. Для обозначения тех же отношений часто используются термины производный класс – базовый класс, подкласс – суперкласс. Ясно, любой экземпляр термоинтегратора может быть использован вместо любого интегратора в любой структурной схеме. Возможность использования любого потомка в контексте предка называется полиморфизмом.

Соседние файлы в папке Моделирование систем, ЗА, 9 сем