[Скачать пример]
Графопостроитель можно использовать и для построения временных зависимостей. Для этого на первый вход следует подать временной сигнал с выхода блока Clock. Пример такого использования графопостроителя показан на рис. 9.2.13.
Рис. 9.2.13. Пример использования блока ХУ Graph для отображения временных зависимостей.
[Скачать пример]
9.2.4. Цифровой дисплей Display
Назначение:
Отображает значение сигнала в виде числа.
Параметры:
-
Format – формат отображения данных. Параметр Format может принимать следующие значения:
short – 5 значащих десятичных цифр.
long – 15 значащих десятичных цифр.
short_e –5 значащих десятичных цифр и 3 символа степени десяти.
long_e – 15 значащих десятичных цифр и 3 символа степени десяти.
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 – формат сохранения данных. Может принимать значения:
Matrix – матрица. Данные сохраняются как массив, в котором число строк определяется числом расчетных точек по времени, а число столбцов – размерностью вектора подаваемого на вход блока. Если на вход подается скалярный сигнал, то матрица будет содержать лишь один столбец.
Structure – структура. Данные сохраняются в виде структуры, имеющей три поля: time – время, signals – сохраняемые значения сигналов, blockName – имя модели и блока To Workspace. Поле time для данного формата остается не заполненным.
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 – вид сигнала на выходе подсистемы, в случае если подсистема выключена. Используется для управляемых подсистем. Может принимать значения (выбираются из списка):
held – выходной сигнал подсистемы равен последнему рассчитанному значению.
reset – – выходной сигнал подсистемы равен значению задаваемому параметром Initial output.
Initial output - значение сигнала на выходе подсистемы до начала ее работы и в случае, если подсистема выключена. Используется для управляемых подсистем.
9.2.9.1. Использование блока Outport в подсистемах
Блоки Outport подсистемы являются ее выходами. Сигнал, подаваемый в блок Outport внутри подсистемы, передается в модель (или подсистему) верхнего уровня. Название выходного порта будет показано на изображении подсистемы как метка порта.
При создании подсистем и добавлении блока Outport в подсистему Simulink использует следующие правила:
При создании подсистемы с помощью команды Edit/Create subsystem выходные порты создаются и нумеруются автоматически начиная с 1.
Если в подсистему добавляется новый блок Outport, то ему присваивается следующий по порядку номер.
Если какой либо блок Outport удаляется, то остальные порты переименовываются таким образом, чтобы последовательность номеров портов была непрерывной.
Если в последовательности номеров портов имеется разрыв, то при выполнении моделирования Simulink выдаст сообщение об ошибке и остановит расчет. В этом случае необходимо вручную переименовать порты таким образом, чтобы последовательность номеров портов не нарушалась.
На рис. 9.2.19 показана модель, использующая подсистему и схема этой подсистемы.
Рис. 9.2.19. Использование блока Outport в подсистеме
[Скачать пример]
В том случае, если подсистема является управляемой, то для ее выходных портов можно задать вид выходного сигнала для тех временных интервалов, когда подсистема заблокирована. На рис. 9.2.20 показана модель, использующая управляемую подсистему (схема подсистемы такая же, как и в предыдущем примере). Для первого выходного порта подсистемы параметр Output when disabled задан как held, а для второго – как reset, причем величина начального значения задана равной нулю. Графики сигналов показывают, что когда подсистема заблокирована, сигнал первого выходного порта остается неизменным, а сигнал второго становится равным заданному начальному значению (нулю).
Рис. 9.2.20. Управляемая подсистема с различными настройками выходных портов.
[Скачать пример]
9.2.9.2. Использование блока Outport в модели верхнего уровня
Выходной порт в системе верхнего уровня используется в двух случаях:
Для передачи сигнала в рабочее пространство MATLAB.
Для обеспечения связи функций анализа с выходами модели.
Для передачи сигнала в рабочее пространство MATLAB требуется не только установить в модели выходные порты, но и выполнить установку параметров вывода на вкладке Workspace I/O окна диалога Simulation parameters… (должен быть установлен флажок для параметра Output и задано имя переменной для сохранения данных). Тип сохраняемых данных - Array массив, Structure (структура) или Structure with time (структура с полем “время”) задается на этой же вкладке.
На рис. 9.2.21 показана модель, передающая сигналы в рабочее пространство MATLAB.
Рис. 9.2.21. Модель, передающая сигналы в рабочее пространство MATLAB с помощью блоков Outport.
[Скачать пример]
9.3. Continuous – аналоговые блоки
9.3.1. Блок вычисления производной Derivative
Назначение:
Выполняет численное дифференцирование входного сигнала.
Параметры:
Нет.
Для вычисления производной используется приближенная формула Эйлера:
,
где u – величина изменения входного сигнала за время t,
t – текущее значение шага модельного времени.
Значение входного сигнала блока до начала расчета считается равным нулю. Начальное значение выходного сигнала также полагается равным нулю.
Точность вычисления производной существенно зависит от величины установленного шага расчета. Выбор меньшего шага расчета улучшает точность вычисления производной.
На рис. 9.3.1 показан пример использования дифференцирующего блока для вычисления производной прямоугольного сигнала. В рассматриваемом примере, для повышения наглядности, шаг расчета выбран достаточно большим.
Рис.9.3.1. Использование блока Derivative для дифференцирования сигнала.
|