Mоделирование процессов и систем в Matlab (966709), страница 64
Текст из файла (страница 64)
Рис. 8.8. Окно настройки блока Егогл 'могктрасе Для определения процесса, который будет использоваться в Б-модели, в поле ввода Оаса (см. рис. 8.8) следует указать вектор, состоящий из двух имен — имени массива значений аргумента (моментов времени, в которые определен этот процесс) и имени массива значений процесса при указанных значениях аргумента, например: (Т.
О). В этом случае из массива Т рабочего пространства будут считаны все значения, которые будут играть в Б-модели роль значений модельного времени, а выходная величина блока при моделировании в моменты времени, соответствующие записанным в массиве Т, будет принимать значения, записанные в массиве О. Если прн этом реальные значения моментов времени при моделировании не совпадуг с теми, что записаны в массиве Т, произойдет линейная интерполяция значений массива О„соответствующих предшествующему и последующему значениям моментов времени в массиве Т. Для записи полученного процесса в рабочее пространство (см.
рис. 7.19) следует указать в поле ЧапаЫе паве имя, под которым процесс нужно сохранить в рабочелг пространстве системы МАТ).АВ. Соответствующие моменты модельного времени при этом не записываются. 358 Урюк 8 ° Взаимодействие МАТО(В с 5плийпк Существует и более простой способ выполнения вышеописанных операций — без использования указанных блоков. Чтобы подключить определенный в программе МАТЮКАВ процесс в 5-модель как входной, предусмотрен механизм включения портов входа и выхода. Для этого нужно сделать следующее. 1.
Вставить блок входного порта 1п в блок-схему Б-модели и подключить его к од- ному из блоков З-модели. 2. В окне 8-модели вызвать команду 5(п(п(ат(оп ь 5(пш(ат)оп Рагап(есегз ь )Уо(Ьрасе 1/О (Моделирование ь Параметры моделирования ь Входы/выходы рабочего пространства), чтобы открыть окно, показанное на рис. 8.9. 3. В области (.оа() алгол) т(о(Красе (Загрузить из рабочего пространства) установить флажок 1приь (Вход) и в поле справа ввести имя, состоящее из имени вектора значений аргумента и имени вектора значений входного сигнала при этих значениях аргумента. 4. Установить значение этих векторов в среде МАТ1.АВ, например, так: (О:0.1:1)': о " Ез(п(1), с05(1).
4есоз(г)1; 5. Запустить Б-модель на моделирование. Рис. 8.9. Установка входного процесса в 5-модель Чтобы вывести некоторые сигналы, формируемые в З-модели, в рабочее пространство МАТЮКАВ, нужно выполнить следующие действия. 1. В блок-схему Б-модели вставить блоки портов выхода Оиг и подсоединить к ним необходимые выходные величины других блоков. 2. В окне Б-модели вызвать команду 5)п)п(ат(оп ь 5(п)ц(ат(оп Рагап)етегз ь )А(ог((зрасе 1/О (Моделирование ь Параметры моделирования ь Входы/выходы рабочего пространства).
3. В области 5ате 1о и(ог((зраве (Сохранить в рабочем пространстве) открывшегося окна установить флажки Т(п)е (Время) и Ои1ри1 (Выход). 359 Объединение 5-моделей с программами МАТСАВ В этом случае значения модельного времени будут записываться в рабочее пространство в массив под именем Гонг, а соответствующие значения выходных процессов при этих значениях времени — в столбцы матрицы уоос (в первый столбец — гроцесс, который подан на первый выходной порт, Он11, а во второй столбец — процесс, поданный на второй порт, Оо12, и т.
д.). После установки флажка 1п16а1 вса1е (Начальные значения переменных состоянии) п области Соаб бого шогквраве (Загрузить из рабочего пространства) можно ввести в о-модель начальные значения переменных состояния системы. Установив флажок 51а1ев (Переменные состояния) в области 5аче 1о шогйвраве (Сохранить в рабочем пространстве), можно записать текущие значения переменных состои ния системы в рабочее пространство под именем хогг (или под другим именем, если его записать в поле справа от флажка 51а1ев (Переменные состояния)). Наконец, можно записать и конечные значения переменных состояния в вектор хР1 пЫ, если установить флажок Япа( агате (Конечное состояние). Здесь юог)е) — символьная с~рока, содержащая имя МП1.-файла, который включает запись соответствующей 5-модели; сзмеврэп — вектор, состоящий из двух элементов — значений начального и конечного моментов времени моделирования; оо11огш — вектор значений параметров интегрирования, который устанавливается процедурой в, мве1: орюопв - впвветв'Свовгтвок .Внвченив1,'Свойство2',значенив2...
З; Процелура в1ш возвращает следующие значения: с — массив выходных значений моментов времени; х —. массив (вектор) переменных состояния системы; у1-- первый столбец матрицы выходных переменных системы (которые подаются на выходные порты) и т. д. Измеггять параметры рсшателя и процесса интегрирования в МАТ1.АВ можно с помощью функции взв ве1„как это показано выше. Таким образом можно задать значения свойств решателя, которые привелены в табл. 8.2. Таблица В.2. Свойства решателя, устанавливаемые функцией в1швег Свойство Решатель Название решателя; значение (указывается между двумя апострофами) может быть одним из следующих: ойе45, оде23, оде1Ь, оде15в, обе23в— для инте~рирования с автоматически изменяемым шагом; оде5, оде4, одеЗ, одв2, оде1 — для инте~рирования с фиксированным шагом Относительная допустимая погрешность; значение может быть положительным скаляром; по умолчанию устанавливается 1е-3 '5о)хег' 'Ве1тог -' продолжение Ф Запуск процесса моделирования 5-модели из среды МАП.АВ Рассмотрим средства, которые позволяют запускать пропесс моделирования созданных 5-ьгоделсй из программы МАТ1.АВ.
5-модель запускается на выполнение„если в программе МАТ).АВ вызвать процедуру в1вг 1т.х.у1, у2 уп) — впчйюПИ.гпмеврвп,орг1опв.итб збо Урок 3 ° Взаимодействие МАТ1АВ с 5пппбпй Таблица В.2 (продолжение) Свойство Решатель Абсолютная допустимая погрешность; значение может быть положительным скаляром; по умолчанию устанавливается 1е-6 Фиксированный шаг (положительный скаляр) Максимальный порядок метода (применяется лишь для метода обе15); может быть одним из целых чисел 1, 2, 3, 4; по умолчанию равно 5 Максимальное количепво строк в выходнои векторе; неозрицательное целое; по умолчанию равно О Вектор начальных значений переменных состояния; по умолчанию он пустой Щ) Имя вектора, в который будет записываться конечное значение вектора сопояния модели; представляет собой сиивольную строку, по умолчанию она пуста (") Выходные переменные; по умолчанию имеет значение [тху); возможные варианты: тх,1у,ху,ьху; все они неявно указывают, какие именно выходные переиенные не будут выводиться Абзто( Т1хед5тер' 'МахОгдег' 'Махйошз' '1п(ба(5саге' Т1па(5татейаше' 'ОцтрцбуапаЫез' Стандартными аргументами Б-функции являются: О 1 -- текущее значение аргумента (времени); О х — текущее значение вектора переменных состояния; О ц — текущее значение вектора входных величин; О Пад — целочисленная переменная, отражающая форму представления результатов действия Б-функции; О <Параметры> — дополнительные идентификаторы, характеризующие значения некоторых параметров системы, используемых в Б-функции (наличие их не является обязательным), Создание Б-блоков с использованием программ МАТЮКАВ В системе МАТ1.АВ предусмспрен механизм преобразования некоторых процедур, написанных на языках высокого уровня, в блок Б-модели.
Он реализуется с помощью так называемых Б-функций. Ю-функция — это относительно самостоятельная программа, которая написана на языке МАТ1.АВ или С. Главное назначение Б-функции состоит в решеггни следующих задач; О создание новых блоков, которые дополняют библиотеку пакета Б!пш!!п)с; О описание моделируемой системы в виде системы математических уравнений; О включение ранее созданных программ на языке С или МАТ1 АВ в Б-модель. Программный код Б-функции имеет четкую структуру. Для случая, когда Б-функция создается на основе М-файла, эта структура приведена в файле 5(ц пТИРС.ш, который находится в папке ТОО).ВОХ151МО(1МК1В(.ОСК5. Заголовок Б-функции в общем случае может иметь следующий вид: Гппстзоп (зуз,хО.зтгдз) - <Иня 5-Функции> 1т.х.и.т1ао(.
кйараиетрн>)) Зб1 Объединение 5-моделей с программами НАТКАВ В результате вычислений, осуществляемых при работе З-функции, получают значение такие переменные: О яуя — системная переменная, содержимое которой зависит от значения, которое приобретает переменная Т1 ад; О х0 — вектор начальных значений переменных состояния; О яТг — символьная переменная состояния (обычно она пуста Ц); О Тя — матрица, которая содержит информацию о дискретах времени. Текст Б-функции состоит из текста самой Б-функции и текстов подпрограмм (внутренних), которые она вызывает. В табл.
8.3 приведены внутренние процедуры, З-функции. Таблица В.З. Внутренние процедуры 5-функции Процедура Описанме пнП1пйбайае5пея Устанавливает размеры переменных 5-функции и начальные значения переменных состояния Используется как процедура правых частей системы дифференциальных уравнений модели в форме Коши в случае, когда переменные состояния объявлены как непрерывные Используется как процедура обновления на следующем интервале дискрета времени значений переменных состояния, которые объявлены как дискретные Формирует вектор значений выходных переменных в блоке 5-функции Является вспомогательной функцией, которая используется для определения моиента времени, когда конкретная переменная состояния пересекает заданный уровень Являетгя функцией, которая завершает работу 5-функции глйОепчас!чея пн1йрдате глйОосритя глйбеСТ1шеОЬехауа!Н1С пмПТегпппате Некоторые из указанных процедур Б-функции могут не использоваться.