ситет, но разве материальные условия преподавателя сравнимы с материальными условиями сотрудника нашей корпорации?..". Найти спонсоров в нашей стране, на "наших" предприятиях INTEL, MOTOROLLA, SUN успеха не имели. Правда, нижегородское отделение фирмы INTEL выделило нам однажды деньги на организацию специальной секции "Использование компьютерных технологий в образовании". Спасибо, INTEL!
Тезис четвертый. Пропагандировать компьютерное моделирование нужно прежде всего среди студентов.
Интерес к моделированию, особенно к проектированию на базе моделирования, растёт во всём мире. Фактически только сейчас созрели условия для действительно широкого применения моделирования на производстве. Однако на предприятиях как среди руководителей, так и
среди исполнителей ещё господствует мнение, что проектировать можно по старинке, не прибегая к моделированию. Сегодняшние студенты уже подготовлены к использованию компьютерных технологий, они их не боятся в отличие от современных инженеров, и надо любыми средствами помогать им. На нашей конференции мы организовали специальную секцию для студентов и аспирантов "Компьютерное моделирование" и конкурс студенческих работ. На мой взгляд, это самая интересная секция нашей конференции.
Вместо заключения. Благодарю редакцию журнала НТВ за интерес к нашей конференции и предоставленную возможность опубликовать несколько докладов последней юбилейной конференции. Для публикации были отобраны доклады как "взрослые", так и "детские", студенческие.
УДК 519.7
Ю.Б. Колесов
ОСОБЕННОСТИ МОДЕЛИРОВАНИЯ ФИЗИЧЕСКИХ СИСТЕМ НА ОСНОВЕ ПОДХОДА МУ$ТийШМ
Компонентное моделирование физических систем обладает рядом особенностей, обусловленных наличием в них ненаправленных связей [1]. Основная проблема моделирования с ненаправленными связями заключается в невозможности покомпонентного анализа систем уравнений. Поэтому анализ и преобразование к вычислимой форме можно проводить только для совокупной системы уравнений всей модели в целом. Подход MvStudium к описанию непрерывной составляющей поведения физических систем практически совпадает с подходом языка Modélica [2]. Однако для описания гибридных систем в MvStudium используется расширение диаграммы состояний UML — карта поведения, которая позволяет описывать дискретные составляющие поведения более удобным и стандартным способом. Используемые элементы языка UML и отличия карты пове-
дения от диаграммы состояний подробно рассмотрены в [3]. Отметим, что использование карт поведения в моделях физических систем приводит к необходимости проведения анализа и преобразования уравнений на стадии выполнения модели (Runtime-анализ), в то время как подход Modélica предполагает выполнение этих действий на этапе компиляции. Задача Runtime-анализа была успешно решена, что позволило, например, использовать систему моделирования MvStudium 6 для разработки моделей физических систем, работающих в режиме реального времени в тренажерах.
Рассмотрим подход MvStudium на примере моделей нескольких характерных физических систем — механических и электрических. Эти примеры намеренно взяты из описания языка Modélica, чтобы показать сходство и различие подходов.
Модель системы управления вентилятором
Вентилятор в нашей модели представляет совокупность пропеллера Р, электродвигателя постоянного тока Mи блока управления С (рис. 1).
Управляющее воздействие U и сигнал датчика угловой скорости ю можно с уверенностью считать направленными внешними переменными — входом и выходом соответственно. Если блок управления имеет резерв мощности, то управляющее напряжение V также можно считать направленным от блока управления к электромотору и полагать, что электродвигатель не влияет на блок управления. Но вот соединение электродвигателя и вентилятора через жесткий вал никак нельзя описать с помощью направленных связей: пропеллер влияет на электродвигатель, а электродвигатель влияет на пропеллер. Поэтому будем полагать, что электродвигатель и пропеллер имеют внешние переменные F типа Flange (фланец) со стереотипом "коннектор" с компонентами Phi и Т, которые имеют стереотипы "контакт" и "поток" соответственно. type Flange is -- фланец connector contact Phi: Angle; flow Т: Torque; end connector;
В этом определении типа и далее в модели мы будем использовать так называемые "разли-
Рис. 1. Компоненты вентилятора
чимые" типы, которые получаются из базового типа просто переименованием, отражающим прикладной смысл (система MvStudium не обрабатывает указания единиц измерения). type Angle is double; -- угол (рад) type Torque is double; -- момент (н*м) type Voltage is double; -- напряжение (в) type Current is double; -- ток (а) type AngularVelocity is double; -- угловая скорость (рад/с)
Тогда составной объект класса "CFan" будет иметь структуру, показанную на рис. 2. Блок управления С реализован просто как стандартный идеальный усилитель (экземпляр класса SysLib.CGain), электродвигатель M является экземпляром декларированного в проекте класса DCMotor, а пропеллер Р - экземпляром декларированного в проекте класса Propeller.
Поведение электродвигателя задается системой уравнений
9 MvStudium 6.0 - [G:\MVS_S0urce_6\Test56\FanCS\FanCS.mvb] - [Класс ■ [CFan]] |_ ЮЦХ!
Рис. 2. Структура класса CFan
Рис. 3. Модель системы управления вентилятором
Jm
d 2F.Phi
dt2
= kl ■ Ia + F.T;
La ddIa = V - k 2 dF Phi - Ra ■ Ia. dt dt
А поведение вентилятора - системой уравнений
Jp
d2F.Phi
dt2
= F.T - kp
dF.Phi;
dt
Omega =
dF.Phi
dt
Модель системы управления вентилятором представлена на рис. 3. Она включает в себя объект управления Fan — экземпляр класса CFan, простейший пропорциональный регулятор CU - экземпляр класса PRegulator и генератор синусоидального тестового сигнала Gen — экземпляр стандартного класса SysLib. CSineGenerator.
Запустив визуальную модель, откроем окно текущей совокупной системы уравнений и посмотрим, какую систему уравнений автоматически построил анализатор для этой модели (рис. 4).
¡¡¡¡¿Текущая совокупная система уравнений [_ ||ГН||Х|
N Объект Уравнение ^ск.перем.
Дифференциальные уравнения
1 Fan.M T" - '-О Fan.M.F.Phi
2 Fan.M - F.PКГ; at Fan.Omega
Э Fan.M día т ,
Формулы
4 Gen ¥ = Amplitude- s¡n[ 21 pi- pg^pj +In[tiaiPha5eJ; Gen .V
5 CU e = Xp-X; CU.e
6 CU U = KB - e; CU.U
7 Fan Fan.M.F.T = -Fan.P.F.T; Fan.M.F.T Fan.C.Y
3 Fan.С Y = К- X;
Алгебраические уравнения
9 Fan.M Ira- F.Phi" = kl- Ia+F.T; Fan.M.F.Phi"
10 Fan.M La- la' = V-k2- F.Phi'-Ra- la; Fan.M.Iar
11 Fan.P Jp- F.Phi" = F.T-kp- F.Phj'f Fan.P. F.T
Эквивалентные переменные
12 CU.U = Fan.U = Fan.C.X
13 Fan.Omega = CU.X = Fan.P.Omega = Fan.M.F.Phi' = Fan.P.F.Phi'
14 Fan.M.F.Phi" = Fan.P.F.Phi"
15 Gen.Y = ClT.Xp
1Í Fan.C.Y - Fan.M.V
17 Fan.M.F.Phi = Fan.P.F.Phi
Рис. 4. Совокупная система уравнений модели
Пакет стандартных компонентов для моделей электрических схем
Создадим пакет "Electricity", в котором определим стандартные компоненты для моделирования простейших электрических цепей: источник переменного напряжения, резистор, "земля", конденсатор, индуктивность, диод. Определим тип Current для токов, тип Voltage для напряжений и тип Pin для 'ножек" электрических компонентов:
type Voltage is double; -- напряжение (в) type Current is double; -- ток (а) type Pin is — "ножка" элемента connector contact V: Voltage; flow I: Current; end connector;
Все перечисленные элементы кроме "земли" — двухполюсники. Введем абстрактный класс ОпеРоП, который используем затем как родительский для остальных классов. Абстрактный класс не может иметь экземпляров. Определим две внешние переменные — положительную и отрицательную "ножки" "р" и "п", а также две внутренние переменные — ток через элемент I и падение напряжения на элементе V (рис. 5).
Уравнения в этом классе соответствуют уравнениям двухполюсника: V = р^-п^ I = р.1 п.1+р.1 = 0
Класс Резистор является производным от класса ОпеРоП и наследует его переменные, структуру и уравнения (рис. 6). Для задания собственного поведения резистора вводится
MvStudium 6.0 - [E:\MoflenM\Electricity\ElecMcity.mvb] - [Класс [OnePort]] -"Ю
-1 Проект Редактировать Сервис Вид Модель Окна Помощь -Ifflxl
г BLM..n^ A ¿ â & Ш Ы là l> 00 i ffl
M
в- _
Inductor
■ I Mods!
■ -J OnePort -■■> Resistor
VsourceAC Типы
■ 1 type Current ii ■■:! ' type Pin is con ■■:! ' type Voltage is Константы проек
роек ~
Л]
■ id OnePort •Параметры Él О Внешние переменные
□ n: Pin := {V=>üjl=;
□ р: Pin := -ÍV=>0jI=; □ • ® Внутренние переменнь
® I: Current := 0; — Тс ® V: Voltage := Gj — П H Константы ГЗ Функции и процедуры [=) Комментарий
Lj_i 2Í
Д. É fe -ti ¿¡Sl^^^fe.
Уравнения Интерфейс
Рис. 5. Интерфейс абстрактного класса OnePort
Рис. 6. Производный класс Resistor
параметр R (величина омического сопротивления) и дополнительное уравнение — закон Ома (рис. 6).
Обращаем внимание, что в данном случае уравнения доопределены, а не переопределены, и в случае изменения уравнений в классе OnePort изменятся и унаследованные уравнения в производном классе. Аналогичным образом определяются производные классы Capacitor и Inductor. Для конденсатора вводится параметр С - ёмкость конденсатора и доопределяется уравне-
ние конденсатора (рис. 7). Для индуктивности соответственно вводится параметр L - величина индуктивности и доопределяется уравнение индуктивности (рис. 8).
Наиболее интересным потомком класса One-Port видится идеальный диод — производный класс IdealDiod. Идеальный диод пропускает ток только в одном направлении — от положительной "ножки" к отрицательной. Поэтому класс IdealDiod должен быть гибридным с двумя состояниями, соответствующими открытому и закрытому диоду (рис. 9).
Рис. 7. Производный класс Capacitor
Рис. 8. Производный класс Inductor
Рис. 9. Карта поведения идеального диода
Рис. 10. Локальный непрерывный класс УравнОткрДиода
0! Му51:ис1шт 6.0 - [Е:\Модели\Е1ес1мс№у\Е1ес1:мс№у.туЬ] - [Локал
на) Проект Редактировать Сервис Вид Модель Окна Помощь ¡? Л
-;□;- йув^ ш [> оо ¡а
л
Е
Классь + Са[ + СлГО
□ -Н Ие ©
©
ЙИ Мо<
14
УравнЗакрДиода
& Параметры @ Переменные □ Константы Ц Функции и процедуры Щ) Комментарий
В ф Система уравнений
♦ У = р.У-п.У;
♦ Ж
♦ п.1+р.1 = 0; 1 = 0;
Искомые переменные
Искомые переменные мог
В
J
±1
Ура&г:^: 1ия
м
Рис. 11. Локальный непрерывный класс УравнЗакрДиода
Однако родительский класс (суперкласс) OnePort является непрерывным. Класс IdealDiod наследует интерфейс и переменные родительского класса и переопределяет стереотип класса на "гибридный". Уравнения родительского класса автоматически наследуются непрерывными локальными классами УравнОткрДиода (рис. 10) и УравнЗакрДиода (рис. 11).
Наконец, класс Ground задаёт объект с одной внешней переменной типа Pin, в которой напряжение постоянно равно нулю: p.V = 0
Модель простой электрической цепи
Воспользуемся созданными компонентами для создания модели электрической цепи переменного тока. Выберем тип проекта "блок-схема" и импортируем пакет Electricity. Далее из компонентов этого пакета соберем структурную схему, показанную на рис. 12. Связи между коннекторами изображаются жирной линией. Отметим, что заземление должно присутствовать обязательно, в противном случае совокупная система уравнений будет иметь бесконечно много решений.
Запустим визуальную модель. Анализатор уравнений по уравнениям компонентов и уравнениям связей сформирует совокупную систему уравнений и приведет ее к виду, пригодному для численного решения. В данном случае модель чисто непрерывная, и потому совокупная система уравнений в ходе вычислительного эксперимента изменяться не будет. Рассмотрим полученную систему уравнений подробнее (в таком виде она сохраняется в файл):
**** Дифференциальные уравнения ****
1 L1 d(I)/dt = I'; L1.p.I
2 C1 d(V)/dt = V'; C1.V **** Алгебраические уравнения ****
3 AC V= p.V-n.V; AC.n.V
4 R2 V = p.V-n.V; R2.p.V
5 C1 V = p.V-n.V; C1.p.V
6 R1 R*I = V; R1.I
7 L1 L*I' = V; L1.I'
8 R2 R*I = V; R2.V
9 C1 C*V' = I; C1.V' **** Формулы ****
10 R1 n.I = -p.I; R1.n.I
11 L1 n.I = -p.I; L1.n.I
Рис. 12. Модель простой электрической цепи
12 model Cl.p.I = -R1.n.I-L1.p.I; Cl.p.I
13 model R2.p.I = -Ll.n.I; R2.p.I
14 model AC.n.I = -R1.p.I; AC.n.I
15 R2 n.I = -p.I; R2.n.I
16 C1 n.I = -p.I; C1.n.I
17 AC p.I = -n.I; AC.p.I
18 model G.p.I = -AC.p.I-C1.n.I-R2.n.I; G.p.I
19 L1 V = p.V-n.V; L1.V
20 R1 V = p.V-n.V; R1.V
21 AC V = VA*sin(2*pi*F*time); AC.V
**** Эквивалентные переменные ****
22 AC.n.V = R1.p.V
23 R1.n.V = L1.p.V = C1.p.V
24 L1.n.V = R2.p.V
25 AC.p.V = G.p.V = C1.n.V = R2.n.V
26 AC.p.I = AC.I
27 R1.p.I = R1.I
28 L1.p.I = L1.I
29 R2.p.I = R2.I
30 C1.p.I = C1.I **** Константы ****
31 Gp.V = 0; G.p.V
В левом столбце таблицы указан контекст уравнения (объект, которому оно принадлежит), в среднем — само уравнение, в правом — искомая переменная. В контексте объекта "model" находятся уравнения связей. Система уравнений оптимизирована: равенства константам вынесены из системы, уравнения контактов заменены эквивалентностью переменных, уравнения потоков разрешены символьно относительно искомой переменной.
Модель выпрямителя
Аналогичным образом соберём схему выпрямителя (рис. 13).
Эта модель является гибридной, и совокупная система уравнений будет формироваться заново всякий раз при изменении состояния в карте поведения диода (рис. 14).
Рассмотрим второй вариант этой модели. Выделим собственно выпрямитель в отдельный компонент-четырехполюсник (рис. 15). Тогда всю электрическую цепь можно будет представить как совокупность источника переменного напряжения, выпрямителя и нагрузки (рис. 16).
Рис. 13. Схема выпрямителя
Рис. 14. Вычислительный эксперимент с моделью выпрямителя
Рис. 15. Выпрямитель как отдельный компонент
Рис. 16. Компонентная схема источник - выпрямитель - нагрузка
В системе моделирования MvStudium 6 впервые практически реализован подход к компонентному моделированию физических систем, сочетающий сильные стороны языков Modélica и UML. Найдены технические решения, позволяющие выполнять Runtime-анализ совокупных
систем уравнений (до нескольких тысяч уравнений) достаточно быстро, чтобы обеспечить работу моделей в реальном времени. Были созданы компонентные модели промышленных электрических, механических и гидравлических систем.
список ЛИТЕРАТУРЫ
1. Колесов Ю.Б., Сениченков Ю.Б. Моделирование систем. Динамические и гибридные системы. СПб.: БХВ. 2006. 224 с.
2. Modelica® - A Unified Object-Oriented Language for Physical Systems Modeling. Language Specification. Version 3.0. (www.modelica.org).
3. Колесов Ю.Б., Сениченков Ю.Б. Моделирование систем. Объектно-ориентированный подход. СПб.: БХВ. 2006. 192 с.
УДК 621.01-52+621.865.8
В.Г. Хомченко, Е.С. Гебель, Е.В. Солонин
оптимизационным синтез рычажного МЕХАНИЗМА IV класса с выстоем
Общее при проектировании машин и механизмов заключается в том, что для заданной математической модели требуется подобрать значения варьируемых параметров, обеспечивающие получение экстремальных величин одного или нескольких критериев качества. Таким образом, приходится иметь дело с задачами многопараметрической и многокритериальной оптимизации.
Среди численных методов поиска оптимальных решений не существует универсального. Поэтому наиболее привлекательными становятся методы исследования, которые при наличии адекватной математической модели требуют минимума априорной информации о решаемой задаче, более того, позволяют по ходу решения получать такую информацию легко и просто. К таковым относится метод Монте-Карло и его модификации [1]. В основе использования метода Монте-Карло и его модификаций лежат принципы случайного поиска решения задачи, что и делает такой подход универсальным. Но платой за универсальность является определенная "слепота", и это приводит к громадным объемам вычислений даже для современных вычислительных машин, тем более что имеет место рост размерности решаемых задач (растет число фазовых координат и число конструктивных (оптимизируемых) параметров, число критериев качества, характеризующих систему).
В значительной степени эту потребность реализует метод ЛП-поиска [2], который был применен для решения задачи оптимального проектирования рычажных механизмов IV класса с приближенным выстоем выходного звена по заданной циклограмме, используемых в различных отраслях промышленности.
Механизмы IV класса благодаря своим кинематическим особенностям обладают большими потенциальными возможностями обеспечения повышенной точности выстоя выходного звена по сравнению, например, с восьмизвенными механизмами II класса с таким же числом звеньев.
Рассматриваемый механизм (см. рисунок) проектируется при условии обеспечения на интервале выстоя наилучшего равномерного приближения функции положения выходного звена механизма к заданной функции положения рабочего органа.
Важное условие синтеза плоского рычажного механизма IV класса с выстоем по заданной циклограмме - требуемая точность выстоя выходного звена [3]. В качестве параметра, характеризующего кинематическую погрешность выстоя и точностные свойства многозвенного шарнирного механизма в целом, чаще используют угол малого размаха выходного звена механизма на интервале выстоя у1. Однако этот критерий не отражает в полной мере точностных свойств рычажных механизмов, поскольку его значение можно уменьшать простым увеличением линейного параметра. Математически строгий и универсальный критерий - относительное перемещение характерной точки выходного звена за интервал выстоя
1 = >/2 • с
(1)
Кинематическая схема шарнирного механизма IV класса
В качестве свободных параметров рассматриваются одиннадцать параметров, назначенных на этапе кинематического синтеза механизма IV