MATLAB.Exponenta
–Û·Ë͇ Matlab&Toolboxes

Simulink

И.В.Черных. "Simulink: Инструмент моделирования динамических систем"

  В оглавление книги \ К следующему разделу \ К предыдущему разделу

9. Библиотека блоков Simulink

9.2. Sinks - приемники сигналов

9.2.1.  Осциллограф Scope

Назначение:

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

Изображение блока и окно для просмотра графиков показаны на рис. 9.2.1.

Рис. 9.2.1. Осциллограф Scope

Для того, чтобы открыть окно просмотра сигналов необходимо выполнить двойной щелчок левой клавишей “мыши” на изображении блока. Это можно сделать на любом этапе расчета (как до начала расчета, так и после него, а также во время расчета). В том случае, если на вход блока поступает векторный сигнал, то кривая для каждого элемента вектора строится отдельным цветом.

Настройка окна осциллографа выполняется с помощью панелей инструментов (рис.9.2.2).

Рис. 9.2.2. Панель инструментов блока Scope

Панель инструментов содержит 11 кнопок:

    1. Print – печать содержимого окна осциллографа.
    2. Parameters – доступ к окну настройки параметров.
    3. Zoom – увеличение масштаба по обеим осям.
    4. Zoom X-axis – увеличение масштаба по горизонтальной оси.
    5. Zoom Y-axis – увеличение масштаба по вертикальной оси.
    6. Autoscale – автоматическая установка масштабов по обеим осям.
    7. Save current axes settings – сохранение текущих настроек окна.
    8. Restore saved axes settings – установка ранее сохраненных настроек окна.
    9. Floating scope – перевод осциллографа в “свободный” режим.
    10. Lock/Unlock axes selection – закрепить/разорвать связь между текущей координатной системой окна и отображаемым сигналом. Инструмент доступен, если включен режим Floating scope.
    11. Signal selection – выбор сигналов для отображения. Инструмент доступен, если включен режим Floating scope.

Изменение масштабов отображаемых графиков можно выполнять несколькими способами:

1. Нажать соответствующую кнопку (, или ) и щелкнуть один раз левой клавишей “мыши” в нужном месте графика. Произойдет 2,5 кратное увеличение масштаба.

2. Нажать соответствующую кнопку (, или ) и, нажав левую клавишу “мыши”, с помощью динамической рамки или отрезка указать область графика для увеличенного изображения. Рис. 9.2.3 поясняет этот процесс.

Рис. 9.2.3. Увеличение масштаба графика.

3. Щелкнуть правой клавишей “мыши” в окне графиков и, выбрать команду Axes properties… в контекстном меню. Откроется окно свойств графика, в котором с помощью параметров Y-min и Y-max можно указать предельные значения вертикальной оси. В этом же окне можно указать заголовок графика (Title), заменив выражение %<SignalLabel> в строке ввода. Окно свойств показано на рис. 9.2.4.

Рис. 9.2.4. Окно свойств графика.

Параметры:

Параметры блока устанавливаются в окне ‘Scope’ parameters, которое открывается с помощью инструмента (Parameters) панели инструментов. Окно параметров имеет две вкладки:

General – общие параметры.

Data history – параметры сохранения сигналов в рабочей области MATLAB.

Вкладка общих параметров показана на рис. рис. 9.2.5.

Рис. 9.2.5. Вкладка общих параметров General.

На вкладке General задаются следующие параметры:

1. Number of axes — число входов (систем координат) осциллографа. При изменении этого параметра на изображении блока появляются дополнительные входные порты.

2. Time range — величина временного интервала для которого отображаются графики. Если время расчета модели превышает заданное параметром Time range, то вывод графика производится порциями, при этом интервал отображения каждой порции графика равен заданному значению Time range.

3. Tick labels — вывод/скрытие осей и меток осей. Может принимать три значения (выбираются из списка):

    • all – подписи для всех осей,
    • none – отсутствие всех осей и подписей к ним,
    • bottom axis only – подписи горизонтальной оси только для нижнего графика.

4. Sampling — установка параметров вывода графиков в окне. Задает режим вывода расчетных точек на экран. При выборе Decimation кратность вывода устанавливается числом, задающим шаг выводимых расчетных точек. На рис. 9.2.6 и 9.2.7. показаны графики синусоидальных сигналов рассчитанных с фиксированным шагом 0.1 с. На рис. 9.2.6 в окне блока Scope выводится каждая расчетная точка (параметр Decimation равен 1). На рис. 9.2.7 показан вывод каждого второго значения (параметр Decimation равен 2). Маркерами на графиках отмечены расчетные точки.

