Батенко А.П. Системы терминального управления (1984) (1246767), страница 29
Текст из файла (страница 29)
сы хОсс о Оы,н о » с ы шгг х с гы ххко .с С .г л - х \ г» т. «ХХ ° г .г с с -г г,г г г. б с СССССССС Г Л ССЬС Сббббб Об Ъ Э бббббь а х Ю Ъ.: а 4 Г |И -й О -а 1:Ъ 1 а и — х О ° И х —— ЪН с с у О НЪ 1- а ив е Ю И И 1 »1» и Ю а|Ос! аи 4|а Н' О. ИИ|Ч|НЮ Ю 1$ Н Н 3 Н И Н Н Н И |й 1 а с Ъ4 й Хо О О О' и |Н х х $ ° 4' 43 х х 34 и Н О О Х Ю -Ъ Нй О 34 Х Н и С + ° Х 4» Н Н + 13 х и О ° |Н ° |и |НИ И 'О т ° Х И а И ХХХХОООЪ|ОООООО3|Х и О Ю Х Х 4» а О и 'О С О Ю |Н О Ч И О 3 Ю 4 Ю 44 'Ъ Ч И О 3 Ю О' Ю О О И Ъ Х О О О' И О' О Ю О О О Ю 1'ЪН1 И и 1 4 1 1 Ю Ю И Ю Ю Ю И й О$»ЮЮЮЮЮЮ4йЮЮЮННЮЮЮНйййй|й.'йЮ 'О 1» ИЮ|ИЮНЮ|5|ЮФ 13О|Ю|О Ъ ЮЮЮЮЮЮЮЮ Ю Г ЪН $ с - 43 О' О 4 Ю \ 3 ха ъй а ха Х 4 х а Ш 1» ХХН| а -л 3-и Х ас О х х х-о ю х'и О \1 Х .4 а ю — 3- 3 Ю -3 1» Ч |О Х и И О4» и: О.— Н| С О.
-с й. т О 1 ю х О О О |Н Е х -и 3" О х х О 3 Э О. «и $ ь О 'т «О о ЭЭ о сэ .т о Э М «и л сч о т о эс « Э В $3 о х сч сч о к ЬВ \ $$ М О. $ \ мс т сэ И О. «и .м $ сс сс .м \.Э О т о Э ОВ О о И З Э 3 3 $$ о т т о ---т ото сэ м. о ВЭ а « см О. т ° ' а' О а «т и т $$ сэ х М ° \«М 3» $ ° ли са ° а ° т ВВ с- х х $$ И 1 «и У л а» «о« э Э Э ° и Вм «С с э- о с о т\ т«$$ $$ » с »$ тэ Эс В а см $«и т с- м с х. м о В СЭ Ф и. а о о С: 3- М. МЭ «м Э 3 «т оэ..ам т ° и«о $ В сч О а $.
т «т тз~ а» Ф 3 Ю с«и«ч в»эл О сс 3» О Эм $$ Вэ ч м\ О ° $»О сч Вс СЧ «Ч ВЧ 145 -о В т 3- «м ° т » ° сч м хс «т то а оч хо ас «с а « ° -т $ $» эс тх ЭЭ ЭК ОЭ с т т' » Э Ъ $ т "О о $$ сэ а х м о «ч л т м й о ° с $ л т т л сэ В,Э $ «Ь В а л О $ '» с м« $ о Э «ч $ 'и «и с« Вм м м о $3 Вм о О. $ о «Э м .м °" сэ О В,Э °,Э т А «и $ », В м« °- Оператор 5 объ являет Размерность массивов, используемых подпрограммой. Среди нпх появилио-ь новью.' УН (10), С (12), В (12). Б массив УН (! И) пересы- лаются результаты, выдаваемые на печать, а массивы С (!2) и В (12), так же как массивы СС (12) и ВВ (12) в основной программе, используются при вычислении коэффициентов полииомов Н (!) и В (!) с помощью подпрограммы КОЕЕ, Б 2 (6).
Оператор 6 обращается к подпрогралгме КОЕЕ и вычисляет коэф- фициенты выходце(гг функции и (г). Вычисленные коэффициенты помещаются в массив С (12). Б,З (7), Оператор 7 обращается к подпрограмме КОЕЙ и вычисляет коэф- фициенты выходно! г функции [1 (г). Вычисленные коэффициенты помещаются в массив В (!2). БА (8). Оператгор 8 нроверяет, равен ли нулю признак печати: КРЙ =. 67 Если да, то промеж.уточкой печати не будет и управление будет передано па Б,б. Если нет (КРЙ = 3), то промежуточная печать будет и управление передается па Б.5. Б.5 (9 — 20).
О~ гераторы 9 — 14 печатают конечные условия для выходных функций Н (!) к 0 ( !). Операторы 15 — 18 засылают нули во все ячейки мзссввов С (12) и В (12), пе манятые коэффициентами полиномов Н (!) и В (Е), рассчитан- ными в блоках Б.2 и Б.З. Это необходимо для организации печати. Операторы 19 и 20 выдают ка печать коэффициенты полиномов — выходных функций Н(!) и г) (г). Б 6 (21 47) ялок подготавливает исходные данные для интегрирования дифференциальных уравнений (5.9).
Оператор 21 задаст количество дифферен- циальных уравненшй в системе. Операторы 22 24 задают шаг интегрирования НЙ. Б задачах терминаль- ного управления неОбходимо, чтобы на интервале интегрирования [О, Т] уклады- валось целое число цгагов. При неизменном Т шаг интегрирования можно было бы задать одним оператОРом, например НЙ вЂ” — 2.)) И, при Т четном. Операторы 22 — 24 обеспечивают целое число шагов интегРирования при переменном Т, где НЙ примерно равен 2 с.
Оператор 25 за,цает шаг печати НЕЙ. Оператор 26 задает конечное время ТК, при котором иэгтегрнрованне заканчивается. Оно уменьшается по сравне- нию с конечным моьсентом времени Т на половину шага интегрирования для уве- ренного срабатывания оператора 49, проверяющего условие останова, Оператор 27 аадтает рабочий шаг печати НР, уменьшенный по сравнению с НРЙ на половину и~ага интегрирования из тех же соображений — для уверен- ного срабатывания оператора 52, проверяющего условия печати. Операторы 28 34 задают начальные условия для системы дифференциаль- ных уравнений: УОТ (1) = го — начальное время; УОТ (2) = Угг, — г!ачаль- ная вертикальная око!шсть! УСТ (3) = Нз — начальная высота; УСТ (4) = но — начальнаи горизонтальная скорость; УОТ (5) = В, — начальная дальность; УОТ (6) = геэ — начальный Расход топлива; УСТ (7) = Та — на- чальное значение срункционала (5.20), ОпеРатоР 35 пРоверает, Равен ли нУлю пРиэнак печати; КРЙ = 1.'17 Если да, то операторы 36 — 47 обходятся и управление передается на Б.7.
Если нет (Крй = 1), то управление переходит на группу операторов 36 — 47, Операторы 36 38 осуществляют пересылку шести начальных условий в массив для печати У Н и в массив УР промежуточных значений функций, с ко- торым работает подггрограьгма РЙС, вычисляющая правые части, Оператор 39 об)эащается к подпрограмме РЙС, которая при заданных на- чальных условиях яычисляет начальные значения управляющих функций и ГК а также угол наклона траектории ТЕТА Операторы 40-43 пересылают в массив для печати уН начала ые значе. ния следующих функций; УМ (7) = Й вЂ” тяга; УМ (8) = 0 — угол наклона траектории [град.]; УМ (9) = ]г У~но + Уйо — скорость аппарата; УН (1х) ) = = Еу — угол поворота несущих плоскостей аппарата [град.]. Операторы 44 — 47 печатают заголовки н начальные условия. Б.7 (48).
Оператор 48 обращается к подпрограмме интегрирования диффс. ренциальных уравнений ЙК. Отметим, что стандартное обращение к подпрограм. 146 чс йК (см. П1.6) изменено. Это вызвано потребностью передать внутрь подпрограммы йК информацию, необходимую для других подпрограмм, к которым гращается йК. С этой же целью иаменено обращение к подпрограмме РйСН (оператор 14 подпрограммы йК). Б.8 (49). По окончании каждого шага происходит выход из подпрограммы йК. При этом оператор 49 проверяет: достигло ли текущее время, находящееся и ячейке РОТ (1), конечного значения ТК? Если 1( ТК, то управление переда~ тся на Б.9, если 1 Ъ ТК вЂ” то на Б.11.
Б.9 (о0). Оператор 50 проверяет, равен ли пуд~о признак печати: Крй = (3? Если да, то передача управления все время производится иа Б.7 и инте- ~ рироваиие продолжается без промежуточных печатей. Если Крй = 1, то с инчгрвалом НРй производится печать текущего фазового состояния аппарата. Б.!0 (51 — 6!). Этот блок осуществляет печать текущего фазового состояния аппарата с интервалом НРй (с). Б.!1 (62).
Оператор 62 проверяет, равен ли нулю признак печати: КРй = 0 ? Если да, то управление передается на Б.13, Если нет (КРй = 1), то управление передается па Б.12 и производится печать конечного фазового состояния объекта (при 1 = Т), полученного в результате моделирования. Б.!2 (63 — 72). Блок осуществляет печать конечного фазового состояния аппарата, полученного в результате моделирования. Б.13 (73).
Оператор 73 осуществляет присвоение переменной РЕ вычисленного значения функционала. Б.14 (74, 75). Оператор 74 передает управление в основную программу. Оператор 7о отмечает конец подпрограммы. 3, Подпрограмма РРС вычисляет управляющие функции й и Р1, а также правые части системы дифференциальных уравнений (5.9). К ней обращается подпрограмма йК. Приступим к ее описанию. Б.! (2 — 4). Оператор 2 перечисляет массивы и переменные, имеющие двой. пую точность. Оператор 3 объявляет общие массивы и переменные, используемые взаимодействующими подпрограммами. Оператор 4 объявляет размерности массивов С и В, в которых хранятся коэффициенты полиномов — выходных функций Н (1) и О (Е).
Б.2 (5). Оператор 5 засылает единицу в правую часть уравнения времени. Б,З (6 — 9). Оператор 6 вычисляет число членов полиномов Н (Г) и Р (1): опо равно сумме начальных 1й и конечных У условий. Оператор 7 задает порядок производных, которые необходимо вычислить. Вторые производные выходных функций Н (!) и О (1) входят в управления (5.13) и (5.14). Операторы 8 и 9 вы. числяют текущие значения вторых производных выходных функций и присваивают нх переменным Н2 н О2.
Текущее время содержится в ячейке УР (1). Б.4 (10 — 16). Операторы!Π— 16 вычисляют управляющие функции й и Р1: опн реализуют выражения (5.14) и (5.!3). Б.5 (17 — 21). Блок вычисляет правые части системы дифференциальных уравнений (5.9) и засылает их в ячейки массива правых частей Р: Р (2) = (г Р (3) =- Н, Р (4) .= (г , Р (5) = О, Р (6) =-- О, Р (7) = 1. Б.6. (23, 24). Оператор 23 передает управление в основную программу. Оператор 24 отмечает конец подпрограммы.
4. Подпрограмма Рббй вычисляет ограничиваемые функции й, гр и )г, контролирует выполнение ограничений (5.17) и вычисляет значение функционала. Обращение к подпрограмме имеет вид САБЕ Рббй (Е, Х, 1й, НВ, НК, ОИ, ОК, ИМИ, УМО, ИМТ, КОР, К1, Кбб, О1', ОН, Еб, Р1). Здесь Š— размерность пространства параметров, поисн которых осущестпляет подпрограмма случайного поиска; Х вЂ” массив размерности 1.
нли более, и катарам хравятся искомые параметрыпеЕй — чяслоч)начальных условий; ПИ (2) — массив, в котором помещены начальные условия Н, и Н,; НК (18)— массив, в котором помещены конечные условия выходной функции Н; Р 8 (2)— 147 х э ы тъ Ф х ФХ' Ю «Э О ЪС ° Ф А т О Ха* х о! аэ «Фт ° о о Ол ваха Ф нос тэ ээ ъ ОХФ Х О 1 Х Ъв °- хк х х вха х. Сэы Ф х Р й Р ЪОЭ 1 С-. о Фа. х - о х олл хл х О л ш ъ и и и хэ- х ЗО Ф х вэ а Ээ Э Э 'Н Х О 1 Ф ° в Р в- в во а к т.
ФХ ЭЧ ЫИ и х О э х а а'нс ° ° х Ю Э в Э'Ъ °- Ю х Сэ 1 в 1 а 1« о э СЭ х Ю х х 1« Ю 1 ш Н Н о сэ \ 1- Х 1 х- эс С н.а ал и --х х х с а а ш 'х .С э' х э ЭС Н СЭ о Н х Ф Э-Х Х аа х о с О 1 х ъ Ха Н ° . О С НЭ Н вЂ” МХХ иэ-а на нс Сэ с — ы а «эх и и н в 1 «1, а Π— а О Н .