Mоделирование процессов и систем в Matlab (966709), страница 65
Текст из файла (страница 65)
Это за- висит от типа уравнений (алгебраические, дифференциальные или разностные), которыми описывается моделируемый через Б-функцию блок. Так, если блок за- дан алгебраическими уравнениями, то не используются почти все указанные внут- ренние процедуры, за исключением процедуры ш010ОТрцТя, в которой и вычисля- ются соответствующие алгебраические соотношения, определяющие связь между входными переменными и и выходными переменными у. В том случае, если пове- дение блока задано системой непрерывных дифференциальных уравнений, не ис- пользуется функция яг110рбаТе, если уравнения блока являются разпостными— функция ат110егтчас1чея. Обязательными являются лишь процедуры п01!гтСяа- 1тхе5яаея и г ПООТроТя (инициализации и формирования выхода).
В зависимости от значения переменной Т1а0 главная процедура Б-функции со- держит обращение к той или иной внутренней процедуре. Например: янягсГ Т1ао. саяе О. Оуя.к0.ясг,ся3 = па11пятяа1зае5таея: саяе 1, яуя " мо10сг1чамчеяР'.к,М: Зб2 Урок 8 ° Взаимодействие МАТ(ЛВ с ЯввйоК саве 2. 5у5 - пхПОровте((.х.о): саве 3, ху5 вкПОочротв(г.х,о): саве 4. еув = в))6еотпвО(кех(увгн1О(т.х.о): саве 9. вув - пгй) егво'овсе((, х.ю; о()1еги1ее еггог(('Оонвоо)ео Г)о9 = ',ооп2в(г(Г)е9)3): еоо В зависимости от значения переменной г) е9 выполняются следующие действия (через вызов соответствующей внутренней процедуры): ΠΠ— инициализация блока Б-функции; О Т вЂ” обращение к процедуре правых частей непрерывных дифференциальных уравнений, О 2 — вычисление новых значений переменных состояния па следующем шаге дискретизации (для дискретной Б-функции); О 3 — формирование значения вектора выходных величин блока Б-функции; О 4 — формирование нового значения модельного времени, которое отсчитыва.
ется от момента пересечения заданного уровня определенной переменной состояния; О 9 — прекращение работы блока Б-функции. Установка и изменение значения переменной г)ад осуществляется автоматически, без вмешательства пользователя, в соответствии с логикой функпионирования блоков при моделировании. Итак, использование Б-функции позволяет моделировать работу как обычных алгебраических, так и динамических (непрерывных или дискретных) звеньев. Чтобы создать блок Б-функции, выполните следующие действия.
1. Напишите текст Б-функции, например в виде М-файла; текст составляется на основе файла-шаблона 5$цпТМР(..т с учетом заданных уравнений поведения блока. 2. Перетащите стандартный блок 5-Рппс6оп (рис, 8.10) из раздела Пвег-Ое()пес Гипсх1о пз библиотеки Б)шн11 пи в окно блок-схем ьь в которой будет создаваться новый Б-блок. Рис.
8.10. заготовка 5-функции 3. Дважды щелкните мышью на изображении блока 5-Рвпсбоп„что приведет к появлению на экране окна его настройки. Окно содержит два поля: 5-(посо(ол паве (Имя Б-функции), в которое вводится имя написанной Б-функции, и 5-Ьпсбоп рагап)е1егз (Параметры Б-функции), в которос вводятся имена или значения параметров блока, указанных в разделе <Переиегри> М-файла, содержащего Б-функцию. ЗбЗ Объединение 5-моделей с программами МАТЮКАВ 4. Введите в указанные поля имя М-файла, в котором хранится Б-функция, и список значений параметров 5-функции. Если, например, в первое из них ввести имя 5 КА, а во второе — строку К 000. 005КО, окно приобретет такой вид„как показано на рис.
8.11. 5. Щелкните мышью на кнопке ОК. Если система обнаружит М-файл с указанным именем в папках, которые для нее доступны, окно, представленное на рис. 8.11, исчезнет, а на изображении блока в окне блок-схемы появится введенное имя Б-функции. Рис.8.11. Окно настройки блока 5-Ьпсбоп после ввода параметров Б-блок на основе Я-функции, которая содержится в М-файле 5 КА.в, будет создан. Теперь его можно использовать как обычный Б-блок в блок-схеме Б-модели. На вход этого блока должен поступать векторный сигнал и.
Выходом блока станет векторный сигнал у, который сформирован Б-функцией во внутренней процедуре п410и1ри'ск Примеры 5-функций Создадим Я-функцию, которая реализует динамические свойства твердого тела при его вращательном движении. Для описания динамики тела воспользуемся динамическими уравнениями Эйлера в матричной форме: Я вЂ” и (сох)( 1св) =.М. Йв Ж (8.1) ЗдесьЯ вЂ” матрица моментов инерции тела относительно осей, связанных с телом; ю -- матрица-столбец из проекций абсолютной угловой скорости тела на одни и те же оси; (егх) — кососимметричная матрица вида О -го, гов (ем) = го, 0 -го,. -сов гл„О (8.2) составленная из тех же проекций; М вЂ” матрица-столбец из проекций вектора момента внешних сил на связанные оси. Такими уравнениями описывается, например, Урок В ч Взаимодействие ИАТЕАВ с 51мцйпд вращательное движение космического аппарата.
Поэтому далее тело иногда будет отождествляться с космическим аппаратом. Создадим М-файл соответствующей Б-функции. Назовем его 5 В[) Е.(п. (цпс(1оп [эуэ.хб,этг.[э) - 5 ООЕ(э,х,М,Г)а0,3.005ХО) Д 5-функция 5 ООЕ Динамических уравнений Эйлера $ Реализует динамику вращательного движения твердого тела, Х отискивая вектор абсолютной угловой скорости тела Х по заданнону вектору моментов внешних сип, Х действующих на тело Д ВХОД блока: Х М - вектор проекций номента внешних сил на оси Х Х, У т 2 связанной с телом системы координат Х ВЫХОД блока: т у - вектор иэ шести элементов: первые три -' проекции Х абсолютной угловой скорости св тела на укаэанные оси, Х последние три - проекции на те ше аси углового ускорения тела Х Входные ПАРАМЕТРЫ 5-функции: Х 3 - матрица нонентоа инерции тела в указанных осях; т 005ХΠ— вектор начальник значений проекций угловой скорости тела Д Лазарев О.Ю..
10-12-2003 1д = тпч(3); Х вычисление обратной матрици моментов инерции эитдсц Т)а0. саяе 0 [эуэ,хО этгдэ) - ва11п111а)1эе51эеэ(005КО); сазе 1. эуэ — пхПОегтча[1чеэ((.х.и.д,)3): сазе 3. эуэ " ~ПОцпрцпэ(х.М,3, 13): сазе 9 эуэ [1: епб Х Конец працеяури Х— (цпсттоп [эуэ.хО эпг.пэ1 - ппП1пттта)тэе51эеэ[005КО.ОВО) 51теэ = этпш1эеэ: э1геэ.квпСопп5[атеэ " 3; э1эеэ.щвг01эс5(атея - 0; этэеэ.дшпбцтрцтэ - б: ээгеэ.нвп1прцтэ - 3: этэеэ.ОтгГеебтнгоцрл -- 1; этгеэ.щвп5авр)еттвеэ - 1; эуэ - э1вэ1эеэ(этэеэ): х0 - 005ХО: эсг [1: сэ -[001; х конец процедуры ва1(п111а)1эе51эеэ т (цпс(1оп г - вб10егэчай1чеэ(т.х,М,3.13) $ ВХОДНОЙ вектор М является векторон проекций нонентов внешних сил, Х действующих на коснический аппарат соответственно по осян Х У 2 Х х(1) - ав(1): х(2) - ов(2); х(3) - вп(3): $ э(1) е б(ов(1))/бт.
э(2) а(ов(2))/ап: э(3) б(св(3))/бт„ $ (3х дху эха) Д 3 - (Оху ду Оуэ) - патрюца нонентов инерции КА $ (3хэ Луэ бя ( 365 Объединение 5-моделей с программами МАТ(АВ Ов = х(1.3): овх = чес(3хяп(оп): г - (3*(м-сгопп(ов,Лион)). т ДИНАМИЧЕСКИЕ урапненип 3йлера т Конец процепурн пв)регпча()чеп т-- Гцпсй)оп у = вд)Оцсрц(п(х.МЛ . 13) у(1 3) = х: спп = х(1:3); авп - 13*(н-сгопп(ов.3"ов)): т Определение УОКОРЕИИИ у(4 рб) = аов; т Конец процепурн вгПОцгрцгп В качестве входного вектора создаваемого Б-блока принят вектор М.
Этот вектор состоит из трех значений текущих проекций на оси системы декартових координат, связанной с телом, момента действующих на тело внешних сил. Образуем выходной вектор у из шести элементов: первые трн — текущие значения проекций абсолютной угловой скорости тела, вторые три — проекции на те же оси абсолютного углового ускорения тела: у = (опх,ову.опц ерпх.ерпу.ерш) Создаваемый Я-блок рассматривается как непрерывная система (с тремя непрерывными состояниями х=(овх, ову, овг)).
Поэтому из текста Я-функции изъята процедура в0) Орбате и оставлена в нем процедура вб) Оег) чагп че, которая фактически является подпрограммой правых частей динамических уравнений Зйлера. Создадим новое (пустое) окно блок-схемы. Перетянем в него стандартный блок Б-функции нз раздела ()пег-Ое()пей Ецпс11опк Двая(ды щелкнув мышью на изображении этого блока, вызовем его окно настройки и запишем в него название М-файла созданной Я-функции и его параметры (рис. 8.12). Щелкнем на кнопке ОК. Рнс. 8Л2.
Окно наа ройки блока 5 ООЕ Вследствие этого на изображении блока появится имя Я-функции, а окно настрой- ки исчезнет. Теперь в том же окне с Я-блоком создадим блок-схему для проверки правильности работы этого блока. Но для этого предварительно нужно продумать условия тестового примера. 366 Урок 8 ° Взаииодействие МАТЮКАВ с 5ивойпй Рассмотрим такой случай: О на тело не действуют внешние силы, то есть тело свободно вращается в пространстве; О оси декартовой системы координат, которая жестко связана с телом, направлены по главным осям инерции тела; при таком условии матрица моментов инерции будет диагональной; О тело является динцмично симметричным, а его ось фигуры направлена вдоль второй оси (у) связанной системы координат; зто означает, что матрица моментов инерции будет иметь такой вид: (у, о о1 уело у о|, ~о о у~' где/, — экваториальный момент инерции, ~ — момент инерции тела относительно его оси фигуры (осевой момент инерции тела), причем ) > /, в случае, если тело сплющено по оси; ~4ах Л вЂ” =(У-Л)агах гй Ййг ~ — =0 пг У е(~ (У Л)аг ~М.
и при заданных начальных условиях будут иметь такие решения: ах =ао созйЖ)' аг =й' ах = ао з|п((йг): (8.3) причем У-Л е Уе (8.4) Итак, если образованная модель правильна (адекватна) и для нее обеспечены указанные условия, при моделировании мы должны получить результаты, соответствующие формулам (8.3). Добавим в блок-схему блок констант, который формирует нулевой вектор моментов внешних сил (рис.