Рис. 9.2.6. Отображение синусоидального сигнала (Decimation = 1).

Рис. 9.2.7. Отображение синусоидального сигнала (Decimation = 2).

В том случае, если режим вывода расчетных точек задается как Sample time, то его числовое значение определяет интервал квантования при отображении сигнала. На рис. 9.2.8 показан график синусоидального сигнала, для случая, когда значение параметра Sample time равно 0.1 .

Рис. 9.2.8. Отображение синусоидального сигнала (Sample time = 0.1).

5. floating scope – перевод осциллографа в “свободный” режим (при установленном флажке).

На вкладке Data history (рис. 9.2.9)задаются следующие параметры:

1. Limit data points to last – максимальное количество отображаемых расчетных точек графика. При превышении этого числа начальная часть графика обрезается. В том случае, если флажок параметра Limit data points to last не установлен, то Simulink автоматически увеличит значение этого параметра для отображения всех расчетных точек.

2. Save data to workspace – сохранение значений сигналов в рабочей области MATLAB.

3. Variable name – имя переменной для сохранения сигналов в рабочей области MATLAB.

4. Format – формат данных при сохранении в рабочей области MATLAB. Может принимать значения:

  • Array – массив,
  • Structure – структура,
  • Structure with time – структура с дополнительным полем “время”.

Рис. 9.2.9. Вкладка Data history.

[Скачать пример]

9.2.2. Осциллограф Floating Scope

Осциллограф Floating Scope, по сути, есть обычный осциллограф Scope, переведенный в “свободный” режим. Пример модели с осциллографом Floating Scope показан на рис. 9.2.10.

Рис. 9.2.10. Пример модели с осциллографом Floating Scope.

В этом режиме блок осциллографа не имеет входов, а выбор отображаемого сигнала осуществляется с помощью инструмента (Signal selection) панели инструментов. Для выбора сигналов необходимо выполнить следующие действия:

1. Выделить систему координат, в которой будет отображаться график. Это достигается с помощью одиночного щелчка левой клавишей “мыши” внутри нужной системы. Выбранная система координат будет подсвечена по периметру синим цветом.

2. С помощью инструмента открыть окно диалога Signal Selector (рис. 9.2.11).

3. Отметить флажком имена блоков, сигналы с выхода которых требуется исследовать.

После выполнения расчета в окне блока Floating Scope будут отображены выбранные сигналы.

Рис. 9.2.11. Окно диалога Signal Selector

[Скачать пример]

9.2.3. Графопостроитель ХУ Graph

Назначение:

Строит график одного сигнала в функции другого (график вида Y(X)).

Параметры:

x-min – Минимальное значение сигнала по оси X.

x-max – Максимальное значение сигнала по оси X

y-min – Минимальное значение сигнала по оси Y.

y-max – Максимальное значение сигнала по оси Y

Sample time – шаг модельного времени.

Блок имеет два входа. Верхний вход предназначен для подачи сигнала, который является аргументом (X), нижний – для подачи значений функции (Y).

На рис.9.2.12, в качестве примера использования графопостроителя, показано построение фазовой траектории колебательного звена.

Рис. 9.2.12. Пример использования графопостроителя ХУ Graph.

[Скачать пример]

Графопостроитель можно использовать и для построения временных зависимостей. Для этого на первый вход следует подать временной сигнал с выхода блока Clock. Пример такого использования графопостроителя показан на рис. 9.2.13.

Рис. 9.2.13. Пример использования блока ХУ Graph для отображения временных зависимостей.

[Скачать пример]

9.2.4. Цифровой дисплей Display

Назначение:

Отображает значение сигнала в виде числа.

Параметры:

  • Format – формат отображения данных. Параметр Format может принимать следующие значения:
    1. short – 5 значащих десятичных цифр.
    2. long – 15 значащих десятичных цифр.
    3. short_e –5 значащих десятичных цифр и 3 символа степени десяти.
    4. long_e – 15 значащих десятичных цифр и 3 символа степени десяти.
    5. bank – "денежный" формат. Формат с фиксированной точкой и двумя десятичными цифрами в дробной части числа.
  • Decimation – кратность отображения входного сигнала. При Decimation = 1 отображается каждое значение входного сигнала, при Decimation = 2 отображается каждое второе значение, при Decimation = 3 – каждое третье значение и т.д.
  • Sample time – шаг модельного времени. Определяет дискретность отображения данных.
  • Floating display (флажок)– перевод блока в “свободный” режим. В данном режиме входной порт блока отсутствует, а выбор сигнала для отображения выполняется щелчком левой клавиши “мыши” на соответствующей лини связи. В этом режиме для параметра расчета Signal storage reuse должно быть установлено значение off (вкладка Advanced в окне диалога Simulation parameters…).

