Блок работы с индексами PreLook-Up Index Search
Назначение:
Вычисляет значение индекса и относительную величину входного сигнала. Используется совместно с блоком Interpolation (n-D) using PreLook-Up.
Параметры:
- Breakpoint data – Вектор узловых точек. Данный параметр аналогичен вектору входного сигнала блоков задающих табличные функции.
- Index search method - Метод поиска индексов. Выбирается из списка:
- Evenly Spaced Points –Поиск для равноотстоящих индексов.
- Linear Search –Линейный поиск.
- Binary Search –Двоичный поиск.
- Begin index search using previous index result (флажок) – Начало поиска индекса с последнего результата.
- Output only the index(флажок) – Вывод только индексов.
- Process out of range input – Тип процесса при выходе входного сигнала за заданные пределы. Выбирается из списка:
- Clip to Range – Ограничить предельным значением.
- Linear Extrapolation – Линейная экстраполяция.
- Action for out of range input –Реакция на выход входного сигнала за границы вектора узловых точек. Выбирается из списка:
- None – Реакция отсутствует.
- Warning – Вывод предупреждающего сообщения в командной строке MATLAB.
- Error – Вывод сообщения об ошибке в командной строке MATLABи остановка расчета.
Выходным сигналом блока является вектор, первый элемент вектора – найденный индекс, а второй – относительная величина входного сигнала. Блок находит индекс того элемента, значение которого не превышает величину входного сигнала. Например, для вектора узловых точек [0 5 10 20 50 100] и входного сигнала равного 55 найденный индекс будет равен 4.
Относительная величина входного сигнала рассчитывается в соответствии с выражением:
,
где
x – входной сигнал,
i– найденный индекс,
A – вектор узловых точек.
Для приведенного выше примера относительная величина входного сигнала будет равна 0.1.
Пример поясняющий работу блока, показан на рис. 9.8.8.
Рис. 9.8.8. Пример использования блока PreLook-Up Index Search
[Скачать пример]
Блок интерполяции табличной функции Interpolation (n-D) using PreLook-Up
Назначение:
Вычисляет значение табличной функции по значению индекса и относительной величине входного сигнала. Используется совместно с блокамиPreLook-Up Index Search.
Параметры:
- Number of table dimensions –Количество размерностей таблицы (аргументов функции). Значение параметра выбирается из списка: 1, 2, 3, 4, More…(Много).
- Explicit number of dimensions –Точное количество размерностей таблицы (аргументов функции). Параметр доступен, и его необходимо задавать, если параметр Number of table dimensionsимеет значение More.
- Table data –Таблица значений функции. Задается по правилам формирования многомерных массивов.
- Interpolation method –Метод интерполяции. Выбирается из списка:
- None – Интерполяция не выполняется.
- Linear – Линейная интерполяция.
- Extrapolation method –Метод экстраполяции. Выбирается из списка: None или Linear.
- Action for out of range input –Реакция на выход входного сигнала за границы вектора значений аргумента. Выбирается из списка:
- None – Реакция отсутствует.
- Warning – Вывод предупреждающего сообщения в командной строке MATLAB.
- Error – Вывод сообщения об ошибке в командной строке MATLABи остановка расчета.
Пример поясняющий работу блока, показан на рис. 9.8.9. Таблица значений функции задана матрицей [10 20 30;40 50 60;70 80 90].
Рис. 9.8.9. Пример использования блока Interpolation (n-D) using PreLook-Up
Subsystem – подсистемы.
Подсистема это фрагмент Simulink-модели, оформленный в виде отдельного блока. Использование подсистем при составлении модели имеет следующие положительные стороны:
- Уменьшает количество одновременно отображаемых блоков на экране, что облегчает восприятие модели (в идеале модель полностью должна отображаться на экране монитора).
- Позволяет создавать и отлаживать фрагменты модели по отдельности, что повышает технологичность создания модели.
- Позволяет создавать собственные библиотеки.
- Дает возможность синхронизации параллельно работающих подсистем.
- Позволяет включать в модель собственные справочные средства.
- Дает возможность связывать подсистему с каким-либо m-файлом, обеспечивая запуск этого файла при открытии подсистемы (нестандартное открытие подсистемы).
Использование подсистем и механизма их блоков позволяет создавать блоки, не уступающие стандартным по своему оформлению (собственное окно параметров блока, пиктограмма, справка и т.п.).
Количество подсистем в модели не ограничено, кроме того подсистемы могут включать в себя другие подсистемы. Уровень вложенности подсистем друг в друга также не ограничен.
Связь подсистемы с моделью (или подсистемой верхнего уровня иерархии) выполняется с помощью входных (блок Inport библиотеки Sources) и выходных (блок Outport библиотеки Sinks) портов. Добавление в подсистему входного или выходного порта приводит к появлению на изображении подсистемы метки порта, с помощью которой внешние сигналы передаются внутрь подсистемы или выводятся в основную модель. Переименование блоков Inportили Outportпозволяет изменить метки портов, отображаемые на пиктограмме подсистемы со стандартных (In и Out) на те, которые нужны пользователю.
Подсистемы могут быть виртуальными (Subsystem) и монолитными (Atomic Subsystem). Отличие этих видов подсистем заключается в порядке выполнения блоков во время расчета. Если подсистема является виртуальной, то Simulink игнорирует наличие границ отделяющих такую подсистему от модели при определении порядка расчета блоков. Иными словами в виртуальной системе сначала могут быть рассчитаны выходные сигналы нескольких блоков, затем выполнен расчет блоков в основной модели, а затем вновь выполнен расчет блоков входящих в подсистему. Монолитная подсистема считается единым (неделимым) блоком и Simulink выполняет расчет всех блоков в такой подсистеме, не переключаясь на расчеты других блоков в основной модели. Изображение монолитной подсистемы имеет более толстую рамку по сравнению с виртуальной подсистемой.
Подсистемы могут быть также управляемыми или неуправляемыми. Управляемые подсистемы всегда являются монолитными. Управляемые подсистемы имеют дополнительные (управляющие) входы, на которые поступают сигналы активизирующие данную подсистему. Управляющие входы расположены сверху или снизу подсистемы. Когда управляемая подсистема активизирована – она выполняет вычисления. В том случае если управляемая подсистема пассивна, то она не выполняет вычисления, а значения сигналов на ее выходах определяются настройками выходных портов.
Для создания в модели подсистемы можно воспользоваться двумя способами:
- Скопировать нужную подсистему из библиотеки Subsystem в модель.
- Выделить с помощью мыши нужный фрагмент модели и выполнить команду Create Subsystemиз менюEditокна модели. Выделенный фрагмент будет помещен в подсистему, а входы и выходы подсистемы будут снабжены соответствующими портами. Данный способ позволяет создать виртуальную неуправляемую подсистему. В дальнейшем, если это необходимо, можно сделать подсистему монолитной, изменив ее параметры, или управляемой, добавив управляющий элемент из нужной подсистемы находящейся в библиотеке. Отменить группировку блоков в подсистему можно командой Undo.
Рис. 9.9.1 иллюстрирует процесс создания подсистемы вторым способом. На рис. 9.9.2 показан результат этого процесса. В примере использована модель управляемого функционального генератора.
Рис. 9.9.1 Создание подсистемы
[Скачать пример]
Рис. 9.9.2 Модель, использующая подсистему
[Скачать пример]
9.9.1. Виртуальная и монолитная подсистемы Subsystem и Atomic Subsystem
Доступ к окну параметров подсистемы осуществляется через меню Edit командой Block Parameters…
Параметры:
- Show port labels –Показать метки портов.
- Treat as atomic unit(флажок) – Считать подсистему монолитной. Таким образом, блоки виртуальной и монолитной подсистем – это один и тот же блок, отличающийся значением данного параметра.
- Access –Доступность подсистемы для изменений. Выбирается из списка:
- ReadWrite –Пользователь может открывать и изменять подсистему.
- ReadOnly –Пользователь может открывать подсистему только для просмотра.
- NoReadOrWrite –Пользователь не может открывать и изменять подсистему.
- Name of error callback function –Имя функции используемой для обработки ошибок возникающих в данной подсистеме.
Остальные параметры подсистемы доступны при разработке приложений с использованием Real-Time Workshop и рассмотрены в документации на это приложение.
Находящийся в библиотеке блок Subsystem (или Atomic Subsystem) содержит входной и выходной порты и линию связи между ними.
После того как блок подсистемы скопирован из библиотеки в модель, он становится доступным для редактирования.