Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2378

.pdf
Скачиваний:
0
Добавлен:
15.11.2022
Размер:
1.49 Mб
Скачать

Рис. 4.2. Конструкции элементы и символы ПОЯ «Моделирования»

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

Программа на ПОЯ «Моделирование» имеет простую структуру, без ветвлений и циклов. Программа — это последовательность операторов вычислительного алгоритма, описывающих конкретную задачу моделирования. Оператор — это законченная фраза языка. Точка с запятой указывает на конец оператора. Операторы строятся из таких элементов, как служебные ключевые слова, идентификаторы, числа, выражения, разделители. Элементы, в свою очередь, строятся из символов языка (рис.4.2).

Программа на ПОЯ записывается в наборе данных, содержащем записи фиксированной длины. Элементы языка (служебные слова, идентификаторы, числа и разделители) не могут содержать внутри себя пробелы и не могут переноситься с одной записи на другую. Конструкции же более высокого уровня — выражения, операторы — могут переноситься и содержать пробелы в любом месте между служебными словами, идентификаторами, числами, разделителями. Между этими конструкциями языка кроме пробелов могут быть вставлены комментарии, которые заключаются в разделители.

Символы ПОЯ в основном совпадают с соответствующими символами языков ФОРТРАН, ПЛ/1.

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

— время; параметры системы — константы, значения которых в течение одного варианта расчета не меняются; переменные состояния, поведение которых задается дифференциальными уравнениями и начальными условиями (такие переменные меняются непрерывно); дискретно изменяемые переменные, поведение ко-

63

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

Кроме этого, идентификаторы могут определять имена функций. Примеры идентификаторов:

Y, T01, R187, АРГУМЕНТ

Если не считать атрибута размерность, то синтаксис вещественных чисел ПОЯ лишь незначительно отличается от соответствующих конструкций языков ФОРТРАН и ПЛ/1.

Одной из сервисных возможностей ПОЯ является возможность задания размерностей для различных физических величин. Цель задания размерности для чисел — автоматизация их перевода в СИ. Если размерность указывается после идентификатора, то при печати численное значение этой переменной будет преобразовано из СИ к указанным единицам. Для проверки введенной ММ предусмотрен режим контроля физических размерностей величин на соответствие.

Размерности могут задаваться для идентификаторов и чисел. Они всегда заключаются в квадратные скобки и не могут переноситься с одной записи на другую. Размерности составляются из базовых размерностей, которые включают: Г — грамм, КГ— килограмм, С — секунда, МИН — минута, ЧАС — час, MM — миллиметр, CM — сантиметр, М — метр, КМ — километр, МИЛЯ — миля, « — угловая секунда,' — угловая минута, ГРАД — угловой градус, РАД — радиан, УЗЕЛ — узел (миля/ч), ОБ — оборот (2 рад), ГС — грамм-сила, КГС — кило- грамм-сила, Н — ньютон, А — ампер, В — вольт, %—процент, ПОЗ — позиция АЦПУ (используется только при выводе результатов на АЦПУ).

Размерность строится по усеченным правилам построения выражений. В общем случае размерность — это дробь, числитель и знаменатель которой представляют собой произведение базовых размерностей и их степеней. Степень может быть только целой и положительной, причем может состоять только из одной цифры. Размерность не может содержать круглые скобки. Разделение размерности на числитель и знаменатель осуществляется знаком «/».

Например, размерности [РАД/С**2] и [РАД/С*С] эквивалентны. Числителем может являться безразмерная единица, например [1/С]. Примеры неправильно записанных размерностей:

(КГ*М/С] [Г*СМ*С**2)] [1/Н].

Выражения являются важнейшими элементами языка. Они позволяют аналитически задавать различные элементы ММ исследуемой системы.

Выражения на ПОЯ «Моделирование» определяются почти так же, как выражения в языках программирования ФОРТРАН и ПЛ/1. Выражения образуются из операндов, знаков операций и круглых скобок.

Выражения в этом ПОЯ имеют несколько иной смысл, чем в традиционных языках программирования. Они определяют математическую зависимость, а не формулы, по которым должен производиться расчет, поэтому в состав функций входит такая, например, как ДIF (производная).

64

