Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Использование взаимодействующих S-моделей

Во многих реальных задачах результаты, полученные в текущем сеансе моделирования, используются в качестве исходных данных в последующих сеансах либо во взаимодействующих S-моделях. С этой целью могут использоваться блоки From Workspace и From File, входящие в раздел Sources, а также блок In из раздела Signals & Systems. Все они выполняют автоматическую загрузку данных из рабочей области MATLAB в исполняемую S-модель.

С целью иллюстрации применения одного из них ‑ блока From Workspace ‑ несколько доработаем модель Choice.

Сначала дадим содержательную трактовку последующего развития событий в рассматриваемой ситуации. Предположим, что Посетитель посылает сообщение своему шефу не сразу, а через некоторое время, необходимое для скачивания на компьютер найденной информации. Соответственно, объем занятого дискового пространства при этом увеличивается на величину записанной порции данных. Для описания такой ситуации скорректируем параметры настройки блока Посетитель, отразив в таблице истинности возможный объем найденной информации: Truth table = [001; 021; 401; 401]. Кроме того, построим дополнительную S-модель, назначение которой будет состоять в выполнении следующих действий:

1. Загрузка из рабочей области результатов работы модели Choice.

2. Выбор узла, информация с которого будет записана на компьютер Посетителя.

3. Увеличение объема занятого дискового пространства на величину записанной порции данных.

4. Задержка сигнала, имитирующего сообщение, на заданный интервал времени.

Для реализации перечисленных действий создаваемая модель (назовем ее Send, от английского слова sending — пересылка) должна содержать следующие блоки:

• From Workspace из раздела Signals&Systems, выполняющий считывание данных из рабочей области;

• Demux из раздела Continuous, обеспечивающий разделение входного векторного сигнала на составляющие его компоненты;

• Switch из раздела Nonlinear и Relational Operator из раздела Math, позволяющие выбрать узел, с которого будет скачиваться информация;

• Sum из раздела Math, вычисляющий объем занятого дискового пространства;

• Transport Delay из раздела Continuous, обеспечивающий задержку сигнала, имитирующего сообщение на заданный интервал времени;

• Display из раздела Sinks, который позволит увидеть результат работы модели.

Чтобы построить модель Send, необходимо выполнить уже знакомую вам последовательность действий:

1. Открыть новое (пустое) окно блок-диаграммы untitled (либо выбрав пункты New\Model из меню File, либо нажав соответствующую кнопку панели инструментов).

2. Перетащить из библиотеки Simulink перечисленные выше блоки.

3. Соединить блоки в соответствии с логикой работы модели.

Блок-диаграмма модели должна выглядеть примерно так, как показано на рис. 3.24.

Если внешний вид модели вас удовлетворяет, сохраните ее в файле на диске, присвоив ему какое-либо осмысленное имя (например, предложенное автором — Send).

Теперь займемся внутренними параметрами блоков, включенных в состав модели. Начнем с блока From Workspace. Он должен считывать из рабочей области MATLAB значение выходного сигнала модели Choice, записанного туда с помощью блока Scope. Согласование формата общих данных — весьма тонкий и ответственный момент, поэтому остановимся на нем несколько подробнее.

 

 

Рис. 3.24. Блок-диаграмма модели, использующей данные из рабочей области MATLAB

 

Для работы модели Send в качестве исходных данных необходимо и достаточно иметь конечный результат работы модели Choice. Другими словами, упоминавшаяся ранее матрица Data должна содержать единственную строку, соответствующую значению выходного сигнала на момент окончания интервала моделирования. Напомним, что для этого параметр Limit rows to last блока Scope должен быть равен 1. Чтобы матрица Data стала доступна блоку From Workspace, необходимо указать ее имя в качестве параметра блока. Когда это будет выполнено, имя Data появится на пиктограмме блока.

Следующие два блока, для которых требуется настройка, и которые работают в данной модели совместно — это Switch и Relational Operator. Оператор отношения позволяет выяснить, на каком из узлов содержится больший объем информации, а блок Switch обеспечивает пересылку соответствующего сигнала на вход блока Sum. Используемая операция отношения выбирается из выпадающего списка в окне параметров настройки блока и отображается на его пиктограмме. В качестве порога срабатывания блока Switch (параметр Threshold) установлена 1. Это означает, что если объем информации на Caйт l больше, чем на Caйт 2, то на вход блока Sum поступает сигнал с первого информационного входа блока Switch; в противном случае пересылается сигнал со второго информационного входа, равный объему информации на Caйт 2. Чтобы пояснить, почему блок Sum в нашей модели выглядит не совсем так, как его библиотечный прототип, мы просто приведем окно настройки блока (рис. 3.25). Для определенности второе слагаемое блока равно 10 (не очень реалистичное предположение о том, что на жестком диске компьютера Посетителя было занято всего 10 Мбайт).

 

 

Рис. 3.25. Окно настройки блока Sum для модели Send

 

