Черных И.В. Simulink Среда для создания инженерных приложений (2003) (1152002), страница 46
Текст из файла (страница 46)
Ьае... Процесс компиляции начинается после нажатия на кнопку Вш!д. Об успешном завершении процесса компиляции свидетельствует сообщение вида: й)Ж Бивпсйоп ТЗРТ гипс 1 С.дй' сгеа)ед зиссеззййу. По завершении процесса компиляции в рабочей папке будут созданы текстовые файлы с названиями вила: Иип С.с, хГип югаррег.с и аГип.дй. Последний файл является исполняемым; в файле хйп С.с находится текст Б-функции, а в файле кап югаррег.с — процедуры ответного вызова, сгенерированные ИС Б-Гипс))оп Ви11дег.
Окно ИС Б-Рипспоп ВшЫег с открытой вкладкой ВшЫ 1пГо показано на рис. б.19. На рнс. 6.20 показана модель ДПТНВ на основе Б-функции, созданной ио изложенной методике. Результаты моделирования, выполненные с помощью этой Б-функции, полностью совпадают с резулшатамн предыдущего раздела. Скорость моделирования с использованием Б.функции на языке С в несколько раз выше, чем при нспольювании языка МА П.АВ. Р' . П2)) 6.7. Корректировка Б-функций Б-функции, созданные с помощью ИС Б-Еипс6оп Ви|1дег, обладают одним существенным недостатком. В большинстве случаев при вычислении переменных состояния, выходных сигналов, производных должны использоваться некоторые ранее вычисленные константы.
В задаче моделирования двигателя постоянного тока — это элементы матриц уравнений в пространстве состояний, рассчитываемые через параметры двигателя 1сопротивлеиие, индуктивность ит. п.). В примере на языке МАТ1.АВ расчет матриц выполнялся в процедуре пкП1п)байгеБ)гея только один раз — на этапе инициализации модели.
Затем эти матрицы использовались для вычисления производных в процедуре пкПОепуайчез и выходных сигналов — в процедуре пкПОигри)з. Такая компоновка Б-функцни обеспечивала наибольшую скорость вычислений. 6 8-функции в их применение /* Хприе Рост 1 */ №дебйпе 1И РОЕТ 1 МАМЕ №де11пе ХМРОТ 1 М1ОТН №деЕ1пе 1ИРОТ РХМБ 1 СОЬ №де11пе 1ИРОТ 1 ОТХРЕ №де?йпе 1ИРОТ 1 СОМРЬЕХ №йе№йпе 1И 1 ГЕАМЕ ВАБЕО №дедйпе 1И 1 ОХМЯ №де?№пе 1ИИЗТ 1 ГЕЕОТНЕООСН и1 1 1 теа1 Т СОМРЬЕХ МО ГНАНЕ МО 1-0 1 №йе№зпе ИОМ ООТИУТБ /* Оигрит Роге О №дегзпе ООТ РОЕТ 0 МАМЕ уО 421 И. Н.
Червых Б!М?Л.?МК: грела создания вюкенериых приложений К сожалению, при применении ИС Б-Гипс?1оп Вш1дег отсутствует возможность ввести фрагмент кода на вкладке 1п1вайганоп, а также скрьггы заголовки процедур ответного выюва, что делает невозможным добавление новых параметров, которые могли бы передаваться в зги процедуры.
Такая ситуация приводит к тому, что константы, которые можно было бы вычислить всего один раз и затем лишь использовать, вычисляются вновь и вновь на каждом шаге моделирования (в примере с ДПТН — зто паарметры АОО, А01, ВОО и т. и.). И если в относительно простых моделях с зги еще можно смириться, то для сложных моделей с большим объемом предварительных вычислений такая ситуация приводит к существенному замедлению процесса моделирования, Выходом из такой ситуации является корректировка кода, автоматически сгеиерированнопз ИС Б-Рипс?1оп Виз1дег. Такая корректировка должна обеспечить вычисление констант только один раз на зтапе инициализации и передачу их в нужные процедуры ответного выюаа.
В рассматриваемом примере модели ДПТНВ па этапе инициализации должны вычислаться константы АОО, А01, ВОО н т. д., а затем, передаваться в процедуры для расчета производных и выходных переменных. Для реализации поставленной задачи следует проанализировать полученные с помощью ИС Б-Рцпсйоп Вщыег файлы Т?РТ Бйзпс 1 С.с и 1?РТ гипс 1 С вгаррег.с. Первый файл содержит исходный текст Б-функции, а второй — тексты процедур ответного вызова.
Текст файла 1?РТ Яппс 1 С.с приведен ниже. /* * Гз1ез ОРТ Я Гип 1 С.с * --- ТНХБ ГХЬЕ ОЕИЕИАТЕО ВХ Я-ГОИСТХОИ ВОХЬОЕН: 2.0 * ТЬйв Е11е Хз ап Б-йипсЫоп ртодисед Ьу сЬе Б-Гипсг1оп * Ви11дег ьь1сЬ оп1у гесодпйхев сетсайп Ейе1дв. Снапдев и ваде оитв?де гневе Ейездв и111 Ье Хозе Гне пехт Гйве сне * Ыосх йв изей то 1оад, едйс, апд тезаче сййв Ше. ТЬзв * Р11е зз111 Ье очегзггйгееп Ьу тпе я-Еипссйоп Виз1дег Ыосн.
е 11 уои ыапт то едйс тЫз Ше Ьу Ьапд, уои зпивт спапде йт * оп1у 1п СЬе агеа де?йпей ав: * Ьйв-БГОЗЗМХЕ де№1пев СЬапдев ВЕОХИ №де11пе МАМЕ 'гер1асезпепг Сект' * Вьч БГОММХЕ де№йпев СЬапдез ЕИО * * ОО иот сьапде илие--сьапде тье 'гер1асезпепг техт' оп1у. * Гог Ьеттег созпрасХЬ111гу ы?тЬ тпе Неа1-Т?зпе Могхвпор, Гпе "ыгаррег" Я-Хипсгйоп Сеснпзсрзе ьв изей. ТЫв зв дйвсиввед йп тье Ееа1-Тззпе Иогхвпор Овес'в Мапиа1 зп спе * СЬартег Гйт1ед, "Мгаррег Б-йипст1опв". * е ~ яее пзас1аЬгоот/в?пзи1зпх/вгс/вгиптлр1 дос.с гог а азоте * ~ дета11ед Севр1ате ! Ф " Сгеатедз Бип Юип 29 13з03з29 2003 №дебйпе Я ГОИСТ1ОИ МАМЕ ОРТ Б Гип 1 С №де11пе Б ГОИСТ10И ЬЕЧЕЬ 2 /*«««««с««««««««««<«««««««««««<*/ /* ФВЪ-БГОММХЕ де11пев СЬапдев ВЕОХМ вЂ” - ЕОХТ ВЕНЕ ТО ЕМР */ №де?№пе ?лзм 1иизтя 2 /* Хприт Ротс 0 */ №деЕ1пе 1М РОЕТ 0 БАМЕ иО №дегйпе 1ИРОТ 0 ИПЗТН 1 №дедйпе ХИРОТ 01МЯ 0 СОХ 1 №дегйпе ХИРОТ 0 ЬТХРЕ геа1 Т №дегзпе ХИИЗТ 0 СОМРЬЕХ СОМРЬЕХ ИО №деййпе 1И 0 ГРАНЕ ВАЯЕР РНАМЕ ИО №деййпе ХИ О Гз1МБ 1-0 №де№1пе 1ИРОТ 0 ГЕЕОТННОООН 1 М.
В. Черных. 5[МШ[МК: среда еезллннл нижеиерныл ирнловеиий 6, Б нлцли н ил применение №беЕзле №беНпе №беНпе №беЕ|пе №беЕзле №с)еНпе ОБТРПТ О М1ПТН ООТРОТ 01М5 О СО| ОБТРБТ О ПТУРЕ ОСТРОТ О СОМР! ЕХ ОПТ О РВАМЕ ВАВЕП ОПТ О 0|М5 1 1 геа1 Т СОВР|.ЕХ МО РВАМЕ МО 1-0 /* Оиерис РокЕ 1 / №беЕ|пе ООТ РОЕТ 1 МАМЕ №беЕЕпе ОПТРОТ 1 М10ТН №деНпе ОПТРОТ 01М5 1 СОЬ №беЕ1пе ООТРОТ 1 ПТХРЕ №беЕ|пе ОПТРПТ 1 СОМР|.ЕХ №беЕ1пе ООТ 1 РНАМЕ ВАВЕП №беНпе ОПТ 1 0|М5 у1 1 1 геа1 Т СОМРЬЕХ МО РНАМЕ МО 1-П Ь геа1 Т СОМР| ЕХ МО Н геа1 Т СОМРЬЕХ МО ~Т геа1 Т СОМРГЕХ МО Са геа1 Т СОМР|.ЕХ Мо См геа1 Т СОМРЬЕХ МО Рз.
геа1 Т СОМРЬЕХ МО №беЕ|пе 5АМРЬЕ Т|МЕ О №деНпе МОМ 015С 5ТАТЕ5 №деНпе 0|5С ЯТАТЕ5 |С [О] 4йз №беЕ»ле МРАНАМ5 /* Рагавесег 1 */ №беНпе РАВАМЕТЕВ О МАМЕ №деНпе РАНАМЕТЕВ О ПТХРЕ №беЕЕпе РАВАМЕТЕН О СОМРЬЕХ /* Рагавесег 2 */ №беЕ|пе РАНАМЕТЕВ 1 МАМЕ №беЕ|пе РАНАМЕТЕВ 1 ПТУРЕ №дЕИПе РАВАМЕТЕН 1 СОВР).ЕХ /* Рагатегег 3 */ №беНпе РАВАМЕТЕВ 2 МАМЕ №беИпе РАВАметеВ 2 птуРе №беЕ|пе РАРАМЕТЕН 2 СОМРЬЕХ /" Рагатесег 4 '/ №деНпе РАВАМЕТЕВ 3 МА][В №беНпе РАВАМЕТЕВ 3 ПТУРЕ №беЕ|пе РАВАМЕТЕВ 3 сОМРьеХ /* Рагавесег 5 */ №беЕЕпе РАНАМЕТЕВ 4 МАМЕ №беЕ|пе РАВАМЕТЕН 4 ПТЧРЕ №беНпе РАВАМЕТЕН„4 СОМРЬЕХ /* Рагаптеег 6 */ №беЕЕпе РАВАМЕТЕВ 5 ЖаВЕ №беЕ|пе РАВАМЕТЕВ 5 ПТУРЕ №деЕ|пе РАНАМЕТЕН 5 СОМР!.ЕХ №деЕЕпе'МОМ СОМТ 5ТАТЕ5 2 №беЕ|пе СОМТ 5ТАТЕ5 |С [О. О] №беИпе 5РОММ12 ОЕМЕВАТЕ ТЬС 1 №беЕЕпе 50ПВСБР1ЬЕ5 №деЕзпе РАМЕЬ|ВПЕХ 3 №деЕ|пе 5РПММ12 НЕЧ1510М 2.0 /* еле-5РОВМ12 беИпев Спапдев ЕНП --- ЕП|Т НЕВЕ ТО ВЕЗ|В */ /*«««««««««««««««««««««««««««< / №1пс1ибе "вЕввггис.Ь" №беЕ|пе РАНАМ.
ПЕРО($) ввоесдрспРагав(5, О) №деЕЕпе РАНАМ ПЕР!(5) ввоесдрспрагат(5, 1) №деЕзпе РАНАМ ПЕР2(5) ввоеГВРспрагат[5. 2) №беЕЕпе РАНАМ ПЕРЗ(5) ввоесвуспРагав(5, 3» №деНпе РАНАМ ПЕР4[5) ввйесврспРагав(5, 4) №беНпе РАНАМ ПЕР5[5» ввдесврспрагаа(5, 5) №беИпе 15 РАНАМ ПООВЬЕ(рЧа1) (тх|вМипюг1с(рЧа1» йй !пк|вьод1са1(рча1) йй'с)пзх|веаргу(рча1) йй )вх1вврагве(РЧа1) йй )пос1вСсплр1ех(руа1» йй вх1вооиЫе(рЧа1» ) №беЕЕпе |5 РАНАМ ПОПВЬЕ[рЧа1) (вх|вМсплег1с(РЧа1) йй !вх|вьод|са1(рча1) йй1 ~тх1ветргу[рча1» йй [пзх1вдрагве(руа1) йй стх1вСовр1ех(РЧа1) йй пк|впоиЫе(рча1») №беИпе 15 РАНАМ ПОПВЬЕ(рЧа1) (вх1внивегзс(рЧа1) йй !ах|в[.од|са1(рча1) ййс[вх|веаргу[рча1) йй »вх|вврагве(рча1] йй !пк|вСовр1ех(рЧа1) йй пк|вооиЬ1е(руа1) ) №деЕ|пе 15 РАНАМ ПОПВЬЕ(руа1) [вх1вышпег|с(РЧа1) йй ! вх|в|одйса1 (рча1) йй1! злх1веаргу(рча1) ай ! вх|вдрагне (руа1) йй ! вх|всовр1ех (рЧа1) йй вх1вооиЫе(рЧа1)» №деЕ|пе 15 РАНАМ ПОПВЬЕ(РЧа1) (вх|вииаегзс(РЧа1) !пк|вьод|са|(рча|» ййс)тх|втпргу(рча1) йй !вх1вврагве(руа1) йй !вх|вСовр1ех[рЧа1) йй пк|вооиЬ1е(рЧа1) ) 6.
3-функции и их применение а1Т иО, ехеегп р юЫсЬО, р ХбсЬХ, р ыХдс]т2. р юйбсЬЗ, р ыйбеЬ4, р юЫСЬ5) з 1Т*иО, ехсегп р ыйбеЬО, р ыЫСЬ1, р юЫСЬ2, р ытдеЬЗ, р ыЫСЬ4, р ыЫСЬ5) з теа1 Т *иО, ехсегп р ыЫсЬО. р ы1беЬХ. р ы1бсЬ2. р ыХдсЬЗ, р ыЫЕЬ4. р юЫсЬ5) т * Я-ЕипсСХоп весподв * 425 И. В. Черных. 3! МИ.ПЧК: среда сознания инженерных цриложений вйеЕзпе 1Б РАБАН ОООВьЕ(РУа1) (вх1вИиветз.с(рЧа1) йй )вхХвьодхса1[рча1) йй~тазххвввреу(рча1) йй твх1вврагве(РЧа)) йй !вх1вСотпр1ех(рЧа1) йй вхХвроиЬ1е(рЧа1)) чо1б ОРТ Я Рип 1 С Оиерисв ыгаррег(сопит ге сопит геа1 Т "и1. геа1 Т *уО, геа1 Т *у1, сопит геа1 Т *хС, сопит геа1 Т *Ь, сопве шс Т сопвс теа1 т *Б, сопит Хпе т сопве геа1 Т "Ю, сипае Хпс т сопит геа1 Т Св, сопзс тпе Т сопит геа1 т *си, сопвс Хпс т сопит геа1 Т *РХ, сопвс Хпс Т чоЫ ПРТ Я Рип 1 С Орбасе ытаррег(сопзс теа сопвс геа1 Т *и1, сопвс геа1 Т *уО, сопит геа1 Т у1, сопвс геа1 т *ь, сопвс Хпе т сопит геа1 Т *К.