Обычное выражение в простейшем случае может являться числом или идентификатором, например

А 3.1415926.

Обобщенное выражение всегда должно содержать по крайней мере одну операцию или функцию. Примерами таких выражений являются

X+Y, 3.5+7*К— X, F(X, Y), Z'— Z»

DIF(Z), (А—2*В)*(В*с2—С), А+3*(А—В)— С*2

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

1.'—производная.

2.** — возведение в степень.

3.*, / — умножение и деление.

4.+, — сложение и вычитание.

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

I. Операторы задания MM. MM задаются звеньями, связями между ними, входными воздействиями и зависимостями выходных переменных от переменных непрерывного и дискретного состояния и времени. Звенья непрерывной части динамической системы могут задаваться системами дифференциальных уравнений (СДУ) и передаточными функциями в случае линейных звеньев (ЛЗ). Элементы дискретной части систем описываются системами разностных уравнений (РУ) или дискретными линейными звеньями (ДЛЗ). Связи между звеньями задаются естественным образом путем установления соответствующих аналитических зависимостей.

Такие зависимости могут быть заданы непосредственно в операторах СДУ, ЛЗ, РУ, ДЛЗ и специальных операторах, задающих алгебраические связи между выходами одних звеньев и входами других. В частности, линейные непрерывные звенья задаются оператором ЛЗ, формат которого следующий:

ЛЗ: И = ОВ*И'.

Здесь идентификатор слева от знака равенства является символическим именем выхода линейного звена, а идентификатор справа — именем входа. 0В представляет собой передаточную функцию звена в операторной форме. В качестве 0В можно использовать дробно-рациональную функцию от s, где s — аргумент преобразования Лапласа. В результирующем выражении степень полинома числителя должна быть не больше степени полинома знаменателя по соображениям фи-

65

зической реализуемости. В операторе ЛЗ идентификатор s должен использоваться только как обозначение аргумента преобразования Лапласа.

Пример правильной записи оператора:

