Function-Call Generator

Обеспечьте события вызова функции, чтобы управлять выполнением подсистемы или модели

  • Библиотека:
  • Simulink / Ports & Subsystems

  • Function-Call Generator block

Описание

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

Чтобы выполнить несколько подсистем вызова функций или моделей в заданном порядке, используйте блок Function-Call Generator с блоком Function-Call Split. Для примера смотрите Function-Call Split.

Порты

Вывод

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

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

Параметры

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

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

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

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

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

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

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

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

Настройки

1

Обеспечьте вызов функции однажды во время каждого временного шага.

целое число

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

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

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

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

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

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

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

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

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

Типы данных

Прямое сквозное соединение

no

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

no

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

no

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

no

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

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

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