Обеспечьте соединение для разделения сигнала вызова функции
Simulink / Ports & Subsystems
Блок Function-Call Split позволяет сигналу вызова функции перейти и соединиться с несколькими подсистемами вызова функций или моделями вызова функции.
Function-Call Split выходные параметры несколько сигналов вызова функции создать несколько ответвлений из единственного сигнала вызова функции. В некоторых случаях, когда вы используете этот блок, вам не нужен инициатор вызова функции, чтобы создать несколько сигналов вызова функции вызвать набор моделей вызова функции или подсистем вызова функций.
Подсистема вызова функций или модель вызова функции, соединенная с выходным портом блока Function-Call Split, который отмечен точкой, выполняются перед подсистемами или моделями, соединенными с другими выходными портами. Если зависимости по данным между подсистемами или моделями не поддерживают заданный порядок выполнения, блок Function-Call Split возвращает ошибку. Чтобы устранить эту ошибку, считайте выбор входного параметра Фиксатора для сигналов обратной связи подсистемы вызова функций выходным параметром на одном или нескольких блоках Inport моделей подсистем вызова функций вовлеченный в цикл зависимости по данным. Выбор этой опции задерживает соответствующий входной сигнал, таким образом устраняя цикл зависимости по данным.
Для модели, чтобы содержать блоки Разделения Вызова функции, необходимо установить следующую диагностику на error
: Образцовые Параметры конфигурации> Диагностика> Возможность соединения> Недопустимая связь вызова функции.
Если вы выбираете образцовый пункт меню Display> Blocks> Sorted Execution Order, то порядок выполнения подсистем вызова функций, соединенных с ответвлениями данного сигнала вызова функции, появляется на блоках. Каждая подсистема имеет порядок выполнения формы s:[B#]
, где #
является номером, который колеблется от 0 до меньше, чем общее количество подсистем или моделей, соединенных с ответвлениями данного сигнала. Подсистемы выполняются в порядке возрастания на основе этого номера.
Сигнал поддержек блока Function-Call Split Маркирует Propagation.
Следующая модель показывает, как применить входной параметр Фиксатора для сигналов обратной связи подсистемы вызова функций выходной параметр, чтобы работать вокруг ошибки зависимости по данным, вызванной при помощи блока Function-Call Split. Путем включения этого параметра в f1 блоке Inport подсистемы блок Function-Call Split игнорирует зависимость по данным сигнала b. Блок повреждает цикл зависимостей по данным между подсистемами f1 и g1. Модель достигает поведения сопоставимого вызова f1, чтобы выполниться прежде g1. Для данного шага выполнения подсистема f1 использует g1 вывод, вычисленный на предыдущем шаге выполнения.
Блок Function-Call Split имеет эти ограничения:
Все подсистемы вызова функций и модели, соединенные с данным сигналом вызова функции, должны находиться на том же невиртуальном уровне иерархии модели.
Вы не можете соединить перешедшие подсистемы вызова функций или модели и их дочерние элементы непосредственно назад инициатору вызова функции.
Подсистемы вызова функций и модели, соединенные с ответвлениями сигнала вызова функции, не могут иметь нескольких (мультиплексированных) инициаторов.
Блок Function-Call Split не может иметь своего входного параметра от сигнала с несколькими элементами вызова функции.
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
Фиксатор обратной связи вызова функции | Генератор вызова функции | Подсистема вызова функций