ЛЗ: Y=((l+A*s)/(l+5*s**2) + (C+D/s)*X; ЛЗ: 1 = 1/S*U

Пример неправильной записи оператора: ЛЗ: Y = X/s

ЛЗ: Z=(s+l)*U

Впервом операторе неправильно задано 0В, определяющее передаточную функцию, а во втором — степень полинома числителя больше степени полинома знаменателя.

Врезультате обработки оператора формируется система линейных дифференциальных уравнений в нормальной форме с нулевыми начальными условиями, которая присоединяется к системе уравнений, заданной операторами СДУ.

Пример: Описание ММ звена ноги ШР с учетом управления в суставе U и внешнего воздействия F=asinco/.

СДУ: X'=Y, Y' = — G/L*SIN(X)— FTR*SIGN(Y)+FU;

НУ:Х = A, Y=0,05;

ЛЗ: U=(l+s)/(2— 3*Tl*s**2)*=:Y; G = 98; L = 0.9; AГ = 7.8[Г]; FTR = 07; Tl=0.02;

№=15[Гц]; F=0.5*SIN(W*T); E=M*G*L*(1— COS(Y)) + M + ВЫХОДНЫЕ ВЕЛИЧИНЫ: X, E;

II. Операторы задания параметров численного интегрирования.

Операторы могут задаваться в произвольной последовательности вместе с операторами первой группы. Однако все необходимые параметры должны быть заданы до оператора РЕШИТЬ. Повторное определение одного и того же параметра заменяет старое значение на новое. Операторы имеют следующий формат: ТОЧНОСТЬ: <Число>; МЕТОД ИНТЕГРИРОВАНИЯ: <целое число>;

ШАГ ИНТЕГРИРОВАНИЯ: <число>; ИНТЕРВАЛ: <число>, <число>; КОЛИЧЕСТВО ТОЧЕК: < целое число>; ШАГ ВЫВОДА: <число>;

Параметр ТОЧНОСТЬ определяет предельную относительную ошибку на всем интервале интегрирования.

Параметр ШАГ ИНТЕГРИРОВАНИЯ определяет величину первого шага интегрирования. Его следует задавать на 2—4 порядка меньше, чем предполагаемый рабочий шаг интегрирования. В процессе интегрирования шаг будет меняться в зависимости от свойств решения в соответствии с используемым алгоритмом чис-

66

ленного интегрирования.

Параметр МЕТОД ИНТЕГРИРОВАНИЯ задает код численного интегрирования. Допустимые значения: 10, 11, 12, 13, 20, 21, 22,23. Параметр состоит из двух цифр. Первая цифра имеет следующие значения:

1— для неявных методов Адамса;

2—для методов Куртиса — Хиршфельдера

Вторая цифра определяет метод решения нелинейных алгебраических уравнений который используется в неявных схемах на каждом шаге численного интегрирования. Параметр ИНТЕРВАЛ определяет временной интервал численного решения. Параметр ШАГ ВЫВОДА задает шаг между двумя соседними моментами времени, когда должно производиться запоминание выходных переменных. Для запуска задачи на решение служит оператор, вид которого следующий: РЕШИТЬ СДУ;

До этого оператора в программе должны располагаться операторы задания ММ и параметров численного интегрирования. Если же такие операторы расположены после оператора РЕШИТЬ СДУ, то они участвуют в модификации ММ или ее параметров.

По оператору РЕШИТЬ СДУ автоматически строится численная процедура расчета и происходит собственно расчет временных процессов. Если между двумя такими операторами структура моделируемой системы не меняется, а меняются только числовые значения параметров и начальные условия, то этап построения численной процедуры отсутствует что снижает общие затраты.

Система автоматизированного моделирования и параметрической оптимизации.

Система автоматизированного моделирования и параметрической оптимизации (СИАМ) работает с моделями, которые можно представить в форме блоксхем. В состав настоящей версии СИАМ включены 52 типовых блока, 4 метода численного интегрирования и 3 метода параметрической оптимизации, что позволяет проводить с ее помощью исследование широкого класса систем управления или других динамических систем.

При запуске системы она переходит в режим ввода модели.

67

Рис. 4.3 Меню режима ввода модели

Режим ввода модели

Модель в СИАМ - это совокупность блоков и связывающих их линий. Блоки вычерчиваются системой в режиме ввода блока (клавиша F2), линии - пользователем с помощью клавишей перевода курсора. Место вывода очередного элемента блок-схемы указывается курсором, который изображается кружком, если "перо" поднято, и галочкой - если "перо" опущено. Перемещением курсора с опущенным пером вычерчивается или уничтожается линия, курсор с поднятым пером не оставляет следа на экране. Опустить "перо" можно только на уже существующую линию, "перо" всегда опущено после ввода очередного блока. Для медленного перемещения курсора используйте "Shift"+<кл. перевода курсора>. Используйте также клавиши:

HOME, END -для смещения экрана, соответственно, влево и вправо; PgUp, PgDn - для смещения экрана, соответственно, вверх и вниз; DEL - для стирания блока, на который указывает курсор;

INS - для включения/отключения звукового сигнала.

В режиме ввода модели доступны следующие функции, отображаемые в верхней строке экрана (меню режима ввода модели):

F1-Пмщ- Справочная служба СИАМ.

F2-Блок - Переход к режиму ввода блока и исходящей из него линии.

FЗ-Перо - Поднять/опустить "перо"; при опущенном "пере" слово "Перо" в меню выделяется негативным изображением.

F4-Ред - Переход к режиму редактирования/уничтожения блоков. F5-Диск - Запись блок-схемы на диск или чтение ее с диска.

68

F6-Окно - Показать/убрать подсказку в нижнем окне.

F7-Мод - Переход к имитационному моделированию.

F8-Опт - Переход к параметрической оптимизации.

F9-ЛЧX - Построение частотных характеристик.

ESC-Конец - Выход из СИАМ.

Режим ввода блока (блоков)

При переходе к этому режиму в нижней части экрана активизируется окно с пиктограммами типовых блоков СИАМ. Одна из них выделяется негативным изображением. С помощью клавишей перевода курсора Вы можете выделить ту или иную пиктограмму, после чего клавишей "Enter" (—) - создать блок в Вашей модели. В окне-подсказке показывается лишь часть из полного набора типовых блоков СИАМ. Доступ к остальным - клавишами Ноmе, End, РgUp, РgDn.

Блоки, использующие входные сигналы, не могут создаваться на "пустом" месте, но обязательно - в конце любой уже существующей ГОРИЗОНТАЛЬНОЙ линии. Блоки-генераторы пробных сигналов, наоборот, не могут располагаться на линии, так как для своей работы не нуждаются во входных сигналах. Таким образом, 1-ым вводимым блоком в любой модели должен быть генераторный блок любого типа (если такой блок не нужен, можно использовать фиктивный генератор ступенчатой функции с нулевым уровнем выходного сигнала).

При создании очередного блока одновременно создается исходящая из него линия, а система остается в режиме ввода блока. Выход из режима - ESC.

Редактирование или уничтожение блока (блоков)

Для изменения параметров (редактирования) или уничтожения какого-либо блока переместите курсор с поднятым "пером" (курсор-кружок) так, чтобы его центр попал внутрь нужного блока. После этого нажмите клавишу "Del", если Вы хотите стереть блок, или "F4", если Вам нужно изменить его параметры.

Если к моменту нажатия на "F4" курсор не указывал ни на один блок, система выделяет мигающим изображением первый блок, предлагая выбрать его для операции редактирования или уничтожения. Клавишами перевода курсора влево и вправо можно выделить нужный блок, после чего клавишей "Del" стереть его, а клавишами "Enter" или "F4" начать его редактирование.

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

Режим имитационного моделирования

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

Порядок интегрируемой системы ограничивается лишь доступной памятью

69

и может быть весьма большим. На структуру накладывается единственное ограничение: она должна быть такой, чтобы ВХОДНОЙ сигнал любого блока мог быть вычислен системой ДО вычисления ВЫХОДНОГО сигнала этого же блока. Система допускает интегрирование в "прямом" (tk > t0), и в "обратном" (tk < t0) времени. Моделирование можно прервать в любой момент, нажав клавишу "ESC". Клавишей "F9" можно продолжить завершившееся или прерванное моделирование.

Меню режима моделирования: F1-Пмщ - Справочная служба СИАМ.

F2-Мет - Выбор метода интегрирования и его параметров. FЗ-Счет - Начать моделирование.

F4-Ред - Редактирование блока (см. РЕЖИМ ВВОДА МОДЕЛИ). F5-Окно - Отображение результатов в графическом окне. F6-Грф - Вывод графиков на терминал.

F7-Peз - Заказать/просмотреть результаты моделирования. F8-Мсш Масштабировать графики в графических окнах. F9-Прд - Продолжить моделирование с прерванного места. ESC-Выход - Вернуться в режим ввода модели.

Рис. 4.4 Меню режима моделирования

Краткая справка по методам интегрирования

В системе СИАМ реализованы 4 метода численного интегрирования: два метода с контролем локальной погрешности и автоматическим выбором шага и два метода с фиксированным шагом. Обычно методы с автоматическим выбором шага имеют существенно большее быстродействие, в особенности при параметрической оптимизации, когда интервал интегрирования не дробится на 100 или более подинтервалов для запоминания промежуточных результатов. В методе Кутта-Мерсона

70

используется 5 вычислений правых частей интегрируемой системы уравнений, в методах Фельберга, Рунге-Кутта и Эйлера, соответственно 6, 4 и 2.

МЕТОД КУТТА-МЕРСОНА. Метод Кутта-Мерсона с автоматическим выбором шага интегрирования сочетает хорошую точность (метод 4-го порядка точности) и высокую скорость. Метод оценивает локальную погрешность вычислений и выбирает шаг так, чтобы эта погрешность не превышала величины, заданной параметром "ПОГРЕШНОСТЬ". Этот параметр не следует устанавливать меньше

1.0е-5.

МЕТОД ФЕЛЬБЕРГА. Метод Фельберга с автоматическим выбором шага интегрирования отличается максимальной точностью (метод 5-го порядка точности), но медленнее других. Рекомендуется для "чистовых" прогонов с целью получения максимально достоверных результатов, а также при моделировании "жестких" моделей.

МЕТОД РУНГЕ-КУТТА В методе Рунге-Кутта 4-го порядка точности скорость счета и достоверность получаемых результатов существенно зависят от шага интегрирования, задаваемого параметром "ШАГ".

Метод не имеет средств оценки локальной погрешности, поэтому выбор шага Вы должны осуществить самостоятельно. Как правило, шаг не должен превышать З0...50% от минимальной постоянной времени модели. МЕТОД ЭЙЛЕРА Метод Эйлера 2-го порядка точности отличается максимальной скоростью счета, но дает наименее достоверные результаты. Может использоваться лишь для приближенных оценок - в основном для "грубого" поиска экстремума целевой функции при проведении параметрической оптимизации модели.

Вывод результатов моделирования

Обычно при счете система запоминает промежуточные результаты для каждого блока модели, что позволяет затем построить графики для любой точки структурной схемы. Память СИАМ достаточна для хранения результатов приблизительно 200...300-от блоков при стандарте 100 точек на интервал интегрирования. Вы можете заказать другое количество промежуточных точек, а при необходимости и конкретные блоки, для которых эти результаты будут сохраняться. Система может построить графики изменения выходных сигналов как функций модельного времени на черно-белом экране в режиме высокого разрешения (200 на 640 точек) или на цветном экране с низким (200 на 320) разрешением. Для второго случая используется следующее меню:

F1-Back - изменение цвета фона;

F2-Axis - изменение цвета сетки;

F3-Line - изменение цвета графиков;

F4-Palette - смена цветовой палитры; F5-B & W - переход к ч/б графике; ESC-Return - возврат в СИАМ.

Дополнительную информацию о выводе результатов Вы сможете получить по клавише F7 в режиме моделирования.

Режим параметрической

оптимизации

В ходе параметрической оптимизации

система осуществляет це-

71

ленаправленное изменение оптимизируемых параметров модели (коэффициентов усиления, постоянных времени, начальных условий и т.п.) так, чтобы обеспечить минимум выходного сигнала некоторого блока при t=tK (минимум целевой функции). Часто используемый квадратичный критерий качества модели можно задать особым типовым блоком (интеграл от квадрата сигнала, деленный на текущее модельное время). Для других критериев необходимо соответствующим образом дополнить модель так, чтобы получить требуемую целевую функцию на выходе одного из дополнительных блоков. Каждое вычисление целевой функции достигается в результате прогона имитационного моделирования, поэтому время решения задачи оптимизации может быть весьма большим.

Меню режима параметрической оптимизации: F1-Пмщ - Доступ к справочной службе.

F2-Мет - Выбор метода параметрической оптимизации и диапазона неопределенности параметров.

F3-Счет - Пуск процедуры оптимизации (останов - по ESC или по малым приращен, параметров).

F4-Ред - Переход к процедуре редактирования/уничтожения блоков. F5-Функ - Выбор блока, выходной сигнал которого при t=tK будет считаться значением целевой функции.

F6-Пар - Выбор оптимизируемых параметров, задание границ их изменения.

ESC-Выход - Возврат к режиму ввода модели.

Краткая справка по методам оптимизации

.В этой версии СИАМ реализованы следующие методы оптимизации:

1.ПОКООРДИНАТНЫЙ СПУСК. Метод покоординатного спуска (ГауссаЗейделя) производит поочередное изменение оптимизируемых параметров по алгоритму "золотого сечения". После изменения последнего параметра вновь изменяется первый и т.д. до тех пор, пока не будет исчерпан лимит вычислений целевой функции, либо когда ее изменения не станут слишком малы. Работает медленнее метода прямого поиска, но с большей гарантией успеха.

2.ПРЯМОЙ ПОИСК. Метод прямого поиска (Хука-Дживса) осуществляет поиск направления спуска в пространстве параметров путем пробных шагов в малой окрестности исходного приближения. Затем проводится серия ускоряющихся шагов в выбранном направлении до тех пор, пока еще уменьшается целевая функция.

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

3.МОНТЕ-КАРЛО. В методе Монте-Карло оптимизируемые параметры выбираются случайным образом внутри заданной области допустимости. При этом полностью игнорируется уже накопленная информация о поведении целевой функции, поэтому не имеет смысла говорить о сходимости метода. Метод исполь-

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

Режим построения Л.Ч.Х.

Система не строит автоматически ЛЧХ, но может сделать это по Вашим ука-

72

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]