На рис. 2.9.14 показано применение блока Display с использованием различных вариантов параметра Format.

Рис. 9.2.14. Применение блока Display с использованием различных вариантов параметра Format.

[Скачать пример]

Блок Display может использоваться для отображения не только скалярных сигналов, но также векторных, матричных и комплексных. Рис. 2.9.15 иллюстрирует это. Если все отображаемые значения не могут поместиться в окне блока, в правом нижнем углу блока появляется символ , указывающий на необходимость увеличить размеры блока (см. блок Display4 на рис. 2.9.15).

Рис. 9.2.15 Применение блока Display для отображения векторных, матричных и комплексных сигналов.

[Скачать пример]

9.2.5. Блок остановки моделирования Stop Simulation

Назначение:

Обеспечивает завершение расчета, если входной сигнал блока становится не равным нулю.

Параметры:

Нет.

При подаче на вход блока ненулевого сигнала Simulink выполняет текущий шаг расчета, а затем останавливает моделирование. Если на вход блока подан векторный сигнал, то для остановки расчета достаточно, чтобы один элемент вектора стал ненулевым. На рис. 2.9.16 показан пример использования данного блока. В примере остановка расчета происходит, если выходной сигнал блока Transfer Function становится большим или равным 0.99.

Рис. 9.2.16. Применение блока Stop Simulation

[Скачать пример]

9.2.6. Блок сохранения данных в файле То File

Назначение:

Блок записывает данные, поступающие на его вход, в файл.

Параметры:

  • Filename – имя файла для записи. По умолчанию файл имеет имя untitled.mat. Если не указан полный путь файла, то файл сохраняется в текущей рабочей папке.
  • Variable name – имя переменной, содержащей записываемые данные.
  • Decimation – кратность записи в файл входного сигнала. При Decimation = 1 записывается каждое значение входного сигнала, при Decimation = 2 записывается каждое второе значение, при Decimation = 3 – каждое третье значение и т.д.
  • Sample time – шаг модельного времени. Определяет дискретность записи данных.

Данные в файле сохраняются в виде матрицы:

.

Значения времени записываются в первой строке матрицы, а в остальных строках будут находиться значения сигналов, соответствующих данным моментам времени.

Файл данных (mat-файл), в который записываются данные, не является текстовым. Структура файла подробно описана в справочной системе MATLAB. Пользователям Simulink удобнее всего считывать данные из mat-файла с помощью блока From File (библиотека Sources).

На рис. 9.2.17 показан пример использования данного блока. Результаты расчета сохраняются в файле result.mat.

Рис. 9.2.17. Применение блока To File

[Скачать пример]

9.2.7. Блок сохранения данных в рабочей области То Workspace

Назначение:

Блок записывает данные, поступающие на его вход, в рабочую область MATLAB.

Параметры:

  • Variable name – имя переменной, содержащей записываемые данные.
  • Limit data points to last – максимальное количество сохраняемых расчетных точек по времени (отсчет ведется от момента завершения моделирования). В том случае, если значение параметра Limit data points to last задано как inf, то в рабочей области будут сохранены все данные.
  • Decimation – кратность записи данных в рабочую область.
  • Sample time – шаг модельного времени. Определяет дискретность записи данных.
  • Save format – формат сохранения данных. Может принимать значения:
    1. Matrix – матрица. Данные сохраняются как массив, в котором число строк определяется числом расчетных точек по времени, а число столбцов – размерностью вектора подаваемого на вход блока. Если на вход подается скалярный сигнал, то матрица будет содержать лишь один столбец.
    2. Structure – структура. Данные сохраняются в виде структуры, имеющей три поля: time – время, signals – сохраняемые значения сигналов, blockName – имя модели и блока To Workspace. Поле time для данного формата остается не заполненным.
    3. Structure with Time – структура с дополнительным полем (время). Для данного формата, в отличие от предыдущего, поле time заполняется значениями времени.

На рис. 9.2.18 показан пример использования данного блока. Результаты расчета сохраняются в переменной simout.

