Материал: Автоматизация проектирования систем и средств управления. Учебное пособие. Кисурин А.А., Беспаленко В.Д

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Рис. 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