exponenta event banner

Генератор вызовов функций

Предоставление событий вызова функции для управления выполнением подсистемы или модели

  • Библиотека:
  • Simulink/Порты и подсистемы

  • Function-Call Generator block

Описание

Блок Function-Call Generator предоставляет события function-call, которые выполняют подсистему function-call или модель function-call со скоростью, заданной параметром Sample time. Для итеративного выполнения каждого блока вызова функции несколько раз на каждом шаге времени используйте параметр Количество итераций.

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

Порты

Продукция

развернуть все

Отправляет события function-call во входной порт function-call подсистемы function-call или модели function-call, т.е. подсистемы или модели, содержащей блок Trigger с типом Trigger, равным function-call.

Параметры

развернуть все

Укажите интервал времени между событиями вызова функции и подсистемой вызова функции или моделью. Если фактическая скорость вызова для подсистемы или модели отличается от интервала времени, заданного этим параметром, Simulink ® отображает ошибку.

По умолчанию блок использует интервал времени, равный 1. Чтобы задать другой интервал, введите допустимое время выборки на основе таблицы в разделе Типы времени выборки или укажите -1 для наследования временного интервала из модели.

Программное использование

Параметр блока: sample_time
Текст: символьный вектор
Значения: '1' | скалярное выражение | векторное выражение | '-1'
По умолчанию: '1'

Значением этого параметра может быть вектор, где каждый элемент вектора определяет количество раз для выполнения подсистемы или модели вызова функции. Если вектор задан, то блок выводит вектор событий вызова функции, который можно разделить на отдельные события вызова функции с использованием блока Demux и использовать для управления несколькими подсистемами вызова функции или моделями.

Предположим, что указано число итераций, которое должно быть [3 2] и подключите выход этого блока к блоку Demux, который соединен с управляющими портами двух подсистем функционального вызова. В этом случае первая подсистема вызова функции выполняет три раза на каждом временном шаге, а вторая подсистема вызова функции выполняет два раза на каждом временном шаге.

Если, однако, соединить выходные данные этого блока с одной подсистемой или моделью вызова функции, общее количество операций, выполняемых подсистемой вызова функции или моделью за шаг времени, равно сумме значений векторных элементов. В приведенном выше примере задается число итераций [3 2] и соединение выходного сигнала этого блока с одной подсистемой функционального вызова приводит к тому, что подсистема функционального вызова выполняется пять раз на каждом временном шаге.

Настройки

1

Предоставление вызова функции один раз в течение каждого шага времени.

целое число

Целое число со знаком или без знака. Укажите количество вызовов функций на каждом шаге времени.

Программное использование

Параметр блока: numberOfIterations
Текст: символьный вектор
Значения: '1' | '<integer>''<vector of integers>'
По умолчанию: '1'

Когда этот параметр не выбран, выход этого блока расширяется в вектор, если необходимо, чтобы управлять блоком (блоками), к которому он подключен. Например, если для параметра Число итераций задано значение 2 и не выбран выход Disallow wide, и выход этого блока соединен с блоком Demux, который, в свою очередь, соединен с тремя отдельными подсистемами вызова функции, затем каждая подсистема вызова функции получает два события вызова функции на каждом временном шаге. Подобный результат возникает, если выход этого блока подключен к диаграмме Stateflow ® с несколькими событиями. Если в этих ситуациях выбран параметр «Запретить широкий вывод», Simulink выдает ошибку.

Выберите этот параметр, чтобы предотвратить неявное расширение выходного сигнала этого блока.

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

Программное использование

Параметр блока: DisallowWideOutput
Текст: символьный вектор
Значения: 'off' | 'on'
По умолчанию: 'off'

Характеристики блока

Типы данных

Прямой проход

no

Многомерные сигналы

no

Сигналы переменного размера

no

Обнаружение пересечения нулей

no

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.
Представлен до R2006a