И, наконец, последний блок, который, вероятно, нуждается в пояснении — это блок Transport Delay. Этот блок задерживает сигнал, поступающий на его вход, на один шаг модельного времени. По истечении данного интервала на выход блока выдается значение, имитирующее сообщение шефу (третий элемент векторного сигнала, считанного из рабочей области).

Остальные блоки в настройке не нуждаются. Правда, пока не известна величина шага моделирования. Неизвестны также длительность интервала моделирования, способ изменения модельного времени и используемый метод расчета состояний модели Send. Можно, конечно, предположить, какие значения получат указанные параметры по умолчанию. Но в данном случае лучше проявить (и закрепить) полученные ранее знания и навыки и установить самим требуемые значения параметров моделирования.

Итак, открываем окно настройки параметров модели Send (в разделе Simulation выберите пункт Parameters...). На вкладке Solver устанавливаем:

• Stop time: 10;

• Type: Fixed step;

• Fixed step size: 1. Внеся соответствующие изменения, «нажмите» кнопку Apply (или OK).

Теперь можно приступать к моделированию. Запустите на исполнение сначала модель Choice, затем — Send. Сравните значения, выведенные в окнах блока Display модели Choice с «показаниями» блоков Display модели Send. Если они совпадают, вы все сделали правильно. Правда, задержку сообщения шефу визуально заметить практически невозможно. Чтобы убедиться в том, что блок Transport Delay справляется со своей задачей, дополним модель Send смотровым окном в виде блока Scope. Поместите его в поле блок-диаграммы и откройте окно Scope (двойной щелчок на пиктограмме блока). Поскольку хотелось бы сравнить моменты формирования сигналов на входах блоков Display и Display2, преобразуем библиотечный вариант блока в его двухвходовои аналог. Для этого на панели инструментов блока нажмите кнопку Properties и на вкладке General установите число графиков (Number of axes) равным 2. Нажмите OK и подключите входы блока Scope к выходу блока Sum (параллельно с блоком Display) и к выходу блока Transport Delay (параллельно с блоком Display2) как показано на рис. 3.26.

 

 

Рис. 3.26. Включение в блок-диаграмму блока Scope

 

Теперь запустите модель Send на исполнение. График, выведенный в окне Scope (рис. 3.27), подтверждает корректную работу модели.

 

 

Рис. 3.27. Временная диаграмма работы модели Send

 

Обобщая рассмотренную технологию, сформулируем общую схему разработки моделей в среде Simulink.

1. Описать на содержательном уровне логику поведения исследуемой системы.

2. Определить перечень блоков, соответствующих основным компонентам системы, а также дополнительных блоков, необходимых для расчета выбранного показателя эффективности.

3. Поместить в окно блок-диаграммы требуемые блоки и соединить их между собой в соответствии с логикой работы модели.

4. Выполнить настройку и согласование параметров блоков.

5. Установить требуемые значения параметров моделирования для модели в целом.

6. Дополнить (обязательно!) блок-диаграмму модели необходимыми текстовыми комментариями.

7. Сохранить блок-диаграмму модели в файле на диске (до первого запуска модели на исполнение).

8. Выполнить сеанс моделирования.

 

По окончании последнего шага может оказаться, что вы чего-то не учли или сделали не совсем то, что хотели (или совсем не то). В связи с этим уместно еще раз напомнить, что моделирование — процесс творческий. Чтобы разработанная модель удовлетворяла предъявляемым к ней требованиям как по формальным, так и по субъективным критериям, может оказаться необходимым неоднократное повторное выполнение одного или даже нескольких шагов приведенной выше схемы.

КОНТРОЛЬНЫЕ ВОПРОСЫ

1. Перечислите способы включения в модель блоков элементов, соответствующих объектам рассматриваемой задачи.

2. Каким образом можно в модели объединить два сигнала в один?

3. Какими способами задается логика поведения объектов в модели, и какие средства позволяют увидеть результаты моделирования?

4. В каком разделе меню окна блок-диаграммы содержится команда, позволяющая устанавливать параметры моделирования?

5. Содержание «метки сигнала» и способы её создания.

6. Перечислите блоки, с помощью которых можно сохранить результаты моделирования.

7. Способы сохранения параметров начального и конечного состояния модели.

8. Способы использования накопленных результатов моделирования.

9. Нарисуйте блок-схему алгоритма разработки моделей в среде Simulink




Дата добавления: 2015-09-12; просмотров: 13 | Поможем написать вашу работу | Нарушение авторских прав

Меню View | Установка параметров расчета модели | Установка параметров обмена с рабочей областью | МЕНЮ FORMAT | Включение в S-модель блоков | Описание логики функционирования элементов | Проверка работоспособности модели | Установка значений параметров модели | Редактирование блок-схемы диаграммы | Сохранение результатов моделирования |


lektsii.net - Лекции.Нет - 2014-2024 год. (0.011 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав