Документация Engee

Разделение вызова функции

Компонент, разделяющий function-call сигнал на несколько частей.

Тип: FunctionCallSplit

Путь в библиотеке:

/Basic/Ports & Subsystems/Function-Call Split

Описание

Блок Разделение вызова функции позволяет function-call сигналу разветвляться и вести к нескольким function-call подсистемам.

Function-call подсистема, подключенная к выходному порту блока Разделение вызова функции, отмеченному точкой, выполняется раньше подсистем, подключенных к другим выходным портам. Если зависимости данных между подсистемами не поддерживают указанный порядок выполнения, блок Разделение вызова функции возвращает ошибку. Чтобы устранить эту ошибку, рекомендуется использовать блок Запаздывание на шаг. Добавление этого блока задерживает соответствующий вызов функции, тем самым устраняя цикл зависимости данных.

Чтобы отобразить порядок выполнения function-call подсистем, подключенных к ветвям заданного function-call сигнала, в настройках редактора Engee на вкладке Отладка в разделе Отображение информации установите флажок рядом с параметром Порядок выполнения блоков.

Следующая модель показывает, как использовать блок Запаздывание на шаг для обхода ошибки зависимости данных, вызванной блоком Разделение вызова функции. Блок разрывает цикл зависимостей данных между подсистемами f1 и g1. Модель обеспечивает последовательное выполнение f1 перед g1. На данном этапе выполнения подсистема f1 использует выходные данные g1, вычисленные на предыдущем этапе выполнения.

ex function call test 003

Ограничения

Блок Разделение вызова функции имеет следующие ограничения:

  • Все function-call подсистемы, подключенные к данному function-call сигналу, должны находиться на одном и том же уровне иерархии моделей.

  • Нельзя напрямую подключать разветвленные function-call подсистемы и их дочерние элементы непосредственно к инициатору вызова функций.

  • Function-call подсистемы, подключенные к ветвям function-call сигнала, не могут иметь множественных (мультиплексированных) источников сигналов.

  • От компонентов Merge нельзя принимать function-call сигналы и передавать итоговый сигнал на вход блока Разделение вызова функции.

Порты

Вход

# IN_1 — строка вызова функции
скаляр

Details

Блоки Генератор вызова функции, Engee Function или Пересечение уровня могут быть источниками событий вызова функций.

Типы данных

Float64

Поддержка комплексных чисел

Да

Выход

# test — function-call сигнал
скаляр

Details

Строка вызова функции, подключенная к function-call подсистеме.

Типы данных

Float64

Поддержка комплексных чисел

Да

# OUT_2 — function-call сигнал
скаляр

Details

Строка вызова функции, подключенная к function-call подсистеме.

Типы данных

Float64

Поддержка комплексных чисел

Да

Параметры

Параметры

# Форма блока — выбор формы иконки блока
Прямоугольная | Круглая

Details

Выбор формы иконки блока.

Параметр может принимать следующие значения:

  • Прямоугольная — прямоугольная иконка блока;

  • Круглая — круглая иконка блока.

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

Параметр блока: IconShape

Тип: character vector

Значения: 'distinctive' | 'round'

По умолчанию: 'distinctive'

Значения

Rectangular | Round

Значение по умолчанию

distinctive

Имя для программного использования

IconShape

Настраиваемый

Нет

Вычисляемый

Нет

# Количество выходных портов — указание количества выходных портов
Целое число типа Int64

Details

Указание количества выходных портов function-call сигнала.

Параметр может принимать следующие значения:

  • 2 — два выходных порта вызова функций;

  • integer — целое число.

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

Параметр блока: NumOutputPorts

Тип: character vector

Значения: '2' | 'integer'

По умолчанию: '2'

Значение по умолчанию

2

Имя для программного использования

NumOutputPorts

Настраиваемый

Нет

Вычисляемый

Да

# Порядок выходных портов — выбор порядка расположения выходных портов
По умолчанию | Обратный

Details

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

Параметр может принимать следующие значения:

  • По умолчанию — верхний порт первым обеспечивает вызов функции;

  • Обратный — нижний порт первым обеспечивает вызов функции.

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

Параметр блока: OutputPortLayout

Тип: character vector

Значения: 'default' | 'reverse'

По умолчанию: 'default'

Значения

Default | Reverse

Значение по умолчанию

default

Имя для программного использования

OutputPortLayout

Настраиваемый

Нет

Вычисляемый

Нет

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

Типы данных

FunctionCallEvent

Прямое прохождение

нет

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

нет

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

нет

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

нет