Для считывания данных сохраненных в рабочей области MATLAB можно использовать блок From Workspace (библиотека Sources).

Рис. 9.2.18. Применение блока To Workspace

[Скачать пример]

9.2.8. Концевой приемник Terminator

Назначение:

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

Параметры:

Нет.

В том случае, если выход блока оказывается не подключенным ко входу другого блока, Simulink выдает предупреждающее сообщение в командном окне MATLAB. Для исключения этого необходимо использовать блок Terminator. На рис. 9.2.19 показан пример использования концевого приемника. Извлекаемый, с помощью блока Demux, из матрицы второй элемент не никак не используется, поэтому он подается на вход блока Terminator.

Рис. 9.2.19. Применение блока Terminator

[Скачать пример]

9.2.9. Блок выходного порта Outport

Назначение:

Создает выходной порт для подсистемы или для модели верхнего уровня иерархии.

Параметры:

  • Port number – номер порта.
  • Output when disabled – вид сигнала на выходе подсистемы, в случае если подсистема выключена. Используется для управляемых подсистем. Может принимать значения (выбираются из списка):
    1. held – выходной сигнал подсистемы равен последнему рассчитанному значению.
    2. reset – – выходной сигнал подсистемы равен значению задаваемому параметром Initial output.
  • Initial output - значение сигнала на выходе подсистемы до начала ее работы и в случае, если подсистема выключена. Используется для управляемых подсистем.

9.2.9.1. Использование блока Outport в подсистемах

Блоки Outport подсистемы являются ее выходами. Сигнал, подаваемый в блок Outport внутри подсистемы, передается в модель (или подсистему) верхнего уровня. Название выходного порта будет показано на изображении подсистемы как метка порта.

При создании подсистем и добавлении блока Outport в подсистему Simulink использует следующие правила:

    1. При создании подсистемы с помощью команды Edit/Create subsystem выходные порты создаются и нумеруются автоматически начиная с 1.
    2. Если в подсистему добавляется новый блок Outport, то ему присваивается следующий по порядку номер.
    3. Если какой либо блок Outport удаляется, то остальные порты переименовываются таким образом, чтобы последовательность номеров портов была непрерывной.
    4. Если в последовательности номеров портов имеется разрыв, то при выполнении моделирования Simulink выдаст сообщение об ошибке и остановит расчет. В этом случае необходимо вручную переименовать порты таким образом, чтобы последовательность номеров портов не нарушалась.

На рис. 9.2.19 показана модель, использующая подсистему и схема этой подсистемы.

Рис. 9.2.19. Использование блока Outport в подсистеме

[Скачать пример]

В том случае, если подсистема является управляемой, то для ее выходных портов можно задать вид выходного сигнала для тех временных интервалов, когда подсистема заблокирована. На рис. 9.2.20 показана модель, использующая управляемую подсистему (схема подсистемы такая же, как и в предыдущем примере). Для первого выходного порта подсистемы параметр Output when disabled задан как held, а для второго – как reset, причем величина начального значения задана равной нулю. Графики сигналов показывают, что когда подсистема заблокирована, сигнал первого выходного порта остается неизменным, а сигнал второго становится равным заданному начальному значению (нулю).

Рис. 9.2.20. Управляемая подсистема с различными настройками выходных портов.

[Скачать пример]

9.2.9.2. Использование блока Outport в модели верхнего уровня

Выходной порт в системе верхнего уровня используется в двух случаях:

    1. Для передачи сигнала в рабочее пространство MATLAB.
    2. Для обеспечения связи функций анализа с выходами модели.

Для передачи сигнала в рабочее пространство MATLAB требуется не только установить в модели выходные порты, но и выполнить установку параметров вывода на вкладке Workspace I/O окна диалога Simulation parameters… (должен быть установлен флажок для параметра Output и задано имя переменной для сохранения данных). Тип сохраняемых данных - Array массив, Structure (структура) или Structure with time (структура с полем “время”) задается на этой же вкладке.

На рис. 9.2.21 показана модель, передающая сигналы в рабочее пространство MATLAB.

Рис. 9.2.21. Модель, передающая сигналы в рабочее пространство MATLAB с помощью блоков Outport.

[Скачать пример]

Блок Outport может использоваться также для связи модели с функциями анализа, например: linmod или trim.

  В оглавление книги \ К следующему разделу \ К предыдущему разделу


Поиск по сайту:

Система Orphus

Яндекс.Метрика