Function-Call Split

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

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

  • Function-Call Split block

Описание

Блок Function-Call Split позволяет линии вызова функции переходить и соединяться с несколькими подсистемами вызова функций или моделями вызова функции.

Модель подсистемы вызова функций или вызова функции, соединенная с выходом портом блока Function-Call Split, который отмечен точкой, выполняется перед подсистемами или моделями, соединенными с другими портами выхода. Если зависимости данных между подсистемами или моделями не поддерживают указанный порядок выполнения, блок Function-Call Split возвращает ошибку. Чтобы устранить эту ошибку, рассмотрите выбор параметра Latch input for feedback signals of function-call subsystem outputs на одном или нескольких блоках Inport подсистемы вызова функций или моделей, участвующих в цикле зависимости данных. Выбор этой опции задерживает соответствующий вызов функции, тем самым устраняя цикл зависимости данных.

Если вы выбираете Display > Blocks > Sorted Execution Order опции меню модели, то на блоках появляется порядок выполнения подсистем вызова функций, соединенных с ветвями заданного сигнала вызова функции. Каждая подсистема имеет порядок выполнения формы s:[B#], где # это число, которое находится в диапазоне от 0 до единицы меньше, чем общее количество подсистем или моделей, соединенных с ветвями данного сигнала. Подсистемы выполняются в порядке возрастания на основе этого числа.

Блок Function-Call Split поддерживает распространение метки сигнала.

Следующая модель показывает, как применить параметр Latch input for feedback signals of function-call subsystem outputs для работы с ошибкой зависимости данных, вызванной блоком Function-Call Split. Путем включения этого параметра в f1 Inport блок подсистемы, блок Function-Call Split игнорирует зависимость данных сигнала b. Блок разрывает цикл зависимостей данных между подсистемами f1 и g1. Модель достигает поведения последовательного вызова f1 для выполнения перед g1. Для заданного шага выполнения, подсистема f1 использует g1 выход вычислен на предыдущем шаге выполнения.

Ограничения

Блок Function-Call Split имеет следующие ограничения:

  • Все подсистемы вызова функций и модели, соединенные с заданным сигналом вызова функции, должны находиться в одном и том же невиртуальном слое иерархии модели.

  • Вы не можете подключить разветвленные подсистемы вызова функций или модели и их дочерние элементы непосредственно к инициатору вызова функции.

  • Подсистемы вызова функций и модели, соединенные с ветвями сигнала вызова функции, не могут иметь нескольких (мультисенсорных) инициаторов.

  • Блок Function-Call Split не может иметь свой вход от сигнала с несколькими элементами вызова функции.

Порты

Вход

расширить все

Блок Function-Call Generator, блок S-Function, блок Hit Crossing или Stateflow® график может обеспечить события вызова функции.

Выход

расширить все

Линия вызова функции, соединенная с подсистемой вызова функций или моделью вызова функции.

Параметры

расширить все

Выберите форму значка блока.

Настройки

distinctive

Прямоугольный значок блока.

round

Значок кругового блока.

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

Параметры блоков: IconShape
Тип: Вектор символов
Значения: 'distinctive' | 'round'
По умолчанию: 'distinctive'

Укажите количество выходных портов сигнала вызова функции.

Настройки

2

Два выходных порта вызова функции.

целое число

Целое число

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

Параметры блоков: NumOutputPorts
Тип: Вектор символов
Значения: '2' | '<integer>'
По умолчанию: '2'

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

Настройки

default

Первый порт обеспечивает вызов функции.

reverse

Нижний порт сначала обеспечивает вызов функции.

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

Параметры блоков: OutputPortLayout
Тип: Вектор символов
Значения: 'default' | 'reverse'
По умолчанию: 'default'

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

Типы данных

double

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

no

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

no

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

no

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

no

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

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

.
Введенный в R2010a