Черных И.В. Simulink Среда для создания инженерных приложений (2003) (1152002), страница 44
Текст из файла (страница 44)
— индуктивность якорной цепи, ./- суммарный момент инерции якоря н нагрузки, С вЂ” коэффициент связи между скоростью и ЭДС, См — коэффициент связи между током якоря и Рис. 48 электромагнитным моментом. Входными воздействиями здесь являются напряжение якоря и и момент сопротивления движению Мс, выходными переменными — электромагнитный момент двигателя М и скорость вращения вала двигатела о>, а переменными состояния — ток якоря 1 и скорость вращения вала двигателя ю. Ос- .7) 4 тальные переменные, входящие в состав уравнений (6.1)-(6.4), являются параметрами, численные значения которых необходимо будет задавать прн проведении расчетов. Приведем дифференциальные уравнения (6.1) н (6.2) к явной форме Коши и выполним полстановку.
Система уравнений примет вид: Последнее уравнение есть отражение того факта, что переменнал состояния ю является также и выходной переменной. Введем "машинные" переменные. Входные переменные: (-ьхо, О)-+х1. С учетом "машинных" переменных уравнения (6.5)-(6.8) примут вид: Перепишем систему уравнений в матричной форме: И. В. Черных. ЯМАЛ.ПЧК: среда создания инженерных приложений где ! — О ! О .( С Ф В О )( б См Ф С .Ф О О(метим, что в получившейся системе уравнений входные переменные не участвуют в формировании выходных переменных (матрица прямой передачи () отсутствует) и, следовательно, параметр я(гея.ПнРее(й))гопй)ь определяемый при инициализации Б-функции„должен быть задан равным нулю.
Пример Б-функции дли ДПТНВ Для создания Б-функции модели ДПТНВ за основу взят файл примера;; модели непрерывной системы сяй(пслп. Принципиальные отличия нового ',. файла от образца сводятся к следующему: !. Для расчета матриц А, В и С используются параметры, передаваемые ' в Б-функцию через окно диалога блока Б-(нпспоп. Эти параметры ", (!., К, 1, Ст, С(ч, Р)) записываются в конце списка аргументов в заголовке Б- ':. функции: йипссйоп [ауа,хо,аст,са) = дрс айипс 1(с,х,и,пао,ь,н, т,се,сн.г1) 2.
Для исключения повторяющихся вычислений расчет матриц А, В и С " выполняется с помощью процедуры т(П(п[пайгеБ(геа. Для этого параметры ':. блока передаются в процедуру ш(П)п)([айгеБ[гея через ее заголовок: (яуз,хО, зйт, Сз) = щд11пйййа11зелйхев (Ь, Н, О, Сю, Си, Р1) Поскольку инициализация модели происходит лишь один раз, то и рас- ' чет матриц А, В и С будет выполнен также один раз, что значительно повыэ ( сит скорость моделирования. т 3. Передача рассчитанных в процедуре щ(П)щпа)(геБ(тех матриц выполз няется с помощью глобальных переменных. Для этого в теле Б-функциий:„' процедуре пхй)п)ба! йгеБ)геь (где выполняется расчет этих матриц), а также ',' в процедурах ш(П()епча((уса И ПИПОц(рп(я (где эти матрицы используются ': для расчетов) должны быть предусмотрены объявления вида: Ж 01о)за1 А В С 4.
Поскольку в уравнениях модели матрица прямой передачи ь) отсутст й:": вует (входные переменные не участвуют в формировании выходных пере-:.' менных), то параметр я)гекР(гасе()йпоця)) в процедуре щ(П(паайгеБ[гех за- ': дан равным нулю. 6. Я-функции н нх применение Ъ Объявление глобальных перемени „ Ъ В зависимости от значения переменной й1ад Ъ происходит обращение к той нли иной Ъ процедуре ответного вызова: зийесп й1ао % Инициализация Ъ а- — — — ----==== саве О, (вув,хо,вст,св)=щд11пйвха11зевйгев(ь,й,д,сщ,сы,йй) $ Вычисление пр оизволных % саве 1, вуз=пк)1Пекйчас1чев(е,х,ц!й а Ниже приведен текст Б-функции ()р( а(нпс !. йипсейоп (ауа,хо,асг,са) = дрс аеипс 1(с,х,и,(1ао,ь,н,д,сю,сн.г() $ ОРТ Яйт)НС 1 пример Я-функции для моделирования двигателя % постоянного тока независимого возбуждения.
% Ъ В примере выполняется моделирование следую(аих уравнений: % х' = Ах + Вц а у =Схч Пц а % сорут1пнс 2002. с)(етпу)е)т Хьуа а Вйечйвйоп: 1.8 Ъ Автор: Черных И. В. а Ъ Параметры 3-Функции, передаваемые через окно диалога блока $ 3-йцпсййоп: а Ъ Ь вЂ” индуктивность цепи якоря. % И вЂ” активное сопротивление цепи якоря. % Ю вЂ” момент инерции. Ъ Си — коэффициент связи между моментом и током.
% Сы — коэффициент связи между потоком и скоростью вращения а вала. а Рх — поток, создаваемый обмоткой возбуждения. а 01о)за1 А В С) РЬ В. Чсрных. Я<М() !]ЧК: среда создания инженерных прняоткеннй б. Б-функции н нх лрнмснсннс Ъ Вычисление вектора выходных сигналов саве 3, вув=щс)1Оигрипв(б,х.и) Ъ Ъ вЂ” —— 1ад Ъ Неиспользуемые значения переменной Е ( 2, 4, 9 ), [) т саве вув Ъ Неизвестное значение переменной й1ад оСНегы1ве еггог( ['ОпНапт)1ес) Р1ад = ',пшп2вгг(Р1ад) ] ) т выев = випвыевт Ъ в1гев.дшпСопСЯГапев = 2т Ъ Число непрерывных переменных состояния. Ъ В данном случае этот параметр равен 2 Ъ (ток якоря и скорость вращения вала).
Ъ в1хев.Ншп01всвгагев = От Ъ Число дискретных переменных состояния. Ъ В данном случае этот параметр равен О, Ъ поскольку модель непрерывная. Ъ в1хев.ншпбисрисв = 2т Ъ Число выходных переменных. Ъ В данном случае этот параметр равен 2 Ъ <скорость вращения и момент на валу). Ъ Ъ епс) Ъ Конец функции с)рс вйипс 1 Ъ Ъ вЂ” — — — — — — — — — — — — — —-- == — — ============в== ------------ — — — — — — — — — - — — =Ъ Ъ щ611п1с(а1ыеяыев Ъ Ъ Функция инициализации Ъ Ъ Расчет начальных условий, тактов дискретности, Ъ Ъ размеров векторов сигналов, массива тактов и задержек Ъ Ъ----- -- — --- --- -- ==и--- в — — — ===Ъ Ъ Йипсс1оп [вув, хб, всг, ъв) =щс)11п1с(а11хеяыев <ь, н,д.
сщ, си, Р1! Ъ Ъ <<ассив, задающий такт Ъ дискретности и задержки Ъ ъ далее в тело процедуры щс)11п1с1а11гея1хев добавлены Ъ операторы вычисления матриц А. В и С Ъ д1о)та1 А В С; Ъ Объявление глобальных переменных, необходимых для расчетов внутри процедур щ610ег1чаг1чев и щт)10иприпв. Ъ Ъ Расчет матриц А Ъ А = [-Н/1 -СЗ» Стп*рз. И В и Ст *Р1/Ь О ]т В = [1/Ь О О -1/Т] Ъ С = [Сщ*рт. О О 1]т Ъ Ъ Конец процедуры щс)11п(с1а1(хеяыев аваев.Ишп1пригв = 2т Ъ Число входных переменных.
Ъ В данном случае этот параметр равен 2 Ъ <напряжение на обмотке якоря и момент сопротивления) . Ъ в1хев.В1грееЖ)тгоид)т = От Ъ Прямая передача сигнала. Ъ Значение параметра равно нулю, поскольку мачрица 0 Ъ отсутствует (входные переменные не участвуют Ъ в формировании выходных переменных). Ъ выев.Ыищвавр1еТ1щев = 1т Ъ Размерность вектора тактов дискретности.
Ъ вув = выпвыев<в1хев) т Ъ хО = пегов(2,1)т Ъ Задание вектора начальных значений переменных состояния. Ъ Начальные условия нулевые. Ъ вгг = [)т Ъ Зарезервированный параметр Ъ св = [О О)т б, Б-функции н нх применение вув = Л*х + В*и; вув Опх; 8 8 Конец процедуры пИ1Оиприев Рис. 6.10 6.6. ИС Я-г)зпетзоп Взз)Ыег И. В. Черных. В)М<Л.!<ЧК.' среда саэданна инженерных приложений 8 вд1пег1чае1чев 8 Вычисление производных вектора состояния 8 непрерывной части системы 8 типсслоп вув=пИ1рег1часучев<с,х,и) 8 О1оЬа1 Л Ва 8 Объявление глобальных переменных. 8 Конец процедуры нб1регачасачев 8 мб1Оиприев 8 Вычисление вектора выходных сигналов 8 сипскйоп вув=пИ10исрисв<с,х,и) 8 д1оЬа1 О< 8 Объявление глобальной переменной. Пример< Нв рис.
6.9 показаны модели двигателя постоянного тока на базе 3-функции и с испольюванием стандартных блоков. Результаты расчета лля обеих моделей идентичны, Окно диалога блока Я-бзпс<)оп для рассматриваемого примера изображено на рис. 6.10. Параметры Б-функции заданы с помощью перел<енных, значения которых (в единицах СИ) заданы в рабочей области МАТЮКАВ: ).м 0001;В=О.)<ум Ю;С = Ю;Сжм в< Чегго;Р)=1; ТпаЬг = 0.2; МпаЬг = 2500. Рис.
б.р ~нмйж<яайаа, ва':к~ а!,)ааам',:,и<с В,.а,',"-.'" ' аае, ве ~ )яч),иаьпяоваакаан<а<аибейнава)запала<ааящб я: ) <п4йебазнпааэ амгазаьвк: ~таагапевав<иаье: Инструментальные возможности системы Яти11п)< предоставляют польювателю два способа создания б-функций на языке С: с иомоп<ью графического интерфейса Б-Гипс<1оп Вш1дег н вручную с применением шаблона 6.
К-функция н нх применение г(хю — =н(ою хо+нос хс+В .и,, сй (б.!5) сзх — '=А .х +В„.н,, г (6.16) (6.17) Уо = Соо хо (6.18) у,=С,, х, В.голсяол Внлдас Рис. б.сс Рнс. б.с2 И. В. Черных. ЯМ1Л 1!ЧК: среда создания инженерных прнлонкеннй (шюалогнчно созданию Б-функции на языке МА'П.АВ). Второй способ более уннверсюсен, первый менее трудоемок. Рассмотрим применение ИС Б-Гппс6оп ВшЫег, который позволяет легко и быстро создать нужную Б-функцию в виде исполняемого 411-файла. з7рнхсерз Создание Б-функцнн рассмотрим на примере ДПТНВ.
Его математическое описание представлено в предыдущем разделе. Поскольку в стандарте языка С отсутствуют матричные операции, то уравнения (6.9) - (6. 12) перепишем в скалярной форме: ИС Б-Гнпс6оп ВшЫег оформлено в виде обычного Б!шнйпк — блока, размещенного в библиотеке ГппсйопзсйТаЫез (Функции н таблицы). Пиктограмма блока показана на рис. 6.1 !. Двойной щелчок на пиктограмме блока открывает окно ИС Б-Гнпсйоп ВшЫег (рис. 6.12), которое содержит панель параметров (Рагатегегз) с окнами редактирования для ввода имени Б-функции (Б-гипс!!оп пате) и значений параметров Б-функции (Б-(нпсйоп рмзшегегз). Здесь же находится кнопка ВшЫ, которая предназначена для запуска процесса компиляции Б-функции.
В нижней части окна Б-Гппсйоп Вн!!бег находятся кнопки Не!р (Вызов справки) н Сапсе! (Закрыть окно). Среднюю часть окна занимают 7 вкладок, предназначенных для задания свойств Б-функцпн н фрагментов ее кода: 1. 1и!гса(!Хаг!оп — инициализация. 2. Ра!а Ргорегйез — свойства данных. 3. ИЬгвпеа — библиотеки.
4. ОнЗрн!з — выходы. 5. Сопбпнопз 1)еггка6оез — производные непрерывных переменных. 6. Шясгеге (зрю(аге — обновление дискретных переменных. 7. Впйд 1п(о — информация о компоновке. йыпьжносвс ' ' !сю и снп с с ' а ыхоом«сын«' Нане оао с оо«нао« . з,оаь нна«юас з. нмыее ° . осясмю ю.с«а«н«юоан«неа , оеняяан 'т тмо(сЫ(«оянасееюйоо«нанна щ с оп«сонма ыю«пнин«н.
««Чае «вм . эн наакнпнссоеснмн«,ннс«ас«ожн««с«с«ю'.тюе Юн«наес«яМнон саоанащао с ьоаймнозм.монахе мд о«ело«о ~.те"см в«ннов«е«гос«ю« ! оааюнссаахтцетсосн аоа «он«вою«не «с сюпой«а*юнаса:тна ооюю й«я не юноа ! леан«па«сдан«не«снеж о атссоесеюенюм«ннмсосаелнюонот«саа !Гоо«тоемвчн '-- й«нюйнвю«йов«юс )о ',: ., йенюннноонеосе с .инсан нахесон ' ' 1о, '„' мноо«ыю сйзожоююЗю к; ' Гю,о Инициализация На вкладке 1прйайха6оп (Инициализация) задаются следующие свойства Б-функции: И.
В. Черных. Б!МЛ ПЧК: среда создания июяенериых приложений ЫипзЬег о(йясгезе агагщ: [число дискретных переменных]. Ркюгеге Магеа 1С: [начальные значения дискретных переменных]. Значения вводятся через запятую. )ЧшпЬег ог сопгзппопа Яга!еа; [число непрерывных переменных]. Соппппопь магеь 1С: [начальные значения непрерывных переменных]. Значения вводятся через запятую. ЫшпЬег о( рагатегегя: [количество параметров].
В графе отображается число параметров блока, заданных на вкладке Раса Ргорегбез. Бапзр1е щоде: [режим модельного времени). Может принимать значения нз списка: ° !пЬепгед — наследуемый; ° Сонг)пиона — непрерывный; ° Р1 ас геге — дискретный. Р(зсгеге аапзр! е гппе еа1ие: [значение такта дискретности]. Параметр доступен для ввода, если режим модельного времени дискретный.